Trailing-Edge
-
PDP-10 Archives
-
bb-h138f-bm
-
7-sources/rmssym.mtb
There are 6 other files named rmssym.mtb in the archive. Click here to see a list.
;!
;! COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1977, 1986.
;! ALL RIGHTS RESERVED.
;!
;! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND
;! COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH
;! THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
;! ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
;! AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
;! SOFTWARE IS HEREBY TRANSFERRED.
;!
;! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
;! NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
;! EQUIPMENT CORPORATION.
;!
;! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
;! ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
;!
;! *********************************************************
;! * *
;! * START OF RMSSYM.MTB *
;! * *
;! * RMS SYMBOL AND MACRO DEFINITIONS *
;! * *
;! * THIS FILE IS PROCESSED BY BOTH MACRO AND BLISS *
;! * *
;! *********************************************************
;! AUTHOR: S. BLOUNT
;! EDIT DATE: MAY 1, 1976
;! REVISION HISTORY:
;!
;! PRODUCT MODULE SPR
;! EDIT EDIT QAR DESCRIPTION
;! ====== ====== ===== ===========
;!
;! 402 1 XXXXX (RL, 9-May-83) Add ER$EXT error, for
;! file extend error ("Quota exceeded").
;! 403 2 XXXXX (AWN, May-83) Add some symbols.
;!
;! 404 3 XXXXX (RL, 10-May-83) Add FB$SMU bit to
;! FAC field for COBOTS SMU.
;! 411 4 XXXXX (AWN, 3-Jun-83) Add new key data types
;!
;! 501 5 XXXXX (AWN, 30-May-84) Add new device bits
;!
;! 613 6 XXXXX (SC, 27-Mar-86) Add DIL8 type class
;!
;! 656 (GAS, 13-Oct-86) Add all protection XAB
;! macros and field definitions
;!
;! ***** END OF REVISION HISTORY *****
;! *********************************************************
;! * *
;! * ==> READ FILE RMS20T.SNO BEFORE <== *
;! * ==> MAKING ANY EDITS TO THIS FILE <== *
;! * *
;! *********************************************************
;! IN MACRO THIS FILE MUST BE ASSEMBLED AFTER FILE RMSSYM.MPR:
;! @MACRO
;! *,=RMSSYM.MPR,RMSSYM.MTB
;! IN BLISS THIS FILE MUST BE REQUIRED AS SHOWN BELOW:
;! MODULE ...
;! .
;! .
;! .
;! REQUIRE RMSSYM.BPR;
;! REQUIRE RMSSYM.MTB;
;! REQUIRE RMSSYM.BPS;
;! ***********NOTE: MACROS THAT ARE CALLED IN THIS FILE ARE DEFINED
;! IN RMSSYM.MPR (MACRO) AND RMSSYM.BPR (BLISS).
;! SEE THESE FILES FOR ADDITIONAL INFORMATION.
;! CONTENTS:
;! 1. DEFINE OFFSET CONSTANTS
;! 2. DEFINE SIZE, POSITION, COUNT, AND MISC. CONSTANTS
;! 3. SYMBOL DEFINITIONS FOR FILE ACCESS BLOCK (FAB)
;! 4. FAB DEFINITIONS
;! 5. SYMBOL DEFINITIONS FOR RECORD ACCESS BLOCK (RAB)
;! 6. RAB DEFINITIONS
;! 7. SYMBOL DEFINITIONS FOR EXTENDED ATTRIBUTES BLOCK (XAB)
;! 8. XAB DEFINITIONS
;! 9. SYMBOL DEFINITIONS FOR DEBUG MACRO
;! 10. DEFINE RUN TIME OPERATION CODES
;! *********************************************************
;! * 1. DEFINE OFFSET CONSTANTS *
;! *********************************************************
S$$DC (XX,OID,0) ;! BID FIELD OFFSET IN A FAB, RAB, OR XAB
;! MACRO-10 EXPANDS THE ABOVE TO GIVE: XX$OID==^D0
;! BLISS EXPANDS THE ABOVE TO GIVE: BIND XXOID = 0;
S$$DC (XX,OLN,0) ;! BLN FIELD OFFSET IN A FAB, RAB, OR XAB
;! NOTE THAT RMS ASSUMES THE BID (BLOCK TYPE) AND BLN (BLOCK LENGTH)
;! FIELDS ARE THE SAME SIZE AND ARE IN THE SAME RELATIVE POSITION
;! IN A FAB (FILE ACCESS BLOCK), RAB (RECORD ACCESS BLOCK), OR
;! XAB (EXTENDED ATTRIBUTES BLOCK).
S$$DC (XX,OST,1) ;! STS FIELD OFFSET IN A FAB OR RAB
S$$DC (XX,OSV,1) ;! STV FIELD OFFSET IN A FAB OR RAB
S$$DC (XX,OCT,2) ;! CTX FIELD OFFSET IN A FAB OR RAB
;! NOTE THAT RMS ASSUMES THE STS (STATUS), STV (STATUS VALUE), AND
;! CTX (USER CONTEXT WORD) FIELDS ARE THE SAME SIZE AND ARE IN THE
;! SAME RELATIVE POSITION IN A FAB OR RAB.
S$$DC (XX,OCO,1) ;! COD FIELD OFFSET IN AN XAB
S$$DC (XX,OF0,0) ;! OFFSET 0 (0TH WORD OF THE BLOCK)
S$$DC (XX,OF1,1) ;! OFFSET 1
S$$DC (XX,OF2,2) ;! OFFSET 2
S$$DC (XX,OF3,3) ;! OFFSET 3
S$$DC (XX,OF4,4) ;! OFFSET 4
S$$DC (XX,OF5,5) ;! OFFSET 5
S$$DC (XX,OF6,6) ;! OFFSET 6
S$$DC (XX,OF7,7) ;! OFFSET 7
S$$DC (XX,OF8,8) ;! OFFSET 8
S$$DC (XX,OF9,9) ;! OFFSET 9
S$$DC (XX,O10,10) ;! OFFSET 10
S$$DC (XX,O11,11) ;! OFFSET 11
S$$DC (XX,O12,12) ;! OFFSET 12
S$$DC (XX,O13,13) ;! OFFSET 13
S$$DC (XX,O14,14) ;! OFFSET 14
S$$DC (XX,O15,15) ;! OFFSET 15
S$$DC (XX,O16,16) ;! OFFSET 16
S$$DC (XX,O17,17) ;! OFFSET 17
S$$DC (XX,O18,18) ;! OFFSET 18
S$$DC (XX,O19,19) ;! OFFSET 19
S$$DC (XX,O20,20) ;! OFFSET 20
S$$DC (XX,O21,21) ;! OFFSET 21
S$$DC (XX,O22,22) ;! OFFSET 22
;! *********************************************************
;! * 2. DEFINE SIZE, POSITION, COUNT, AND *
;! * MISC. CONSTANTS *
;! *********************************************************
;! DEFINE SIZE CONSTANTS (NUMBER OF BITS)
;! Add missing values ;AAAA
S$$DC (XX,SW,36) ;! WORD SIZE
S$$DC (XX,SH,18) ;! HALF WORD SIZE
S$$DC (XX,S36,36) ;! 36 BIT FIELD
S$$DC (XX,S35,35) ;! 35 BIT FIELD
S$$DC (XX,S34,34) ;! 34 BIT FIELD
S$$DC (XX,S33,33) ;! 33 BIT FIELD
S$$DC (XX,S32,32) ;! 32 BIT FIELD
S$$DC (XX,S31,31) ;! 31 BIT FIELD
S$$DC (XX,S30,30) ;! 30 BIT FIELD
S$$DC (XX,S29,29) ;! 29 BIT FIELD
S$$DC (XX,S28,28) ;! 28 BIT FIELD
S$$DC (XX,S27,27) ;! 27 BIT FIELD
S$$DC (XX,S26,26) ;! 26 BIT FIELD
S$$DC (XX,S25,25) ;! 25 BIT FIELD
S$$DC (XX,S24,24) ;! 24 BIT FIELD
S$$DC (XX,S23,23) ;! 23 BIT FIELD
S$$DC (XX,S22,22) ;! 22 BIT FIELD
S$$DC (XX,S21,21) ;! 21 BIT FIELD
S$$DC (XX,S20,20) ;! 20 BIT FIELD
S$$DC (XX,S19,19) ;! 19 BIT FIELD
S$$DC (XX,S18,18) ;! 18 BIT FIELD
S$$DC (XX,S17,17) ;! 17 BIT FIELD
S$$DC (XX,S16,16) ;! 16 BIT FIELD
S$$DC (XX,S15,15) ;! 15 BIT FIELD
S$$DC (XX,S14,14) ;! 14 BIT FIELD
S$$DC (XX,S13,13) ;! 13 BIT FIELD
S$$DC (XX,S12,12) ;! 12 BIT FIELD
S$$DC (XX,S11,11) ;! 11 BIT FIELD
S$$DC (XX,S10,10) ;! 10 BIT FIELD
S$$DC (XX,S9,9) ;! 9 BIT FIELD
S$$DC (XX,S8,8) ;! 8 BIT FIELD
S$$DC (XX,S7,7) ;! 7 BIT FIELD
S$$DC (XX,S6,6) ;! 6 BIT FIELD
S$$DC (XX,S5,5) ;! 5 BIT FIELD
S$$DC (XX,S4,4) ;! 4 BIT FIELD
S$$DC (XX,S3,3) ;! 3 BIT FIELD
S$$DC (XX,S2,2) ;! 2 BIT FIELD
S$$DC (XX,S1,1) ;! 1 BIT FIELD
S$$DC (XX,S0,0) ;! PLACE-HOLDER, ZERO-LENGTH FIELD
S$$SC (XX,SID,XX,SH) ;! BID FIELD SIZE IN A FAB, RAB, OR XAB
;! MACRO EXPANDS THE ABOVE TO GIVE: XX$SID==XX$SH
;! BLISS EXPANDS THE ABOVE TO GIVE: BIND XXSID==XXSH;
S$$SC (XX,SLN,XX,SH) ;! BLN FIELD SIZE IN A FAB, RAB, OR XAB
S$$SC (XX,SST,XX,SH) ;! STS FIELD SIZE IN A FAB OR RAB
S$$SC (XX,SSV,XX,SH) ;! STV FIELD SIZE IN A FAB OR RAB
S$$SC (XX,SCT,XX,SW) ;! CTX FIELD SIZE IN A FAB OR RAB
S$$DC (XX,SCO,5) ;! COD FIELD SIZE IN XAB HEADER
;! DEFINE POSITION CONSTANTS (NUMBER OF BITS TO
;! THE RIGHT OF THE FIELD)
S$$DC (XX,PW,0) ;! WORD POSITION
S$$DC (XX,PR,0) ;! RIGHT HALF WORD POSITION
S$$DC (XX,P0,0) ;! RIGHT HALF WORD POSITION
S$$DC (XX,P1,1) ;! 1 BIT REMAINING AT RIGHT
S$$DC (XX,P2,2) ;! 2 BITS REMAINING AT RIGHT
S$$DC (XX,P3,3) ;! 3 BITS REMAINING AT RIGHT
S$$DC (XX,P4,4) ;! 4 BITS REMAINING AT RIGHT
S$$DC (XX,P5,5) ;! 5 BITS REMAINING AT RIGHT
S$$DC (XX,P6,6) ;! 6 BITS REMAINING AT RIGHT
S$$DC (XX,P7,7) ;! 7 BITS REMAINING AT RIGHT
S$$DC (XX,P8,8) ;! 8 BITS REMAINING AT RIGHT
S$$DC (XX,P9,9) ;! 9 BITS REMAINING AT RIGHT
S$$DC (XX,P10,10) ;! 10 BITS REMAINING AT RIGHT
S$$DC (XX,P11,11) ;! 11 BITS REMAINING AT RIGHT
S$$DC (XX,P12,12) ;! 12 BITS REMAINING AT RIGHT
S$$DC (XX,P13,13) ;! 13 BITS REMAINING AT RIGHT
S$$DC (XX,P14,14) ;! 14 BITS REMAINING AT RIGHT
S$$DC (XX,P15,15) ;! 15 BITS REMAINING AT RIGHT
S$$DC (XX,P16,16) ;! 16 BITS REMAINING AT RIGHT
S$$DC (XX,P17,17) ;! 17 BITS REMAINING AT RIGHT
S$$DC (XX,P18,18) ;! LEFT HALF WORD POSITION
S$$DC (XX,PL,18) ;! LEFT HALF WORD POSITION
S$$DC (XX,P19,19) ;! 19 BITS REMAINING AT RIGHT
S$$DC (XX,P20,20) ;! 20 BITS REMAINING AT RIGHT
S$$DC (XX,P21,21) ;! 21 BITS REMAINING AT RIGHT
S$$DC (XX,P22,22) ;! 22 BITS REMAINING AT RIGHT
S$$DC (XX,P23,23) ;! 23 BITS REMAINING AT RIGHT
S$$DC (XX,P24,24) ;! 24 BITS REMAINING AT RIGHT
S$$DC (XX,P25,25) ;! 25 BITS REMAINING AT RIGHT
S$$DC (XX,P26,26) ;! 26 BITS REMAINING AT RIGHT
S$$DC (XX,P27,27) ;! 27 BITS REMAINING AT RIGHT
S$$DC (XX,P29,29) ;! 29 BITS REMAINING AT RIGHT
S$$DC (XX,P30,30) ;! 30 BITS REMAINING AT RIGHT
S$$DC (XX,P31,31) ;! 31 BITS REMAINING AT RIGHT
S$$DC (XX,P32,32) ;! 32 BITS REMAINING AT RIGHT
S$$DC (XX,P33,33) ;! 33 BITS REMAINING AT RIGHT
S$$DC (XX,P34,34) ;! 34 BITS REMAINING AT RIGHT
S$$DC (XX,P35,35) ;! 35 BITS REMAINING AT RIGHT
S$$SC (XX,PID,XX,PL) ;! BID FIELD POSITION IN A FAB, RAB, OR XAB
S$$SC (XX,PLN,XX,PR) ;! BLN FIELD POSITION IN A FAB, RAB, OR XAB
S$$SC (XX,PST,XX,PL) ;! STS FIELD POSITION IN A FAB OR RAB
S$$SC (XX,PSV,XX,PR) ;! STV FIELD POSITION IN A FAB OR RAB
S$$SC (XX,PCT,XX,PW) ;! CTX FIELD POSITION IN A FAB OR RAB
S$$SC (XX,PCO,XX,PL) ;! COD FIELD POSITION IN XAB HEADER
;! COUNT DEFINITIONS
S$$DC (XX,C0,0) ;! COUNT = 0 (FIELD IS NOT AN ARRAY)
S$$DC (XX,C8,8) ;! COUNT = 8 (FIELD IS AN ARRAY CONTAINING
;! 8 ELEMENTS - USED FOR POS AND SIZ
;! FIELDS IN A XAB)
;! DEFINE MISC. CONSTANTS
S$$DC (XX,YES,1) ;! USED TO INDICATE THAT AN INITIALIZATION
;! MACRO IS DEFINED FOR A FIELD
S$$DC (XX,NO,0) ;! USED TO INDICATE THAT FIELD CANNOT BE
;! SET BY A USER AT COMPILE TIME
S$$DC (X,ZERO,0) ;! DEFAULT VALUE OF 0 (ZERO)
S$$DC (FB,NIL,0) ;! FLAGS OFF FOR FAB
S$$DC (RB,NIL,0) ;! FLAGS OFF FOR RAB
S$$DC (XB,NIL,0) ;! FLAGS OFF FOR XAB
;!*********************************************************
;!* 3. SYMBOL DEFINITIONS FOR FILE ACCESS BLOCK (FAB) *
;!*********************************************************
;! FAC (FILE ACCESS) FIELD
S$$DC (FB,GET,1) ;! GET ACCESS
S$$DC (FB,UPD,2) ;! UPDATE
S$$DC (FB,PUT,4) ;! PUT ACCESS
S$$DC (FB,DEL,8) ;! DELETE
S$$DC (FB,TRN,16) ;! TRUNCATE
S$$DC (FB,BIO,32) ;! [403] BLOCK I/O
S$$DC (FB,BRO,64) ;! [403] BLOCK OR RECORD I/O
S$$DC (FB,APP,128) ;! [403] APPEND
S$$DC (FB,SMU,131072) ;! [404] COBOTS-CONTROLLED SMU
S$$SC (FB,IN,FB,GET) ;! INPUT ACCESS
S$$SC (FB,OUT,FB,PUT) ;! OUTPUT ACCESS
;! FOP (FILE OPTIONS) FIELD
S$$BC (FB,WAT,35) ;! WAIT FOR FILE
S$$BC (FB,CIF,34) ;! CREATE FILE ONLY IF NON-EXISTENT
S$$BC (FB,DRJ,33) ;! DON'T RELEASE THE JFN
S$$BC (FB,DFW,32) ;! DEFERRED WRITE TO FILE
S$$BC (FB,SUP,31) ;! SUPERSEDE FILE IF IT EXISTS
S$$BC (FB,SPL,30) ;! [403] SPOOL (TO PRINTER) ON CLOSE
S$$BC (FB,SCF,29) ;! [403] SUBMIT TO BATCH ON CLOSE
S$$BC (FB,DLT,28) ;! [403] DELETE ON CLOSE
S$$BC (FB,NAM,27) ;! [403] OPEN BY NAME BLOCK
S$$BC (FB,CTG,26) ;! [403] CONTIGUOUS
S$$BC (FB,LKO,25) ;! [403] OVERRIDE FILE LOCK
S$$BC (FB,TMP,24) ;! [403] TEMP FILE
S$$BC (FB,MKD,23) ;! [403] MARK FOR DELETE
S$$BC (FB,OFP,22) ;! [403] OUTPUT FILE PARSE
;! MACRO-10 EXPANDS THE ABOVE TO GIVE: FB$CIF==1B34
;! BLISS EXPANDS THE ABOVE TO GIVE: BIND FBCIF = 1^(35-34);
;! ORG (FILE ORGANIZATION) FIELD
;! (***NOTE: DO NOT USE 0 AS VALUE FOR FILE ORGANIZATION
S$$DC (FB,SEQ,1) ;! SEQUENTIAL FILE
S$$DC (FB,REL,2) ;! RELATIVE FILE
S$$DC (FB,IDX,3) ;! INDEXED FILE
;! RFM (RECORD FORMAT) FIELD
S$$DC (FB,VAR,0) ;! VARIABLE LENGTH RECORDS
S$$DC (FB,STM,1) ;! STREAM RECORDS
S$$DC (FB,LSA,2) ;! LINE SEQUENCED ASCII RECORDS
S$$DC (FB,FIX,3) ;! FIXED LENGTH RECORDS
S$$DC (FB,VFC,4) ;! [403] VFC FORMAT
S$$DC (FB,UDF,5) ;! [403] UNDEFINED/UNKNOWN FORMAT
S$$DC (FB,SCR,6) ;! [570] STREAM_CR
S$$DC (FB,SLF,7) ;! [570] STREAM_LF
;! RAT (RECORD ATTRIBUTES) FIELD
S$$BC (FB,BLK,35) ;! BLOCKED
;! [403] RESERVED
S$$BC (FB,FTN,33) ;! [403] FORTRAN CARRIAGE CTL
S$$BC (FB,CR,32) ;! [403] IMPLIED CRLF
S$$BC (FB,PRN,31) ;! [403] PRINT FILE
S$$BC (FB,EMB,30) ;! [403] EMBEDDED FORMAT CTL
S$$BC (FB,CBL,29) ;! [403] COBOL CARRIAGE CTL
;! DEV (DEVICE CHARACTERISTICS) FIELD
S$$BC (FB,REC,35) ;! RECORD ORIENTED DEVICE
S$$BC (FB,CCL,34) ;! CARRIAGE CONTROL DEVICE
S$$BC (FB,TRM,33) ;! TERMINAL
S$$BC (FB,MDI,32) ;! MULTIPLE DIRECTORY DEVICE
S$$BC (FB,SQD,31) ;! SEQUENTIAL DEVICE
S$$BC (FB,IDV,30) ;! Device does input ;!A501 VV
S$$BC (FB,ODV,29) ;! Device does output
S$$BC (FB,NET,28) ;! Network device
S$$BC (FB,MNT,27) ;! Device is mounted
S$$BC (FB,AVL,26) ;! Device is available
S$$BC (FB,SPO,25) ;! Device is spooled
S$$BC (FB,RMT,24) ;! Device is remote
;! *********************************************************
;! * 4. FAB DEFINITIONS *
;! *********************************************************
;! STRUCTURE OF FILE ACCESS BLOCK:
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! STS ! STV !
;! !-------------------------------------!
;! ! CTX !
;! !-------------------------------------!
;! ! IFI ! JFN !
;! !-------------------------------------!
;! ! FAC ! SHR !
;! !-------------------------------------!
;! ! FOP !ORG! BSZ ! BLS !
;! !-------------------------------------!
;! ! FNA !
;! !-------------------------------------!
;! ! RAT ! MRS !
;! !-------------------------------------!
;! ! MRN !
;! !-------------------------------------!
;! ! <UNUSED> !FSZ ! BKS ! RFM !
;! !-------------------------------------!
;! ! JNL ! XAB !
;! !-------------------------------------!
;! ! DEV ! SDC !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !=====================================!
;! DEFINE NON-ZERO DEFAULTS THAT HAVE NOT BEEN DEFINED YET
;! ==>BEGINIMMEDIATE
S$$DC (FA,TYP,1) ;! BLOCK TYPE
S$$DC (FA,LNG,16) ;! BLOCK LENGTH
S$$DC (FA,BSZ,36) ;! DEFAULT BYTE SIZE
;! ==>ENDIMMEDIATE
;! FILE: RMSSYM.MTB (CONTINUED)
;! DEFINE FAB FIELDS
;! ==>BEGINSTRUCTURE(FAB,FALNG)
$$FIELD (F,BID,FA,TYP,OID,SID,PID,NO ,C0) ;! BLOCK TYPE
$$FIELD (F,BLN,FA,LNG,OLN,SLN,PLN,NO ,C0) ;! BLOCK LENGTH
$$FIELD (F,STS,X,ZERO,OST,SST,PST,NO ,C0) ;! STATUS
$$FIELD (F,STV,X,ZERO,OSV,SSV,PSV,NO ,C0) ;! STATUS VALUE
$$FIELD (F,CTX,X,ZERO,OCT,SCT,PCT,YES,C0) ;! USER CONTEXT WORD
$$FIELD (F,IFI,X,ZERO,OF3,SH ,PL ,NO ,C0) ;! INTERNAL FILE ID
$$FIELD (F,JFN,X,ZERO,OF3,SH ,PR ,YES,C0) ;! JFN
$$FIELD (F,FAC,FB,GET,OF4,SH ,PL ,YES,C0) ;! FILE ACCESS
$$FIELD (F,SHR,FB,GET,OF4,SH ,PR ,YES,C0) ;! FILE SHARABILITY
$$FIELD (F,FOP,X,ZERO,OF5,SH ,PL ,YES,C0) ;! FILE OPTIONS
$$FIELD (F,ORG,FB,SEQ,OF5,S4 ,P14,YES,C0) ;! FILE ORGANIZATION
$$FIELD (F,BSZ,FA,BSZ,OF5,S6 ,P8 ,YES,C0) ;! BYTE SIZE
$$FIELD (F,BLS,X,ZERO,OF5,S8 ,PR ,YES,C0) ;! BLOCK SIZE FOR TAPE FILES
$$FIELD (F,FNA,X,ZERO,OF6,SW ,PW ,YES,C0) ;! FILE-NAME ADDRESS
$$FIELD (F,RAT,X,ZERO,OF7,SH ,PL ,YES,C0) ;! RECORD ATTRIBUTES
$$FIELD (F,MRS,X,ZERO,OF7,SH ,PR ,YES,C0) ;! MAXIMUM RECORD SIZE
$$FIELD (F,MRN,X,ZERO,OF8,SW ,PW ,YES,C0) ;! MAXIMUM RECORD NUMBER
$$FIELD (F,RF0,X,ZERO,OF9,SH ,PL ,NO ,C0) ;! [403] ***RESERVED***
$$FIELD (F,FSZ,X,ZERO,OF9,S5 ,P13,YES,C0) ;! [403] FIXED HDR SIZE FOR VFC
$$FIELD (F,BKS,X,ZERO,OF9,S8 ,P5 ,YES,C0) ;! BUCKET SIZE
$$FIELD (F,RFM,FB,VAR,OF9,S5 ,PR ,YES,C0) ;! RECORD FORMAT
$$FIELD (F,JNL,X,ZERO,O10,SH ,PL ,YES,C0) ;! LOG BLOCK
$$FIELD (F,XAB,X,ZERO,O10,SH ,PR ,YES,C0) ;! XAB POINTER
$$FIELD (F,DEV,X,ZERO,O11,SH ,PL ,NO ,C0) ;! DEVICE CHARACTERISTICS
$$FIELD (F,SDC,X,ZERO,O11,SH ,PR ,NO ,C0) ;! SECONDARY DEVICE CHARACTERISTICS
$$FIELD (F,NAM,X,ZERO,O12,SH ,PR ,YES,C0) ;! [403] NAM BLOCK ADDRESS
$$FIELD (F,TYP,X,ZERO,O12,SH ,PL ,YES,C0) ;! [403] TYP BLOCK ADDRESS
$$FIELD (F,ALQ,X,ZERO,O13,SW ,PW ,NO ,C0) ;! [403] ALLOCATION QUANTITY
$$FIELD (F,RF3,X,ZERO,O14,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (F,RF4,X,ZERO,O15,SW ,PW ,NO ,C0) ;! ***RESERVED***
;! ==>ENDSTRUCTURE
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;!*********************************************************
;!* 5. SYMBOL DEFINITIONS FOR RECORD ACCESS BLOCK (RAB) *
;!*********************************************************
;! RAC (RECORD ACCESS) FIELD
;! ==>BEGINCOLLECT(RABRAC,K)
S$$DC (RB,SEQ,0) ;! SEQUENTIAL ACCESS
S$$DC (RB,KEY,1) ;! KEYED ACCESS
S$$DC (RB,RFA,2) ;! RFA
S$$DC (RB,BLK,3) ;! BLOCK MODE
S$$DC (RB,TRA,4) ;! FILE TRANSFER MODE
S$$DC (RB,BFT,5) ;! BLOCK MODE FILE TRANSFER
;! ==>ENDCOLLECT
;! ROP (RECORD OPTIONS) FIELD
;! ==>BEGINCOLLECT(RABROP,V)
S$$BC (RB,EOF,35) ;! POSITION FILE TO EOF
S$$BC (RB,FDL,34) ;! FAST DELETE
S$$BC (RB,LOC,33) ;! USE LOCATE MODE ON GET'S
S$$BC (RB,RAH,32) ;! READ AHEAD
S$$BC (RB,LOA,31) ;! FOLLOW LOAD PERCENTAGES
S$$BC (RB,WBH,30) ;! WRITE BEHIND
S$$BC (RB,KGT,29) ;! KEY GREATER THAN
S$$BC (RB,KGE,28) ;! KEY GREATER THAN OR EQUAL TO
S$$BC (RB,PAD,27) ;! USE PAD CHARACTER TO FILL BUFFER
S$$BC (RB,NRP,26) ;! SET NEXT RECORD PTR ON FIND
S$$BC (RB,WAA,25) ;! WRITE AFTER ADVANCING
S$$BC (RB,WBA,24) ;! WRITE BEFORE ADVANCING
;! ==>ENDCOLLECT
;! *********************************************************
;! * 6. RAB DEFINITIONS *
;! *********************************************************
;! STRUCTURE OF RECORD ACCESS BLOCK
;! !-------------------------------------!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! STS ! STV !
;! !-------------------------------------!
;! ! CTX !
;! !-------------------------------------!
;! ! ISI ! FAB !
;! !-------------------------------------!
;! ! RAC ! MBF ! ROP !
;! !-------------------------------------!
;! ! UBF !
;! !-------------------------------------!
;! ! RBF !
;! !-------------------------------------!
;! ! RSZ ! USZ !
;! !-------------------------------------!
;! ! RFA !
;! !-------------------------------------!
;! ! KRF ! KSZ ! LSN !
;! !-------------------------------------!
;! ! KBF !
;! !-------------------------------------!
;! ! BKT (or ELS) !
;! !-------------------------------------!
;! ! PAD ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! DEFINE NON-ZERO DEFAULTS THAT HAVE NOT BEEN DEFINED YET
;! ==>BEGINIMMEDIATE
S$$DC (RA,TYP,2) ;! BLOCK TYPE
S$$DC (RA,LNG,16) ;! BLOCK LENGTH
;! ==>ENDIMMEDIATE
;! FILE: RMSSYM.MTB (CONTINUED)
;! DEFINE RAB FIELDS
;! ==>BEGINSTRUCTURE(RAB,RALNG)
$$FIELD (R,BID,RA,TYP,OID,SID,PID,NO ,C0) ;! BLOCK TYPE
$$FIELD (R,BLN,RA,LNG,OLN,SLN,PLN,NO ,C0) ;! BLOCK LENGTH
$$FIELD (R,STS,X,ZERO,OST,SST,PST,NO ,C0) ;! STATUS
$$FIELD (R,STV,X,ZERO,OSV,SSV,PSV,NO ,C0) ;! STATUS VALUE
$$FIELD (R,CTX,X,ZERO,OCT,SCT,PCT,YES,C0) ;! USER CONTEXT WORD
$$FIELD (R,ISI,X,ZERO,OF3,SH ,PL ,NO ,C0) ;! INTERNAL STREAM IDENTIFIER
$$FIELD (R,FAB,X,ZERO,OF3,SH ,PR ,YES,C0) ;! ADDRESS OF USER FAB
$$FIELD (R,RAC,RB,SEQ,OF4,S9 ,P27,YES,C0) ;! RECORD ACCESS
$$FIELD (R,MBF,X,ZERO,OF4,S9 ,PL ,YES,C0) ;! MULTI-BUFFER COUNT
$$FIELD (R,ROP,RB,WBH,OF4,SH ,PR ,YES,C0) ;! RECORD OPTIONS
$$FIELD (R,UBF,X,ZERO,OF5,SW ,PW ,YES,C0) ;! USER BUFFER
$$FIELD (R,RBF,X,ZERO,OF6,SW ,PW ,YES,C0) ;! RECORD BUFFER
$$FIELD (R,RSZ,X,ZERO,OF7,SH ,PL ,YES,C0) ;! RECORD SIZE
$$FIELD (R,USZ,X,ZERO,OF7,SH ,PR ,YES,C0) ;! USER BUFFER SIZE
$$FIELD (R,RFA,X,ZERO,OF8,SW ,PW ,YES,C0) ;! RECORD-FILE ADDRESS
$$FIELD (R,KRF,X,ZERO,OF9,S9 ,P27,YES,C0) ;! KEY OF REFERENCE
$$FIELD (R,KSZ,X,ZERO,OF9,S9 ,PL ,YES,C0) ;! KEY SIZE
$$FIELD (R,LSN,X,ZERO,OF9,SH ,PR ,YES,C0) ;! LINE-SEQUENCE NUMBER
$$FIELD (R,KBF,X,ZERO,O10,SW ,PW ,YES,C0) ;! KEY BUFFER
$$FIELD (R,BKT,X,ZERO,O11,SW ,PW ,NO ,C0) ;! BUCKET HASH CODE
$$FIELD (R,ELS,X,ZERO,O11,SW ,PW ,YES,C0) ;!A403 END-OF-LINE SEQUENCE
$$FIELD (R,PAD,X,ZERO,O12,S9 ,P27,YES,C0) ;! PAD CHARACTER
$$FIELD (R,RR1,X,ZERO,O12,S27,PR ,NO ,C0) ;! ***RESERVED***
$$FIELD (R,RR2,X,ZERO,O13,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (R,RR3,X,ZERO,O14,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (R,RR4,X,ZERO,O15,SW ,PW ,NO ,C0) ;! ***RESERVED***
;! ==>ENDSTRUCTURE
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;!*********************************************************
;!* 7. SYMBOL DEFINITIONS FOR *
;!* EXTENDED ATTRIBUTES BLOCK (XAB) *
;!*********************************************************
;! COD (XAB TYPE CODE) FIELD
;! ==>BEGINIMMEDIATE
S$$DC (XB,KEY,0) ;! KEY DEFINITION XAB
S$$DC (XB,ALL,1) ;! ALLOCATION DEFINITION XAB
S$$DC (XB,DAT,2) ;! DATE DEFINTION XAB
S$$DC (XB,SUM,3) ;! FILE SUMMARY XAB
S$$DC (XB,CFG,4) ;! CONFIGURATION XAB
S$$DC (XB,PRO,5) ;! Protection XAB
S$$SC (XB,MAX,XB,PRO) ;! MAX VALUE FOR XAB TYPE CODE
;! ==>ENDIMMEDIATE
;! DTP (DATE TYPE) FIELD
;! ==>BEGINCOLLECT(XABDTP,K)
S$$DC (XB,STG,0) ;! STRING DATA-TYPE
S$$DC (XB,EBC,1) ;! EBCDIC DATA-TYPE
S$$DC (XB,SIX,2) ;! SIXBIT DATA-TYPE
S$$DC (XB,PAC,3) ;! PACKED DECIMAL DATA-TYPE ;!A411
S$$DC (XB,IN4,4) ;! INTEGER (1 word, 4 byte) DATA-TYPE ;!A411
S$$DC (XB,FL1,5) ;! FLOAT (1 word) DATA-TYPE ;!A411
S$$DC (XB,FL2,6) ;! DOUBLE FLOAT (2 word) DATA-TYPE ;!A411
S$$DC (XB,GFL,7) ;! GFLOAT DATA-TYPE ;!A411
S$$DC (XB,IN8,8) ;! INTEGER (2 word, 8 byte) DATA-TYPE ;!A411
S$$DC (XB,AS8,9) ;! 8-bit ASCII (in 9-bit bytes) ;!A411
S$$DC (XB,UN4,10) ;! Unsigned Integer (1 word) ;!A411
;! ==>ENDCOLLECTION
;! FLG (FLAG BITS) FIELD
;! ==>BEGINCOLLECT(XABFLG,V)
S$$BC (XB,DUP,35) ;! DUPLICATES ALLOWED
S$$BC (XB,CHG,34) ;! KEYS CAN CHANGE
S$$BC (XB,HSH,33) ;! HASH METHOD OF INDEX ORGANIZATION
;! ==>ENDCOLLECTION
;! *********************************************************
;! * 8. XAB DEFINITIONS *
;! *********************************************************
;! DEFINE NON-ZERO DEFAULTS
;! ==>BEGINIMMEDIATE
S$$DC (XA,TYP,3) ;! BLOCK TYPE CODE FOR XAB
S$$DC (XA,SXKEY,19) ;! SIZE OF KEY XAB
S$$DC (XA,SXK,19) ;! SIZE OF KEY XAB
S$$DC (XA,SXALL,6) ;! SIZE OF ALLOCATION XAB
S$$DC (XA,SXA,6) ;! SIZE OF ALLOCATION XAB
S$$DC (XA,SXDAT,5) ;! SIZE OF DATE XAB
S$$DC (XA,SXD,5) ;! SIZE OF DATE XAB
S$$DC (XA,SXSUM,6) ;! SIZE OF FILE SUMMARY XAB
S$$DC (XA,SXS,6) ;! SIZE OF FILE SUMMARY XAB
S$$DC (XA,SXX,2) ;! SIZE OF COMMON XAB HEADER
S$$DC (XA,SXCFG,8) ;! SIZE OF CONFIG XAB ;m553
S$$DC (XA,SXC,8) ;! SIZE OF CONFIG XAB ;m553
S$$SC (XA,LNG,XA,SXKEY) ;! MAXIMUM SIZE FOR AN XAB
;! ==>ENDIMMEDIATE
;! ***************** NOTE *******************
;! WHEN NEW XAB TYPES ARE ADDED,
;! IT IS NECESSARY TO CHANGE THE
;! ..BEG MACRO IN RMSSYM.MPR
;! (MACRO PREFILE).
;! ******************************************
;! DEFINE COMMON HEADER FOR ALL XAB TYPES
;! ==>COMMENT;!
;! ==>COMMENT;! DEFINE COMMON HEADER FOR ALL XAB'S
;! ==>COMMENT;!
;! ==>BEGINTEMPLATE(XAB,2,4)
$$FIELD (X,BID,XA,TYP,OID,SID,PID,NO ,C0) ;! BLOCK TYPE
$$FIELD (X,BLN,X,ZERO,OLN,SLN,PLN,NO ,C0) ;! BLOCK LENGTH
$$FIELD (X,RS1,X,ZERO,OF1,S13,P23,NO ,C0) ;! **RESERVED**
$$FIELD (X,COD,X,ZERO,OCO,SCO,PCO,NO ,C0) ;! CODE OF THIS XAB
$$FIELD (X,NXT,X,ZERO,OF1,SH ,PR ,YES,C0) ;! ADDRESS OF NEXT XAB
;! ==>ENDTEMPLATE
;! DEFINITIONS FOR THE REST OF EACH TYPE OF XAB
;! FILE: RMSSYM.MTB (CONTINUED)
;! STRUCTURE OF DATE XAB
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! <UNUSED> ! COD ! NXT !
;! !-------------------------------------!
;! ! CDT !
;! !-------------------------------------!
;! ! RDT !
;! !-------------------------------------!
;! ! EDT !
;! !=====================================!
;! FIELD DEFINITIONS FOR DATE/TIME XAB
;! ==>COMMENT;!
;! ==>COMMENT;! DATE XAB
;! ==>COMMENT;!
;! ==>BEGINTEMPLSTR(XABDAT,XAB,XASXD,XBDAT)
$$FIELD (X,CDT,X,ZERO,OF2,SW ,PW ,NO ,C0) ;! CREATION DATE AND TIME (READ ONLY)
$$FIELD (X,RDT,X,ZERO,OF3,SW ,PW ,NO ,C0) ;! DATE AND TIME OF LAST UPDATE (READ ONLY)
$$FIELD (X,EDT,X,ZERO,OF4,SW ,PW ,YES,C0) ;! DELETION DATE AND TIME
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! FILE: RMSSYM.MTB (CONTINUED)
;! Structure of protection XAB
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! <UNUSED> ! COD ! NXT !
;! !-------------------------------------!
;! ! PSY ! POW !
;! !-------------------------------------!
;! ! PGR ! PWL !
;! !=====================================!
;! Field definitions for protection XAB
;! ==>COMMENT;!
;! ==>COMMENT;! Protection XAB
;! ==>COMMENT;!
;! ==>BEGINTEMPLSTR(XABPRO,XAB,XASXP,XBPRO)
$$FIELD (X,PSY,X,ZERO,OF2,SH ,PL ,YES,C0) ;! System protection access
$$FIELD (X,POW,X,ZERO,OF2,SH ,PR ,YES,C0) ;! Owner protection access
$$FIELD (X,PGR,X,ZERO,OF3,SH ,PL ,YES,C0) ;! Group protection access
$$FIELD (X,PWL,X,ZERO,OF3,SH ,PR ,YES,C0) ;! World protection access
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! Protection bit definitions
;! Note: These bits are set to 1 to deny access. Set to 0 to allow access.
;! Not all bits are implemented on all systems (e.g. extend on TOPS-20)
S$$DC(XP,PRR,0) ;! Deny read
S$$DC(XP,PRW,1) ;! Deny write
S$$DC(XP,PRE,2) ;! Deny execute
S$$DC(XP,PRD,3) ;! Deny delete
S$$DC(XP,PRA,4) ;! Deny append
S$$DC(XP,PRL,5) ;! Deny list (directory)
S$$DC(XP,PRU,6) ;! Deny update
S$$DC(XP,PRC,7) ;! Deny change
S$$DC(XP,PRX,8) ;! Deny extend
;! FILE: RMSSYM.MTB (CONTINUED)
;! STRUCTURE OF AREA-DEFINITION XAB
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! <UNUSED> ! COD ! NXT !
;! !-------------------------------------!
;! ! <UNUSED> ! AID ! BKZ !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !=====================================!
;! FIELD DEFINITIONS FOR AREA-DEFINITION XAB
;! ==>COMMENT;!
;! ==>COMMENT;! AREA ALLOCATION XAB
;! ==>COMMENT;!
;! ==>BEGINTEMPLSTR(XABALL,XAB,XASXA,XBALL)
$$FIELD (X,RS2,X,ZERO,OF2,SH ,PL ,NO ,C0) ;! **RESERVED**
$$FIELD (X,AID,X,ZERO,OF2,S9 ,P9 ,YES,C0) ;! AREA-ID
$$FIELD (X,BKZ,X,ZERO,OF2,S9 ,PR ,YES,C0) ;! BUCKET SIZE OF THIS AREA
$$FIELD (X,RS3,X,ZERO,OF3,SW ,PW ,NO,C0) ;! **RESERVED**
$$FIELD (X,RS4,X,ZERO,OF4,SW ,PW ,NO,C0) ;! **RESERVED**
$$FIELD (X,RS5,X,ZERO,OF5,SW ,PW ,NO,C0) ;! **RESERVED**
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! FILE: RMSSYM.MTB (CONTINUED)
;! STRUCTURE OF KEY DEFINITION XAB
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! <UNUSED> ! COD ! NXT !
;! !-------------------------------------!
;! ! <UNUSED> ! DTP ! FLG !
;! !-------------------------------------!
;! ! IAN ! DAN ! LAN ! REF !
;! !-------------------------------------!
;! ! IFL ! DFL !
;! !-------------------------------------!
;! ! KNM !
;! !-------------------------------------!
;! ! <RESERVED> !
;! !-------------------------------------!
;! ! <RESERVED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! POS0 ! SIZ0 !
;! !-------------------------------------!
;! ! POS1 ! SIZ1 !
;! !-------------------------------------!
;! ! POS2 ! SIZ2 !
;! !-------------------------------------!
;! ! POS3 ! SIZ3 !
;! !-------------------------------------!
;! ! POS4 ! SIZ4 !
;! !-------------------------------------!
;! ! POS5 ! SIZ5 !
;! !-------------------------------------!
;! ! POS6 ! SIZ6 !
;! !-------------------------------------!
;! ! POS7 ! SIZ7 !
;! !=====================================!
;! FILE: RMSSYM.MTB (CONTINUED)
;! FIELD DEFINITIONS OF KEY DEFINITION XAB
;! ==>COMMENT;!
;! ==>COMMENT;! KEY DEFINITION XAB
;! ==>COMMENT;!
;! ==>BEGINTEMPLSTR(XABKEY,XAB,XASXK,XBKEY)
$$FIELD (X,RX0,X,ZERO,OF2,S12,P24,NO ,C0) ;! ***RESERVED***
$$FIELD (X,DTP,X,ZERO,OF2,S6 ,PL ,YES,C0) ;! DATA TYPE
$$FIELD (X,FLG,X,ZERO,OF2,SH ,PR ,YES,C0) ;! FLAG BITS
$$FIELD (X,IAN,X,ZERO,OF3,S9 ,P27,YES,C0) ;! INDEX-AREA NUMBER
$$FIELD (X,DAN,X,ZERO,OF3,S9 ,PL ,YES,C0) ;! DATA-AREA NUMBER
$$FIELD (X,LAN,X,ZERO,OF3,S9 ,P9 ,YES,C0) ;! LOWEST-INDEX AREA NUMBER
$$FIELD (X,REF,X,ZERO,OF3,S9 ,PR ,YES,C0) ;! KEY OF REFERENCE
$$FIELD (X,IFL,X,ZERO,OF4,SH ,PL ,YES,C0) ;! INDEX FILL OFFSET
$$FIELD (X,DFL,X,ZERO,OF4,SH ,PR ,YES,C0) ;! DATA FILL OFFSET
$$FIELD (X,KNM,X,ZERO,OF5,SW ,PW ,YES,C0) ;! KEY NAME ADDRESS
$$FIELD (X,RX1,X,ZERO,OF6,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (X,RX2,X,ZERO,OF7,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (X,RX3,X,ZERO,OF8,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (X,RX4,X,ZERO,OF9,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (X,RX5,X,ZERO,O10,SW ,PW ,NO ,C0) ;! ***RESERVED***
$$FIELD (X,POS,X,ZERO,O11,SH ,PL ,YES,C0) ;! KEY POSITION (ARRAY)
$$FIELD (X,PS0,X,ZERO,O11,SH ,PL ,YES,C0)
$$FIELD (X,PS1,X,ZERO,O12,SH ,PL ,YES,C0)
$$FIELD (X,PS2,X,ZERO,O13,SH ,PL ,YES,C0)
$$FIELD (X,PS3,X,ZERO,O14,SH ,PL ,YES,C0)
$$FIELD (X,PS4,X,ZERO,O15,SH ,PL ,YES,C0)
$$FIELD (X,PS5,X,ZERO,O16,SH ,PL ,YES,C0)
$$FIELD (X,PS6,X,ZERO,O17,SH ,PL ,YES,C0)
$$FIELD (X,PS7,X,ZERO,O18,SH ,PL ,YES,C0)
$$FIELD (X,SIZ,X,ZERO,O11,SH ,PR ,YES,C0) ;! KEY SIZE (ARRAY)
$$FIELD (X,SZ0,X,ZERO,O11,SH ,PR ,YES,C0)
$$FIELD (X,SZ1,X,ZERO,O12,SH ,PR ,YES,C0)
$$FIELD (X,SZ2,X,ZERO,O13,SH ,PR ,YES,C0)
$$FIELD (X,SZ3,X,ZERO,O14,SH ,PR ,YES,C0)
$$FIELD (X,SZ4,X,ZERO,O15,SH ,PR ,YES,C0)
$$FIELD (X,SZ5,X,ZERO,O16,SH ,PR ,YES,C0)
$$FIELD (X,SZ6,X,ZERO,O17,SH ,PR ,YES,C0)
$$FIELD (X,SZ7,X,ZERO,O18,SH ,PR ,YES,C0)
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! FILE: RMSSYM.MTB (CONTINUED)
;! STRUCTURE OF FILE SUMMARY XAB
;! !=====================================!
;! ! BID ! BLN !
;! !-------------------------------------!
;! ! <UNUSED> ! COD ! NXT !
;! !-------------------------------------!
;! ! <UNUSED> ! NOK ! NOA !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !-------------------------------------!
;! ! <UNUSED> !
;! !=====================================!
;! FIELD DEFINITIONS FOR FILE SUMMARY XAB
;! ==>COMMENT;!
;! ==>COMMENT;! FILE SUMMARY XAB
;! ==>COMMENT;!
;! ==>BEGINTEMPLSTR(XABSUM,XAB,XASXS,XBSUM)
$$FIELD (X,RS6,X,ZERO,OF2,SH ,PL ,NO ,C0) ;! **RESERVED**
$$FIELD (X,NOK,X,ZERO,OF2,S9 ,P9 ,NO ,C0) ;! NUMBER OF KEYS
$$FIELD (X,NOA,X,ZERO,OF2,S9 ,PR ,NO ,C0) ;! NUMBER OF AREAS
$$FIELD (X,RS7,X,ZERO,OF3,SW ,PW ,NO ,C0) ;! **RESERVED**
$$FIELD (X,RS8,X,ZERO,OF4,SW ,PW ,NO ,C0) ;! **RESERVED**
$$FIELD (X,RS9,X,ZERO,OF5,SW ,PW ,NO ,C0) ;! **RESERVED**
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
$$FIELD (X,BFS,X,ZERO,OF2,SH ,PR ,NO ,C0) ;! BUFFER SIZE
$$FIELD (X,OST,X,ZERO,OF2,S9 ,PL ,NO ,C0) ;! OPERATING SYSTEM TYPE
$$FIELD (X,FIL,X,ZERO,OF2,S9 ,P27,NO ,C0) ;! FILE SYSTEM TYPE
$$FIELD (X,VER,X,ZERO,OF3,S9 ,PR ,NO ,C0) ;! DAP VERSION NUMBER
$$FIELD (X,ECO,X,ZERO,OF3,S9 ,P9 ,NO ,C0) ;! DAP ECO NUMBER
$$FIELD (X,USN,X,ZERO,OF3,S9 ,PL ,NO ,C0) ;! USER VERSION NUMBER
$$FIELD (X,DSV,X,ZERO,OF3,S9 ,P27,NO ,C0) ;! DEC SOFTWARE VERSION NUMBER
$$FIELD (X,USV,X,ZERO,OF4,S9 ,PR ,NO ,C0) ;! USER SOFTWARE VERSION NUMBER
$$FIELD (X,CAP,X,ZERO,OF5,SW ,PW ,NO ,C0) ;! SYSCAP BITS
$$FIELD (X,CA1,X,ZERO,OF6,SW ,PW ,NO ,C0) ;! CONTINUATION OF SYSCAP BITS
$$FIELD (X,CA2,X,ZERO,OF7,SW ,PW ,NO ,C0) ;! CONTINUATION OF SYSCAP BITS
;! ==>ENDTEMPLSTR
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! Operating System Types
S$$DC(XA,RT,1) ;!RT11
S$$DC(XA,RST,2) ;!RSTS
S$$DC(XA,RXS,3) ;!RSX11s
S$$DC(XA,RXM,4) ;!RSX11M
S$$DC(XA,RXD,5) ;!RSX11D
S$$DC(XA,IAS,6) ;!IAS
S$$DC(XA,VMS,7) ;!VMS
S$$DC(XA,T20,8) ;!TOPS-20
S$$DC(XA,T10,9) ;!TOPS-10
S$$DC(XA,RT8,10) ;!RTS-8
S$$DC(XA,OS8,11) ;!OS-8
S$$DC(XA,RXP,12) ;!RSX-11M+
S$$DC(XA,C11,13) ;!Copos-11
S$$DC(XA,POS,14) ;!POS (350)
S$$DC(XA,SEA,15) ;!Seaboard
;! File System Types
S$$DC(XA,R11,1) ;!RMS11
S$$DC(XA,R20,2) ;!RMS20
S$$DC(XA,R32,3) ;!RMS32
S$$DC(XA,F11,4) ;!FCS11
S$$DC(XA,FRT,5) ;!RT11
S$$DC(XA,NOF,6) ;!NONE
S$$DC(XA,F20,7) ;!TOPS20
S$$DC(XA,F10,8) ;!TOPS10
S$$DC(XA,FO8,9) ;!OS8
;! Syscap Bits
S$$DC(XB,PRE,0) ;! Preallocation supported
;! File Organizations Supported:
S$$DC(XB,SQO,1) ;! Sequential
S$$DC(XB,RLO,2) ;! Relative
S$$DC(XB,DRO,3) ;! DIRECT (reserved)
S$$DC(XB,EXT,4) ;! Control message $EXTEND
;! File Access Modes Supported:
S$$DC(XB,SQT,5) ;! Sequential File Transfer
;! Random access by
S$$DC(XB,RRE,6) ;! Record Number
S$$DC(XB,RVB,7) ;! Virtual Block number
S$$DC(XB,RKE,8) ;! Key
S$$DC(XB,RHA,9) ;! hash code (reserved)
S$$DC(XB,RRF,10) ;! RFA
S$$DC(XB,IMK,11) ;! Multi-key ISAM
S$$DC(XB,SWA,12) ;! Switching access mode
S$$DC(XB,APA,13) ;! APPEND supported
S$$DC(XB,SBA,14) ;! Control message $SUBMIT
S$$DC(XB,CMP,15) ;! Reserved
S$$DC(XB,MDS,16) ;! Multiple record streams
S$$DC(XB,DIS,17) ;! Control message $DISPLAY
;! Message blocking:
S$$DC(XB,BLR,18) ;! Until response needed
S$$DC(XB,BLU,19) ;! Unrestricted
S$$DC(XB,XLN,20) ;! Extended length field
S$$DC(XB,CHK,21) ;! DAP checksumming
;! XAB messages supported
S$$DC(XB,KEM,22) ;! KEY DEFINITION message
S$$DC(XB,ALM,23) ;! ALLOCATION message
S$$DC(XB,SMM,24) ;! SUMMARY message
S$$DC(XB,DIR,25) ;! DIRECTORY access
S$$DC(XB,DTM,26) ;! DATE/TIME message
S$$DC(XB,PRM,27) ;! PROTECTION message
S$$DC(XB,ACM,28) ;! ACL message (reserved)
;! FOP Close bits supported:
S$$DC(XB,FPR,29) ;! FOP SPL bit
S$$DC(XB,FSB,30) ;! FOP SCF bit
S$$DC(XB,FDE,31) ;! FOP DLT bit
S$$DC(XB,DFS,32) ;! Default Filespec (Reserved)
S$$DC(XB,SQA,33) ;! Sequential RECORD access
S$$DC(XB,REC,34) ;! Reserved for Checkpointing
S$$DC(XB,BIT,35) ;! BITCNT field
S$$DC(XB,WAR,36) ;! WARNING STATUS message
S$$DC(XB,REN,37) ;! $RENAME
S$$DC(XB,WLD,38) ;! Wildcarding
S$$DC(XB,GO,39) ;! GO/NOGO option
S$$DC(XB,NAM,40) ;! NAME message
S$$DC(XB,SEG,41) ;! DAP message segmentation
S$$DC(XB,CAT,42) ;! Change Attributes on CLOSE
S$$DC(XB,CDT,43) ;! Change Date/Time on CLOSE
S$$DC(XB,CPR,44) ;! Change Protection on CLOSE
S$$DC(XB,CNA,45) ;! Change Name on $CLOSE
S$$DC(XB,MAT,46) ;! Changed Attributes on CREATE
S$$DC(XB,D3N,47) ;! 3-part name in $DISPLAY
S$$DC(XB,RAT,48) ;! Change Attributes
S$$DC(XB,RDT,49) ;! Change Date/Time
S$$DC(XB,RPR,50) ;! Change Protection
S$$DC(XB,BCS,51) ;! BLKCNT supported
S$$DC(XB,OVN,52) ;! Octal Version numbers
;!*********************************************************
;!* 8. SYMBOL DEFINITIONS FOR *
;!* NAM BLOCK (NAM) *
;!*********************************************************
S$$DC(NA,NIL,0) ;!a600
;! DEFINE FNB BITS
S$$BC(NA,INV,35) ;! Ignoring invisible files
S$$BC(NA,NOD,31) ;! Node name given ;!m575
S$$BC(NA,GND,30) ;! Ignoring deleted files
S$$BC(NA,TFS,29) ;! Temporary file
S$$BC(NA,ACT,28) ;! Account given
S$$BC(NA,PRO,27) ;! Protection given
S$$BC(NA,ULV,26) ;! Lowest generation (-2)
S$$BC(NA,NHV,25) ;! Next higher generation (0,-1)
S$$BC(NA,UHV,24) ;! Highest generation (0)
S$$BC(NA,VER,23) ;! Wildcard generation number
S$$BC(NA,EXT,22) ;! Extension wildcarded
S$$BC(NA,NAM,21) ;! Name wildcarded
S$$BC(NA,DIR,20) ;! Directory wildcarded
S$$BC(NA,UNT,19) ;! Unit number wildcard (never)
S$$BC(NA,DEV,18) ;! Device wildcarded
S$$BC(NA,QUO,16) ;! Filespec has quoted string ;!d575
S$$BC(NA,EDE,15) ;! Explicit device
S$$BC(NA,EDI,14) ;! Explicit directory
S$$BC(NA,ENA,13) ;! Explicit name
S$$BC(NA,ETY,12) ;! Explicit extension
S$$BC(NA,EVE,11) ;! Explicit version
S$$BC(NA,MUL,1) ;! Multiple filespecs seen
S$$BC(NA,WLD,0) ;! Somewhere there is a wildcard
;! DEFINE CHA BITS
S$$BC(NA,CEX,34) ;! Extension changed
S$$BC(NA,CNA,33) ;! Name changed
S$$BC(NA,CDI,32) ;! Directory changed
S$$BC(NA,CDE,31) ;! Devicre changed
;! DEFINE NOP BITS
;! ==>BEGINCOLLECT(NAMFLG,V)
S$$BC (NA,PWD,35) ;! Leave password in
S$$BC (NA,SYN,34) ;! Parse-only
;! ==>ENDCOLLECTION
;! DEFINE NON-ZERO DEFAULTS THAT HAVE NOT BEEN DEFINED YET
;! ==>BEGINIMMEDIATE
S$$DC (NA,TYP,16) ;! BLOCK TYPE
S$$DC (NA,LNG,16) ;! BLOCK LENGTH
;! ==>ENDIMMEDIATE
;! MAXIMUMS for NAM block
;! ==>BEGINIMMEDIATE
S$$DC (NA,MXE,383) ;! MAX Expanded Filespec size ;a573
S$$DC (NA,MXR,383) ;! MAX Resultant Filespec size ;a573
;! ==>ENDIMMEDIATE
;! *********************************************************
;! * 8. NAM DEFINITIONS *
;! *********************************************************
$$FIELD (N,BID,NA,TYP,OID,SID,PID,NO ,C0) ;! BLOCK TYPE
$$FIELD (N,BLN,NA,LNG,OLN,SLN,PLN,NO ,C0) ;! BLOCK LENGTH
$$FIELD (N,ESA,X,ZERO,OF1,SW ,PR ,YES,C0) ;! ADDRESS FOR EXPANDED STRING
$$FIELD (N,ESS,X,ZERO,OF2,SH ,PR ,YES,C0) ;! BUFFSIZE FOR EXPANDED STRING
$$FIELD (N,ESL,X,ZERO,OF2,SH ,PL ,NO ,C0) ;! LENGTH OF EXPANDED STRING
$$FIELD (N,RLF,X,ZERO,OF3,SH ,PR ,YES,C0) ;! ADDRESS OF RELATED NAM BLOCK
$$FIELD (N,NOP,X,ZERO,OF3,SH ,PL ,YES,C0) ;! NAME OPTION BITS
$$FIELD (N,RSA,X,ZERO,OF4,SW ,PR ,YES,C0) ;! ADDRESS FOR RESULTANT STRING
$$FIELD (N,RSS,X,ZERO,OF5,SH ,PR ,YES,C0) ;! BUFSIZE FOR RESULTANT STRING
$$FIELD (N,RSL,X,ZERO,OF5,SH ,PL ,NO ,C0) ;! LENGTH OF RESULTANT STRING
$$FIELD (N,FNB,X,ZERO,OF6,SW ,PR ,YES,C0) ;! NAME OPTION BITS
$$FIELD (N,WCC,X,ZERO,OF7,SW ,PR ,NO ,C0) ;! WILDCARD CONTEXT
$$FIELD (N,WCT,X,ZERO,OF7,SH ,PR ,NO ,C0) ;! NUMBER OF FILES FOUND
$$FIELD (N,WNX,X,ZERO,OF7,SH ,PL ,NO ,C0) ;! NUMBER OF CHARS OF FNA READ
$$FIELD (N,CHA,X,ZERO,OF8,SH ,PR ,NO ,C0) ;! WHAT FIELDS $SEARCH CHANGED
$$FIELD (N,NDL,X,ZERO,OF8,S9 ,PL ,NO ,C0) ;! LENGTH OF NODEID
$$FIELD (N,DVL,X,ZERO,OF8,S9 ,P27,NO ,C0) ;! LENGTH OF DEVICE
$$FIELD (N,DRL,X,ZERO,OF9,S9 ,PR ,NO ,C0) ;! LENGTH OF DIRECTORY
$$FIELD (N,NML,X,ZERO,OF9,S9 ,P9 ,NO ,C0) ;! LENGTH OF FILENAME
$$FIELD (N,TPL,X,ZERO,OF9,S9 ,PL ,NO ,C0) ;! LENGTH OF EXTENSION
$$FIELD (N,VRL,X,ZERO,OF9,S9 ,P27,NO ,C0) ;! LENGTH OF DEVICE
$$FIELD (N,NDA,X,ZERO,O10,SW ,PR ,NO ,C0) ;! POINTER TO NODEID
$$FIELD (N,DVA,X,ZERO,O11,SW ,PR ,NO ,C0) ;! POINTER TO DEVICE
$$FIELD (N,DRA,X,ZERO,O12,SW ,PR ,NO ,C0) ;! POINTER TO DIRECTORY
$$FIELD (N,NMA,X,ZERO,O13,SW ,PR ,NO ,C0) ;! POINTER TO FILENAME
$$FIELD (N,TPA,X,ZERO,O14,SW ,PR ,NO ,C0) ;! POINTER TO EXTENSION
$$FIELD (N,VRA,X,ZERO,O15,SW ,PR ,NO ,C0) ;! POINTER TO DEVICE
;! ==>ENDSTRUCTURE
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;!*********************************************************
;!* 8.1 SYMBOL DEFINITIONS FOR *
;!* TYP BLOCK (TYP) *
;!*********************************************************
S$$DC (TY,ASC,1) ;! ASCII
S$$DC (TY,IMA,2) ;! IMAGE
S$$DC (TY,M11,3) ;! MACY11 (PACKED)
S$$DC (TY,BYT,4) ;! BYTE DATA
S$$DC (TY,DL8,5) ;! DIL8 -- DIL 8-BIT
;! DEFINE NON-ZERO DEFAULTS THAT HAVE NOT BEEN DEFINED YET
;! ==>BEGINIMMEDIATE
S$$DC (TY,TYP,17) ;! BLOCK TYPE
S$$DC (TY,LNG,4) ;! BLOCK LENGTH
;! ==>ENDIMMEDIATE
;! *********************************************************
;! * 8.1 TYP DEFINITIONS *
;! *********************************************************
$$FIELD (T,BID,TY,TYP,OID,SID,PID,NO ,C0) ;! BLOCK TYPE
$$FIELD (T,BLN,TY,LNG,OLN,SLN,PLN,NO ,C0) ;! BLOCK LENGTH
$$FIELD (T,CLA,X,ZERO,OF1,SH ,PR ,YES,C0) ;! FILE CLASS
$$FIELD (T,FDT,X,ZERO,OF1,SH ,PL ,YES,C0) ;! FIELD DATATYPE CODE
$$FIELD (T,FLN,X,ZERO,OF2,SH ,PR ,YES,C0) ;! FIELD LENGTH
$$FIELD (T,FSC,X,ZERO,OF2,SH ,PL ,YES,C0) ;! FIELD SCALE FACTOR
$$FIELD (T,NEX,X,ZERO,OF3,SH ,PR ,YES,C0) ;! NEXT FIELD TYPE BLOCK
$$FIELD (T,MOR,X,ZERO,OF3,SH ,PL ,YES,C0) ;! VARIANT FOR THIS FIELD
;! ==>ENDSTRUCTURE
;! ^ ^ ^ ^ ^ ^ ^ ^ ^
; ! ! ! ! ! ! ! ! !_____COUNT (IF C0, THEN NOT ARRAY FIELD)
; ! ! ! ! ! ! ! !_____ASNFLG (IF NO THEN USER CAN'T
; ! ! ! ! ! ! ! INITIALIZE AT COMPILE TIME)
; ! ! ! ! ! ! !_____POSITION (NO. BITS AT RIGHT OF FIELD)
; ! ! ! ! ! !_____SIZE OF FIELD IN BITS
; ! ! ! ! !_____OFFSET INTO THE BLOCK
; ! ! ! !_____2ND HALF OF DEFAULT VALUE SYMBOL
; ! ! !_____1ST HALF OF DEFAULT VALUE SYMBOL
; ! ! IF 1ST HALF IS X AND 2ND HALF IS ZERO, THEN MACRO DEFAULT
; ! ! VALUE IS X$ZERO, AND BLISS DEFAULT VALUE IS XZERO.
; ! !_____FIELD NAME
; !_____BLOCK TYPE PREFIX
;! *********************************************************
;! * 9. SYMBOL DEFINITIONS FOR DEBUG MACRO *
;! *********************************************************
S$$BC (DB,TRC,35) ;! TRACE ROUTINE ENTRY
S$$BC (DB,ERR,34) ;! TRACE USER ERRORS
S$$BC (DB,RTR,33) ;! TRACE ROUTINE EXECUTION
S$$BC (DB,LOC,32) ;! TRACE LOCAL VARIABLES
S$$BC (DB,BLK,31) ;! DUMP RMS-20 CONTROL BLOCKS
S$$BC (DB,LCK,30) ;! PRINT TRACE OF RECORD LOCKS
S$$BC (DB,IOT,29) ;! TRACE I/O PAGE ACTIVITY
S$$BC (DB,ENT,28) ;! TRACE RMS-20 ENTRY (USER CALLS)
;! ALL PRIMARY SYMBOLS HAVE BEEN DEFINED NOW, SO DEF DEPENDENT SYMS
;!
$$SYNM
;! *********************************************************
;! * 10. DEFINE RUN TIME OPERATION VERBS *
;! *********************************************************
;! THE CALLING CONVENTION IS:
;! PTR TO FAB/RAB IN AC1
;! AC1-AC4 NOT PRESERVED, ALL OTHER AC'S PRESERVED
;! JSYS OR DYNLIB CALL IS DONE ON 20.
;! PUSHJ TO ABSOLUTE LOC DONE ON 10.
;! RMS EXAMINES FOR ERCAL/ERJMP FOLLOWING CALLING LOC.
;!
;! THIS GROUP OF MACROS IS USED IN THE FOLLOWING WAYS:
;!
;! 1. HERE, TO GENERATE THE APPROPRIATE RUN-TIME MACROS
;! 2. IN THE RMS-20 DISPATCHER, TO GENERATE A DISPATCH TABLE
;! AND ENTRY ADDRESSES FOR PUSHJ INTERFACE
;!
;! FOR THE BELOW TO WORK, $$VINI, $$VERB, AND $$VEND MUST BE
;! DEFINED IN RMSSYM.BPR AND RMSSYM.MPR
;! CREATE THE $XXXX MACROS
$$VINI
$$VERB (OPEN)
$$VERB (CLOSE)
$$VERB (GET)
$$VERB (PUT)
$$VERB (UPDATE)
$$VERB (DELETE)
$$VERB (FIND)
$$VERB (TRUNCATE)
$$VERB (CONNECT)
$$VERB (DISCONNECT)
$$VERB (CREATE)
$$VERB (DEBUG)
$$VERB (RELEASE)
$$VERB (FLUSH)
$$VERB (MESSAGE)
$$VERB (NOMESSAGE)
$$VERB (DISPLAY)
$$VERB (ERASE)
$$VERB (FREE)
$$VERB (UTLINT)
$$VERB (NXTVOL)
$$VERB (REWIND)
$$VERB (WAIT)
$$VERB (READ)
$$VERB (SPACE)
$$VERB (WRITE)
$$VERB (PARSE)
$$VERB (SEARCH)
$$VERB (ENTER)
$$VERB (EXTEND)
$$VERB (REMOVE)
$$VERB (RENAME)
$$VEND
;! *********************************************************
;! * 11. DEFINE RMS STATUS CODES *
;! *********************************************************
;! SUCCESS CODES FOR RMS-20
$$SUC (SU$SUC,<%(,OPERATION WAS SUCCESFUL,)%>)
$$SUC (SU$DUP,<%(,DUPLICATE KEY WAS FOUND,)%>)
$$SUC (SU$IDX,<%(,AN INDEX UPDATE ERROR OCCURRED,)%>)
$$SUC (SU$RRV,<%(,ONE OR MORE RRVs COULD NOT BE UPDATED,)%>)
$$SUC (SU$REO,<%(,FILE SHOULD BE RE-ORGANIZED,)%>)
$$MAXC(SU)
;! RMS-20 ERROR CODES
$$UERR (ER$AID,<%(,BAD AID VALUE,)%>)
$$UERR (ER$ALQ,<%(,ALLOCATION QUANTITY INCORRECT,)%>)
$$UERR (ER$ANI,<%(,NOT ANSI 'D' FORMAT,)%>)
$$UERR (ER$BKS,<%(,BAD BUCKET SIZE,)%>)
$$UERR (ER$BKZ,<%(,'BKZ' FIELD INVALID IN XAB,)%>)
$$UERR (ER$BLN,<%(,BAD BLOCK LENGTH,)%>)
$$UERR (ER$BSZ,<%(,BAD BYTE SIZE,)%>)
$$UERR (ER$BUG,<%(,INTERNAL BUG FOUND IN RMS-20,)%>)
$$UERR (ER$CCF,<%(,CANNOT CLOSE FILE,)%>)
$$UERR (ER$CCR,<%(,CANNOT CONNECT RAB,)%>)
$$UERR (ER$CDR,<%(,CANNOT DISCONNECT RAB,)%>)
$$UERR (ER$CEF,<%(,CANNOT $ERASE FILE,)%>)
$$UERR (ER$CGJ,<%(,CANNOT GET JFN FOR FILE,)%>)
$$UERR (ER$CHG,<%(,KEY VALUE CANNOT CHANGE,)%>)
$$UERR (ER$COD,<%(,BAD COD VALUE IN AN XAB,)%>)
$$UERR (ER$COF,<%(,CANNOT OPEN FILE,)%>)
$$UERR (ER$CUR,<%(,NO CURRENT RECORD,)%>)
$$UERR (ER$DAN,<%(,BAD DATA-AREA NUMBER,)%>)
$$UERR (ER$DEL,<%(,RECORD HAS BEEN DELETED,)%>)
$$UERR (ER$DEV,<%(,ILLEGAL DEVICE,)%>)
$$UERR (ER$DFL,<%(,BAD DATA-FILL PERCENTAGE VALUE,)%>)
$$UERR (ER$DLK,<%(,DEADLOCK CONDITION DETECTED,)%>)
$$UERR (ER$DME,<%(,DYNAMIC MEMORY EXHAUSTED,)%>)
$$UERR (ER$DTP,<%(,BAD DATA-TYPE IN XAB,)%>)
$$UERR (ER$DUP,<%(,DUPLICATE KEY EXISTS,)%>)
$$UERR (ER$EDQ,<%(,UNEXPECTED ENQUE/DEQUE ERROR,)%>)
$$UERR (ER$EOF,<%(,END OF FILE,)%>)
$$UERR (ER$FAB,<%(,BLOCK IS NOT A VALID FAB,)%>)
$$UERR (ER$FAC,<%(,BAD FILE ACCESS VALUE,)%>)
$$UERR (ER$FEX,<%(,FILE ALREADY EXISTS,)%>)
$$UERR (ER$FLG,<%(,BAD XAB FLAG COMBINATION,)%>)
$$UERR (ER$FLK,<%(,FILE ALREADY LOCKED BY SOMEONE ELSE,)%>)
$$UERR (ER$FNA,<%(,BAD FNA VALUE,)%>)
$$UERR (ER$FNC,<%(,FILE NOT CLOSED,)%>)
$$UERR (ER$FNF,<%(,FILE NOT FOUND,)%>)
$$UERR (ER$FOP,<%(,BAD FILE OPTIONS,)%>)
$$UERR (ER$FSZ,<%(,INVALID HEADER SIZE FOR VFC-FILE,)%>)
$$UERR (ER$FUL,<%(,FILE FULL,)%>)
$$UERR (ER$IAL,<%(,INVALID ARGUMENT LIST,)%>)
$$UERR (ER$IAN,<%(,BAD INDEX-AREA NUMBER,)%>)
$$UERR (ER$IBC,<%(,ILLEGAL BLOCK MODE CONNECTION,)%>)
$$UERR (ER$IBO,<%(,ILLEGAL BLOCK MODE OPERATION,)%>)
$$UERR (ER$IBS,<%(,ILLEGAL BLOCK MODE SHARING,)%>)
$$UERR (ER$IFI,<%(,BAD IFI VALUE,)%>)
$$UERR (ER$IFL,<%(,BAD INDEX FILL PERCENTAGE,)%>)
$$UERR (ER$IMX,<%(,ILLEGAL MULTIPLE XABs,)%>)
$$UERR (ER$IOP,<%(,INVALID OPERATION ATTEMPTED,)%>)
$$UERR (ER$IRC,<%(,ILLEGAL RECORD ENCOUNTERED,)%>)
$$UERR (ER$ISI,<%(,BAD ISI VALUE,)%>)
$$UERR (ER$JFN,<%(,BAD JFN VALUE,)%>)
$$UERR (ER$KBF,<%(,BAD KBF VALUE,)%>)
$$UERR (ER$KEY,<%(,BAD RECORD KEY,)%>)
$$UERR (ER$KRF,<%(,BAD KEY OF REFERENCE VALUE,)%>)
$$UERR (ER$KSZ,<%(,BAD KEY SIZE,)%>)
$$UERR (ER$LSN,<%(,BAD LINE-SEQUENCE NUMBER,)%>)
$$UERR (ER$MRN,<%(,BAD MRN VALUE,)%>)
$$UERR (ER$MRS,<%(,BAD MRS VALUE,)%>)
$$UERR (ER$NEF,<%(,NOT POSITIONED AT EOF,)%>)
$$UERR (ER$NLG,<%(,LOG FILE NOT ACTIVE,)%>)
$$UERR (ER$NPK,<%(,INDEXED FILE - NO PRIMARY KEY DEFINED,)%>)
$$UERR (ER$NXT,<%(,INVALID 'NXT' FIELD IN AN XAB,)%>)
$$UERR (ER$ORD,<%(,XABs ARE NOT IN CORRECT ORDER,)%>)
$$UERR (ER$ORG,<%(,BAD FILE ORGANIZATION VALUE,)%>)
$$UERR (ER$PEF,<%(,CANNOT POSITION TO END-OF-FILE,)%>)
$$UERR (ER$PLG,<%(,ERROR DETECTED IN FILEs PROLOGUE,)%>)
$$UERR (ER$POS,<%(,BAD KEY POSITION VALUE,)%>)
$$UERR (ER$PRV,<%(,PRIVELEGE VIOLATION,)%>)
$$UERR (ER$QPE,<%(,QUIET POINT ENABLED,)%>)
$$UERR (ER$RAB,<%(,BLOCK IS NOT A VALID RAB,)%>)
$$UERR (ER$RAC,<%(,BAD RECORD ACCESS VALUE,)%>)
$$UERR (ER$RAT,<%(,BAD RECORD ATTRIBUTES,)%>)
$$UERR (ER$RBF,<%(,INVALID RECORD BUFFER ADDRESS,)%>)
$$UERR (ER$REF,<%(,BAD KEY REFERENCE (REF) VALUE,)%>)
$$UERR (ER$RER,<%(,FILE PROCESSOR READ ERROR,)%>)
$$UERR (ER$REX,<%(,RECORD ALREADY EXISTS,)%>)
$$UERR (ER$RFA,<%(,BAD RFA VALUE,)%>)
$$UERR (ER$RFM,<%(,BAD RECORD FORMAT,)%>)
$$UERR (ER$RLK,<%(,RECORD ALREADY LOCKED BY SOMEONE ELSE,)%>)
$$UERR (ER$RNF,<%(,RECORD NOT FOUND,)%>)
$$UERR (ER$RNL,<%(,RECORD NOT LOCKED,)%>)
$$UERR (ER$ROP,<%(,BAD RECORD OPTIONS,)%>)
$$UERR (ER$RRV,<%(,INVALID RRV RECORD FOUND,)%>)
$$UERR (ER$RSA,<%(,RECORD STREAM ACTIVE,)%>)
$$UERR (ER$RSD,<%(,RECORD SIZE DISCREPANCY,)%>)
$$UERR (ER$RSZ,<%(,BAD RECORD SIZE VALUE,)%>)
$$UERR (ER$RTB,<%(,RECORD TOO BIG,)%>)
$$UERR (ER$SEQ,<%(,KEY VALUE NOT IN SEQUENTIAL ORDER,)%>)
$$UERR (ER$SIZ,<%(,'SIZ' FIELD IN XAB INVALID,)%>)
$$UERR (ER$TRE,<%(,INDEX TREE ERROR DETECTED,)%>)
$$UERR (ER$TRU,<%(,CANNOT TRUNCATE TO THIS FILE,)%>)
$$UERR (ER$UBF,<%(,BAD BUFFER ADDRESS,)%>)
$$UERR (ER$UDF,<%(,FILE IS IN UNDEFINED STATE,)%>)
$$UERR (ER$VER,<%(,ERROR IN VERSION NUMBER,)%>)
$$UERR (ER$WER,<%(,FILE PROCESSOR WRITE ERROR,)%>)
$$UERR (ER$XAB,<%(,NOT A VALID XAB,)%>)
$$UERR (ER$XCL,<%(,FILE MUST BE OPEN IN EXCLUSIVE ACCESS,)%>)
$$UERR (ER$FSI,<%(,FILE SPEC HAS INVALID FORMAT,)%>)
$$UERR (ER$DPE,<%(,DAP PROTOCOL ERROR,)%>)
$$UERR (ER$SUP,<%(,UNSUPPORTED OPERATION,)%>)
$$UERR (ER$DCF,<%(,DAP CONNECTION FAILURE,)%>)
$$UERR (ER$EXT,<%(,FILE EXTEND ERROR,)%>)
$$UERR (ER$NAM,<%(,INVALID NAM BLOCK,)%>)
$$UERR (ER$NMF,<%(,NO MORE FILES,)%>)
$$UERR (ER$RTD,<%(,RENAME -- TWO DIFFERENT DEVICES,)%>)
$$UERR (ER$RTN,<%(,RENAME -- TWO DIFFERENT NODES,)%>)
$$UERR (ER$DCB,<%(,DECNET CONNECTION BROKEN,)%>)
$$UERR (ER$IAC,<%(,INVALID ACCESS INFORMATION,)%>)
$$UERR (ER$TYP,<%(,INVALID TYP BLOCK,)%>)
$$UERR (ER$CLA,<%(,INVALID FILE DATA CLASS,)%>)
$$MAXC(ER)
;! RMS-20 FILE CONSISTENCY ERROR CODES
$$FERR (FE$BEM,<%(,EMPTY INDEX BUCKET DETECTED,)%>)
$$FERR (FE$BFC,<%(,BAD FILE CLASS FOUND IN FILE FDB,)%>)
$$FERR (FE$BHE,<%(,BUCKET HEADER HAS BAD FORMAT,)%>)
$$FERR (FE$BIR,<%(,BAD INDEX RECORD DETECTED,)%>)
$$FERR (FE$ENF,<%(,END BLOCK NOT FOUND IN FILE PROLOGUE,)%>)
$$FERR (FE$EOP,<%(,END-OF-PAGE MARKER DETECTED WITHOUT FB$BLK ATTRIBUTE,)%>)
$$FERR (FE$HDR,<%(,INVALID RECORD HEADER FOUND,)%>)
$$FERR (FE$HNF,<%(,FILE PROLOGUE HEADER NOT FOUND,)%>)
$$FERR (FE$NOA,<%(,NO AREA DESCRIPTORS FOUND IN FILE,)%>)
$$FERR (FE$NOI,<%(,NO INDEX DESCRIPTORS FOUND IN FILE,)%>)
$$FERR (FE$NOR,<%(,NO RRV RECORD FOUND FOR RECORD,)%>)
$$FERR (FE$NOS,<%(,NO RECORD POINTER FOUND IN SECONDARY INDEX,)%>)
$$FERR (FE$NOU,<%(,NO DATA RECORD FOUND FOR RFA IN SECONDARY INDEX,)%>)
$$FERR (FE$PGO,<%(,A FILE PAGE SHOULD DOES NOT EXIST,)%>)
$$FERR (FE$RSZ,<%(,BAD RECORD-SIZE VALUE DETECTED,)%>)
$$FERR (FE$UNL,<%(,RECORD SHOULD BE LOCKED, BUT HAS BEEN UNLOCKED,)%>)
$$MAXC(EX)
$$END ;! IN MACRO, GENERATES AN END STATEMENT