*COMDECK CSTARDCLS
  
#     C O M M O N   D E C K   -   C S T A R D C L S .                  #
  
  
# THE FOLLOWING BASED ARRAY IS FOR A CST AREA WORK BLOCK (FIXED PART)#
  
        BASED ARRAY CSAREBLK; 
  
          BEGIN              # CSAREBLK BASED ARRAY # 
  
            ITEM CSACOLAT U(0,0,2);    # COLLATING SEQUENCE OPTIONS # 
            ITEM CSAONERC B(0,2,1);    # T = 1 REC, NO REC CODE TABLE#
            ITEM CSAIDENT U(0,3,12);   # MASTER DIRECTORY AREA IDENT.#
            ITEM CSALENTH U(0,15,15);  # LENGTH OF AREA WORK BLOCK #
            ITEM CSANAMLW U(0,30,2);   # AREA NAME LENGTH IN WORDS #
            ITEM CSALOCK  U(0,32,10);  # PRIVACY LOCK DEFAULT FLAGS # 
              ITEM CSALOKER B(0,32,1); # LOCK EXCLUSIVE RETRIEVAL # 
              ITEM CSALOKEU B(0,33,1); # LOCK EXCLUSIVE UPDATE FLAG # 
              ITEM CSALOKPR B(0,34,1); # LOCK PROTECTED RETRIEVAL # 
              ITEM CSALOKPU B(0,35,1); # LOCK PROTECTED UPDATE FLAG # 
              ITEM CSALOKNR B(0,36,1); # LOCK NONEXCLUSIVE RETRIEVAL #
              ITEM CSALOKNU B(0,37,1); # LOCK NONEXCLUSIVE UPDATE # 
                                       # BITS 38-41 RESERVE FOR LATER#
            ITEM CSAPOPNT U(0,42,18);  # PROC OPTION LIST POINTER # 
              ITEM CSAPOLEN U(0,42,6); # PROC OPTION LIST LENGTH #
              ITEM CSAPOCOL U(0,48,1); # PROC OPTION LIST COLUMN #
              ITEM CSAPOFWA U(0,49,11);# PROC OPTION LIST FIRST WD AD#
  
            ITEM CSAPOPTN U(1,0,21);   # PROC OPTION LIST FILTERS # 
              ITEM CSAPOACL B(1,0,1);  # PROC OPTION AFTER CLOSE #
              ITEM CSAPOBCL B(1,1,1);  # PROC OPTION BEFORE CLOSE # 
              ITEM CSAPOECL B(1,2,1);  # PROC OPTION ERROR CLOSE #
              ITEM CSAPOAER B(1,3,1);  # PROC OPTION AFTER EXCLU RETR#
              ITEM CSAPOBER B(1,4,1);  # PROC OPTION BEFORE EXCL RETR#
              ITEM CSAPOEER B(1,5,1);  # PROC OPTION ERROR EXCLU RETR#
              ITEM CSAPOAEU B(1,6,1);  # PROC OPTION AFTER EXCLU UPDA#
              ITEM CSAPOBEU B(1,7,1);  # PROC OPTION BEFORE EXCL UPDA#
              ITEM CSAPOEEU B(1,8,1);  # PROC OPTION ERROR EXCLU UPDA#
              ITEM CSAPOAPR B(1,9,1);  # PROC OPTION AFTER PROTE RETR#
              ITEM CSAPOBPR B(1,10,1); # PROC OPTION BEFORE PROT RETR#
              ITEM CSAPOEPR B(1,11,1); # PROC OPTION ERROR PROTE RETR#
              ITEM CSAPOAPU B(1,12,1); # PROC OPTION AFTER PROTE UPDA#
              ITEM CSAPOBPU B(1,13,1); # PROC OPTION BEFORE PROT UPDA#
              ITEM CSAPOEPU B(1,14,1); # PROC OPTION ERROR  PROT UPDA#
              ITEM CSAPOANR B(1,15,1); # PROC OPTION AFTER NONEX RETR#
              ITEM CSAPOBNR B(1,16,1); # PROC OPTION BEFORE NONE RETR#
              ITEM CSAPOENR B(1,17,1); # PROC OPTION ERROR NONEX RETR#
              ITEM CSAPOANU B(1,18,1); # PROC OPTION AFTER NONEX UPDA#
              ITEM CSAPOBNU B(1,19,1); # PROC OPTION BEFORE NONE UPDA#
              ITEM CSAPOENU B(1,20,1); # PROC OPTION ERROR NONEX UPDA#
                                       # BITS 21-44 RESERVE FOR LATER#
            ITEM CSACODPT U(1,45,15);  # RECORD CODE TABLE POINTER #
            ITEM CSARCORD U(1,48,12);  # REC ORDINAL (SEE CSAONERC) # 
  
            ITEM CSACONFL U(2,0,3);    # CONSTRAINT INFORMATION FLAGS#
               ITEM CSAIMPLC B(2,0,1); # TRUE IFF AREA IS IMPLICIT #
               ITEM CSAMEMBR B(2,1,1); # TRUE IFF AREA IS CONST MEMBR#
               ITEM CSAOWNER B(2,2,1); # TRUE IFF AREA IS CONST OWNER#
                                       # BITS 3-5 RESERVED FOR LATER   #
            ITEM CSAALTNO U(2,6,12);   # NUMBER OF ALTERNATE KEYS # 
            ITEM CSADEPNO U(2,18,12);  # NUMBER OF DEPENDENCY ENTRIES#
            ITEM CSAKEYPT U(2,30,15);  # AREA KEY TABLE POINTER # 
            ITEM CSADEPPT U(2,45,15);  # CONSTRNT DEPENDENCY TABLE PT#
  
            ITEM CSASYSTM B(3,0,1);    # T=(DE)COMPRESSION BY SYSTEM #
                                       # BITS 1-5 RESERVED FOR LATER #
            ITEM CSACMORD U(3,6,18);   # COMPRESSION DB PROC ORDINAL #
            ITEM CSADEORD U(3,24,18);  # DECOMPRESSION DBP ORDINAL #
            ITEM CSAHSORD U(3,42,18);  # DIRECT ACCESS HASH DBP ORDNL#
  
                                       # BITS 0-23 RESERVED FOR LATER#
            ITEM CSAKCAPL U(4,24,18);  # KEY CAPSULE LENGTH IN WORDS #
            ITEM CSAKCAPP U(4,42,18);  # KEY MAPPING CAPSULE POINTER #
  
            ITEM CSANAME  C(5,0,30);   # AREA NAME (1-30 CHARACTERS) #
  
          END                # CSAREBLK BASED ARRAY # 
  
  
  
  
