*COMDECK CDGDFDCLS
      DEF DFAKFO #6#;        # FIT FO VALUE FOR AK FILE                #
#***********************************************************************
*     CDCS GLOBAL DEF DECK. 
# 
      DEF DFACLENSIZE #2#;              # ACL ENTRY SIZE               #
      DEF DFAPLENSIZE #2#;             # SIZE OF APL ENTRY             #
      DEF DFASLENSIZE #7#;             # ASL ENTRY SIZE                #
      DEF DFATCHDELAY #1600#;  # ATTACH DELAY COUNT, ESTIMATED 40 SEC. #
                               # ALSO SEE PFDELAYC IN DB$ROLL          #
      DEF DFATCHIND   #0090#;  # INITIAL ATTACH DELAY COUNT            #
                               # MUST BE SMALLER THAN DFSWAPDELAY      #
                               # TO PREVENT SWAP-OUT DURING INITIAL    #
                               # ATTACH ATTEMPTS.                      #
  
      DEF DFDBSTSIZE  #11#;            # MAXIMUM DBST SIZE             #
      DEF DFERRTH #1#;                 # ERROR THRESHOLD FOR CRM ERRORS#
      DEF DFERRFAT #O"22"#;  #FATAL CDCS ERROR# 
      DEF DFERRINF #O"20"#;  #INFORMATIONAL CDCS ERROR# 
      DEF DFERRNON #O"21"#;  #NON-FATAL CDCS ERROR# 
      DEF DFERREOD #O"27"#;  #END-OF-DATA#
  
                             # CONTROL DB$FLOP CALLS, 0=NO,  1=YES     #
                             #                        2=EXTRAS         #
      DEF DFFLOP #0#;        # ZERO VALUE TO DEACTIVATE                #
                             # INTERNAL FLOW POINT CODE                #
  
                             # VALUES FOR FPFTDX IN FPT                #
      DEF DFFTDX0       #0#; # NO -EOI- EXIT IS DESIRED                #
      DEF DFFTDX1       #1#; # STANDARD -EOI- EXIT IS DB$FTDX          #
      DEF DFFTDX2       #2#; # -EOI- EXIT IS SET IN FTDX2 BY DB$MFP    #
  
                             # VALUES FOR FPFTEX IN FPT                #
      DEF DFFTEX0       #0#; # NO ERROR EXIT IS DESIRED                #
      DEF DFFTEX1       #1#; # STANDARD ERROR EXIT IS DB$FTEX          #
      DEF DFFTEX2       #2#; # ERROR EXIT IS SET IN FTEX2 BY DB$MFP    #
      DEF DFFTEX3       #3#; # ERROR EXIT IS SET IN FTEX3 BY DB$MFP    #
  
      DEF DFINRQBFSIZE #34#; # INPUT REQUEST BUFFER SIZE IN WORDS      #
                             # IF DFINRQBFSIZE IS CHANGED, ALSO CHANGE #
                             #   DB$IREQ DEFINITION IN DB$ROLL         #
      DEF DFINRQBFHSUB #33#; # THE HIGHEST SUBSCRIPT OF THE            #
                             # REQUEST BUFFER.                         #
      DEF DFIRXTRA #3#;      # BIAS FOR INPUT REQUEST PACKET           #
      DEF DFMAXDBPERR #10#;        #MAX ERR CODE FOR DB PROC LOAD ERROR#
      DEF  DFNORR  #1#; # SET NO RERUN BIT OPTION FOR DFSFRERN# 
      DEF DFOFTSIZE #41#;    # OFT ENTRY SIZE IN WORDS                 #
      DEF DFQRFARPO #2#;     # ART POSITION IN QRF (PRU NUMBER)        #
      DEF DFQRFQFET #3#;     # FET POSITION IN QRF                     #
      DEF DFRETIRE #O"1000"#;          #AGING COUNT, POWER OF 2#
                                       #NOTE - EACH COUNT IS ABOUT 30MS#
      DEF DFRQVERSN #"CD23"#;          # CURRENT CDCS VERSION          #
      DEF DFSALENSIZE #16#;            # SIZE (WORDS) OF SAL ENTRY     #
      DEF DFSALMAX #999#;              #MAX NUM OF CONCURRENT SCHEMAS#
      DEF DFSEEKLIMIT #4#;   # SHORT SEEK MAXIMUM                      #
      DEF DFSWAPDELAY #100#; # MONITOR CYCLES TO DELAY BEFORE ROLLOUT  #
                             #   SEE NOTE WITH DFATCHIND               #
      DEF DFTQTSIZE #18#;              #  SIZE (WORDS) OF TQT ENTRY    #
      DEF DFUFTSIZE #36#;    # UFT AND IFT ENTRY SIZE IN WORDS         #
      DEF DF22VERSN #"CD22"#;          # CDCS 2.2                      #
