Google
 

Trailing-Edge - PDP-10 Archives - RMS-10_T10_704_FT2_880425 - 10,7/rms10/rmssrc/rmssym.bsy
There are 6 other files named rmssym.bsy in the archive. Click here to see a list.
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

!COPYRIGHT (C) 1979, 1980 BY DIGITAL EQUIPMENT CORPORATION

!****************************************************************
!*								*
!*			START OF RMSSYM.BSY			*
!*								*
!*			RMSSYM SYSTEM DEFINITIONS		*
!*								*
!*								*
!****************************************************************

!AUTHOR: S. BLOUNT
!EDIT DATE: 27-FEB-78

%([*************************************************
*						*
*		NEW REVISION HISTORY		*
*						*
*************************************************

PRODUCT	MODULE	 SPR
 EDIT	 EDIT	 QAR		DESCRIPTION
======	======	=====		===========


	***** 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

	LITERAL	MAXDTP		=	DTPSIX;		! 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
		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