# THE FOLLOWING BASED ARRAY IS FOR CST AREA WORK BLOCK AREA KEY TABLE#
  
        BASED ARRAY CSAKEYTB; 
  
          BEGIN              # CSAKEYTB BASED ARRAY # 
  
            ITEM CSAKMISF U(0,0,3);    # MISCELLANEOUS FLAG INFORMATN#
              ITEM CSAKPRIM B(0,0,1);  # TRUE IFF A PRIMARY KEY ENTRY#
              ITEM CSAKCONC B(0,1,1);  # TRUE IFF A CONCATENATED KEY #
              ITEM CSAKIMBD B(0,2,1);  # TRUE IFF IMBEDDED KEY ENTRY #
            ITEM CSAKRGSZ U(0,3,18);   # REPEATING GROUP SIZE # 
            ITEM CSAKOCUR U(0,21,21);  # MAXIMUM NUMBER OF OCCURRENCE#
            ITEM CSAKTYPE U(0,42,2);   # 0=SYMBOLIC,1=SIGNED,2=UNSIGN#
                                       # BITS 44-59 RESERVE FOR LATER#
  
            ITEM CSAKDUPL C(1,0,1);    # 06=FIFO,11=INDEX,25=UNIQUE  #
            ITEM CSAKBWP  U(1,6,18);   # KEY BEGINNING WORD POSITION #
            ITEM CSAKBCP  U(1,24,6);   # KEY BEGINNING CHAR. POSITION#
            ITEM CSAKLENC U(1,30,18);  # KEY LENGTH IN CHARACTERS # 
                                       # BITS 48-58 RESERVE FOR LATER#
            ITEM CSAKNEXT B(1,59,1);   # NEXT FLAG, TRUE=ANOTHER KEY #
  
          END                # CSAKEYTB BASED ARRAY # 
  