#***********************************************************************
*     CDCS FUNCTION CODES.
# 
*CALL CDCSFUNC
#********************************************************************** 
*     CDCS REQUEST PACKET SIZES 
# 
      DEF DFWCASK  #4#;      # ASK - INQUIRE TRANSACTION               #
      DEF DFWCBEG  #3#;      # BEGIN TRANSACTION                       #
      DEF DFWCCKP  #3#;      # CHECKPOINT                              #
      DEF DFWCCLS  #6#;      # CLOSE                                   #
      DEF DFWCCMT  #2#;      # COMMIT TRANSACTION                      #
      DEF DFWCDEL  #9#;      # DELETE                                  #
      DEF DFWCDRP  #2#;      # DROP TRANSACTION                        #
      DEF DFWCEND  #2#;      # TERMINATE                               #
      DEF DFWCGID  #3#;      # GET TRANSACTION ID                      #
      DEF DFWCOPN  #6#;      # OPEN                                    #
      DEF DFWCINV #11#;      # INVOKE                                  #
      DEF DFWCLKA  #6#;      # LOCK AREA (EXCLUSIVE/PROTECTED)         #
      DEF DFWCLOK  #6#;      # LOCK AREA (PROTECTED)                   #
      DEF DFWCPVC  #9#;      # PRIVACY                                 #
      DEF DFWCRD1  #6#;      # READ SEQUENTIAL                         #
      DEF DFWCRD2  #9#;      # READ RANDOM                             #
      DEF DFWCRDX1 #9#;      # READ SEQUENTIAL ON INDEX FILE           #
      DEF DFWCRDX2 #9#;      # READ RANDOM ON INDEX FILE               #
      DEF DFWCRELR #9#;      # READ RELATION RANDOM                    #
      DEF DFWCRELS #9#;      # READ RELATION SEQUENTIAL                #
      DEF DFWCREW  #9#;      # REWRITE                                 #
      DEF DFWCRPT  #6#;      # RECOVERY POINT                          #
      DEF DFWCRSR  #9#;      # RELATION START                          #
      DEF DFWCRWF  #6#;      # REWIND AREA FILE                        #
      DEF DFWCRWR  #6#;      # REWIND RELATION                         #
      DEF DFWCRWX  #9#;      # REWIND INDEX FILE                       #
      DEF DFWCSIR  #3#;      # SET/RESET IMMEDIATE RETURN              #
      DEF DFWCSKF  #7#;      # SKIP ON AREA FILE                       #
      DEF DFWCSTR  #9#;      # START                                   #
      DEF DFWCSTX  #9#;      # START ON INDEX FILE                     #
      DEF DFWCTER  #2#;      # ABORT                                   #
      DEF DFWCULK  #6#;      # UNLOCK AREA                             #
      DEF DFWCVER  #11#;     # VERSION CHANGE                          #
      DEF DFWCWR1  #6#;      # WRITE SEQUENTIAL                        #
      DEF DFWCWR2  #9#;      # WRITE RANDOM                            #
      DEF DFWCDBST #3#;      # DATABASE STATUS BLOCK                   #
      DEF DFWCTIM  #3#;      # TIME REQUEST                            #
