Trailing-Edge
-
PDP-10 Archives
-
bb-h138f-bm
-
7-sources/rmssym.bsy
There are 6 other files named rmssym.bsy in the archive. Click here to see a list.
!
! COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1979, 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.BSY *
!* *
!* RMSSYM SYSTEM DEFINITIONS *
!* *
!* *
!****************************************************************
!AUTHOR: S. BLOUNT
!EDIT DATE: 27-FEB-78
%([*************************************************
* *
* NEW REVISION HISTORY *
* *
*************************************************
PRODUCT SPR
EDIT QAR DESCRIPTION
======= ===== ===========
411 Implement new key datatypes
***** END OF REVISION HISTORY *****])%
! THIS MODULE CONTAINS ALL THE RMS SYMBOLS NEEDED BY RMS,
! BUT NOT NEEDED BY RMS USERS. THE USER SYMBOLS APPEAR IN RMSSYM.BUS.
!
! PRIMARILY RMSSYM.BSY CONTAINS RMS CTL FIELDS USED BY RMS.
MACRO $$VERB = $$V_SYS %; !JUST DET OFFSETS
! *** RMS CTL SYMBOLS USED BY RMS ***
! DEFINES SYMBOLS THAT ARE DEFINED IN TERMS OF THE SYMBOLS CREATED
! IN RMSSYM.MTB
!
MACRO $$SYNM = !REFFED AT END OF RMSSYM.MTB
! FAB
LITERAL FABCODE = FA$TYP, ! CODE (BID FIELD) FOR A FAB
FABSIZE = FA$LNG; ! CURRENT LENGTH OF A FAB
! RAB
LITERAL RABCODE = RA$TYP, ! CODE (BID FIELD) FOR A RAB
RABSIZE = RA$LNG; ! CURRENT LENGTH OF A RAB
! XAB
LITERAL XABCODE = XA$TYP, ! CODE (BID FIELD) FOR AN XAB
! TYPE OF XAB (COD FIELD)
CODKEY = XB$KEY, ! KEY DEFINITIONS XAB
CODAREA = XB$ALL, ! AREAL ALLOCATION XAB
CODDATE = XB$DAT, ! DATE XAB
CODSUM = XB$SUM, ! FILE SUMMARY XAB
MAXCOD = XB$MAX, ! HIGHEST COD
XABHDRSIZE = XA$SXX, ! SIZE OF XAB HEADER
DATEXABSIZE = XA$SXD, ! SIZE OF DATE XAB
AREAXABSIZE = XA$SXA, ! SIZE OF AREA ALLOCATION XAB
KEYXABSIZE = XA$SXK, ! SIZE OF KEY XAB
SUMXABSIZE = XA$SXS; ! SIZE OF FILE SUMMARY XAB
%(FILE ATTRITBUTES FIELD (RAT))%
LITERAL RATBLK = FB$BLK, ! NO-SPAN ONLY
RATUNUSED = NOT ( RATBLK );
%(FILE ORGANIZATION (ORG))%
%([ **NOTE** IF THE RECORD FORMAT OF THE FILE IS EITHER
STREAM OR LINE-SEQUENCED ASCII RECORDS, THEN THE FILE
ORGANIZATION FIELD IN THE FST WILL BE SET TO "ORGASC".
THIS ALLOWS SIMPLER "CASE" STATEMENTS TO BE CODED. NOTE
THAT THIS IS AN ILLEGAL FILE-ORGANIZATION VALUE IN THE
FAB, THOUGH
])%
LITERAL ORGASC = 0, ! ASCII
ORGSEQ = FB$SEQ, ! SEQUENTIAL
ORGREL = FB$REL, ! RELATIVE
ORGIDX = FB$IDX, ! INDEXED
ORGMAX = ORGIDX; ! RE-DEFINE FOR IDX FILES
%([ USER ACCESS/SHARABILITY VALUES ])%
LITERAL AXGET = FB$GET, ! GET
AXUPD = FB$UPD, ! UPDATE
AXPUT = FB$PUT, ! PUT
AXDEL = FB$DEL, ! DELETE
AXTRN = FB$TRN, ! TRUNCATE
AXALL = AXGET+AXUPD+AXPUT+AXDEL+AXTRN,
AXNIL = 0,
AXWRT = AXALL - AXGET, ! WRITE ACCESS
MAXACCESS = AXTRN; ! MAXIMUM ACCESS CODE
%([**NOTE** IF ANOTHER ACCESS BIT IS ADDED
LATER, THEN "MAXACCESS" MUST BE CHANGED.
ALSO, "NUMFLOCKS" IS A VARIABLE IN
BLOCKS.REQ WHICH MUST ALSO BE MODIFIED ])%
%([ FILE OPTIONS (FOP) ])%
LITERAL FOPWAT = FB$WAT, ! WAIT FOR FILE
FOPCIF = FB$CIF, ! CREATE ONLY IF NON-EXISTENT
FOPSUP = FB$SUP, ! SUPERSEDE IF EXISTS
FOPDRJ = FB$DRJ, ! DON'T RELEASE JFN
FOPDFW = FB$DFW; ! DEFERRED WRITE TO FILE
%([ RECORD FORMAT (RFM) ])%
LITERAL RFMVAR = FB$VAR, ! VARIABLE LENGTH
RFMSTM = FB$STM, ! STREAM RECORDS
RFMLSA = FB$LSA, ! LINE-SEQUENCED ASCII
RFMFIX = FB$FIX, ! FIXED-LENGTH RECORDS
RFMMAX = RFMFIX; ! MAXIMUM VALUE ALLOWED
%([ DEVICE CHARACTERISTICS BIT DEFINITIONS ])%
LITERAL DEVREC = FB$REC, ! DEVICE IS RECORD-ORIENTED
DEVCCL = FB$CCL, ! CARRIAGE-CONTROL DEVICE
DEVTRM = FB$TRM, ! TERMINAL
DEVMDI = FB$MDI, ! DIRECTORY DEVICE
DEVSQD = FB$SQD; ! SEQUENTIAL DEVICE
%(FIELD DEFINITIONS FOR RECORD-ACCESS BLOCK (RAB))%
%([ OPTIONS FIELD (ROP) ])%
LITERAL ROPEOF = RB$EOF, ! CONNECT TO END-OF-FILE
ROPFDL = RB$FDL, ! FAST DELETE
ROPLOC = RB$LOC, ! LOCATE MODE
ROPRAH = RB$RAH, ! READ AHEAD
ROPLOA = RB$LOA, ! FOLLOW LOAD PERCENTAGES
ROPWBH = RB$WBH, ! WRITE BEHIND
ROPKGT = RB$KGT, ! KEY GREATER THAN
ROPKGE = RB$KGE, ! KEY GREATER THAN OR EUQAL TO
ROPNRP = RB$NRP, ! RAND FIND SETS NRP = FOUND REC
ROPPAD = RB$PAD; ! PAD USER'S BUFFER
LITERAL ROPUNUSED = NOT ( ROPEOF+ROPLOC+ROPRAH+ROPLOA+ROPWBH+ROPKGT+ROPKGE+ROPPAD );
%([ RECORD ACCESS (RAC) ])%
LITERAL RACSEQ = RB$SEQ, ! SEQUENTIAL ACCESS
RACKEY = RB$KEY, ! KEY ACCESS
RACRFA = RB$RFA; ! RECORD-FILE ADDRESS
%([ FIELD VALUE RESTRICTIONS FOR THE RAB ])%
%( <NONE> )%
%([ DATA-TYPE VALUES ])%
LITERAL DTPSTG = XB$STG, ! STRING DATA-TYPE
DTPEBC = XB$EBC, ! EBCDIC DATA-TYPE
DTPSIX = XB$SIX, ! SIXBIT DATA-TYPE
DTPPAC = XB$PAC, ! PACKED DATA !A411
DTPIN4 = XB$IN4, ! IN4 DATA (1wd) !A411
DTPFL1 = XB$FL1, ! FLOATING DATA !A411
DTPFL2 = XB$FL2, ! DBL FLOATING !A411
DTPGFL = XB$GFL, ! GFLOATING DATA !A411
DTPIN8 = XB$IN8, ! IN8 DATA (2wd) !A411
DTPAS8 = XB$AS8, ! 8-bit ASCII !A411
DTPUN4 = XB$UN4; ! Unsigned int !A411
LITERAL MAXDTP = DTPUN4; ! MAXIMUM DTP VALUE ALLOWED
%([ KEY FLAG DEFINITIONS ])%
LITERAL FLGDUP = XB$DUP, ! DUPLICATES ALLOWED
FLGCHANGE = XB$CHG, ! KEY CAN CHANGE
ALLXABFLAGS = FLGDUP + FLGCHANGE;
%([ OFFSET INTO KEY XAB TO KEY SEGMENT DESCRIPTORS ])%
LITERAL XABKSDOFFSET = O$$POS;
%; !END $$SYNM
! *** STRUCTURE ARGUMENTS FOR RMS CTL FIELDS ***
MACRO FABBID = $$OPS(BID) %, ![10] BLOCK-TYPE CODE
FABBLN = $$OPS(BLN) %, ![10] LENGTH OF BLOCK
FABSTS = $$OPS(STS) %, ![10] STATUS CODE
FABSTV = $$OPS(STV) %, ![10] ADDITIONAL STATUS INFO
FABCTX = $$OPS(CTX) %, ![10] USER CONTEXT WORD
FABIFI = $$OPS(IFI) %, ![10] INTERNAL FILE-ID
FABJFN = $$OPS(JFN) %, ![10] JFN OF FILE
FABFAC = $$OPS(FAC) %, ![10] FILE ACCESS
FABSHR = $$OPS(SHR) %, ![10] FILE SHARABILITY
FABFOP = $$OPS(FOP) %, ![10] FILE OPTIONS
FABORG = $$OPS(ORG) %, ![10] FILE ORGANIZATION
FABFNA = $$OPS(FNA) %, ![10] FILE NAME STRING ADDRESS
FABRAT = $$OPS(RAT) %, ![10] RECORD ATTRIBUTES
FABMRS = $$OPS(MRS) %, ![10] MAX RECORD SIZE
FABMRN = $$OPS(MRN) %, ![10] MAXIMUM RECORD NUMBER
FABBSZ = $$OPS(BSZ) %, ![10] BYTE SIZE
FABRFM = $$OPS(RFM) %, ![10] RECORD FORMAT
FABXAB = $$OPS(XAB) %, ![10] EXTANDED ATTRIBUTES POINTER
FABJNL = $$OPS(JNL) %, ![10] LOG BLOCK
FABBLS = $$OPS(BLS) %, ![10] BLOCK SIZE FOR TAPE FILES
FABBKS = $$OPS(BKS) %, ![10] BUCKET SIZE
FABDEV = $$OPS(DEV) %, ![10] DEVICE FLAGS
FABSDC = $$OPS(SDC) %; ![10] SECONDARY DEVICE FLAGS
MACRO RABBID = $$OPS(BID) %, ![10] BLOCK-TYPE CODE
RABBLN = $$OPS(BLN) %, ![10] LENGTH OF RAB
RABSTS = $$OPS(STS) %, ![10] STATUS FIELD
RABSTV = $$OPS(STV) %, ![10] STATUS VALUE
RABISI = $$OPS(ISI) %, ![10] INTERNAL STREAM-ID
RABFAB = $$OPS(FAB) %, ![10] ADDRESS OF FAB
RABRAC = $$OPS(RAC) %, ![10] RECORD-ACCESS FIELD
RABROP = $$OPS(ROP) %, ![10] RECORD OPTIONS
RABUBF = $$OPS(UBF) %, ![10] USER RECORD BUFFER
RABRBF = $$OPS(RBF) %, ![10] RECORD BUFFER ADDRESS
RABRSZ = $$OPS(RSZ) %, ![10] RECORD SIZE
RABUSZ = $$OPS(USZ) %, ![10] USER BUFFER SIZE
RABRFA = $$OPS(RFA) %, ![10] RECORD-FILE ADDRESS
RABKRF = $$OPS(KRF) %, ![10] KEY OF REFERENCE
RABKSZ = $$OPS(KSZ) %, ![10] SIZE OF KEY
RABKBF = $$OPS(KBF) %, ![10] RECORD-KEY ADDRESS
RABMBF = $$OPS(MBF) %, ![10] MULTI-BUFFER COUNT
RABLSN = $$OPS(LSN) %, ![10] LINE-SEQUENCE NUMBER
RABBKT = $$OPS(BKT) %, ![10] BUCKET HASH CODE
RABELS = $$OPS(ELS) %, ![10] END OF LINE SEQUENCE
RABPAD = $$OPS(PAD) %, ![10] BUFFER PAD CHARACTER
RABCTX = $$OPS(CTX) %; ![10] USER CONTEXT WORD
MACRO XABBID = $$OPS(BID) %, ![10] BLOCK-TYPE CODE
XABBLN = $$OPS(BLN) %, ![10] SIZE OF BLOCK
XABRESERV1 = $$OPS(RS1) %, ![10] **RESERVED**
XABCOD = $$OPS(COD) %, ![10] COD FIELD
XABNXT = $$OPS(NXT) %; ![10] NEXT XAB IN CHAIN
MACRO XABCDT = $$OPS(CDT) %; ![10] CREATION DATE
MACRO XABRDT = $$OPS(RDT) %; ![10] UPDATE TIME
MACRO XABEDT = $$OPS(EDT) %; ![10] DELETE TIME (NOT SUPPORTED)
MACRO XABRESERV2 = $$OPS(RS2) %, ![10] **RESERVED FIELD**
XABAID = $$OPS(AID) %, ![10] AREA ID
XABBKZ = $$OPS(BKZ) %; ![10] BUCKET SIZE OF THIS AREA
MACRO XABDTP = $$OPS(DTP) %, ![10] DATA-TYPE
XABFLG = $$OPS(FLG) %, ![10] FLAGS
XABIAN = $$OPS(IAN) %, ![10] INDEX AREA NUMBER
XABDAN = $$OPS(DAN) %, ![10] DATA AREA NUMBER
XABLAN = $$OPS(LAN) %, ![10] LOWEST LEVEL AREA NUMBER
XABREF = $$OPS(REF) %, ![10] KEY OF REFERENCE
XABIFL = $$OPS(IFL) %, ![10] INDEX FILL
XABDFL = $$OPS(DFL) %, ![10] DATA FILL
XABKNM = $$OPS(KNM) %, ![10] KEY NAME POINTER
! KEY POSITIONS
XABPOS = $$OPS(POS) %,
XABPOS0 = 0+$$OPS(POS) %,
XABPOS1 = 1+$$OPS(POS) %,
XABPOS2 = 2+$$OPS(POS) %,
XABPOS3 = 3+$$OPS(POS) %,
XABPOS4 = 4+$$OPS(POS),
XABPOS5 = 5+$$OPS(POS) %,
XABPOS6 = 6+$$OPS(POS) %,
XABPOS7 = 7+$$OPS(POS) %,
! KEY SIZES
XABSIZ = $$OPS(SIZ) %,
XABSIZ0 = 0+$$OPS(SIZ) %,
XABSIZ1 = 1+$$OPS(SIZ) %,
XABSIZ2 = 2+$$OPS(SIZ) %,
XABSIZ3 = 3+$$OPS(SIZ) %,
XABSIZ4 = 4+$$OPS(SIZ) %,
XABSIZ5 = 5+$$OPS(SIZ) %,
XABSIZ6 = 6+$$OPS(SIZ) %,
XABSIZ7 = 7+$$OPS(SIZ) %;
MACRO XABRS6 = $$OPS(RS6) %, ![10] **RESERVED
XABNOR = $$OPS(NOR) %, ![10] NUMBER OF RECORD DESCRIPTORS
XABNOK = $$OPS(NOK) %, ![10] NUMBER OF KEYS
XABNOA = $$OPS(NOA) %, ![10] NUMBER OF AREAS
XABRS7 = $$OPS(RS7) %, ![10] **RESERVED
XABRS8 = $$OPS(RS8) %, ![10] **RESERVED
XABRS9 = $$OPS(RS9) %; ![10] **RESERVED