# THE FOLLOWING BASED ARRAY IS FOR CST AREA WORK BLOCK REC CODE TABLE#
  
        BASED ARRAY CSACODTB; 
  
          BEGIN              # CSACODTB BASED ARRAY # 
  
            ITEM CSACPORD U(0,0,18);   # RECORD CODE DB PROC ORDINAL #
            ITEM CSACBWP  U(0,0,18);   # ITEM BEGINNING WORD POSITION#
            ITEM CSACBCP  U(0,18,6);   # ITEM BEGINNING CHAR POSITION#
            ITEM CSACLENC U(0,24,18);  # ITEM LENGTH IN CHARACTERS #
            ITEM CSACCLAS U(0,42,6);   # CLASS OF RECORD CODE ITEM #
                                       # BITS 48-58 RESERVE FOR LATER#
            ITEM CSACTYPE B(0,59,1);   # FALSE=DATA NAME, TRUE=PROC # 
  
            ITEM CSACLITL U(0,0,9);    # LITERAL LENGTH IN CHARACTERS#
            ITEM CSACLITP U(0,9,15);   # LITERAL POINTER OFFSET # 
            ITEM CSACRORD U(0,24,12);  # RECORD ORDINAL # 
                                       # BITS 36-44 RESERVE FOR LATER#
            ITEM CSACINTG U(0,45,12);  # INTEGER RESULT VALUE OF PROC#
                                       # BITS 57-58 RESERVE FOR LATER#
            ITEM CSACNEXT B(0,59,1);   # NEXT FLAG,TRUE=ANOTHER ENTRY#
  
            ITEM CSACLITR C(0,0,240);  # REC CODE LITERAL, LEFT-JUST.#
  
          END                # CSACODTB BASED ARRAY # 
  
  
  
# FOLLOWING BASED ARRAY FOR CST AREA WORK BLOCK CONS DEPENDENCY TABLE#
  
        BASED ARRAY CSADEPTB; 
  
          BEGIN              # CSADEPTB BASED ARRAY # 
  
            ITEM CSADTYPE U(0,0,6);    # 1=INTER-AREA, 2=INTRA-AREA # 
            ITEM CSADMISF U(0,6,3);    # MISCELLANEOUS FLAG INFORMATN#
                                       # BIT 6 RESERVED FOR LATER USE#
              ITEM CSADMEMB B(0,7,1);  # TRUE IFF AREA IS CONST MEMBR#
              ITEM CSADOWNR B(0,8,1);  # TRUE IFF AREA IS CONST OWNER#
                                       # BITS 9-11 RESERVED FOR LATER#
            ITEM CSADAORD U(0,12,12);  # EXTENDED AREA WK BLK ORDINAL#
            ITEM CSADEKEY U(0,24,12);  # EXTENDED AREA WB KEY ORDINAL#
            ITEM CSADBKEY U(0,36,12);  # BASIC AREA WK BK KEY ORDINAL#
            ITEM CSADCORD U(0,48,12);  # CONSTRAINT WORK BLCK ORDINAL#
  
          END                # CSADEPTB BASED ARRAY # 