#***********************************************************************
*     SYSTEM CONTROL POINT FUNCTION CODES.
# 
      DEF DFSFCLTC #O"32"#;  #CLEAR LONG TERM CONNECT#
      DEF DFSFENDT #O"06"#;  #END TASK# 
      DEF DFSFEXIT #O"16"#;  #EXIT SCP MODE#
      DEF DFSFREAD #O"10"#;  #READ# 
      DEF DFSFREGR #O"02"#;  #REGRETS#
      DEF  DFSFRERN  #O"36"#; # SET RERUN BIT FOR UCP          #
      DEF DFSFSLTC #O"30"#;  #SET LONG TERM CONNECT#
      DEF DFSFSTAT #O"12"#;  #STATUS# 
      DEF DFSFSWPI #O"26"#;  #SWAP IN#
      DEF DFSFSWPO #O"24"#;  #SWAP OUT# 
      DEF DFSFWRIT #O"14"#;  #WRITE#
#***********************************************************************
* 
*     DEF DECK FOR DB$SCHD CONSTRAINT TYPE CODES. 
*         THESE CODES ARE SAVED IN RCCT TO DEFINE THE TYPE OF CALL. 
* 
*     DFWAITCOUNT 
*         USED FOLLOWING A NEGATIVE REPLY ON A SYSTEM REQUEST, FOR
*         EXAMPLE, AN ATTACH OR SFCALL.  DELAY BEFORE THE NEXT TRY. 
*         A DELAY COUNT IS PUSHED ON THE STACK PRIOR TO CALLING DB$SCHD.
*         DB$SCHD POPS THE DELAY COUNT AFTER A DELAY OF ABOUT 25
*         MILLISECONDS FOR EACH COUNT.
* 
*     DFWAITINP 
*         THIS CODE IS ASSIGNED TO AN RCB WHILE IT IS WAITING FOR A 
*         REQUEST PACKET TO BE DELIVERED BY THE OPERATING SYSTEM. 
*         IT IS NOT CHANGED UNTIL THE FIRST DB$SCHD CALL DURING THE 
*         EXECUTION OF THE SYMBIONT.
* 
*     DFWAITINV 
*         USED FOR A VARIETY OF NONSPECIFIC PAUSES DURING INVOKE. 
* 
*     DFWAITIO
*         USED THROUGHOUT CDCS WHEN WAITING FOR COMPLETION OF AN IO 
*         REQUEST THAT WAS INITIATED BY THE SAME PROCEDURE. 
*         DFWAITIO IS ONE OF THE EXTERNAL EVENT CODES THAT IS NOT 
*         OVERRIDDED BY DB$TQTT.
* 
*     DFWAITJFOK
*         USED WHILE WAITING SPECIFICALLY FOR THE JFILEOK INTERLOCK BIT.
*         (SEE DB$JLRS, DB$JRPT)
* 
*     DFWAITLOCK
*         WAITING FOR A RECORD OR AREA LOCK.
*         DB$MTR ALLOWS A CDCS ROLL-OUT WHILE WAITING FOR A LOCK. 
* 
*     DFWAITLOG 
*         USED FOR A VARIETY OF PAUSES RELATED TO LOG FILES.
* 
*     DFWAITRTN 
*         USED IN CONJUNCTION WITH SCHDFLAG AND DFWAITTASK FOR SPECIALLY
*         CONTROLLED TASK SCHEDULING.  (SEE DB$QRF, DB$SCHD)
* 
*     DFWAITTASK
*         SCHDFLAG IS USED TO SPECIFY THE NEXT TASK TO BE EXECUTED. 
*         DFWAITTASK SPECIFIES - EXECUTE ONLY THE TASK SPECIFIED IN 
*         SCHDFLAG AND NO OTHERS, UNTIL THAT TASK EITHER COMPLETES
*         OR CALLS DB$SCHD USING DFWAITRTN. 
*         UPON COMPLETION OR RETURN OF THE SCHDFLAG TASK, 
*         CONTROL IS RETURNED DIRECTLY TO THE ORIGINAL TASK.
* 
*     DFWAITTERM
*         USED BY DB$TQTT TO INDICATE THAT THE TASK HAS BEEN SPECIFIED
*         FOR IMMEDIATE TERMINATION.
* 
*     DFWAITXE
*         WAITING FOR A EXTERNAL EVENT SUCH AS SFCALL.
*         DB$TQTT WILL NOT OVERRIDE THE RCCONSTRA IF THE WAIT CODE IS 
*         DFWAITIO OR DFWAITXE. 
# 
      DEF DFWAITINP   #01#;  # WAIT FOR INPUT REQUEST PACKET           #
      DEF DFWAITIO    #02#;  # WAIT FOR INPUT/OUTPUT                   #
      DEF DFWAITXE    #03#;  # WAIT FOR AN EXTERNAL EVENT              #
                      #04#   # AVAILABLE                               #
                      #05#   # AVAILABLE                               #
      DEF DFWAITINV   #06#;  # WAIT DURING AN INVOKE FUNCTION          #
      DEF DFWAITTASK  #07#;  # WAIT FOR EXECUTION OF SCHDFLAG TASK     #
      DEF DFWAITLOCK  #08#;  # WAIT FOR LOCK ON KEY OR AREA            #
      DEF DFWAITTERM  #09#;  # WAIT FOR JOB TERMINATION                #
      DEF DFWAITLOG   #10#;  # WAIT FOR LOGGING ACTIVITY               #
      DEF DFWAITCOUNT #11#;  # WAIT FOR SCHEDULER COUNT DOWN           #
      DEF DFWAITJFOK  #12#;  # WAIT FOR LOG FILE SWITCH INTERLOCK      #
      DEF DFWAITRTN   #13#;  # RETURN CONTROL TO 'DFWAITTASK' TASK     #
#***********************************************************************
*     CDCS DEFS USED FOR ARRAY DESCRIPTIONS.
# 
  
*CALL RCBOSDCLS       RCB DECLARATIONS ALSO READABLE BY DB$OSUP 
  
      DEF DFRCFS   #19#;     # FIRST WORD ENTERED IN THE PUSH-DOWN STK.#
                             # MUST BE ONE LESS THAN DFRCIR0.          #
  
                             #   SEE DFRCIR0 IN RCBOSDCLS              #
                             # INPUT REQUEST PACKET OFFSET IN RCB      #
      DEF DFRCIR1  #21#;
      DEF DFRCIR2  #22#;
      DEF DFRCIR3  #23#;
      DEF DFRCIR4  #24#;
      DEF DFRCIR5  #25#;
      DEF DFRCIR6  #26#;
      DEF DFRCIR7  #27#;
      DEF DFRCIR8  #28#;
      DEF DFRCIR9  #29#;
      DEF DFRCIR10 #30#;
      DEF DFRCIR11 #31#;
      DEF DFRCIR12 #32#;
      DEF DFRCIR13 #33#;
  
      DEF DFRCLAST #55#;     # LAST WORD OF THE RCB REQUEST PACKET AREA#
  
#********************************************************************** 
*     DATABASE PROCEDURE ENTRY CODES
# 
      DEF DFDPBOPN #1#;      #BEFORE OPEN#
      DEF DFDPEOPN #2#;      #ON ERROR ON OPEN# 
      DEF DFDPAOPN #3#;      #AFTER OPEN# 
      DEF DFDPBCLS #4#;      #BEFORE CLOSE# 
      DEF DFDPECLS #5#;      #ON ERROR ON CLOSE#
      DEF DFDPACLS #6#;      #AFTER CLOSE#
      DEF DFDPBRGET #7#;     #BEFORE GET (RECORD)#
      DEF DFDPERGET #8#;     #ON ERROR ON GET (RECORD)# 
      DEF DFDPARGET #9#;     #AFTER GET (RECORD)# 
      DEF DFDPBRSTO #10#;    #BEFORE STORE (RECORD)#
      DEF DFDPERSTO #11#;    #ON ERROR STORE (RECORD)#
      DEF DFDPARSTO #12#;    #AFTER STORE (RECORD)# 
      DEF DFDPBRMOD #13#;    #BEFORE MODIFY (RECORD)# 
      DEF DFDPERMOD #14#;    #ON ERROR ON MODIFY (RECORD)#
      DEF DFDPARMOD #15#;    #AFTER MODIFY (RECORD)#
      DEF DFDPBFIND #16#;    #BEFORE FIND#
      DEF DFDPEFIND #17#;    #ON ERROR ON FIND# 
      DEF DFDPAFIND #18#;    #AFTER FIND# 
      DEF DFDPBDEL #19#;     #BEFORE DELETE#
      DEF DFDPEDEL #20#;     #ON ERROR ON DELETE# 
      DEF DFDPADEL #21#;     #AFTER DELETE# 
      DEF DFDPBIGET #22#;    #BEFORE GET (ITEM)#
      DEF DFDPEIGET #23#;    #ON ERROR ON GET (ITEM)# 
      DEF DFDPAIGET #24#;    #AFTER GET (ITEM)# 
      DEF DFDPBISTO #25#;    #BEFORE STORE (ITEM)#
      DEF DFDPEISTO #26#;    #ON ERROR ON STORE (ITEM)# 
      DEF DFDPAISTO #27#;    #AFTER STORE (ITEM)# 
      DEF DFDPBIMOD #28#;    #BEFORE MODIFY (ITEM)# 
      DEF DFDPEIMOD #29#;    #ON ERROR ON MODIFY (ITEM)#
      DEF DFDPAIMOD #30#;    #AFTER MODIFY (ITEM)#
      DEF DFDPENCODE #31#;   #ENCODE# 
      DEF DFDPDECODE #32#;   #DECODE# 
      DEF DFDPACTUAL #33#;   #ACTUAL RESULT#
      DEF DFDPVIRTUAL #34#;  #VIRTUAL RESULT# 
      DEF DFDPCHECK #35#;    #CHECK#
      DEF DFDPRECCODE #36#;  #RECORD CODE#
      DEF DFDPPRIV #37#;     #PRIVACY#
      DEF DFDPHASH #38#;     #DIRECT ACCESS HASH DATA BASE PROCEDURE #
      DEF DFDPCOMP #39#;     #COMPRESSION/DECOMPRESSION DB PROCEDURE #
#***********************************************************************
*     THE FOLLOWING DEF"S ARE FOR PRIVACY (ACCESS CONTROL) LOCK INFO. 
# 
      DEF DFPVAROP #6#;      # AREA PRIVACY LOCK OPTIONS SIZE IN BITS#
      DEF DFPVARRT #O"52"#;  # AREA PRIVACY LOCK MASK FOR RETRIEVAL # 
      DEF DFPVARRU #O"77"#;  # AREA PRIVACY LOCK MASK RETRIEVE/UPDATE#
      DEF DFPVARUP #O"25"#;  # AREA PRIVACY LOCK MASK FOR UPDATE BITS#
      DEF DFPVITEM #16#;     # ITEM PRIVACY LOCK ENTRIES IN ONE WORD #
      DEF DFPVITOP #3#;      # ITEM PRIVACY LOCK OPTIONS SIZE IN BITS#
      DEF DFPVLOKP #1#;      # DBP PRIVACY LOCK ENTRY LENGTH IN WORDS#
      DEF DFPVLOKV #4#;      # LITERAL VALUE PRIV LOCK ENTRY WORD LEN#
      DEF DFPVRCOP #5#;      # REC PRIVACY LOCK OPTIONS SIZE IN BITS #
      DEF DFPVRQRT #54#;     # REQUEST PACKET PRIV LOCK RETRIEVAL BIT#
      DEF DFPVRQUP #55#;     # REQUEST PACKET PRIVACY LOCK UPDATE BIT#
      DEF DFPVTYPA #1#;      # PRIVACY LOCK ENTRY TYPE FOR AN AREA #
      DEF DFPVTYPI #3#;      # PRIVACY LOCK ENTRY TYPE FOR AN ITEM #
      DEF DFPVTYPR #2#;      # PRIVACY LOCK ENTRY TYPE FOR A RECORD # 
