Google
 

Trailing-Edge - PDP-10 Archives - DBMS-20_V6.0_bin_9-25-81 - sources/dbsdcl.mac
There are 22 other files named dbsdcl.mac in the archive. Click here to see a list.
UNIVERSAL DBSDCL - PARAMETERS FOR DBMS-10 & DBMS-20
SUBTTL	SSC/WBH/JEF/HRB

; COPYRIGHT (C) 1974,1981 BY
; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


; 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 WHICH IS NOT SUPPLIED BY DIGITAL.

	SEARCH GENDCL
	SEGSYM

	;;;	ALL DBMS COMPONENTS ARE MAINTAINED AT SAME VERSION
	MAJVER==6
	MINVER==0
	CUSVER==0
	EDITNO==363
	DEFINE VERSION(AAA)<
	  LOC	137
	  BYTE	(3)CUSVER(9)MAJVER(6)MINVER(18)EDITNO
	  RELOC		   >

	DBVER=:<BYTE	(3)CUSVER(9)MAJVER(6)MINVER(18)EDITNO>

	;;;	DBMS EDIT HISTORY
	; ***	EDITS TO DBMS-V5 (MADE BY SSC UNLESS OTHERWISE NOTED)
	;[%241]	FIX JRDATA TO COMPUTE WORD COUNT RATHER THAN BYTE COUNT.
	;	ALSO FIX PUT.M TO DO NO TYPE CONVERSION.
	;[%242]	MAKE ALL PROT AND CONCUR U-M SPECIFY OF%THW IN DBMOC
	;	SO THAT U-M UPDATE/U-M RETR DOESN'T GET 940 ON -20.
	;[%243]	MAKE DBCLOS TLZ PSW.QRU IF CUR.RU IN AREA BEING CLOSED
	;	SO THAT SUBSEQ FIND WILL NOT DO SPURIOUS DEQ (IN UPD/RETR UM).
	;[%244]	MAKE XC.ALR IN DBLEAV BRANCH TO DXX.BX SO THAT BINDS ERROS SET SUS STATE.
	;[%245] MAKE "RANGE" OF CLASS END-OF-CLAUSE SO THAT "ASSIGN" CAN CONTAIN
	;	ARBITRARY NUMBER OF RANGE CLAUSES.
	;[%246]	FIX PROCESSING OF LINE-SEQUENCE NUMBERS IN SCHEMA ON -10.
	;[%247]	MAKE RETRIEVAL MODES FOR TEMP AREAS INVOLVE NO .TMP FILE.
	;	ALSO DONT MAP THEM ALL INTO PROT RETR.
	;[%250] MAKE NO JOURNALING AND PROT UPD COMPAT IN DBPORT.
	;[%251] CALL SET.R IN JSTRA$ ONLY WHEN TRANS I-U AND DBMS SIMUL UPD.
	;[%252]	DAEMDB BUG IN DABUT1, CAUSE JOUT TO MTA: TO BE GENERATED CORRECTLY.
	;	PATCH DISTRIB TRIV VIA KLUDGE, ACTUAL PATCH INVOLVED ARCHITECTURAL CHANGE
	;[%253] PATCH DBFIND TO CORRECTLY DETECT (EOS) FOR FINDO$.
	;[%254]	IF YOU TRIED TO INCREASE HIGHEST LINE ON A PAGE AND FILL
	;	THE PAGE EXACTLY, ALC.LN WOULD INCORRECTLY SAY NO ROOM.
	;[%255]	PREVENT DAEMDB FROM ILL MEM REF WHEN USER DOES CLOSE RUN-UNIT
	;	THAT SETS JOURNAL USAGE-CNT TO 0.
	;[%256]	FIX DDLSKE TO ACCEPT PIC A(N)
	;[%257]	FIX MEM.UNL SO THAT DELETE OF OB.CNEX DOESN'T CAUSE EXCEP(ACA).
	;	ALSO NOTE IN DOC THAT (ACA) CAN MEAN REF OF OB.CURR FOR WHICH CURR SET OCC DELETED.
	;[%260] FIX FND.OS TO HANDLE "FIND OWNER OF CURR OF REC!AREA" IN CIRCUMSTANCE
	;	WHERE REC HAS BEEN REMOVED FROM SET OCC
	;[%261] ELIMINATE SUPERFLOUS GETLIN WHEN PROCESSING A BLANK LINE OF SS TEXT
	;[%262] ELIMINATE KI-ONLY INSTRUCTION IN GENIO.MAC
	;[%263] FIX SCHIO TO HANDLE LOWERCASE SCHEMA NAMES ON 10
	;[%264] FIX DAEMDB'S HANDLING OF INTERRUPTS SO THAT IT PROCESSES
	;	THEM IMMED RATHER THAN WAITING UNTIL END OF NEXT POLLING PERIOD
	;[%265] CAUSE DAEMDB TO GENERATE LABEL PAGES FOR 2ND AND LATER REEL OF A JOURNAL.
	;	MAKE MNDUTL SAVE TEMP REGS CORRECTLY IN LINKING TO REEL CHANGER.
	;	MAKE MNDUTL SET OKMSG BITS CORRECTLY FOR REEL CHANGING.
	;[%266]	FIX SCAN BLOCKS SO THAT UTILITIES CAN BE EXECUTED WITHOUT THE "R "
	;[%267]	MAINTENANCE ONLY (NOT IN DEVEL SOURCES) -- DONT ACTUALLY
	;	SCAN BUFFERS TO SEE/MANAGE WHAT PAGES IN CORE
	;[%270] (MAINT. ONLY) FIX CRU.CHK IN DBMANY TO HANDLE PROT UPD
	;[%271] HAVE GTJFN IN DBMOC DISTINGUISH BETWEEN AREA NOT FOUND & JFN'S EXHAUSTED
	;[%272] IPCF RCV OVERWRITES MAX MSG SIZE WITH ACTUAL MSG SIZE.
	;	THIS PATCH MAKES DABUTL RESTORE MAX MSG SIZE AFTER EACH RCV.
	;[%273] FIX ABSTRACT TO WORK RIGHT EVEN IF SCHEMA NOT YET OPENED
	;	(THE TEMP-BUFFER FOR JOURNAL BLKS WAS BEING OVERFLOWED).
	;[%274] FIX POSMTA IN MNDUTL TO ACCT FOR REAL-TIME DELAYS IN MTA POSITIONING
	;[%275] ENABLE JR.PREV IN MNDUTL TO HANDLE UNUSED WORDS AT END OF PRECEDING PAGE
	;[%276] FIX JR.PIN IN MNDUTL TO BE ABLE TO "SET UP" IN A J PAGE IN WHICH
	;	NO JOURNAL BLK STARTS OR ENDS
	;[%277] FIX BD.TREE TO NOT RECURSIVELY CLOBBER INDEX BLOCK WHEN MORE THAN 1 INDEX LEVEL
	;[%300] RE-ORDER TOPS-10 ERR BIT CHKS IN DABUTL SO THAT NON-FATAL BITS TAKE PRECEDENCE
	;[%301] SUBSUMED BY %303
	;[%302] (MAINT. ONLY) DETECTION OF ABORTED TRANSACTION IN JR.LIN
	;[%303] MAKES DBJOUR CORRECTLY INIT EMPTY J & DETECT INCONSIS J FORMAT 
	;	IN JR.LIN
	;[%304] MAKE ALC.LN IN DBKALC HANDLE PAGE RANGES OF 7 OR LESS
	;[%305]	MAKE DBINS/DBREM CHK SPECIFICALLY FOR ARG CODE SO THAT NON-NAMID
	;	SYMBOLS CAN BE DISTINGUISED FROM THE (NEGATIVE) ARG CODES 
	;	(EG. $$ALL)
	;[%306]	FIX BOUNDARY-CONDITION ERROR IN DBMOC: CALC PAGE RANGE CORRECTLY
	;	WHILE DETTING # OF PAGES IN TMP DIRECTORY
	;[%307]	CORRECTLY SETUP CNT.GOS/CNT.POS/CNT OF J P WRITTEN FOR DBSTAT
	;[%310]	CLEAN UP "FILBLK" HANDLING IN DBMEND, ADD FJ.BLK, 
	;	GIVING J ITS OWN FILBLK
	;[%311]	ENABLE DDLLEX TO HANDLE THE "IS" IN PIC IS ....
	;[%312]	DO A CLOSF OF .TMP FILE AFTER THE DELF 
	;	(OTHERWISE SUBSEQ OPENF FAILS)
	;[%346] FIX PROBLEM WITH LOWER CASE CHARACTERS IN PICTURE STATEMENTS

; ***	DBMS-V6 DEVELOPMENTAL EDITS

	;[V6%1]	ENABLE DBINFO TO DISPLAY BUOYS AND SORTED-SET INDEX STRUCTURES.
	;[V6%2]	IMPLEMENT /AREA FOR DBINFO AND DBMEND
	;[V6%3]	IMPROVE ERROR MESSAGES IN THE UTILITIES
	;[V6%4] ENFORCE 30 CHAR MAX FOR USER IDS
	;[V6%5] SUPPORT FOR BUFFER COUNT AT AREA-NAME
	;[V6%6] SUPPORT FOR "NOTE JOURNAL"
	;[V6%7] SUPPORT FOR COMPRESSED PAGE IMAGES
	;[V6%8] ELIMINATE CRU ENQING IN FAVOR OF MORE GENERALIZED TRANSACTION
	;	CONCEPT
	;	AND USE OF AID FILES FOR GENERATING LONG REPORTS
	;[V6%9] DO J I/O IN LARGER CHUNKS, ELIMINATE QUEUE THAT SUPPORTED 
	;	BI JOURNALING, MIN DB PAGE WRITING TO MIN PROB OF
	;	PREMAT J WRITES
	;[6%10] MAKE BUFFER HDR A NODE OF AB.BUFPT RATHER THAN A PREFIX OF 
	;	BUFFER
	;[6%11] ADD SUPPORT OF CLUSTER SIZE
	;[6%12] ELIMINATE OVERLAPPED J LAB PAGE IN FAVOR OF J PIPELINING AND 
	;	SHARING OF LABEL INFO
	;[6%13] ENHANCEMENTS TO STATS
	;[6%14] SUPPORT OF DBINFO /ACCUMULATE SWITCH
	;[6%15]	PROVIDE MORE ACCURATE CALC-CHAIN SPECIFYING SYNTAX: CALC
	;	CHAIN [COUNT IS] INTEGER
	;[6%16]	ADD CNTS OF A-I DIRECTORY I/O & PAGES CREATED TO DBSTAT OUTPUT
	;[6%17] ADD SUPPORT FOR FIND6
	;[6%18] PAGE/AREA LOCKING SUPPORT
	;[6%19] TRANSACTION SUPPORT
	;[6%20] ASSIGN INDEX SUPPORT
	;[6%21] MOD FOR DBINFO	???
	;[6%22] CLUSTER SUPPORT
	;[6%23] JOURNAL QUEING MODIFICATION, PERFORMANCE AND INTEGRATION

	;[6%24] RANGE CLAUSE EXTENSION
	;[6%25] SPEED UP EQLSTR IE DO WORD COMPARES
	;[6%26] FOR ORDER FIRST MAKE TARGET PAGE THAT OF THE FIRST
	;	RECORD NOT THE OWNER
	;[6%27] PMAP AFTER IMAGE DIRECTORIES
	;[6%30] USE FFUFP FOR FIND NEXT OF AREA
	;[6%31] PERFORMANCE WORK ON THE -10 (ENQ/DEQ, AND SHARED TABLE)
	;[6%32]	ADD MEMBERS CLAUSE TO DELETE VERB
	;	DBCSYM, DBDEL, DBSET, DMLTAB, DMLVER, DMLVOK
	;[6%33]	ADD BUFFER COUNT IS n TO ENVIRONMENT ENTRY
	;	DDLGLO, DDLDMC
	;[6%34] CHANGE CALLING CONVENTIONS FOR DAEMDB
	;[6%35] ADD SUPPORT FOR AREA BUFFER SHARING
	;	DBOPEN, DBCLOS, DBMIO
	;[6%36] ADD DATA-NAME TO ASSIGN BUFFER CLAUSE
	;	DDLDMC
	;[6%37] DBINFO - FIRST PASS AT VSIXING IT
	;[6%40] ADD QUEUING TO THE LOCK MECHANISM
	;[6%41] DBMEND REWRITE
	;[6%42] BIND QUALIFIED DATA REFERENCES
	;[6%43] ADD A PRIVACY LOCK FOR ADMINISTRATION
	;[6%44] SUPPORT OPTIONAL LRU BUFFER SELECTION WITHOUT REGARD TO
	;	THE MUST-WRITE STATUS
	;[6%45] DBSTAT - ENABLE STATS TO DUMP STATS AT A DATA-NAME
	;[6%46] ADD (UNSUPPORTED) USER ENTRY POINTS
	;[6%47] LTPR ##### ASSUME "INTERCEPT" STATEMENT FOR 1531 ERROR
	;[6%52] LTPR #### DBKIO  OPEN OF EMPTY AREAS CAUSES ILL MEM REF 
	;		NOW GIVES EXCEPTION "UMR"
	;[6%53] ADD ERROR-DATA REGISTER TO NOTE/INTERCEPT OUTPUT
	;[6%54] MAKE JETRAN WITH NO JSTRAN GIVE PROPER ERROR CODE
	;[6%55] LTPR #### MAKE SC.SYM IN GENIO HANDLE "-" AND QUOTED SYMBOLS
	;[6%56]	LTPR #### DBCLOSE -- FOR CLOSE ALL AND CURRENT .DBS NOT OPEN
	;		DONT CLEAR CURRENCY AND AVOID ILL MEM REF
	;[6%57] LTPR #### DON'T CLEAR CURRENCY FOR RECORDS NOT IN THE CURRENT
	;		SUB-SCHEMA
	;[6%60] LTPR #### CLEAR  LK.ABO AND LKJ.OWN WHEN INITIALIZING LOCK PAGE
	;[6%61] LTPR #024 DBBITM - DBCSYM: PATH SIMULATION # OF IO'S FOR STATS
	;[6%62] LTPR #### ALWAYS RE-CREATE THE .LOK FILE WHEN RE-CREATING THE 
	;		.SCH FILE
	;[6%63] LTPR #### SUPPORT DEFAULTING USAGE MODES IN XACTION DEFINITION
	;[6%64] LTPR #037 ADD [AT MOST] TO ASSIGN JOURNAL... SIZE IS CLAUSE
	;[6%65] LTPR #041 DYNAMICALLY ADJUST CLUSTER SIZE TO TAKE INTO ACCOUNT
	;		THE POTENTIAL EXISTANCE OF A PAGE IN A NEW CLUSTER 
	;		ALREADY EXISTING IN A BUFFER AND THE RANGE CLAUSE
	;[6%66] LTPR #040 DBSTAT - AVOID FLOATING DIVIDE CHECK IN FORTRAN
	;[6%67] 	SYS DBK = 1002 AND ASR DBK = 1001 FOR SCHEMA SCHEMA
	;[6%70] LTPR #042 DBKIO - MOVE COUNT OF CNT.JQF (JRN FLUSHES) FROM
	;		PUT.PAG TO PUT.IFM TO AVOID COUNTING AT END OF TRANS
	;[6%70] LTPR #### DBJOUR - CNT.JBF NEVER COUNTED "(SS)" MISSING
	;[6%71] LTPR #### DBINFO - DONT SEND FF'S TO THE DBI FILE IF
	;		ON A TERMINAL
	;[6%72] LTPR #047 INFCOM - RUN$ (PROGRAM) DBINFO
	;		NOISE WRD PROGRAM CAUSES SCAN TO BARF
	;[6%73] LTPR #### DBINFO ALLOW DISPLA KEY:dbk
	;[6%74] CHANGE UFPGS TO ONLY UPDATE PAGES WE ACTUALLY MODIFIED
	;[6%75] LTPR #046 DBINFO GIVE A CLEARER MESSAG THAN EXCEPT 60
	;		IF ATTEMPT TO DISPLA AND AREA NOT OPEN
	;[6%76] LTPR #048 DBINFO - INFIDB WAS CONFUSED ABOUT DEFINITION
	;		OF AN EMPTY PAGE
	;[6%77] ADD TRACE CODE TO PAGE LOCKING
	;[6%100] LTPR #000 DBMIO - 157 ERROR WHEN PAGE SIZE GREATER THAN
	;	512. WORDS
	;[6%101] (RESERVED WBH)
	;[6%102] LTPR #052 DBKALC - ALC.LN DOES NOT CHECK ALL PAGES WITHIN
	;		A RECORD RANGE BEFORE GIVING UP IE [1211]
	;[6%103] CHECK FOR PAG.LX(X) BEING WITHIN THE PROPER PAGE RANGE
	;		BEFORE USING IT TO STORE A NEW INDEX
	;[6%104] INSURE THAT JRTEXT/JRDATA OPERATE WITHIN THE TRANSACTION
	;		CONCEPT
	;[6%105] HANDLE CASE OF JOURNAL HEADER BLOCK ENDING ON THE LAST
	;		WORD OF THE JOURNAL PAGE PROPERLY
	;[6%106] SEARCH DEVICE SCH: FOR .SCH AND .LOK FILES IF IT EXISTS
	;[6%107] INFCOM 20-NOV-80 ZERO THE EXT FOR SU AND APP FOR DBINFO
	;		SCAN DOESNT DO IT AND SU WILL DEFAULT TO SCHNAM.CMD
	;[6%110] WAIT 1 SECOND AFTER A DELETE TRANSACTION TO GIVE OTHER
	;		R-U A CHANCE TO COMPLETE
	;[6%111] FIX JOURNALING PROBLEMS
	;[6%112] CHECK ENTIRE SEARCH PATH BEFORE CREATING A NEW
	;		.TMP OR .AID FILE
	;[6%113] DBSET 5-DEC-80 PUT FIRST BUOY WHERE FIRST REC WILL GO
	;		NOT WITH THE OWNER
	;[6%114] ALLOW ARGUMENTS TO BE PASSED TO GENMSG VIA NWIND (REG 10)
	;[6%115] DBSET, DBKALC 12-DEC-80 FOR ORDER PRIOR
	;		USE WINDO-1 AND FIRST REC GOES TO LAST PG OF WINDO
	;[6%116] LTPR #056 DDLMES 29-DEC-80
	;		SCHEMA BUG DDLVSN ERROR MESSAGE PRINTS GARBAGE
	;[6%117] LTPR #059 DDLDMC 30-DEC-80
	;		SCHEMA BUG - INFINITE LOOP ASSIGN RANGE ERROR
	;[6%120] DBSDCL, DBKIO, DBMIO 7-JAN-81
	;		FND NEXT OF AREA FAILS ON EMPTY BUT XTANT PAGE
	;[6%121] FIX PROBLEMS WITH DASHES (-) IN SYMBOLS (GENCMD)
	;[6%122] DBLEAV 8-JAN-81
	;		FND.NA GIVES REC NOT FND IF EMPTY PAG PRECEDES REC-PG
	;		PSW.RAN MUST BE ZEROED AFTER EACH VERB
	;[6%123] DBGATE 9-JAN-81
	;		MAKE LINK TIME SWITCHES SEPERATE MODULES TO ELIMINATE
	;		LINK WARNING MESSAGE "%MULTIPLE......"
	;[6%124] DBJOUR	9-JAN-81
	;		WHEN OPENING A JOURNAL FOR APPEND, MAKE SURE THAT
	;		JP.NEED(SS) IS SET UP PROPERLY
	;[6%125] 9-JAN-81
	;		MAKE THE DELETE TRANSACTION COMMAND IGNORE PRIVACY KEYS
	;[6%126] 12-JAN-81
	;		ADD A FLAG TO DETERMINE WHEN AND AID FILE IS CREATED
	;		BY THE OPEN CODE.
	;[6%127] 13-JAN-81
	;		MAKE SURE INCOMPLETE TRANSACTIONS ARE BACKED OUT BEFORE
	;		CLEARING UNDEFINED STATE.
	;[6%130] 13-JAN-81
	;		GET PROPER SIZE OF JOURNAL AFTER A CRASH.
	;[6%131] 13-JAN-81
	;		PROPERLY INITIALIZE JOURNAL WITH MULTIPLE SIMULTANEOUS
	;		RUN UNITS.
	;[6%132] 14-JAN-81
	;		ALLOW A TRANSACTION LIMIT WHEN IMAGES ARE BY COMMAND.
	;[6%133] 14-JAN-81
	;		AFTER CREATING A NEW PAGE COPY ITS BEFORE IMAGE TO
	;		THE JOURNAL.
	;[6%134] 14-JAN-81
	;		FIX PROBLEM WITH DBMEND NOT HANDLING JOURNAL WITH
	;		LAST PAGE CONTAINING ONLY A PARTIAL IMAGE.
	;[6%135] 14-JAN-81	DBKIO
	;		FIX FOR EDIT 331. INSERT OF A SORTED REC SOMETIMES FAILS
	;		WITH DUPS NOT ALLOWED" NUWA(X) POINTS TO SRT KEY AND IS
	;		INVALIDATED BY OVER-READING THE TARGET PAGE.
	;[6%136] 16-JAN-81
	;		LOK.JRN SHOULD NEVER RETURN UNLESS THE JOURNAL IS
	;		LOCKED.
	;[6%137] 19-JAN-81
	;		RESET JOURNAL CONTEXT WHEN BACKING OUT A TRANSACTION
	;		THAT HAS NEVER ACTUALLY WRITTEN TO THE JOURNAL
	;[6%140] 22-JAN-81
	;		FIX BUG IN CURRENCY SUPRESSION
	;[6%141] 27-JAN-81
	;		HANDLE IMAGES SPLIT ACROSS JOURNAL PAGES
	;		WHEN IMAGE IS NOT DESIRED
	;[6%142] 27-JAN-81
	;		DON'T LEAVE BH.PAGE CONTAINING A PAGE NUMBER IF THE
	;		BUFFER DOESN'T CONTAIN THE PAGE

;***** V6 FIRST FIELD TEST TAPE ON -20S 30-JAN-81 *****

	;[6%143] 24-FEB-81 HRB
	;		DISABLE DEBUG CODE WHICH CAUSES PROBLEMS FOR DBMEND
	;		MODULES: DBMLOK
	;[6%144] 26-FEB-81 HRB
	;		COMPLETELY CLEAN-UP THE JOURNAL ENVIRONMENT WHEN
	;		SWITCHING SCHEMAS/JOURNALS IN DBMEND
	;		MODULES: MNDIDB
	;[6%145] 26-FEB-81 HRB
	;		MAKE DBMEND SCHEMA COMMAND COMPLETELY RE-INITIALIZE
	;		ITS ENVIRONMENT.
	;		MODULES: MNDCOM MNDUTL
	;[6%146] 26-FEB-81 HRB
	;		FIX TYPEOUT OF SCHEMA NAME IN AN ABSTRACT TO INCLUDE
	;		THE SIXTH CHARACTER.
	;		MODULES: DBJOUR MNDDCL
	;[6%147] 27-FEB-81 HRB
	;		DON'T CALL STRLIB WITH ARGUMENT INDEXED BY R1.
	;		MODULES: DBJOUR
	;[6%150] 27-FEB-81 HRB
	;		ELIMINATE EXTRANEOUS END OF TRANSACTION WHEN BACKING
	;		OUT A POTENTIALLY INCOMPLETE TRANSACTION.
	;		MODULES: MNDIDB DBJOUR DBTRAN
	;[6%151] 27-FEB-81 HRB
	;		FIX MORE PROBLEMS WITH MULTIPLE OPERATIONS IN ONE
	;		RUN OF DBMEND
	;		MODULES: DBOPEN
	;[6%152] 2-MAR-81 JEF
	;		LET OPEN AREA WIN IF PRIVACY KEY SUPPLIED AS AN ARG
	;		AND NONE IS REQUIRED ALA AB.LOK
	;		MODULES: DBOPEN
	;[6%153] 3-MAR-81 HRB
	;		FIX DBMEND'S HELP AND LABEL COMMANDS
	;		MODULES: MNDDCL MNDCOM DBJOUR
	;[6%154] 3-MAR-81 HRB
	;		FINISH NATIVIZING GENMEM
	;		MODULES: GENMEM
	;[6%155] 4-MAR-81 JEF
	;		INIT SET EMPTY FLAG (SETMTY)
	;		DEFAULT TARGET PG TO LAST OF RANGE IF POR1ST
	;		MODULES: DBSET DBOPEN DBSTOR
	;[6%156] 4-MAR-81 JEF	QAR 01430
	;		CALL TO GET.BP IS DONE WITH WRONG BYTE PTR.
	;		JRTEX$ AND JRDAT$,	270403,,0 SHOULD BE 270400,,3
	;		MODULES: DBJOUR
	;[6%157] 6-MAR-81 HRB
	;		PRESERVE JBP WHEN TRYING TO PRINT TEXT DURING A DBMEND
	;		ABSTRACT COMMAND.
	;		MODULES: DBJOUR
	;[6%160] 9-MAR-81 HRB
	;		CREATE DBMSF.EXE TO MAKE FOROTS WORK
	;		MODULES: DBGATE DBPORT
	;[6%161] 9-MAR-81 HRB
	;		PRINT A WARNING MESSAGE WHEN DEFAULTING THE TYPE
	;		OF IMAGES FOR AN AREA
	;		MODULES: DDLMES DDLDMC
	;[6%162] 9-MAR-81 HRB
	;		MAKE TBLOK. WORK AS DOCUMENTED FOR AREA LOCKING
	;		MODULES: DBMLOK
	;[6%163] 11-MAR-81 HRB
	;		FIX "? ILLEGAL MEMORY READ...." WITH NULL JOURNALS
	;		MODULES: MNDIDB
	;[6%164] 11-MAR-81 HRB
	;		MAKE DEFAULT TRANSACTION NAMES WORK AS DOCUMENTED
	;		MODULES: DBTRAN
	;[6%165] 12-MAR-81 HRB
	;		FIX AUTORECOVERY ALA 6%137
	;		MODULES: DBJOUR
	;[6%166] 12-MAR-81	QAR 1429
	;		DONT CHECK FOR SUB-SCH LOCK IF /SS ALL CASE
	;		MODULES: INFIDB
	;[6%167] 12-MAR-81 HRB
	;		MAKE SCHEMA TEMPORARY AREAS WORK
	;		MODULES: DBMIO
	;[6%170] 13-MAR-81 JEF
	;		THE DEFAULT ALGORITHM FOR PAG SELECTION MAY PLACE
	;		RECORD IN A RANDOM AREA.
	;		CALL MEMWHERE BEFORE WIN.AREA FOR VIA SETS
	;		MODULES: DBSTOR DBSET
	;[6%171] 13-MAR-81 HRB
	;		FORDML GENERATES BAD CODE FOR OPEN JOURNAL
	;		STATEMENTS.
	;		MODULES: DMLVER
	;[6%172] 16-MAR-81 HRB
	;		MAKE BACKUP OF MULTIPLE TRANSACTIONS WORK AGAIN
	;		MODULES: DBJOUR
	;[6%173] 16-MAR-81 HRB
	;		CLEAN UP DBMEND'S ERROR MESSAGE ACT
	;		MODULE: MNDCOM MNDUTL DBJOUR
	;[6%174] 17-MAR-81 HRB
	;		MERGE AFTER/BEFORE DON'T CHECK FOR EXISTANCE OF
	;		START/END BOUNDARIES
	;		MODULES: MNDCOM
	;[6%175] 17-MAR-81 JEF
	;		ALLOW ONLY ONE RANGE OF RECORD STMNT PER RECORD
	;		MODULES: DDLSKE DDLMES
	;[6%176] 17-MAR-81 HRB
	;		MAKE SURE JP IS UP-TO-DATE BEFORE CALLING JRCOP TO
	;		COPY DATA INTO THE JOURNAL
	;		MODULES: DBJOUR
	;[6%177] 17-MAR-81 HRB
	;		INSURE THAT DBMEND CAN CARRY OUT THE USERS CLOSE
	;		JOURNAL/RUN-UNIT REQUEST
	;		MODULES: MNDUTL MNDDCL DBJOUR
	;[6%200] 17-MAR-81 HRB
	;		MAKE SURE DBMEND DOESN'T HANG WHEN USER SPECIFIES A
	;		BOUNDARY WHICH CANNOT BE LOCATED
	;		MODULES: DBJOUR MNDOTH MNDCOM
	;[6%201] 17-MAR-81 HRB
	;		DBMEND HANGS DURING MERGE AFTER/ABSTACT/BUILD WHEN A
	;		UNDESIRED BLOCK CROSSES PAGE BOUNDARIES
	;		MODULES: DBJOUR
	;[6%202] 17-MAR-81 JEF
	;		FOR ALC.LN PAGE SELECTION - AND 1 SET PER n PAGES
	;		CHECK FOR ALL REC TIDS THAT ARE SET MEMBERS 
	;		NOT JUST THE TID OF REC BEING ALLOCATED
	;		MODULES: DBKALC
	;[6%203] 19-MAR-81 JEF
	;		HAVE DBDML SEARCH UUOSYM NOT C (OUT OF DATE)
	;		MODULES: DBDML
	;[6%204] 23-MAR-81 HRB
	;		JE.VERB SHOULD NOT CLEAR NJE.BIT AS THIS WILL
	;		RESULT IN A UCR (62) ERROR.
	;		MODULES: DBJOUR
	;[6%205] 23-MAR-81 HRB
	;		ELIMINATE RESH/JOSH CONFUSION.  WHEN DEALING WITH 
	;		JOURNAL TEST IS ALWAYS PSW.JOSH.
	;		MODULES: DBMLOK
	;[6%206] 23-MAR-81 HRB
	;		ADD A CLEAN-UP ENTRY POINT SO DBMEND CAN CLEAN-UP
	;		THE DBCS ENVIRONMENT AFTER A MINOR ERROR.
	;		MODULES: MNDIDB
	;[6%207] 23-MAR-81 HRB
	;		FIX START TRANSACTION-NAME:LAST CASE
	;		MODULES: DBJOUR
	;[6%210] 23-MAR-81 HRB
	;		OPEN SHOULD NOT ATTEMPT TO OPEN AREAS WHEN CALLED 
	;		WITHIN AN OPEN TRANSACTION.
	;		MODULES: DBOPEN DBCLOSE
	;[6%211] 27-MAR-81 JEF (QAR-01485)
	;		"DELETE MEMBERS." VIA FORDML LOSES THE EOS TOKEN.
	;		MODULES: DMLVER
	;[6%212] 27-MAR-81 HRB
	;		WITH IMAGES BY COMMAND BACKUP WILL NOT OCCUR
	;		UNLESS A BUFFER HAS BEEN MODIFIED.  BACKUP IS
	;		REQUIRED TO CLEAN UP THE V6 ENVIRONMENT.
	;		MODULES: DBLEAV
	;[6%213] 27-MAR-81 HRB
	;		PAGE LOCKING CODE DOES NOT PROPERLY WAKE R-U'S
	;		WAITING FOR A LOCK.
	;		MODULES: DBMLOK
	;[6%214] 27-MAR-81 HRB
	;		MAKE SURE GJ%OLD IS SET IN ALL CASES WHEN LOOKING
	;		FOR A .DBS FILE.
	;		MODULES: DBMOC
	;[6%215] 27-MAR-81 HRB
	;		CHANGE DBCS DISK OR MTA MESSAGE TO NOT MENTION MTA
	;		AND ONLY ISSUE IT WHEN THE USER'S DEVICE CANNOT
	;		BE TRANSLATED.  OTHERWISE ISSUE A OS (xx60) ERROR.
	;		MODULES: DBMOC DBCHAR
	;[6%216] 30-MAR-81 HRB
	;		GIVE PROPER ERROR MESSAGE ON DUPLICATES PSEUDONYMS
	;		MODULES: DDLSKE
	;[6%217]  1-APR-81 JEF
	;		GIVE ERROR MESSAGE IF DBINFO IS RESTARTED
	;		MODULES: INFCOM INFMES
	;[6%220]  2-APR-81 HRB
	;		MOVE SOME LOCK PARAMETERS FROM XSTAT TO SS SO
	;		THAT DIFFERENT SCHEMAS CAN BE ACCESSED FROM THE
	;		SAME PROGRAM
	;		MODULES: DBBIND DBMIO DBMLOK DBMOC DBTRAN INFIDB
	;			 MNDIDB MNDMAN DBCSYM
	;[6%221]  2-APR-81 HRB
	;		MORE DBMEND CLEAN-UP.  MAKE IT VERY VERY SMART ABOUT
	;		POSSIBLY BAD JOURNALS
	;		MODULES: DBJOUR MNDDCL MNDOTH MNDCOM MNDUTL MNDMAN
	;[6%222]  3-APR-81 HRB
	;		MAKE FORDML GIVE MORE APPROPRIATE MESSAGE WHEN IT
	;		CANNOT FIND THE .LOK FILE
	;		MODULES: DMLERR
	;[6%223]  7-APR-81 JEF
	;		DBINFO GOT CAUGHT BY 6%210 CALLING DEFTRN AND CLODEF
	;		DIRECTLY.  CALL ONLY FROM WITHIN DBCS ENVIRONMENT
	;		MODULES: DBLEAV DBMANY INFCOM INFIDB
	;[6%224]  8-APR-81 HRB
	;		CONTINUE TO IMPROVE DBMEND ERROR HANDLING
	;		MODULES: DBJOUR DBOPEN DBSDCL MNDCOM MNDUTL MNDOTH 
	;			 MNDDCL
	;[6%225]  9-APR-81 HRB
	;		ALWAYS INCLUDE THE SYSTEM RECORD IN SUBSCHEMAS
	;		WHICH INCLUDE THE AREA CONTAINING IT.
	;		MODULES: DDLSUB
	;[6%226] 13-APR-81 HRB
	;		INTEGRATE MISSING V5A EDIT %346.
	;		MODUELS: DDLLEX
	;[6%227] 14-APR-81 JEF
	;		AVOID EXCEP 60 IF D K:1001 AND AREA IS NOT OPEN.
	;		GIVE EXCEP ANO INSTEAD
	;		MODULES: INFIDB
	;[6%230] 15-APR-81 JEF
	;		CLOSE BLOWS UP WITH SOME BLANK PGS STILL MAPPED.
	;		SO GET PAG NUMBER FROM BH.PAGE NOT BLANK PAGHDR
	;		MODULES: DBMIO
	;[6%231] 15-APRP-81 JEF
	;		IF RECORD IS PLACED WITHIN MUTIPLE AREAS VIA THE RANGE
	;		CLAUSE OF THE AREA STATEMENT BUT NOT DECLARED WITHIN
	;		ALL THOSE AREAS VIA THE RECORD STATEMENT THE ERROR
	;		GOES UNDETECTED.
	;		MODULES: DDLSKE DDLMES
	;[6%232] 17-APR-81 JEF
	;		SCHEMA DOES NOT DETECT DUP DATANAMES IN
	;		ASCENDING KEY IS DATAN1 DATAN1 CASE
	;		MODULES: DDLSKE
	;[6%233] 17-APR-81 JEF
	;		THE DBMEND ABORT COMMAND FORGETS TO SET MND.BIT
	;		THIS CAUSES DBMEND TO ABORT ITSELF!
	;		MODULES: MNDMAN
	;[6%234] 17-APR-81 JEF
	;		DBCS GIVES CBU MESSAGE WHEN CLOTR, DELTR OR JBTRN FAIL
	;		NOW TNA (TRANS NOT ACTIVE)
	;		MODULES: DBTRAN
	;[6%235] 19-APR-81 JEF
	;		DBMEND BLOWS (W/ ill mem wri at ..) IF WRONG FILE IS
	;		FED TO THE JOURNAL COMND BEFORE THE RIGHT ONE IS.
	;		JR.BAFT IS LEFT WITH <#OF BUFS * JR.PSIZ>
	;		HOWEVER DBOPEN IE OP.JBUF EXPECTS # OF BUFS
	;		MODULES: DBOPEN
	;[6%236] 23-APR-81 JEF
	;		DBMEND ill inst 13 @ 1 ON ABSTRACT TO TTY:
	;		ABSTRACT DOESNT KNOW ABOUT TEMPORARY B/A IMAGES.
	;		MODULES: DBJOUR MNDOTH
	;[6%237] 24-APR-81 JEF
	;		DBMLOK BLOWS UP WITH EITHER PDL OV OR ILL INST
	;		WHEN USEING PAGE LOCKS.  TOOOOOO MANY PUSHES
	;		AT RELONP:
	;		MODULES: DBMLOK
	;[6%240] 24-APR-81 JEF
	;		NOTE JOURNAL BARFS WHEN TYPING THE DATE -- TYPO
	;		MODULES: DBJOUR
	;[6%241] 24-APR-81 JEF
	;		HAVE NOTE DO BETTER FOR ERROR DATA
	;		OUTPUT 2 HALF WORDS NOT 1 HUGMANGUS NUMBER
	;		MODULES: GENDCL DBCHAR
	;[6%242]  1-MAY-81 HRB
	;		MAKE THE EXCLUDE COMMAND NOT OPEN THE AREAS BEING 
	;		EXCLUDED.
	;		MODULES: DBOPEN
	;[6%243]  4-MAY-81 JEF
	;		HAVE DBINFO SETUP LK.MAX SO AS NOT TO OVERWRITE RANDOM
	;		PRIVATE PAGES.
	;		MODULES: INFIDB
	;[6%244]  5-MAY-81 HRB
	;		JR.FLUSH WILL CAUSE THE JOURNAL TO BE WRITTEN
	;		IMPROPERLY THE SECOND TIME IT IS CALLED FROM
	;		JREFILL.
	;		MODULES: DBJOUR
	;[6%245]  6-MAY-81 JEF
	;		IMPLEMENT /AID /NOAID /TMP /NOTMP FOR DBINFO
	;		MODULES: INFCOM INFUTL DBCSYM DBKALC DBMOC DBJOUR
	;[6%246]  6-MAY-81 JEF
	;		DBJOUR MAKES WRONG TEST ON WRONG FLAG IN PUT.DBPAG
	;		ALSO SAME FOR JR.AFT/JR.BEF WHEN DETERMING TAI/TBI.COD
	;		ALSO CMP.DBPAG - SAVES 5 ACS RESTORES 4; SOMETIMES
	;		DOESNT RESTORE AND DOESNT INIT R0 BEFORE RETURNING
	;		TO CALLER.
	;		MODULES: DBJOUR
	;[6%247] 11-MAY-81 JEF
	;		DBMIO PMAP BLOWS UP WHEN DBS FILE PAGE IS GREATER
	;		THAN ONE PHYS PAGE AND MGO.WT TRIES TO MAP PROCESS
	;		PAGE TO TMP/AID FILE -- ONLY THE FIRST PG WAS A
	;		PROCESS PG THE LAST WAS STILL A .DBS FILE PAGE.
	;		MODULES: DBMIO
	;[6%250] 11-MAY-81 HRB
	;		CL.OIP DOESN'T ALWAYS OPEN A TRANSACTION WHEN
	;		IT SHOULD.  THE RESULT IS A ?DBSXWX
	;		MODULES: DBCLOS
	;[6%251] 12-MAY-81 EDS/HRB 
	;		MAKE DAEMDB SORT OF WORK WITH V6 OF FORTRAN
	;		MODULES: DBMOC
	;[6%252] 12-MAY-81 HRB
	;		RETURN THE R-U ID IN DBKREG ON AN OPEN
	;		OF THE JOURNAL.
	;		MODULES: DBOPEN
	;[6%253] 14-MAY-81 HRB
	;		MAKE SURE JOURNAL LOCK IS RELEASED ON A
	;		CLOSE.
	;		MODULES: DBMOC DBOPEN
	;[6%254] 14-MAY-81 HRB
	;		MAKE SIN JSYS USE THE % CONVENTION TO AVOID
	;		SYMBOL CONFLICTS.
	;		MODULES: DBMIO SCHIO
	;[6%255] 18-MAY-81 HRB
	;		RETURN XX40 ERROR IF RUN OUT OF STACK SPACE WHILE
	;		PERFORMING DEADLY EMBRACE DETECTION.
	;		MODULES: DBMLOK
	;[6%256] 19-MAY-81 JEF
	;		WHEN CLOSING A TMP FILE -- DONT DELETE IT IF THE
	;		AREA IS NOT OPEN FOR UPDATE
	;		MODULES: DBMOC
	;[6%257] 19-MAY-81 JEF
	;		MAKE PRESERVE COMND WORK IN DBMEND
	;		MODULES: MNDIDB, MNDCOM, MNDUTL, DBMOC, DBKALC
	;[6%260] 21-MAY-81 HRB
	;		RETURN TRANSACTION ID IN DBKREG ON OPEN TRANSACTION
	;		MODULES: DBTRAN
	;[6%261] 22-MAY-81 JEF
	;		DBMEND GET EXCEPTION (960) ON /NOAID AND THERE IS NONE
	;		MODULES: MNDMAN
	;[6%262] 22-MAY-81 JEF
	;		DBMEND SET SUS-BIT DOWN TOO FAR WHEN /NOAID AND THERE 
	;		IS NO AID FILE.
	;		MODULES: DBKALC
	;[6%263] 27-MAY-81 JEF
	;		FIND PRIOR REC1 OF SET1 SET SOMETIMES FAILS
	;		MODULES DBFIND
	;[6%264] 28-MAY-81 HRB
	;		ELIMINATE THE POSSIBILITY OF XWX MESSAGES DURING
	;		DBMEND.
	;		MODULES: DBLEAV
	;[6%265] 28-MAY-81 HRB
	;		MAKE SURE XWX ALWAYS LEAVES SYSCOM SET UP WITH
	;		INITIAL ERROR INFORMATION.
	;		MODULES: DBLEAV DBCSYM
	;[6%266] 28-MAY-81 HRB
	;		MAKE DBCS HANDLE ABORT AND DBSTP$ PROPERLY
	;		MODULES: DBMLOK
	;[6%270]  1-JUN-81 HRB
	;		INSTEAD OF RETURNING THE TRANSACTION OR R-U ID IN
	;		DBKREG ADD A GETUID ENTRY POINT.
	;		MODULES: DBTRAN DBOPEN 
	;[6%271]  1-JUN-81 HRB
	;		ALWAYS OPEN .AID/.TMP FOR WRITE (MONITOR LEVEL
	;		ONLY) SO THAT THE FILE CAN BE CREATED.
	;		MODULES: DBMOC
	;[6%272]  1-JUN-81 HRB
	;		DON'T TRY TO CLEAR CURRENCY ON A DBMEND CLOSE.
	;		MODULES: DBCLOS
	;[6%273]  2-JUN-81 HRB
	;		MAKE SURE .TMP/.AID FILES USE SAME DEVICE NAME AS
	;		.DBS FILE
	;		MODULES: DDLOS
	;[6%274]  2-JUN-81 HRB
	;		ELIMINATE V5/V6 .SCH FILE PROBLEMS BY ONLY
	;		ALLOWING 256K EDITS TO THE .SCH FILE BEFORE
	;		ROLLING THE EDIT NUMBER BACK TO 1.
	;		MODULES: SCHIO
	;[6%275]  2-JUN-81 HRB
	;		ADD A PSEDO-QUEUE TO CONTROL ACCESS TO THE LOCK
	;		PAGE.  INCREASES PERFORMANCE UNDER HIGH VOLUME
	;		PAGE LOCK SITUATIONS.
	;		MODULES: DBMLOK
	;[6%276]  2-JUN-81 HRB
	;		UPDATE THE BUILD PROCEDURE TO HANDLE FORTRAN V5A AS
	;		WELL AS FORTRAN V6.
	;		MODULES: DBMS20.CTL DBGATE
	;[6%277]  4-JUN-81 JEF
	;		IF TMP FILES AND PRESERVE IS NO SET MAKE SURE EVERY
	;		USER GETS HIS OWN TMP FILE -- NO SHARING -- GJ%NEW
	;		MODULES: DBMOC
	;[6%300]  5-JUN-81 HRB
	;		ELIMINATE MISSLEADING EXCEPTION CODE.
	;		MODULES: DBMOC


;***** V6 SECOND FIELD TEST TAPE ON -20S 5-JUN-81 *****

	;
	;[6%301] 10-JUN-81 HRB
	;	ELIMINATE ?DBSSNI MESSAGES (AND EXITS) WHEN A COMMAND
	;	IS EXECUTED AFTER THE FAILURE OF /SCHEMA COMMAND
	;	MODULES: MNDCOM
	;[6%302] 12-JUN-81 HRB
	;	FIX MULTIPLE PROBLEMS WITH CLUSTERING
	;	MODULES: DBKIO DBMIO
	;[6%303] 12-JUN-81 HRB	(REMOVED TO AGREE WITH DOCUMENTATION - JEF)
	;	CHANGE ERROR CODE WHEN AN AREA IS INCLUDED IN A TRANSACTION
	;	BUT NOT IN THE SUB-SCHEMA FROM ANF TO NNS
	;	MODULES: DBBIND
	;[6%304] 15-JUN-81 HRB
	;	MERGE AID WITH NO AREAS OPEN SHOULD GIVE AN ERROR
	;	MODULES: MNDCOM
	;[6%305] 16-JUN-81 HRB
	;	MAKE ON-LINE DELETE TRANSACTION ONLY OPEN THE AREAS REQUIRED
	;	TO PERFORM THE RECOVERY.  ALSO, MAKE SURE THE DEFAULT 
	;	TRANSACTION IS CLOSED AFTER AN ERROR OPENING AN AREA.
	;	MODULES: MNDCOM MNDOTH DBCLOS
	;[6%306] 17-JUN-81 HRB
	;	DON'T CLEAR OUT BUFFER HEADER FOR A BUFFER IN USE BY A
	;	DIFFERENT AREA THAN THE ONE BEING CLOSED
	;	MODULES: DBMIO
	;[6%307] 17-JUN-81 HRB
	;	DON'T ALLOCATE A PID IF HAVE SUS AND USRID IS ZERO
	;	MODULES: DBPORT
	;[6%310] 17-JUN-81 JEF
	;	HAVE DBLEAV ZERO PSW.AFE AID-FILE-EXIST SINCE IT SHOULD NOT
	;	LIVE BEYOND THE DURATION OF THE DBMEND VERB I.E. /MERGE AID
	;	DBMEND COMPLAINS ABOUT UNMERGED AID FILES (MNDAFC)
	;	MODULES: DBLEAV
	;[6%311] 18-JUN-81 JEF
	;	DBINFO CANT FIND SS NAME IF ITS GREATER THAN 25 CHARS
	;	MODULES: INFCOM.MAC
	;[6%312] 18-JUN-81 JEF
	;	IN MEM.UNL -- TEST OF R0 (NEVER INITED) TO DETERMINE IF
	;	A DRI (DELETED REC INVOLVED) !!! CHANGE R0 T0 R1 AND DRI TO RNM
	;	MODULES: DBSET
	;[6%313] 18-JUN-81 JEF
	;	TURN OFF JOURNALING IF DBMEND AND /AID/NOAID/PRE/NOPRESERVE
	;	INSERT CALL TO JMNON$
	;	MODULES: MNDIDB
	;[6%314] 23-JUN-81 HRB
	;	IF  AREAS ARE OPEN EXCLUSIVE AND JOURNAL IS OPEN FOR
	;	SHARED USE, THE JOURNAL WILL NEVER BE LOCKED!
	;	MODULES: DBMLOK
	;[6%315] 23-JUN-81 JEF
	;	DBINFO - MAPSTR DOES THE WRONG THING WHEN FEED A LOWED CASE
	;	STRING AND CONVERSION IS 7 TO 6BIT -- CAUSES rngtst TO CONVERT
	;	TO 2.. INSTEAD OF rngtst.DBI WHEN DEFAULTING /APP OR /SU
	;	MODULES: INFCOM
	;[6%316] 24-JUN-81 JEF
	;	MAKE EXPLICIT TRANS USAGE MODE OVER-RIDE IMPLICIT
	;	MODULES: DDLSKE
	;[6%317] 24-JUN-81 JEF
	;	FIX 6%313 THE CALL TO JMNON$ BOMBS AP -- SO SAVE/RESTORE IT
	;	CAUSES EXCEPT 358 -- ARG ERROR
	;	MODULES: MNDIDB
	;[6%320] 25-JUN-81 HRB
	;	MAKE SURE THAT PAGES CREATED BY CALC FIND FAILURES ARE
	;	NOT ACTUALLY CREATED IN THE DBS FILES.
	;	MODULES: DBKIO DBMIO DBMLOK
	;[6%321] 25-JUN-81 JEF
	;	DBMEND DOES NOT RELEASE ALL LOCKS WHEN /AID/TMP/NOAID/NOTMP
	;	MODULES: MNDIDB
	;[6%322] 29-JUN-81 JEF
	;	RELEASE 5 BUG -- FORK TO FILE PMAP NOW NEEDS PM%WR SET.
	;	MODULES: MNDMAN
	;[6%323] 6-JUL-81 JEF
	;	DBMEND DOES NOT ALWAYS RELEASE LOCKS -- TOO MANY USES OF
	;	MND.BIT(SS) -- CREATE PSW.NRL DONT RELEASE LOCKS ON
	;	DELETE TRANS
	;	MODULES DBSDCL MNDIDB DBLEAV DBTRAN
	;[6%324] 7-JUL-81 JEF
	;	DBMEND /CLOSE AREANAME -- CODE NOT COMPLETED
	;	ALSO A BUG, ARGOPEN-1 (IE ARG CNT) BOMBS JRNERC
	;	NO SPACE WAS RESERVED FOR THE CNT
	;	MODULES MNDCOM MNDUTL
	;[6%325] 13-JULY-81 JEF
	;	COBOL PROGRAMS WITHOUT ANY DBMS "CODE" IN IT BLOW UP WITH
	;	ILL MEM REF AND ZERO CORE.  DBPST$ DOES NOT CHECK TO SEE IF 
	;	ANY CLEANUP IS NEEDED BEFORE RUNNING WILD. JUST RET IF NO SS.
	;	MODULES: DBMLOK
	;[6%326] 14-JUL-81 JEF
	;	DBMEND DOES NOT RELEASE SCH/LOK/JRN JFNS ON /EXIT
	;	SO DOIT VIA DBPST$ IN DBMLOK
	;	MODULES: MNDDCL MNDCOM MNDIDB
	;[6%327] 15-JUL-81 JEF
	;	INITIALIZE R1 BEFORE CALL ABT.PAG (SEE 6%320)
	;	MODULES: DBMIO
	;[6%330] 17-JUL-81 JEF
	;	UNPRESERVED TMP FILES MUST GET A NEW GENERATION FOR EACH OPEN
	;	CHANGE GTJFN FLAG FROM GJ%NEW TO GJ%FOU
	;	MODULES: DBMOC
	;[6%331] 17-JUL-81 JEF
	;	CLUSTER BUG - BEFORE DOING A CLUSTER READ ZERO PAG NMBR IN
	;	BUFFER HEADER SO WE DONT NOT FIND ANY RECORDS ON THAT PAG.
	;	MODULES: DBKIO
	;[6%332] 19-JUL-81 JEF
	;	DBMEND /ABORT:MESSY  THE ADMINISTRATION KEY DOESNT WORK 
	;	CODE NOT WRITTEN
	;	MODULES: MNDCOM
	;[6%333] 21-JUL-81 JEF
	;	MNDMANY'S CHKEXC DOES A CLOSEF ON THE LOK FILE WITH THE LOCK
	;	PAGE STILL MAPPED -- GET A OS ERROR -- WHICH IS IGNORED...!
	;	CALL CLOLKF (CLOSE LOK FIL) INSTEAD
	;	MODULES: MNDMAN
	;[6%334] 21-JUL-81 JEF
	;	/DELETE TRANS AND THEN /PRESERVE ALL = (938) DOR
	;	TOO MANY OPEN ON THE .JRN FILE
	;	DO A JCLO.OS (CLOSE THE JRN) AT SAME PLACES AS EDIT 313
	;	MODULES: MNDIDB
	;[6%335] 25-JUL-81 JEF
	;	CREATE A NEW MACRO TFOPERR TO RELEASE JFN ON TMP/AID FILE
	;	REPLACE FOPERR WITH TFOPERR AT OPNTO2 (OPENF) FAILURE
	;	IM NOT SURE WHAT TO DO WITH THE DBS FILE AT THIS POINT
	;	MODULES: DBMOC
	;[6%336] 25-JUL-81 JEF
	;	GET RID OF SPURIOUS X38 (DOR) DUP OP ON RES PROBLEMS
	;	FREE.P UNINTENTIONALLY (?) ZEROES SS FLAGS
	;	MODULES: DBOTSI
	;[6%337] 27-JUL-81 JEF
	;	DBMEND DOES NOT INIT THE OPTION REGISTER ON THE /DISPLAY COMMAND
	;	HENCE YOU ALWAYS GET ALL OPTIONS BUT RUNUNITID AND HEADERS
	;	MODULES: MNDCOM
	;[6%340] 27-JUL-81 JEF
	;	ANOTHER ADDITION TO EDIT 326.  CLOSE THE SCH FILE ALSO
	;	MODULES: DBMLOK SCHIO
	;[6%341] 28-JUL-81 JEF
	;	IF VERB IS DELETE AND MEM.UNL IS CALLED TO UNLINK AN UNLINKED
	;	RECORD JUST RETURN AND DONT GIVE EXCEPTION RNM.
	;	MODULES: DBSET
	;[6%342] 28-JUL-81 JEF
	;	HAVE REMOVE ALL GIVE THE CORRECT ERROR CODE WHEN THERE ARE NO
	;	OPTIONAL SETS TO REMOVE A REC FROM -- IE RNR NOT RNM
	;	MODULES: DBREM
	;[6%343] 29-JUL-81 JEF
	;	SYMP: CANT OPEN AREA - SOME HAS THE JRN LOK
	;	SCHEMA SET PSW.VER (IMG/CMND) INSTEAD OF PSW.TRA (IMG/TRAN)
	;	MODULES: DDLDMC DDLSKE
	;[6%344] 29-JUL-81 JEF
	;	DEFAULT THE CLUSTER SIZE TO ALL APPLICABLE AREAS
	;	NOTE THAT THE LAST CLUSTER SIZE GIVEN OVERIDES PRECEDING ONE
	;	MODULES: DDLSKE
	;[6%345]  9-AUG-81 JEF
	;	DBMEND SOMETIMES GET CORBOV ERROR FROM FREE.P
	;	DAT.SS IS NEVER INITED TO ZERO - ONLY A PROBLEM WHEN YOU RESAVE
	;	DBMEND (WITH SOME PATCHES IN IT?)
	;	MODULES: MNDCOM MNDIDB
	;[6%346]  3-AUG-81 JEF
	;	MNDCOM IS PASSING GARBAGE ARG TO DOPNE (JRN) IF ON-LINE MODE
	;	MODULES: MNDCOM
	;[6%347]  3-AUG-81 JEF
	;	LOC MODE OF OWNER PSEUDONYM SCREWED UP
	;	DDLSKE'S ROUTINE PSCUHK USES WRONG ARG LIST TO COPSTR
	;	MODULES: DDLSKE
	;[6%350]  4-AUG-81 JEF
	;	SOME OF THE NEW V6 ENCL SYNTAX DID NOT REQUIRE EOS (.) WHICH
	;	CAUSED WHOLE STATEMENTS TO BE IGNORED (TILL THE NEXT ".").
	;	MODULES: DDLDMC
	;[6%351]  4-AUG-81 JEF
	;	SYM: KIA X15001 DUE TO LEFT HALF OF PAG BEING ZAPPED BY SETUP
	;	OF CALL TO ALC.LN
	;	MODULES: DBSET
	;[6%352]  5-AUG-81 JEF
	;	EXTRANEOUS BIND GENERATED BY ACCESS PROCESSOR FOR BUFFER
	;	DATANAME.
	;	MODULES: DMLVOK
	;[6%353]  6-AUG-81 HRB
	;	THE GHOST OF DBMS PAST RETURNS TO SOLVE TWO PROBLEMS:
	;		1) OCCASIONAL BAD PERFORMANCE
	;		2) FAILURE TO RELEASE LOCK PAGE ON STACK OVERFLOW
	;	MODULES: DBMLOK
	;[6%354]  9-AUG-81 JEF
	;	CHECK FOR DEAD RUNUNITS AT CLKLK$ SO DBMEND CAN CLAIM THE LOCKS
	;	AND NOT SLEEP FOREVER WAITING FOR SOME DEADER TO RELEASE THEM
	;	MODULES: DBPORT DBMLOK MNDMAN
	;[6%355]  7-AUG-81 JEF
	;	IF REC NAME IS MISPELLED IN ASSIGN...RANGE OF mispelt-rec
	;	SCHEMA DOES DDLSAF WHICH IS NO HELP. GIVE BETTER MESSAGE.
	;	MODULES: DDLSKE DDLMES
	;[6%356] 11-AUG-81 JEF
	;	AREA.DBS PAGES GET CREAMED VIA CONFUSION OVER LK.MAX(SS).
	;	INITIALLY IT IS THE MAX MUNBER OF LOCKS.
	;	LATER IT IS THE SIZE OF THE LOCK PG.
	;	ALSO TESTING THE WRONG STATE OF THE WRONG FLAG
	;	MODULES: DBMLOK MNDMAN
	;[6%357] 12-AUG-81 JEF
	;	/DELETE TRAN AFTER /FO ALL /CL ALL GEVES A 938
	;	AT $DELTRA CHECK TO SEE IF JRN IS OPEN BEFORE TRYING TO OPEN IT.
	;	MODULES: MNDCOM
	;[6%360] 12-AUG-81 JEF
	;	DBMEND /EXIT WIPES OUT CORE. ACTUALLY ABOCLS DOES IT.
	;	IF NO LOK PAGE EXIST ITS PMAP WILL UNMAP PAGE 0
	;	MODULES: DBMLOK.MAC
	;[6%361] 17-AUG-81 JEF
	;	DBMEND LOOPS FOREVER IF /DE T AND THERE IS NO JOURNAL
	;	IF J1.LIX(JLP) = 1 THEN THERE IS ONLY THE CREATED LABEL PG 
	;	IN THE JOURNAL
	;	MODULES: DBJOUR
	;[6%362] 18-AUG-81 JEF
	;	AVOID ILL MEM REF WHEN SBIND IS CALLED MULTIPLE TIMES
	;	CONTENTS OF LEFT SIDE OF X IS PSW-FLAGS AFTER EBIND IS CALLED
	;	SBIND'S CALL TO SCH.INIT MUST HAVE X(LEFT)=0 OR = SAVBAS(SS)
	;	SO ALWAYS JAM LEFT OF SAVBAS INTO LEFT OF X BEFORE SCH.INI CALL
	;	MODULES: DBBIND
	;[6%363] 24-AUG-81 JEF
	;	GULP -- PASS BACK FINS6 RANGE KEY INFORMATION IN ERROR-DATA
	;	0 = MATCH	1 = RANGE MATCH		2 = NO MATCH
	;	USE RK.ERRDAT(X) IE NON ZERO IF A RANGE KEY
	;	MODULES: DBKITM DBSET DBFIND DBSDCL

;***** V6 THIRD FIELD TEST TAPE ON 21-AUG-81 *****

	;		[ LAST-EDIT ]
	SUBTTL	DBCS CONTEXT SWITCHES

	;;;	I AM NOT SURE IF THERE IS A "CORRECT" WAY TO DO THIS OR IF THIS IS THE CORRECT WAY
	;;;	BUT THE VARIOUS DBCS-USING UTILITIES DO NEED CERTAIN TAILORED MODULES
	;;;	IN PARTICULAR, GATE, PORT, & LEAVE
	;;;	SO, IN THE INTEREST OF MINIMIZING REDUNDANCY
	;;;	EACH OF THESE (AND EVENTU OTHERS?) WILL BE PREFIXED BY THIS MACRO
	DEFINE INIUTIL<
	  IFNDEF DBINFO,<DBINFO==0>
	  IFNDEF DBMEND,<DBMEND==0>
	  IFNDEF V3DBMS,<V3DBMS==0>
	  IFNDEF DBCONV,<DBCONV==0>
	  DBCS==1
	  IFN DBINFO!DBMEND!V3DBMS!DBCONV,<DBCS==0>
	  IFN DBINFO,<SEARCH INFDCL>
	  IFN DBMEND,<SEARCH MNDDCL>	;[6%41] V6 uses MNDDCL not MNDSYM

	  IFN V3DBMS,<SEARCH VTVDCL>
	  IFN DBCONV,<SEARCH CNVDCL>
	>
	SUBTTL	MISCELLANEOUS SYMBOLS

	;;;	REC TYP ID'S--MACRO DEFINED IN SCHIO
	EXTERN TID.AL,TID.CL,TID.DL,TID.FL,TID.IL,TID.ML,TID.VL,TID.YL	;[6%20]
	EXTERN TID.OL,TID.RL,TID.SL,TID.UL,TID.WL,TID.TL,TID.EL,TID.KL

	;;;	SIMILARLY, THE SET TYPES ARE DEFINED= $ OWNER . MEM
	EXTERN $S.A,$S.R,$S.U,$S.E,$S.Y			;[6%20]
	EXTERN $R.D,$R.W,$R.O,$R.M
	EXTERN $A.W,$D.C,$D.T,$O.M,$O.Y,$M.V,$V.C,$E.K	;[6%20]

	; KEY VALUES ASSOCIATED WITH KEYWORDS PASSED AS ARGUMENTS TO DBCS
	; THIS IS MASTER DEFINITION -- REFFED EVERYWHERE ELSE

	DEFINE KEY(KEYARG),<[$$'KEYARG]>		;MECH OF GETTING AT THEM

	HALF==777777			;NEED HALF WORDS OF THESE GUYS OCCAS
	$$ONLY==-^D10
	$$SELECT==-^D11
	$$FIRST==-^D12
	$$LAST==-^D13
	$$PRIOR==-^D14
	$$NEXT==-^D15
	$$DUPLIC==-^D16
	$$ALL==-^D17
	$$AREA==-^D18
	$$RECORD==-^D19
	$$SET==-^D20
	$$UPDATE==-^D21
	$$RETRIEV==-^D22
	$$RUNUNIT==-^D23
	$$PROT==-^D24
	$$EXCLUSIVE==-^D25
	$$CURR==-^D26
	$$SHARED==-^D27
	$$JOURNAL==-^D28
	$$TRANSACTION==-^D29

	;;;	MISC SYMBOLS PART OF DATA BASE PROCESSING

	GREG	(BAS,15)		;SCHIO HAS NO STATIC LOW SEG

	SKECHN==0

	PAGWID==^D26
	LINWID==^D35-PAGWID
	DPVMOD==1000		;[6%27] DIR PAG FLAG TO LIVE WITH PAG# IN BH.PAG(TBUF)
	SYSNMID==1
	SYSTID==40			;RESERVE THESE FOR SYSTEM USE
	TID.ASR==1			;TID OF AREA-STATUS REC
	TIDMAX==777			;REC TYP ID IS 9 BIT FIELD
	DOFFMAX==MAX.XB			;RESTRICT TO THIS VAL PURELY FOR CONVEN...SHOULD BE AMPLE IS 120
	USEMAX==20			;FOR DYN ALLOC OF USE CONDITIONS
	TEXMAX==^D100			;ALLOCATE 20 WORDS A SHOT
	LOKMAX==5			;PRIVACY KEYS/LOCKS, SCAN 5 CHARS ONLY
	SIZ.MSK==3			;[6%19] NUMBER OF MASK WORDS
	AREAMAX==<SIZ.MSK*^D36>-1	;NUM. AREAS REP'ABLE IN BITS AVAIL
					;(NEED ONE BIT FOR TABLE RESOURCE)
	STKPFRM=^D512		 	;[6%22] SIZE OF PAGE STACK FRAME
	SHORT==6			;FORTRAN NAMES MAX LEN
	NAMLEN==^D30			;USUAL MAX NAME LEN
	MAXFS20=^D120/CPW
	MAXTS20==^D45/CPW		;ALWAYS OF FORM DSK:NAME-ONLY.TMP
	MAX.SS==10			;AT RUN-TIME FOR SETDB/UNSET (RIGHT PLACE?)
	FOPSIZ==7			;FILOP ARG BLK SIZE
	TIOSIZ==6			;[6%27] L/E BLK SIZE FOR TMP AREAS

	DF.POLL==^D100000		;[6%34] DEFAULT POLL RATE IN MSEC
	DF.THRESH==^D50			;[6%34] DEFAULT THRESHOLD IN PAGES

	SUBTTL CERTAIN SCHEMA FIELDS CAN TAKE ON A RANGE OF VALUES

	;;;	USAGE MODES -- EVEN VALS=RETR /ODD=UPDATE
	UM.COR==0		;CONCUR RETR
	UM.COU==1		;CONC UPDATE
	UM.PRR==2		;PROT RETR
	UM.PRU==3		;PROT UPD
	UM.EXR==4		;EXCL RETR
	UM.EXU==5		;EXCL UPDATE
	UM.UDED==6		;EXCLUDED...FOR DBMEND
	; ***	THE INDIV CASES
	UM%OIP==1B0		;SIGN BIT INDICS OPEN IN PROCESS
	UM%TEMP==1B1		;AREA OPEN FOR TEMP USAGE
	UM%ASR=1B2		;INDIC (DURING OPEN) THAT ASR ACTU UPDATED
	UM%CON==1B3
	UM%PRO==1B4
	UM%EXCL==1B5
	UM%RETR==1B6
	UM%UPD==1B7
	UM%OTH==1B8		;DBMOC DETERM THAT OTHER R-U CURR HAVE THE AREA OPEN
	UM%DIODE=1B9		;ONE-DIRECTIONAL UM, IE. ONLY CHECK IF SOME ONE ELSE IS UM%CON
	UM%AID=1B10		;[6%27] THERE WAS AN AID FILE REQUEST
	UM%XCLU==1B11		;[6%224] DON'T EVER WRITE IN THIS AREA (DBMEND)

	;;;	LOCATION MODES
	LM.NONE==0			;NOT POSSIBLE
	LM.DIR==1
	LM.VIA==2
	LM.CAD==3			;CALC, DUPS ALLOWED
	LM.CAND==4			;CALC, DUPS NOT ALLOWED

	;;;  [6%19]	LOCKING CODES
	LK%ARE==1B35			;USE AREA LOCKS
	LK%PAG==1B34			;USE PAGE LOCKS
	LK%RET==1B33			;LOCK FOR RETRIEVAL (SHARED)
	LK%UPD==1B32			;LOCK FOR UPDATE (EXCLUSIVE)
	LK%UPG==1B31			;UPGRADE LOCK (SHRD TO EXCL)

	LK%OPN==1B30			;LOCK FOR OPEN (USE ENQ/DEQ)
	LK%JRN==1B29			;LOCK FOR JOURNAL 

	LK%NRL==1B28			;[6%40] DON'T RELEASE SHARED LOCK
					;	UNTIL CLOSE TRANSACTION

	LK%CBH==1B27			;[6%142] CLEAR BUFFER HEADER (BH.PAGE)
					;	 AFTER COPYING PAGE NUMBER.
					;	 SET TO INDICATE THAT THE 
					;	 BUF. HDR. IS MERELY BEING
					;	 USED TO PASS ARGUMENTS

	LK.WAIT==500			;TIME TO WAIT FOR A LOCK (MILLI-SECS)



	;;;	SET MEMBERSHIP
	SH.AUT==0			;MEMBERSHIP AUTOMATIC
	SH.MAN==1B35
	SH.MND==0			;MANDATORY
	SH.OPT==1B34
	SH.AM==0
	SH.MM==1
	SH.AO==2
	SH.MO==3

	;;;	SET ORDERING
	OR.NONE==0
	OR.1ST==1
	OR.LAST==2
	OR.NEXT==3
	OR.PRIOR==4
	OR.SORT==5			;MEANS NO PHRASE FOLLOWS "ORDER SORTED"
	OR.WIN==6			;"WITHIN" PHRASE FOLLOWS
	OR.DBK==7			;DBKEY PHRASE FOLLOWS
	OR.DUP==10			;DUPS PHRASE FOLLOWS
	SRTORD==4			;NUM OF SORT ORDERINGS

	;;;	KEY-COMPARISON CONTROL
	KC.USER==0			;DATA FIELDS
	KC.KED==1			;DBKEY OF ACTUAL RECORD
	KC.KEX==2			;DBKEY OF RECORD AS ENCODED IN INDEX BLK
	KC.TID==3			;TID/RECNAME OF RECORD (FROM LINHDR IN EFFECT)
	KC.TIX==4			;TID/RECNAME AS ENCODED IN INDEX BLK
	KC.MAX=4

	;;;	CONTROL OF ORDERING OF DUP RECS
	DU.ARB==0			;ORDER THEM ANY OLD WAY
	DU.1ST==1			;PUT EM FIRST
	DU.LAST==2
	DU.NOT==3			;DONT ALLOW

	;;;	DATA-NAME KEY TYPES
	KEY.ASC==1B35	
	KEY.DESC==1B34
	KEY.RANG==1B33			;IS RANGE KEY
	KEY.CALC==1B32
	KEY.NORD==1B31			;ON IF DATUM CTLS MEMBER NOT IN CURR SS
	KEY.SOR=1B30			;IN EFFECT, IMAGE OF VIA.SOR

	;;;	MEMBER USAGE CTL IS VIA/FOR:
	VIA.DIR==1			;DITTO FOR LM = DIR
	VIA.CALC==2		;DITTO FOR LM = CALC
	VIA.MEM==3			;VIA BLK FROM SOS THRU MEMBER (IE. LM OF OWNER VIA)
	VIA.SOR==4			;THIS VIA BLK ENCODES SORT KEYS

	;;;	WHAT IS SET OCC SELECT
	SOS.CUR==0			;0 SINCE THE DEFAULT ALSO
	SOS.LMO==1

	;;;	DATA TYPE CONSTANTS
	;;;	PRECISION/ SCALE CONSTANTS
	;;;	X=FIXED L=FLOAT  B=BIN D=DEC  R=REAL C=COMPLEX
	; ***	BIT COMPONENTS
	TY.FLO==1B35
	TY.BASE==1B34
	TY.PLEX==1B33
	; ***	ACTUAL POSSIBLE TYPES
	DT.STRUC==0				;NO DATA TYPE MEANS SIZE PHRASE
	DT.DBK==^D9
	DT.D6==^D10
	DT.D7==^D11
	DT.D9==^D12
	DT.MAX=^D12

	ABSXBR==^D35
	ABSXDR==^D10
	ABSLBR==^D27
	XBR.1M==^D35
	XBR.1D==^D10				;SAME THING IN DECIMAL PREC
	XBR.2M==^D71
	XBR.2D==^D18				;DITTO BEFORE
	XDR.MAX==^D18
	;;;	THE COMPLEX PREC CHARAS CAN BE DET FROM THE FLOAT COMPON
	LBR.1M==^D27
	LBR.2M==^D62
	SUBTTL	EXECUTION-RELATED CONSTANTS

	;;;	CENTRALLY DEFINE THE SET OF USER ENTRY CLASSES, & CONCOMITANT WITH THAT
	;;;	EACH VERB (CODASYL STAND) AND EXPLIC ENTRY PT IS GIVEN A CODE
	DEFINE VERBS.<
	;;;	KLUDGE TO GET EXACTLY 2 WORDS PER ENTRY
	VERB.	(HOST)				;LET THESE HAVE STATUS CODE OF ZERO
	VERB.	(CLOSE)
	VERB.	(DELETE)
	VERB.	(FIND)
	VERB.	(USER)				;[6%46] FORMERLY "FREE"
	VERB.	(GET)
	VERB.	(UNUSED)			;[6%46] FORMERLY "KEEP/RETAIN"
	VERB.	(INSERT)
	VERB.	(MODIFY)
	VERB.	(OPEN)
	VERB.	(OPNT)		;[6%21] USE UNUSED SLOTS
;[6%21]	VERB.	(UNUSED)
	VERB.	(REMOVE)
	VERB.	(STORE)
	VERB.	(CLOTR)		;[6%21]
;[6%21]	VERB.	(UNUSED)
	VERB.	(DELTR)		;[6%21]
;[6%21]	VERB.	(UNUSED)
	VERB.	(BIND)
	VERB.	(CALL)
	>
	DEFINE VERB.(TEXT.)<
	  IFDEF XSTAT.,<
	    GETLEN <TEXT.>
	    IFE LEN.-3,<ASCIZ/TEXT.      />
	    IFE LEN.-4,<ASCIZ/TEXT.     />
	    IFE LEN.-5,<ASCIZ/TEXT.    />
	    IFE LEN.-6,<ASCIZ/TEXT.   />
	    IFE LEN.-7,<ASCIZ/TEXT.  />
	    IFE LEN.-8,<ASCIZ/TEXT. />
	  >
	  IFNDEF XSTAT.,<FIELD(C.'TEXT.)>
	>

	VERBS.
	BLKSIZ	(CODE.V)			;NOT A TRUE SIZE BUT...

	;;;	SUPPRESS CLAUSE CODES AND BITS
	SUP.ALL=$$ALL&HALF
	SUP.REC==$$RECORD&HALF
	SUP.AREA==$$AREA&HALF
	SUP.SET==$$SET&HALF
	R.SUP==1B35
	A.SUP==1B34
	S.SUP==1B33

	;;;	FIND3 (POSITIONAL) CODES
	F3.OFF==1
	F3.1ST==$$FIRST&HALF
	F3.LAST==$$LAST&HALF
	F3.PRIOR==$$PRIOR&HALF
	F3.NEXT==$$NEXT&HALF

	;;;	CLOSE CODES
	CL.JRN==$$JOURNAL&HALF
	CL.RUN==$$RUNUNIT&HALF
	CL.AREA==$$AREA&HALF
	CL.ALL==$$ALL&HALF

	;;;	DELETION CODES
	DL.ALL==$$ALL&HALF
	DL.ONL==$$ONLY&HALF
	DL.SEL==$$SELECTIVE&HALF
	DL.SLF==0				;DELETE JUST SELF, THE IMPLICIT OPTION

	;;;	OPEN-AREA CODES
	OP.PROT==$$PROT&HALF
	OP.EXCL==$$EXCL&HALF
	OP.RETR==$$RETR&HALF
	OP.UPD== $$UPDA&HALF
	OP.CON== 0				;THE IMPLIC OPTION
	OP.JRN==$$JOUR&HALF
	OP.ALL==$$ALL&HALF
	SUBTTL	EXECUTION-CONTROLLING FLAGS (SOME DEFINED BY SCHEMA)

	;;;	FLAG VALUES FOR LEFT HALF OF PORT VECTOR (IE. VFLAGS(X))
	; ***	IMPORTANT: THESE 3 ACT. FLAGS RESIDE WITH THE VAC. FLAGS IN ACT.XC(SS) AS DETERMINED BY THE USER'S DMCL ENTRIES
	; ***	BUT THESE HAVE NO IMAGE IN EV.FLAG BUT THE VAC. ONES DO
	; ***	IN PT OF ACT, EV.FLAG PLACES TOT DIF MEANINGS ON B30-B32
	ACT.UAN==1B32			;UNANTICIPATED EXCEP, EVERYTHING BUT 307=ESA & 326=NRS
	ACT.ALL=1B31			;ANY EXCEPTION
	ACT.SYS==1B30			;THE SYSTEM ERROR (APPROX. 40+)
	ACT.JRN==1B29			;[6%6] SUPPORT OF NOTE JOURNAL
	; ***	END IMPORTANT
	; ***	THE DMCL CAN DEFINE ACTIONS FOR EXCEPTIONS ON A VERB BASIS
	VAC.UPD==1B35			;ERROR DURING AN UPDATE VERB
	VAC.CALL==1B34			;ERROR DURING AN EXPLIC CALL (EG. JSTRAN)
	VAC.BIND==1B33			;ERROR DURING BINDING
	VACBITS==VAC.UPD!VAC.CALL!VAC.BIND
	; ***	OTHER VERB-BASED SWITCHES
	SCH.IO==1B32			;TURNED ON TO INDIC X/BAS KLUDGE INVOLVED
	OK.NOSS==1B31			;AT MOMENT SBIND ONLY
	OK.SUS==1B30			;OK TO ENTER AT THIS EP EVEN THO SYS UNDEF STATE
	CRU.MUST==1B29			;CERTAIN VERBS REQUIRE THAT CUR.RU HAVE A VALUE
	JR.OVU==1B28			;ENTRY IS OTHER THAN A VERB UNIT & TOUCHES JOURNAL
					;IE. JRDATA/JRTEXT/JSTRAN/JETRAN
					;ADDIT, IN DBPORT IT IS TAKEN TO MEAN ANY ENTRY THAT CONTEX ENTERS THIS STATE
					;EG. ANY VERB IF NOT JOURNALING
	ENQ.J==JR.UPD			;DEFINE AS SAME THING
	JR.UPD==1B27			;DOES THE VERB UPD J (& DATA BASE)
	ENQ.X==1B26			;NEED TO ENQ EXCL IS EQUIV TO JR.UPD EXCEPT 
					;WHEN (OP/CL) PROCESSING J LAB ONLY
	ENQ.SH==1B25			;ENTRY DOES NO UPDATES BUT DOES ACCESS DB
	ENQ.ALT==1B24			;(EG. OPEN) ENTRY CAN ALTER SIMULT OF R-U, SO PLAY SAFE
					;IE. STRONGER THAN ENQ.X
;	ENQ.NO==NOT(ENQ.X&ENQ.SH)	;IE. A SERVICE ROUTINE SUCH AS STATS$
; ***	NO MORE ROOM IN THIS FLAG VECTOR !!!

	;;;	INTRA-VERB SWITCHES...
	;;;	DEFINE LEFT-SIDE SS AS THE FLAG REGISTER WITH THESE FLAGS (18 MAX):
	; ***	ALSO... LET B0-2 BE COMMAND SPECIFIC (REFFED ONLY IN XXXX$ ENTRY PTS)
	; ***	USER-RECORD-COMMANDS
	LINK.BIT==1B0				;AT LEAST ONE ACTUAL LINKING OPER (IE.INS/REM) IN THIS VERB
	INS.BIT==1B1				;IS CALL TO CURN.U NECES
	CA.BIT==1B2				;NECESSARY TO (RE)CALC THIS REC BECAUSE ITS KEY HAS CHANGED
	; ***	BIND CLASS
	NAB.BIT==1B0				;NOOP ACTUBIND (IE. FOR DBINFO VIA SSBIND)
	OSS.BIT==1B1			;GUARAN DON'T PUNISH WRONG SUB-SCH IF BIND FAILURE
;	UNUSED==1B2
	; ***	OPEN CLASS
	XCLU.BIT==1B0
	FOPN.BIT==1B1				;ALLOW FH.STAT IN ASR TO BE -1
	JRO.BIT==1B2				;[6%41] Open journal read only
	; ***	CLOSE CLASS			;[6%127]
	ITR.BIT==1B0				;[6%127] INCOMPLETE TRANSACTION
						;	 REMAINS IN THE JOURNAL
;	UNUSED==1B1
;	UNUSED==1B2
	; ***	CALL CLASS			;[6%41]
	TRC.BIT==1B0				;[6%41] TRACE TRANSACTIONS
;	UNUSED==1B1				;[6%41]
;	UNUSED==1B2				;[6%41]
	; ***	THOSE NOT COMMAND-SPECIFIC
	RB.BIT==1B3				;FORCE TMP.RB TO BE UPDATED
	CNEX.BIT==1B4				;HAVE USED A CANON-NEXT PTR IN GDETTB
	NORD.BIT==1B5				;SET IN DBKITM TO INDIC A CTLER OF INVIS SORTED-SET MODDED
	JRV.BIT==1B6				;JOURNALING BY VERB
	BMO.BIT==1B7				;BUFFER HAS BEEN MODDED
	DMO.BIT==1B8				;DSK HAS BEEN MODDED
	XWX.BIT==1B9				;IF ON AT DBSABO, MEANS HAVE GOTTEN EXCEPTION WHILE PROC EXCEP
	UKY.BIT==1B10				;USER-INTRODUCED DATA BASE KEYS MUST BE SPECIAL CASED
	UCR.BIT==1B11				;UNABLE TO COMPL RESTOR IF ON WHEN EXCEP OCCURS
	VRO.BIT==1B12				;[6%101] THIS VERB IS RETRIEVAL
						;...ONLY
	MND.BIT==1B13				; [6%41] Called from DBMEND
	DEQ.BIT==1B14				;THIS VERB MUST CALL IU.DEQ IF ON IN DBLEAV
	EOF.BIT==1B15				;SET WHEN A PAGE ACCESS (IN GET.OS) IS BEYOND EOF
	DFT.BIT==1B16				;[6%19]INDICATES DEFAULT TRN OPN
	NJE.BIT==1B17				;DON'T WRITE TRAILER IN JRN

	;;;	SUB-SCHEMA STATUS WORD (IE. INTER-VERB SWITCHES)
	; ***	PERM LOC IS PSW(SS) (IE. PROGRAM-STATUS-WORD PER SS)
	; ***	RIGHT SIDE ONLY, IE. JUST 18 SWITS AT MOST
	; ***	INTRA-VERB LOC IS THE LEFT-SIDE OF REG X

	PSW.TR==1B35			;CHKPTING FOR TRANS ONLY
	PSW.VER==1B34			;CHKPTING PER VERB
	PSW.CBUU==1B33			;CANT BACKUP UPDATES

	PSW.SUS==1B32			;SYS IN UNDEF STATE (EG. AFTER ERROR AND CBUU SET)
	PSW.MTA==1B31			;MTA JOURNAL
	PSW.JOSH==1B30			;JOURNAL RETAINED SHARED

	PSW.LIM==1B29			;ACTIVE TRANSAC LIM
	PSW.TAC==1B28			;ON IF "BETWEEN" JSTRAN&JETRAN
	PSW.RESH==1B27			;ONE OR MORE AREAS OP IN RETR OR UPD U-M
					;IE. ANY "VULNERABLE" SHARED AREAS (INCL J)

	PSW.UPSH==1B26			;1 OR MORE AREAS OPENED PRU OR COU
					;IE. YOUR UPDATES CAN AFFECT OTHER R-U
	PSW.ENQ==1B25			;TURNED ON/OFF ONLY BY IU.ENQ AND IU.DEQ
	PSW.CNV==1B24			;INDIC DEALING WITH CONVERSION DB...NAME.??N

	PSW.RAN==1B23			;[6%101] RETRIEVAL ACCESS TO
					; ...NON-EXISTENT PAGES ALLOWED
					; ... (BUT NOT PAGE CREATION)
	PSW.JRET==1B22			;J OPENED ONLY FOR RETR
	PSW.EAV==1B21			;ENVIRONMENT ALTERING VERB(OPEN,CLOSE)

	PSW.AFE==1B20			;[6%126] AID FILE EMPTY.  SET WHEN AID
					;	FILE CREATED CLEARED ON FIRST
					;	CALL TO PUT.RDY
	PSW.NRL==1B19			;[6%323] SET BY DBMEND /DEL TRAN
					;  MEANS DONT RELEASE LOCKS AT CLODEF

	SUBTTL	GENERAL STRUCTURES OF THE DATA BASE SYSTEM

	;;;	FORMAT OF AN AREA STATUS REC (ALWAYS 1STP/1 OF AREA)
	;;;	STATUS REC IS IN EFFECT FILE(AREA) HEADER
	FIELD	(FH.STAT)		;0 IF OK, "UNDEF" IF EDITS IN PROGRESS
	BYTES	(FH,<<FLG,^D18>,<UNU,^D18>>)	;[6%26]
	FH%AID==1B17			;[6%27] AREA WANTS AN AID FILE
	FH%PRS==1B16			;[6%27] OPEN UPDATE NOT SUPERCEDE
					;[6%27] CLOSE BUT DONT DELETE TMP FILE
	FH%NPR==FH%AID			;[6%27] ALL FLAGS BUT "PRS"
	BLKSIZ	(SIZ.FH)

	;;;	FORMAT OF A PAGE'S PAGHDR
	FIELD	(PH.NUM)			;PAG NUM OF THIS PAGE
	BYTES	(PH,<<HUSE,^D18>,<1STF,^D18>>)
				;HUSE IS HIGHEST LIN NUM USED SO FAR
				;THE (1STF)TH WORD OF THE PAGE IS THE 1ST TO CONTAIN NO DATA
	BLKSIZ	(PH.CALC)		;(FIXED) SIZED IS ALSO OBV OFFS OF THAT WHICH FOLLOWS: 0-N CALC BUCK WORDS

	;;;	FORMAT OF A LINE HDR
	WORD	(LH,<<RSIZ,^D12>,<TID,^D9>,<OFFS,^D15>>)


	;;;	FORMAT OF A DATABASE KEY
	WORD	(DBK,<<SIGN,1>,<PAG,PAGWID>,<LIN,LINWID>>)

	SUBTTL	SORTED-SETS

	;;;	CONSTANTS
	TID.XB==2			;UPPER LEVEL INDEX BLK
	TID.XL==3			;LEAF INDEX BLK (PTS AT DATA RECORDS)
	TID.X6L==4			;[6%20] VERSION 6 THIS BUOY HAS OWNER PTR
	MAX.XB==^D120			;INDEX BLKS ARE MIN(120,16*XNSIZ) BIG
	FAU.XN==^D16			;WILL TRY TO PUT 16 NODES IN INDEX BLK
	MAX.XL==10			;MAX SIZ OF INTERVAL BETWEEN "BUOYS"
	; ***	FOR MOMEMT INDEX BLK HAS NULL HDR
	HDR.XB==0

	;;;	FORMAT OF A KEY-NODE IN AN INDEX BLK
	FIELD	(XN.SON)		;PTS AT INDEX-BLK/DATA-REC AT NEXT LOWER LEVEL
	BLKSIZ	(XN.KEY)		;ALSO 1ST WORD OF VAR LEN FIELD

	;;;	FORMAT OF A KEY-LEAF (OR "BUOY")
	FIELD	(XL.NEXT)
	FIELD	(XL.PRIOR)
	FIELD	(XL.CNT)		;NUM OF DATA-RECS IN THIS INTERVAL
	SIZ.XL==SIZ.X6L-1		;[6%20]
	FIELD	(XL.OWNER)		;[6%20]
	BLKSIZ	(SIZ.X6L)		;[6%20]
	SUBTTL	DAEMDB RELATED SYMBOLS

;[6%34]	DEFINE DABNAME<ASCIZ/SYSTEM-DAEMDB/>	;GIVE STANDARD NAME TO DAEMDB PID

	;;;	DAEMDB ACTION DRIVING CODES
	OFFS.==10				;MAKE COINCIDENCE SOMEWHAT LESS LIKELY
	FIELD	(DADOPEN)
	FIELD	(DADCLJ)			;CLOSE-J FLUSHES ALL FROM JT
	FIELD	(DADCLRU)			;CLOSE-RU JUST COPS THRU JP.BIX-1
	BLKSIZ	(CODAD)

	;;;	ERROR CODES FROM DAEMDB
	FIELD	(DAXOK)				;SUCCESSFUL RETURN
;[6%34]	FIELD	(DAXNAV)			;NOT-AVAILABLE (SHUTDOWN ALREADY GIVEN)
;[6%34]	FIELD	(DAXNOM)			;MAGTAPE COULD NOT BE GOTTEN
;[6%34]	FIELD	(DAXOJT)			;UNABLE TO OPEN JT FILE
;[6%34]	FIELD	(DAXIDC)			;IMPROPER DEVICE CHARAC AFTER ASSIG/DEFIN
	FIELD	(DAXNQD)			;NO QUASAR OR DAEMDB
	FIELD	(DAXMIX)			;DBCS SOFTWARE ERROR DURING MAGTAPE INIT
	FIELD	(DAXAJD)			;ALREADY JMDISK DONE
;[6%34]	FIELD	(DAXJQA)			;J QUOTA ALREADY REACHED
;[6%34]	FIELD	(DAXOTH)			;SOME OTHER ERROR--DAEMDB FAILURE
	BLKSIZ	(CODAX)


COMMENT\ Edited out for [6%34]
	;;;	INFO PACKETS FOR DAEMDB COMMUN
	FIELD	(DABCODE)			;DAD VALUE
	FIELD	(DABSKE,2)			;SCH NAME IN ASCIZ
	BLKSIZ	(DABOTH)
	; ***	THE "CLOSE" STUFF
	CLODSZ==DABOTH
	; ***	THE "OPEN" STUFF FOR THE -10
	OFFS.==DABOTH
	FIELD	(DABMTA)			;PHYS NAME OF MAGTAPE IN 6BIT
	FIELD	(DABDSK)			;DITTO FOR JT DEVICE
	FIELD	(DABPPN)			;WRITE RBCNT OF DABDSK AT APPROP TIME

	FIELD	(DABFIL)
	FIELD	(DABEXT)
	FIELD	(DABPRIV)
	BLKSIZ	(OPNDS1)
	IFG <OPNDS1-^D10>,<PRINTX ?DAB TO LONG FOR SHORT PACKET>
	; ***	THE "OPEN" STUFF FOR THE -20
	OFFS.==DABOTH
	FIELD	(DABMTA,2)			;ASCIZ HERE
	FIELD	(DABSPEC,^D24)
	BLKSIZ	(OPNDS2)
	IFG <OPNDS2-^D30>,<PRINTX ?DAB TO LONG FOR SHORT PACKET>
	; ***	THE "FROM" STUFF
	FIELD	(DABCODE)		;A DAX VALUE
	FIELD	(DABTHRESH)		;THE INIT THRESHOLD TO PUT IN A J
	BLKSIZ	(FROMDAB)
\;End edit for [6%34]
;;; [6%34] Basic DAEMDB/QUASAR "Create" Message Description
	BYTES	(QE,<<CNT,^D18>,<TYP,^D18>>)	; Word Count,,Message Type
	  .QOCQE==37
	FIELD	(QE.FLG)			; Flags
	FIELD	(QE.UDF)			; User Defined Field (not used)
	FIELD	(QE.FLW)			; Flag Word
	FIELD	(QE.ARG)			; Argument Count
	FIELD	(QE.QT)				; Queue Type Block...
	  .QCQUE==24
	FIELD	(QE.OBJ)			; Object Code (.OTDBM)
	  .OTDBM==21
	FIELD	(QE.FD)				; File Description Block...
	  .QCFIL==10
	  OFSFD.==OFFS.				; File Specification (TOPS20)
	FIELD	(QE.FIL,11)			; ...asciz text equivalent
	  OFFS.==OFSFD.				; File Specification (TOPS10)
	FIELD	(QE.STR)			; ...Structure Name in SIXBIT
	FIELD	(QE.NAM)			; ...File Name in SIXBIT
	FIELD	(QE.EXT)			; ...Extension in SIXBIT
	FIELD	(QE.PPN)			; ...Project,,Programmer Number
	FIELD	(QE.NUS,5)			; ...(not used)
	FIELD	(QE.FRR)			; Limit Block...
	  .QCFRR==37
	FIELD	(QE.COD)			; ...Journal Operation Code
	FIELD	(QE.PID)			; ...Sender's Process Id (PID)
	BLKSIZ	(SIZ.QE)	

;;; End DAEMDB/QUASAR DECLARATIONS
	SUBTTL	JOURNAL RELATED SYMBOLS

	;;;	THE POSSIBLE JOURNAL-BLK CODES
	AI.COD==1
	BI.COD==2
	CS.COD==3				;COMMAND START
	CE.COD==4				;COMMAND END
	LB.COD==5				;LABEL (MULTI-REEL)
	TS.COD==6
	TE.COD==7				;TRANSACTION START/END CODES
	TX.COD==10				;TEXT COMMENT BLOCK
	CU.COD==11				;CURRENCY-BACKUP BLOCK, USED AT RUN-TIME ONLY
	TAI.COD==12				;AFTER IMAGE FROM TEMP FILE
						;(NOW JRN'D BECAUSE OF PRESERVE)
	TBI.COD==13				;BEFORE IMAGE FROM TEMP FILE
	HI.COD==13				;HIGHEST CURRENT CODE
	; ***	POWER-OF-2 BIT CORRES FOR J CODES
	DEFINE C2B(STRING)<STRING'.BIT==1_<STRING'.COD-1>>
	C2B(BI)
	C2B(AI)
	C2B(CS)
	C2B(CE)
	C2B(LB)
	C2B(TS)
	C2B(TE)
	C2B(TX)
	C2B(CU)
	C2B(TAI)
	C2B(TBI)

	;;;	THE POSSIBLE JOURNAL-PAGE IDS
	EM.PID==0				;EMPTY PHYSICAL BLK
	DT.PID==1				;1ST LOG BLK IS DATA BLK
	LB.PID==2				;1ST LOG BLK IS LABEL BLK
	ER.PID==3				;PSEUDO-VALUE, USED IN DBMEND FOR ERROR CONTROL
	SK.PID==4				;PSEUDO-VAL, USED IN DBMEND TO SKIP THE (BAD) BLK

	;;;	MISCELLANEOUS JOURNAL SYMBOLS
	JR.PSIZ==1000				;SIZE OF A JOURNAL PAGE/BUFFER
	JR.PRALC==20				;# OF JPAGES TO PRE-ALLOC, EACH
						; TIME RUNOUT, DURING APPLIC
	JR.CHUNK==40				;# OF JPAGES TO COPY FROM A MAG
						;TAPE JOURN TO DSK .TMP WHEN
						; MERG BEF
	EMP.JP==JR.PSIZ-HDR.JP			;AMT OF FREE SPACE ON AN EMPTY
						; (IE. DATALESS) J PAGE
	BKU.AI==1B35				;AL-AB.BKU VALUE, BACKUP AFT IMS
	BKU.BI==1B34				;DITTO, BEF IMS
	JI.WMAX==^D16				;CARD IMAGE
	JR.BFM==1B35				;[6%23] JOURNAL BUFFERS MODIFIED
						;...SINCE LAST FLUSH

	;;;	JOURNAL PAGE HEADER
	FIELD	(JP.BIX)			;BLOCK/JP INDEX, IDENTIFIES
						;JOURNAL PAGE
	JP.KEY==OFFS.				;FOR COMPARING AGAINST JLANCPID
	BYTES	(JP,<<ANC,^D18>,<PID,^D18>>)
						;LH, PHYSICAL ANCHOR: TELLS
						;ABOUT  BUF END
						;LSS 0: AMOUNT OF POTENTIALLY
						;WASTED (IE. INCOMPLETE) DATA
						;AT END OF PAGE
						;ELSE THE NUM OF UNUSED WORDS
						;ON PAGE
						;PAGE TYPE ID (SEE BELOW)
	JP.NEED=OFFS.
	BYTES	(JP,<<LSIZ,^D18>,<LCOD,^D18>>)
						;SIZE OF LAST LOG BLK STARTING
						;ON THIS JP
						;ITS LOGICAL CODE
	BYTES	(JP,<<FLAG,^D18>,<1STH,^D18>>)
						;OFFSET OF 1ST LOGBLK HDR ON J 
						;AGE, OR 0
	FIELD	(JP.SEQ)	;IF PAGE+1 HAS A LOWER SEQUENCE NUMBER, WILL
						;KNOW THIS IS LAST PAGE OF J
	FIELD	(JP.UNU)	;FOR FUTURE EXPANSION
	BLKSIZ	(HDR.JP)
	JLANCPID=<EMP.JP-SIZ.JL>B17+LB.PID	;ACTS AS KEY TO J FORMAT
						;VALIDITY
						;IF FORMAT OF JP.KEY CHANGES,
						;THIS MUST ALSO

	;[6%10] MOVE BUFHDR DESCRIPTION TO DESCRIPTION AB.BUFPT

	;;;	JOURNALL BLOCK HDR
	;[6%10] JOURNAL BLK HDR NO LONGER HAS ALTEREGO OF DBPAGE BUFFER PREFIX
	JB.CURR==OFFS.
	BYTES	(JB,<<CSIZ,^D18>,<CCOD,^D18>>)
						;CUR SIZE (IN WORDS) AND CODE
						;OF THIS JOURNAL BLK
	JB.PREV==OFFS.
	BYTES	(JB,<<PSIZ,^D18>,<PCOD,^D18>>)
						;DITTO, BUT FOR PREV JB
	FIELD	(JB.RNID)			;FOR SIMUL UPDATE, WHICH RUN-
						;UNIT IS CREATOR OF BLK
	BLKSIZ	(HDR.JB)

	;[6%9] DELETED QUEUE-AREA HDR

	;;;	TEMPLATES FOR EACH TYPE OF JB
	; ***	IMAGES ARE OF VARIABLE SIZE & ARE FULLY DESCRIBED IN USER SCHEMA
;[6%23]	IM.NUM==HDR.JB				;JUST PINPOINT FIRST WORD

	; ***	LABEL BLK
	FIELD	(J1.PAG,HDR.JP)			;[6%23] MAKE JLP OFFSETS
						;CONSISTENT W/ POS. ON PAGE
	FIELD	(JB.HDR,HDR.JB)
	FIELD	(J1.SCH,SHORT/CPW)		;SCHEMA NAME (IN SIXBIT)
	FIELD	(J1.RUN)			;RUN SEQUENCE NUM, IS INTEGER
	FIELD	(J1.REEL)			;REEL # (INTEG)
	FIELD	(J1.DATE,4)			;DATE/TIME IN ASCII
	; ***	INTERNAL CONTROL INFORMATION
	FIELD	(J1.RNID)			;ADD 1 AND GIVE NEXT J OPENER
						;VAL AS ITS RNID
	FIELD	(J1.RACT)			;R-U ACTIVE (IE. LE RNID)
						;USED TO SET JP.SEQ
	FIELD	(J1.TRAC)			;# OF TRANSAC WHICH ARE
						;IN (IE. HAVE IMAGES IN) THE J
	FIELD	(J1.HALC)			;H PAGE # ALLOC IN JRT/JRN FILE
						;IE. BOUND FOR WHERE UPFGS/
						;FILOPS BEGIN
	FIELD	(J1.MTP)			;P# OF LAST JP MERGED INTO MTA J
	FIELD	(J1.LIX)			;LAST ACTUAL JP (W/ CURR SEQ#)
						;IN (DISK PART OF) JOURNAL
J1.NEED=OFFS.					;FOR CONSIS. THE JP.NEED OF
	BYTES	(J1,<<ANC,^D18>,<PID,^D18>>)	; OF LAST PAGE (LIX)
	FIELD	(J1.THRESH)			;[6%34] MTA SPOOLING THRESHOLD
	FIELD	(J1.POLL)			;[6%34] MSEC MTA POLLING PERIOD
	FIELD	(J1.R3)
	FIELD	(J1.R4)
	FIELD	(J1.R5)
	FIELD	(J1.R6)
OFFS.==OFFS.-JB.HDR				;[6%44] MAKE LENGTH NOT INCLUDE
						;[6%44] ...PAGE HEADER
	BLKSIZ	(SIZ.JL)

	; ***	INFO BLK
;[6%23]	FIELD	(JB.HDR,HDR.JB)
	FIELD	(JI.LEN)		;IN ITS OWN UNITS
	  INF.NOP==1B0			;NON PRINTING INFO
	  INF.1ST==1B1			;1ST OF MULTI-BLK INFO
	  INF.MOR==1B2			;MIDDLE OF MULTI
	  INF.LAS==1B3			;LAST OF MULTI
	  INF.1P==0			;NO BITS ON, MEANS SINGLE  PRINTING BLK
	FIELD	(JI.INFO,JI.WMAX)
	BLKSIZ	(SIZ.JI)

	; ***	CURRENCY BACKUP BLK
;[6%23]	FIELD	(JB.HDR,HDR.JB)
	FIELD	(JU.ADDR)			;LESS THAN 0 IS SET BLK
	FIELD	(JU.CURR)
	FIELD	(JU.CNEX)			;MEANINGFUL ONLY FOR SET BLK
	BLKSIZ	(SIZ.JU)
	; ***	COMMAND/VERB BLK
;[6%23]	FIELD	(JB.HDR,HDR.JB)
	FIELD	(JC.IDX)		;DENOTES THIS IS (I)TH CMD EXEC IN RUN-
						;UNIT SINCE STARTED
	FIELD	(JC.TYP)		;AS IN STANDARD ERROR CODES
	BLKSIZ	(SIZ.JC)

	; ***	TRANSACTION BLK
;[6%23]	FIELD	(JB.HDR,HDR.JB)
	FIELD	(JT.IDX)		;DITTO FOR TRANSACTION OF THIS TYPE
	FIELD	(JT.LEN)		;NUM OF CHARS IN TRANS NAME/TYPE
	FIELD	(JT.NAM,NAMLEN/CPW)
	BLKSIZ	(SIZ.JT)

	; ***	DETERM WHICH JB TYPE IS LARGEST SINCE TEMPLATES WILL BE
	; ***	 CO-INCIDENT DURING JOURNAL BUILDING
	DEFINE	MAXCHK(TYP.)<IRP TYP.,<IFG SIZ.J'TYP.-MAX.JB,<MAX.JB==SIZ.J'TYP.>>>
	MAX.JB==0
	MAXCHK	<I,T,C,U>


	SUBTTL IN-CORE SYMBOL DEFINITIONS

	;;;	COMMON TO AB.,RB., AND OB.
	FIELD	(SN.IDADR)			;NMID+IDVEC(SS) FOR THIS SYMBOL
	BYTES	(SN,<<NEXT,^D18>,<LEN,^D18>>)
	BLKSIZ	(SN.NAM)		;DOUBLES AS OFFSET OF VARIABLE LEN FIELD

	;;;	AREA IN-CORE BLOCK
	FIELD	(AB.CUR)		;DBKEY OF CURR REC OF AREA
	FIELD	(AB.TSC)		;DBKEY OF CURR REC OF AREA AT START OF 
					; TRANSACTION
	FIELD	(AB.CHAN)		;CHANNEL/JFN OF THE FILE THAT COMPRISES
					;THE AREA
	FIELD	(AB.MODE)		;USAGE MODES -- SEE UM.XXX
AB.MASK==OFFS.			;->NXT WD ADDXABLE 2 WAYS
					;THE LEFT SIDE MAY CONTAIN VARIOUS UM% BITS
	BYTES	(AB,<<MWD,^D18>,<MBT,^D18>>)
					;[6%19] MWD=WHICH LOCK WORK THIS AREA 
						;USES
					;[6%19] MBT=WHICH BIT IN THE WORD REPS
						; AREA
	FIELD	(AB.TRN)		;[6%19]AOBJ PTR TO LIST OF KB'S WHICH
						; REF THIS AREA
	FIELD	(AB.BUFPT)		;AOBJ LIST OF BUFFER PTRS FOR THIS AREA
	FIELD	(AB.CLPT)		;[6%22]AOBJ LIST OF CLUSTER PTRS FOR
						; THIS AREA
;	FIELD	(AB.FIFO)		;BUF NUM OF NEXT BUF TO OVERWRITE
	FIELD	(AB.FIL)		;PTR TO FILE SPEC AREA ASSIGNED TO
	FIELD	(AB.TBUF)		;A "SPECIAL" EXTRA BUFFER IS ALLOC-ED
					; FOR A TMP AREA
	BYTES	(AB,<<NUL,^D17>,<PTF,^D1>,<UNUSED,^D18>>)
					;[6%27] NUL AND UNUSED ARE UNUSED
					;[6%27] AB.PTF = PRESERVE TMP FILE
	FIELD	(AB.TOA)		;[6%27] -1,,0 = TMP 0,,-1 = AID -1 =TMP+AID
	FIELD	(AB.TCHAN)		;IF TEMP AREA, NEED A 2ND CHANNEL
					; TCHAN= -1,,CHAN IF TMP
					;	0,,CHAN IF AID
	FIELD	(AB.TLAP)		;THIS 2ND FILE GROWS...NEED LAST ALLOC
					; PAGE (1ST PAGE==0)
	FIELD	(AB.ILAP)		;IN TEMP AREA, HAVE NEVER-NEVER LAND
					; WHERE PAGES LT AB.LAP
					;HAVEN'T BEEN WRITTEN BECAUSE TEMP FILE
					; IS PACKED
					;SO IF KNOW HOW BIG .DBS FILE IS, CAN
					; DETECT THEM
					;IOW, AB.ILAP=AB.LAP AS OF OPEN
	FIELD	(AB.PINV)		;THE VALUE=AL.PSIZ-AP.PUNR, FOR USE IN
					; ALC.REC
	; ***	START OF BLTTABLE STUFF
	AB.BLT==OFFS.
	FIELD	(AB.1STP)		;P# OF 1ST PAGE OF AREA
	FIELD	(AB.LASP)		;P# OF LAST DEFINED PAGE
	FIELD	(AB.PSIZ)		;PAGE SIZE
	BYTES	(AB,<<ONBUF,^D18>,<SHAR,^D18>>)	;[6%36] FOR SHARING BUFFERS
					; ONBUF - AB WHICH OWNS NBUF
					; SHAR  - RING PTR OF ALL BUF SHAREES
	FIELD	(AB.DNBUF)		;[6%36] ADDR OF DATANAME WHICH
					;	CONTAINS NBUF
	FIELD	(AB.NBUF)		;NUM OF BUFS TO ALLOC
					; 0 IF SHARING - USE AB.ONBUF
					; ONLY BUFFER "OWNER" IS NONZERO
	BYTES	(AB,<<PGL,^D18>,<CLUS,^D18>>)
					;[6%27]ADDX OF PAGE LIST FOR AREA
					;[6%11]CLUSTER SIZE FOR THIS AREA
	FIELD	(AB.RPP)		;MAX RECS/PAGE TO ALLOW
	FIELD	(AB.CALC)		;MAX CALC BUCKETS PER PAGE--INIT VAL
					; OF PH.1STF=PH.CALC+VAL(AB.CALC)
	FIELD	(AB.BKU)		;TYPE OF IMAGES TO PUT IN JOURNAL
	FIELD	(AB.LOK,LOKMAX/CPW * 6)	;TEXT OF LOCKS...S/P/E*R/U=6
	; ***	END OF BLTABLE STUFF
	AB.BE==OFFS.
	FIELD	(AB.ID)			;START STRLIB SYMBOL NODE
	FIELD	(AB.NLEN)		;LENGTH OF AREA NAME
	FIELD	(AB.NAM,NAMLEN/CPW)
	BLKSIZ	(SIZ.AB)		;MAX SIZE...SHORT AREA NAMES MEANS LESS
					; SIZE
	; ***	ANCILLARY STUFF
	;[6%10]	MAKE BUFHDR BE A NODE OFF OF AB.BUFPT
	BYTES	(BH,<<FLG,^D18>,<BUF,^D18>>)
BH%LSH==1				;[6%22] PAGE LOCK SHARED
BH%LEX==2				;[6%22] PAGE LOCK EXCLUSIVE
BH%LKS==BH%LSH+BH%LEX			;[6%22] ALL LOCK FLAGS
BH%TOA==4				;[6%27] INPUT FROM TEMP OR AID FILE
BH%CLR==10				;[6%32] CLUSTER READ PAGE HAS BEEN ACCESSED
BH%CPP==20				;[6%120] NOT A FILE PAGE BUT
					;	 A CREATED PROCESS PAGE
					;ACTUAL ADDR OF A BUFFER/PAGE
	FIELD	(BH.PAGE)		;THE PAGE IN THE ASSOCIATED BUFFER
	FIELD	(BH.LRU)		;IDX TO SHOW WHETHER BUFF IS LEAST RECENTLY USED
	FIELD	(BH.WRIT)		;SWITCH: -1=MUST WRITE  0=CAN JUST OVWRITE
	FIELD	(BH.JPAG)		;HIGHEST JP THIS DBPAGE HAS A BEFIM IN
;[6%27]	  BH.DPAG==BH.JPAG		;SYNONYM: USED FOR DIRECTORY OF TEMP AREA
	  BH.DPAG==BH.LRU		;[6%27] POINTS TO 1 OF N TMP/AID DIRECTORY PAGES
	FIELD	(BH.TOA)		;[6%27] PHY PAG # IN TMP/AID FILE
	BLKSIZ	(SIZ.BH)


	;[6%22] CLUSTER HEADER, IS A NODE OFF AB.CLPT, USED IN SAME WAY AS
	; BUFFER HEADER, BUT SUMMARIZES INFO FOR CLUSTER

	BYTES	(CH,<<NUM,^D18>,<BH,^D18>>)	;NUMBER OF BUFFERS IN THIS CLUSTER
						;ADDRESS OF FIRST BUFFER HEADER
	FIELD	(CH.LRU)			;HIGHEST LRU VALUE FOR CLUSTER
	FIELD	(CH.WRIT)			;AS BH.WRIT, & HIGHEST VALUE
						;FOR CLUSTER
	FIELD	(CH.JPAG)			;HIGHEST JOURNAL PAGE A PAGE IN
						;THIS CLUSTER HAS AN IMAGE IN
	BLKSIZ	(SIZ.CH)

	;;;[6%19]  TRANSACTION IN-CORE BLOCK    [6%19]
	BYTES	(EB,<<FLAG,^D18>,<IMG,^D18>>)	;FLAG=FLAGS FOR THIS TRN.
EB%RO==1					;TRANSACTION IS READ ONLY
						;IMG=IMAGE MODE FOR THIS TRN
	FIELD	(EB.KBL)			;AOBJ PTR TO AREA LIST FOR THIS TRN
	FIELD	(EB.ALK)			;POINTER TO AREA LOCK STRUCTURE
						;FOR THIS TRANSACTION
	FIELD	(EB.ID)				;NAME-ID OF THIS TRN
	FIELD	(EB.NLEN)			;LENGTH OF NAME
	FIELD	(EB.NAM,NAMLEN/CPW)		;NAME OF THIS TRANSACTION
	BLKSIZE	(SIZ.EB)

	;;;	TRANSACTION-AREA IN-CORE BLOCK [6%19]
	BYTES	(KB,<<MODE,^D18>,<CLU,^D18>>)	;USAGE-MODE FOR AREA FOR THIS TRN
	FIELD	(KB.EB)				;PTR TO ASSOC TRN BLK (EB)
						;CLUSTER SIZE FOR THIS TRN
	FIELD	(KB.AREA)			;POINTER TO ASSOC AREA BLK
	BLKSIZ	(SIZ.KB)


	;;;	WITHIN IN-CORE BLOCK
	FIELD	(WB.1STP)
	FIELD	(WB.LASP)
	BYTES	(WB,<<RDCODE,^D18>,<RDINC,^D18>>)	;[6%24]
				;[6%24] RDCODE - REC DISTRIBUTION CODE
	WB.NRP==1		;[6%24] N RECS PER PAGE
	WB.RNP==2		;[6%24] 1 REC PER N PAGES
	WB.SNP==3		;[6%24] 1 SET PER N PAGES
				;[6%24] RDINC - THE N FOR ABOVE

	BLKSIZ	(SIZ.WB)

	;;;	RECORD IN-CORE BLOCK
	BYTES	(RB,<<LM,^D18>,<FLAG,^D18>>)
					;LOC MOD CODE
	  RF.NALC==1B35				;FLAG SAYS ALLOC OPERS ILLEG (IE. STORE/DELETE)
						;...CAUSED BY SET OWNED BY REC NOT BEING IN SS
	  RF.NAO==1B34				;FLAG=NOT-ALL-OWNERS IN SS, MEANS CANNOT DELETE THIS REC
						;...SINCE WILL BE UNABLE TO REMOVE IT FROM THE "INVIS" SETS IT IS IN
	BYTES	(RB,<<DOFF,^D18>,<TSIZ,^D18>>)
					;TOTAL SIZE OF REC...FROM DSIZ+DOFF
	FIELD	(RB.CUR)		;DBKEY OF CURR REC OF THIS TYPE
	FIELD	(RB.TSC)		;DBKEY OF CURR REC OF THIS TYPE
					;  AT START OF TRANSACTION
	FIELD	(RB.TID)		;REC TYPE ID
	FIELD	(RB.MYA)		;AOBJ PTR FOR AREAS CAN BE WITHIN
	FIELD	(RB.MYD)		;THE DATA-NAMES IN THE REC
	FIELD	(RB.ION)		;THE SETS I OWN
	FIELD	(RB.OBY)		;THE SETS I AM OWNED BY
	FIELD	(RB.LOC)		;PTR TO IN-CORE BLK OF VIA SET, ADDR OF DIRKEY, OR NUM OF CALC FIELDS
	FIELD	(RB.WID,2)		;STRING PTR TO UWA LOC FOR AREAID OR 0
	FIELD	(RB.ID)			;SYM NODE
	FIELD	(RB.NLEN)
	FIELD	(RB.NAM,NAMLEN/CPW)
	BLKSIZ	(SIZ.RB)		;MAX SIZE (WILL BE SMALLER IF RB.NLEN IS LESS THAN 26)
					;AREA, OWNER BLKS ALSO THIS WAY
	; ***	ANCILLARY DEFS FOR AOBJ PTS
	WORD	(RB,<<RMB,^D18>,<MOB,^D18>>)	;FOR OBY
					;REC'S MEM BLK(SELF)
					;MEM'S OWNER BLK (SELF'S OWNER)
	WORD	(RB,<<UNU,^D18>,<ROB,^D18>>)	;FOR ION
					;RECORD'S OWN BLK (SELF IS OWNER)
	WORD	(RB,<<UNU,^D18>,<RDB,^D18>>)	;MYD
					;RECORD'S DATA BLKS
	WORD	(RB,<<RWB,^D18>,<RAB,^D18>>)	;MYA
					;PTR TO THE WITHIN BLK ITSELF (RWB)
					;AREA REC CAN BE WITHIN
	WORD	(RB,<<NTB,^D18>,<RTB,^D18>>)	;FOR OBY/ION IN V3TOV5
						;NEW TENANT BLK/CURR TB

	;;;	DATA-NAME IN-CORE BLOCK
	BYTES	(DB,<<TID,^D18>,<OCC,^D9>,<TYP,^D9>>)
					;ITS REC'S TID (FOR CONSIS OF GET/MOD LIST)
					;DB.OCC FROM DL.OCC
					;DATA TYPE--SEE DT.XXX
	BYTES	(DB,<<CASE,^D18>,<KTYP,^D18>>)
					;CASE--PSEUDO? TID/DBKEY? ETC (SEE KC.XXX)
					;KTYP--DATA DIRECTED KEY-TYPE ASPECTS (CURR .CALC/.NORD)
					;...OTHER PROPS CONTEXT (IE. CTL-LINE) DPEND
	; ***	NOTE: THESE TWO WORDS CONSTITUTE A STRING PTR IE. THEY MUST BE TOGETHER
	FIELD	(DB.UWA)		;BYTE PTR TO BOUND ADDR OF D-N
	FIELD	(DB.SIZ)		;SIZE IN ITS OWN UNITS=DL.SIZ*DL.OCC(DEF 1)
	FIELD	(DB.OFF)		;BYTE PTR TO SAME, BUT OFFSET FROM BEGIN OF REC
	BLKSIZ	(SIZ.DB)

	;;;	OWNER IN-CORE BLOCK
	OB.COWN==OFFS.			;...ACTUALLY, OWNER OF CURR SET OCC, IF KNOWN
	FIELD	(OB.OOFF)		;DEFINED TO HANDLE O/M INDETERMINANCY SIMPLY. SEE TB.XXX BELOW
	FIELD	(OB.POFF)		;OFFSET OF PRIOR PTR IN AN OWN REC, OR 0
	FIELD	(OB.NOFF)		;OFFSET OF NEXT PTR
	FIELD	(OB.XOFF)		;PTR TO HEAD OF INDEX STRUCTURE IF SORTED SET
	FIELD	(OB.YB)			;[6%20] POINTER TO A Y-BLOCK IF SORTED SET
;[6%20]	FIELD	(OB.XSIZ)		;NUM OF WORDS IN AN INDEX BLK FOR THIS SET TYPE
;[6%20]	FIELD	(OB.XNSIZ)		;DITTO FOR AN INDIV NODE
					;IF 0, SORTED SET OCC WILL HAVE NO INDEX STRUCT
	FIELD	(OB.CVIX)		;IF MATCHES VERBIX, PERFORM APPLICABLE CURRENCY OPERATION
					;(1) OB.CUR UPDATE IN INSERT, MODIFY
					;(2) OB.CUR SUPDATE-SUPPRES IN FIND/STORE
					;IF MATCHES -VERBIX, SUPPRESS OB.COWN
	FIELD	(OB.REC)		;ADDR OF REC BLK OF REC THAT OWNS SET
	FIELD	(OB.CPRI)		;WILL BE VALID ONLY WHEN CURR OF SET LAST DET BY
					;FIND IMMED NEXT RECORD.
	FIELD	(OB.CUR)		;DBKEY OF CURR OF SET
	FIELD	(OB.TSC)		;DBKEY OF CURR OF SET
					; AT START OF TRANSACTION
	FIELD	(OB.CNEX)		;RELEVANT IF CURR OF SET DELETED/REMOVED
	FIELD	(OB.ION)		;ANAL TO RB.ION
	FIELD	(OB.ID)			;SYMBOL NODE
	FIELD	(OB.NLEN)
	FIELD	(OB.NAM,NAMLEN/CPW)
	BLKSIZ	(SIZ.OB)		;MAX ALLOCATABLE SIZE
	; *** ANCILLARY STUFF
	WORD	(OB,<<MRB,^D18>,<MMB,^D18>>)	;ION
					;PTR TO MEM'S RECORD BLK
					;PTR TO MEM'S MEMBER BLK

	;;;	MEMBER IN-CORE BLOCK
	FIELD	(MB.OOFF)		;OFFS OF OWNER PTR IN A MEM REC, OR 0
	FIELD	(MB.POFF)		;DITTO BUT FOR PRIOR PTR
	FIELD	(MB.NOFF)		;OFFS TO NEXT PTR ALWAYS
	BYTES	(MB,<<FLAG,^D18>,<SHIP,3>,<SOS,3>,<ORD,6>,<DUP,6>>)
					;FLAG--FUTURE
					;FOR OTHERS, SEE SCHEMA FILE ML. DESC
;???	  MF.REORD==1B35		;MEMBER MUST BE RE-INSERTED SINCE KEY FIELD MODDED
	BYTES	(MB,<<MYS,^D18>,<MYK,^D18>>)
					;MYS=MY SOS CTL BLKS
					;MYK=MY (SORT) KEY CTL BLKS
	BLKSIZ	(SIZ.MB)
	WORD	(MB,<<IRREV,^D18>,<REST,^D18>>)	;KLUDGE A BIT FOR EFFIC
	MB.REST==MB.SHIP



	;;;	TENANT (PSEUDO!!!) IN-CORE BLOCK
	DEFINE FAK.TB(OFF.)<
	  IRP OFF.,<
	    TB.'OFF.==MB.'OFF.
	    IFN TB.'OFF.-OB.'OFF.,<PRINTX ?MEMBER-OWNER PTR OFFSETS MUST AGREE>
	  >
	>
	FAK.TB	<OOFF,POFF,NOFF>

	;;;	VIA IN-CORE BLOCK
	FIELD	(VB.MYC)		;AOBJ PTR TO SORT FIELDS AS THEY APPEAR IN DATA-RECORD
	FIELD	(VB.MYX)		;DITTO--BUT AS IN INDEX-NODE
	BLKSIZ	(SIZ.VB)
	WORD	(VB,<<KTYP,^D18>,<CDB,^D18>>)
					;THE MEM DEPEND CHARAC OF A DATA-NAME
					;PTR TO ASSOC (PSEUDO-)DATA-BLK

	;;;	FILE BLOCK
	FIELD	(FB.DEV)
	FIELD	(FB.CNT)
	FIELD	(FB.DIR)
	FIELD	(FB.FIL)
	FIELD	(FB.EXT)
	FIELD	(FB.PRIV)
	FIELD	(FB.SIZ)
	BLKSIZ	(SIZ1FB)
	OFFS.==-2			;[6%27]
	FB.HDR==-OFFS.			;[6%27] FOR BIND CODE AT JFMERG
	FIELD	(FB.AOFF)		;[6%27] OFFSET FROM FB.SPEC TO FB.AID
	FIELD	(FB.FLEN)		;IN -1 WORD SO THAT JSYS USAGE NATURAL
	FIELD	(FB.SPEC,MAXFS20)	;VARIABLE LENGTH ASCIZ
	FIELD	(FB.TEMP,MAXTS20)	;...ACTU START PT DETERM BY FB.FLEN
	FIELD	(FB.AID,MAXTS20)	;[6%27] FILSPEC FOR .AID FILE
	BLKSIZ	(SIZ2FB)

	;[6%20]	INDEX (Y) BLOCK
	FIELD	(YB.FPG)		; FIRST PAGE OF INDEX BLOCK RANGE
	FIELD	(YB.LPG)		; LAST PAGE OF INDEX BLOCK RANGE
	FIELD	(YB.EPI)		; MAX # OF KEYS PER IDX BLOCK
	FIELD	(YB.EPB)		; MAX # OF RECORDS PER BOUY
	FIELD	(YB.ISIZ)		; INDEX BLOCK SIZE IN WORDS
	FIELD	(YB.NSIZ)		; INDEX NODE SIZE IN WORDS
	FIELD	(YB.AB)			; PTR TO AREA BLOCK WHERE REC RESIDES
	BLKSIZ	(SIZ.YB)
	SUBTTL	SCHEMA DIRECTORY BLOCKS AND OFFSETS

	; SCHEMA BLOCK

	FIELD	(SL.ASR,SIZ.FH)		;MAKE THIS RECORD DOUBLE AS ASR
					;SO THAT .SCH FILE IS .DBS FILE ALSO
	FIELD	(SL.SYS)		;NMID OF AREA THAT WILL HOLD SYS RECORD
	FIELD	(SL.HINMID)		;FOR BUILDING RUN-TIME VECTOR
	FIELD	(SL.HITID)		;FOR BUILDING RECTYP ID VEC
	FIELD	(SL.NAREA)		;NUM OF AREAS
	FIELD	(SL.NTRN)		;FOR BUILDINT TRNTYP ID VEC
	FIELD	(SL.EDIT)		;CHARAC OF ENTIRE SCHEMA OVER TIME
	FIELD	(SL.RUN)		;DITTO BUT NUMBER OF TIMES SBIND-ED
	FIELD	(SL.MLAS)		;LAST USED SS (MAX IS 36)
	FIELD	(SL.JOUR)		;DBKEY OF JOURNAL'S FILE BLK, IF ONE
	FIELD	(SL.JNBUF)		;[6%9]NUM OF JBUFS TO ALLOC WHEN J OPENED
	FIELD	(SL.CHKPT)		;SEE CHK.*
	FIELD	(SL.XACT)		;EXCEPTION ACTION FLAG WORD (SEE VAC.*/ACT.*)
					;LEFT=NOTES // R=INTERCEPT
	FIELD	(SL.JSIZ)		;TELLS DBCS TO LIMIT JRN SIZE TO (N) TRANSAC
					;...AND THEN TO BEGIN OVERWRITING AND REPEAT THE CYCLE
	BYTES	(SL,<<LKS,^D18>,<LNUM,^D18>>)	;[6%17]
					; LKS IS SCOPE OF LOCK
LKS.AL==1B0				; --AREA LOCKS
LKS.PL==1B1				; --PAGE LOCKS
					; LNUM IS MAX NUM OF LOCKS
	FIELD	(SL.LOK)		;[6%43] PRIVACY LOCK FOR ADMINISTRATION
	FIELD	(SL.UNU)		;RESERVED FOR FUTURE
	BLKSIZ	(SIZ.SL)


;;;	STANDARD LIST HEADER	[6%32]

	BYTES	(LST,<<BEG,^D18>,<END,^D18>>)	;BEG,,END OFFSETS (SPACE)
	BYTES	(LST,<<CBEG,^D18>,<CEND,^D18>>)	;CURRENT LIST BEG,,END
	BLKSIZ	(SIZ.LHD)
SIZ.LE==2				;LIST ENTRY SIZE 


;;;[6%17]  FORMAT OF A LOCK BLOCK 

	FIELD	(LK.HEAD,SIZ.LHD)	;STANDARD LIST HEADER
;	    (  BYTES	(LST,<<BEG,^D18>,<END,^D18>>)	;BEG,,END OFFSETS )
;	    (  BYTES	(LST,<<CBEG,^D18>,<CEND,^D18>>)	;CURRENT LIST BEG,,END)
	FIELD	(LK.AOS)		;SEMAPHORE WORD FOR BLOCK ACCESS
	FIELD	(LK.ABO)			;ABORT STATUS FIELD
	FIELD	(LKJ.OWN)		;JRN LK OWNER ID
	BYTES	(LKJ,<<MODE,^D1>,<HIP,^D35>>)	;JRN LK TYPE
					;HIGHEST PAGE NUMBER IN THIS PAGE


	BLKSIZ	(LK.HDR)		;ALSO OFFSET TO ACTUAL LOCK STR.

	FIELD	(LKP.OWN)		;OWNER OF THIS LOCK
	BYTES	(LKP,<<MODE,^D2>,<QUE,^D2>,<UNU,^D5>,<PAG,^D27>>)
					;MODE IS: 0-SHR, 1-EXCLU, 2-NO-RELEASE
LK.SHR==0
LK.EXC==1
LK.NRL==2				;DON'T RELEASE SHARED LOCK UNTIL
					;...THE END OF TRANSACTION (CLOSE TRN)

					;QUE IS 0-LOCKED, 1-QUEUED, 2-UPGRADE
LK.LOK==0
LK.QRQ==1
LK.UPG==2
					;OWN IS OWNER-ID (PER-RU)
					;PAGE IS PAGE NUMBER LOCKED
	BLKSIZ	(LK.PLK)		;SIZE OF PAGE LOCK BLOCK

	FIELD	(LKA.OWN)		;OWNER-ID
	BYTES	(LKA,<<MODE,^D1>,<UNU,^D35>>)	;MODE AS ABOVE
	FIELD	(LKA.LN,SHORT/CPW)	;LOCK NAME (SCH UNLESS SETDB)
	FIELD	(LKA.QUE)		;[6%40] 0=LOCK,1=REQ,-1=2ND PART REQ
	FIELD	(LKA.W1,SIZ.MSK)	;AREA LOCK WORDS
	BLKSIZE	(LK.ALK)		;SIZE OF AREA LOCK BLOCK


	;[6%31]	FORMAT OF A SHARED TABLE FRAME - TOPS-10 ONLY

	BYTES	(ST,<<LCLK,^D18>,<CLEN,^D18>>)	;LOW CLOCK
					;....CURRENT LENGTH
	FIELD	(ST.LIST,^D511)		;ACTUAL WORDS OF LIST
	BLKSIZ	(SIZ.ST)

;	; [6%22] FORMAT OF A PAGE STACK FRAME -TOPS-20 ONLY
;
;	FIELD	(PF.LST)		;AOBJN PTR TO CURRENT STACK FRAME
;	FIELD	(PF.NXT)		;POINTER TO NEXT FRAME IF PRESENT
;	FIELD	(PF.PRI)		;POINTER TO PRIOR FRAME, OR 0 FOR LAST
;	FIELD	(PF.STK,STKPFRM-OFFS.)	;THE STACK OF PAGE NUMBERS AND LENGTHS
;	BLKSIZ	(SIZ.PF)		;SIZ.PF SHOULD = STKPFRM
	FIELD	(PF.RWD,STKPFRM)
	BLKSIZ	(SIZ.PF)

	;SUB-SCHEMA BLOCK

	FIELD	(UL.MASK)		;ANY BLOCK THAT "OR"S NON-0 WITH THIS IS IN SS
	FIELD	(UL.LOK,LOKMAX/CPW)		;LOCK FOR PVC KEY
	FIELD	(UL.NLEN)		;UNPADDED NAME LEN
	FIELD	(UL.NAM,NAMLEN/CPW)		;ALLOCATION OF SPACE FOR SS NAME
	BLKSIZ	(SIZ.UL)

	;RECORD BLOCK

	BYTES	(RL,<<IDSET,^D18>,<NMID,^D18>>)
				;NMID IS COMMON TO MOST SCHEMA DEFINED BLOCKS
				;IDSET IS LAST SET TO WHICH THIS REC WAS ASSOC--FOR TENANT CONSIS
	BYTES	(RL,<<NDAT,^D9>,<NAREA,^D9>,<NOWN,^D9>,<NMEM,^D9>>)
					;EACH IS NUM OF (X) ASSOC WITH THE RECORD
	BYTES	(RL,<<LM,6>,<DSIZ,^D12>,<DOFF,^D9>,<TID,^D9>>)
				;LM IS FOR LOC MODE: 0=UNDEF  1=DIRECT  2=VIA  3=CALCDUP  4=CALCNODUP
				;DSIZ IS SIZE OF DATA IN WORDS
				;THE (DOFF)TH WORD OF THE LINE CONTAINS 1ST WORD OF DATA
				;TID IS THE RECORD TYPE ID (APPEARS IN LINE HDR)
	FIELD	(RL.SS)		;TELLS WHICH SS THIS REC IN
	FIELD	(RL.LOC)		;IF VIA, DBKEY OF THAT SET BLK
				;IF DIRECT, DBKEY OF ITS ITEM BLK
				;IF CALC, NUM OF CALC FIELDS
	FIELD	(RL.WID)		;DBKEY OF ITEM BLK OF AREA ID, IF ONE
	FIELD	(RL.NLEN)		;LEN OF REC NAME
	FIELD	(RL.NAM,NAMLEN/CPW)		;THE REC NAME IN ASCII
	BLKSIZ	(SIZ.RL)

	;AREA BLOCK -- USE MOSTLY FULL WORDS, ASSUME NUM OF AREA BLKS SMALL %

	BYTES	(AL,<<SYM,^D18>,<NMID,^D18>>)
				;AL.SYM USED BY SCHEMA PROCESSOR, PTS TO AREA'S SYMBOL BLK
				;AS BEFORE
	FIELD	(AL.SS)		;SS THIS AREA IS IN
	; ***	BEGIN BLTTABLE STUFF
	AL.BLT==OFFS.
	FIELD	(AL.1STP)	  	;1STP IS PAGE NUM OF 1ST PAGE OF AREA
	FIELD	(AL.LASP)		;LAST PAGE NUM OF THIS AREA
	BYTES	(AL,<<PUNR,^D18>,<PSIZ,^D18>>)
						;UNROUNDED PAGE SIZE--ALLOWS MAKING PART OF PAGE INVIS
						;PSIZ=PHYSICAL PAGE SIZE (ACCOR PAGE BUF SIZE)
;[6%36]	BYTES	(AL,<<SHAR,^D18>,<NBUF,^D18>>)
	BYTES	(AL,<<ONBUF,^D18>,<SHAR,^D18>>)	;[6%36] FOR SHARING BUFFERS
					; ONBUF - AB WHICH OWNS NBUF
					; SHAR  - NAMID OF "AT AREA..."
	FIELD	(AL.DNBUF)		;[6%36] DBK OF IL FOR DATANAME
	FIELD	(AL.NBUF)		;[6%36] NUM OF BUFS TO ALLOC
					; NBUF IS 0 IF SHARING BUFS
					; ONLY BUFFER "OWNER" IS NONZERO
	FIELD	(AL.CLUS)		;[6%10]CLUSTER SIZE FOR THIS AREA
	FIELD	(AL.RPP)			;MAX RECS PER PAGE
	FIELD	(AL.CALC)		;MAX CALC RECS PER PAGE
	FIELD	(AL.BKU)		;BACKUP SPEC: 0=NO  1=AFTER  2=BEFORE  3=BOTH
	FIELD	(AL.LOK,LOKMAX/CPW * 6)		;ALL OF THE LOCKS: PERMUTE CONC/PROT/EXCL UPDATE/RETR
	; ***	END BLTTABLE STUFF
AL.MASK==OFFS.			;->NXT WD ADDXABLE 2 WAYS
					;THE LEFT SIDE MAY CONTAIN VARIOUS UM% BITS
	BYTES	(AL,<<MWD,^D18>,<MBT,^D18>>)
					;[6%19] MWD=WHICH LOCK WORK THIS AREA USES
					;[6%19] MBT=WHICH BIT IN THE WORD REPS AREA
	FIELD	(AL.FIL)			;DBKEY OF FILBLK FOR AREA
	FIELD	(AL.TMP)		;SS FOR WHICH THIS AREA A TEMP AREA
	FIELD	(AL.NLEN)		;LEN OF AREA NAME
	FIELD	(AL.NAM,NAMLEN/CPW)		;THE AREA'S NAME
	BLKSIZ	(SIZ.AL)

	;[6%20] INDEX BLOCK	YL.FPG MUST BE FIRST IN Y-LINE

	FIELD	(YL.FPG)	; FIRST PAGE OF INDEX BLOCK RANGE
	FIELD	(YL.LPG)	; LAST PAGE OF INDEX BLOCK RANGE
	FIELD	(YL.EPI)	; MAX# OF INDEX ENTRIES / IDX BLOCK
	FIELD	(YL.EPB)	; MAX# OF DATA REC ENTRIES / BUOY
	FIELD	(YL.ISIZ)	; INDEX BLOCK SIZE (WORDS)
	FIELD	(YL.NSIZ)	; INDEX NODE SIZE (WORDS)
	BYTES	(YL,<<NUL,^D18>,<ANMID,^D18>>)
				; YL.NUL - NOT USED
				; YL.ANMID - AREA NAME ID
	BYTES	(YL,<<SYM,^D18>,<ASYM,^D18>>)
				; SYM - ADR OF SETNAME IN SYM TBL
				; ASYM - AREA SYM NODE PTR
	FIELD	(YL.SLEN)	; SET NAME'S LENGTH
	FIELD	(YL.SNAM,NAMLEN/CPW)	; SET NAME
	BLKSIZ	(SIZ.YL)

	;DATA BLOCK

	BYTES	(DL,<<IDREC,^D18>,<NMID,^D18>>)
				;NMID AS BEFORE
				;IDREC--NEED TO VERIFY THAT DN PART OF RIGHT REC OCCAS
	BYTES	(DL,<<UNU,^D18>,<OCC,^D9>,<PREC,^D9>>)
				;UNUSED
				;OCC IS # OF OCCURS IF GTR 0
				;PREC IS PRECISION, IN COBOL S9(10) FOR EX
	BYTES	(DL,<<NLEN,6>,<SLEN,6>,<PLEN,6>,<TYP,6>,<CALC,6>,<SCAL,6>>)
				;SINCE DATA BLKS ARE PRESUMABLY MOST FREQUENT
				;TRY TO SAVE SPACE (HOPEFULLY NOT AN ERROR IN JUDGMENT)
				;ALL STRINGS ARE ENCODED AS ONE, WITH SUBSTRING OPERATORS USED TO PULL APART
				;NLEN DATA-NAME'S LENGTH
				;PLEN PICTURE'S LENGTH
				;SLEN PSEUDONYM'S LENGTH
				;THE DATA TYPE
				;CALC FIELD ORDINALITY
				;SCALE FACTOR (IMPLIED DECIMAL PT)
	FIELD	(DL.SS)		;AS BEFORE
	FIELD	(DL.OFF)		;A BYTE PTR TO ITEM WITHIN ITS RECORD
	FIELD	(DL.SIZ)	;IN TERMS OF ITS LOGICAL USE--CHARS,WORDS,ETC
	DLSLEN==NAMLEN+NAMLEN+SHORT
	FIELD	(DL.STRING,DLSLEN/CPW)		;ALL THE STRINGS
	BLKSIZ	(SIZ.DL)

	;OWNER BLOCK

	BYTES	(OL,<<POFF,^D9>,<NOFF,^D9>,<NMID,^D18>>)
				;THE (POFF)TH WORD OF EACH OWNER REC IS THE PRIOR PTR FOR THIS SET, IF ONE
				;THE (NOFF)TH WORD IS THE NEXT PTR--ALWAYS NON-0
				;NMID--AS BEFORE
	BYTES	(OL,<<XNSIZ,^D18>,<XOFF,^D18>>)
					;LARGEST KEY-NODE SIZE FOR MEMS OF THIS SET (0 IMPLIES: USE NO INDEX STRUCT)
					;THE (XOFF)TH WORD IS TOP-LEVEL IDXBLK, IF ONE
	FIELD	(OL.NMEM)		;# OF MEMS IN SET
	FIELD	(OL.SS)			;SS MASK FOR THIS SET
	FIELD	(OL.NLEN)		;SET NAME'S LEN
	FIELD	(OL.NAM,NAMLEN/CPW)			;SET NAME
	BLKSIZ	(SIZ.OL)

	;MEMBER BLOCK

	BYTES	(ML,<<IDREC,^D18>,<SHIP,3>,<SOS,3>,<ORD,6>,<DUP,6>>)
					;NMID OF REC THAT IS MEM (USED DURING BINDING)
				;SHIP: AUTO/MAN AND MAND/OPT
				;SOS IS TYPE OF SOS THIS REC HAS 1=CURR 2=LMO
				;ORD IS 1 OF 12 POSSIB (2 PATHOL): 1ST/LAST/NEXT/PRIOR ARE POSIT
				;SORTED ARE: PLAIN/DBKEY/WITHIN/UNIFIED PLUS EACH WITH USER KEYS
				;BUT DBKEY+USER KEY IMPOS & UNIFIED+NO-USER IMPOS
				;IF SORTED, DUP = 0 MEANS ANY 1=FIRST 2=LAST 3=NOT
	BYTES	(ML,<<OOFF,^D9>,<POFF,^D9>,<NOFF,^D9>>)
				;OFFSETS ARE AS BEFORE--OOFF IS NON-0 IF LINKED TO OWNER
	BLKSIZ	(SIZ.ML)
	WORD	(ML,<<IRREV,^D18>,<REST,^D18>>)
	ML.REST==ML.SHIP

	;WITHIN BLOCK

	BYTES	(WL,<<REC,^D18>,<IDAREA,^D18>>)
				;SYM OF UNBOUND REC. IOW, NON-0 IF EXPLIC PAGE RANGE
				;NMID OF AREA CONNECTED TO
	FIELD	(WL.1STP)	;IF NOT EXPLIC SPECIFIED, =AL.1STP
	FIELD	(WL.LASP)	;DITTO AL.LASP
	BYTES	(WL,<<RDCODE,^D18>,<RDINC,^D18>>)	;[6%24]
				;[6%24] RDCODE - REC DISTRIBUTION CODE
				;	SEE WB.??P FOR DEFINITION
				;[6%24] RDINC - THE N FOR ABOVE
	BLKSIZ	(SIZ.WL)

	;VIA BLOCK

	BYTES	(VL,<<NKEY,^D18>,<TYP,^D18>>)
					;TYP IS VIA LINE FOR SOS OR SORT CTL
					;NKEY = NUMBER OF ELEMS IN LIST
	BLKSIZE	(SIZ.VL)

	;CONTROL BLOCK

	BYTES	(CL,<<CASE,^D18>,<KTYP,^D18>>)
				;CASE--FOR COMPARISON CTL
				;KTYP--ASC/DESC FOR INSTANCE
	BYTES	(CL,<<IDDAT,^D18>,<IDSET,^D18>>)
				;IDSET HERE AS WITH DL.IDREC RL.IDSET
				;DITTO IDDAT
	FIELD	(CL.ALIAS)			;DBKEY OF ITEM LINE IF THERE IS AN ALIAS NAME
	FIELD	(CL.IDX)			;ORDINALITY OF THIS SUBKEY (START 1)
	FIELD	(CL.XOFF)			;FOR SORTED SETS (IN VIA.SOR LISTS), WHERE IN INDEX NODE THE KEY IS
	FIELD	(CL.KSET)			;DBKEY OF SET IT CTLS, USED TO SET KEY.NORD
	BLKSIZ	(SIZ.CL)

	;TEXT BLK

	FIELD	(TL.SS)			;NOW TEXT CAN BE SPECIFIED ON A SS BASIS
	FIELD	(TL.TLEN)			;CHARS OF TEXT
	FIELD	(TL.TEXT,TEXMAX/CPW)		;PERHAPS TOO MUCH, WHO KNOWS
	BLKSIZ	(SIZ.TL)

	;ITEM BLOCK -- ALL RECORD INDEP SYMBOLS ARE DESCRIBED HERE

	FIELD	(IL.SLEN)
	FIELD	(IL.PSU,SHORT/CPW)		;ITS PSUEDONYM IF NON-0
	FIELD	(IL.NLEN)		;AS BEFORE
	FIELD	(IL.NAM,NAMLEN/CPW)			;AS BEFORE
	BLKSIZ	(SIZ.IL)


	;TRANSACTION BLOCK (EVENT BLOCK) - DEFINES TRANSACTION NAMES AND
	;    RECOVERY MODES

	BYTES	(EL,<<NKL,^D18>,<NMID,^D18>>)	;NAME-ID OF TRANSACTION
						;NUMBER OF TRN-AREA LINES FOR BIND
	FIELD	(EL.SS)				;SUB-SCHEMAS IN 
	BYTES	(EL,<<FLAG,^D18>,<IMG,^D18>>)	;FLAGS FOR THIS TRANS
EL%RO==1					;...Retrieval Only transaction
						;IMAGE TYPES FOR THIS TRANS
	FIELD	(EL.NLEN)			;LENGTH OF NAME
	FIELD	(EL.NAM,NAMLEN/CPW)		;REAL NAME
	BLKSIZ	(SIZ.EL)

	;TRANSACTION-AREA BLOCK DEFINES AREAS, CLUSTERING AND USAGE PER AREA, 
	;    PER-TRANSACTION

	BYTES	(KL,<<USG,^D18>,<CLU,^D18>>)		;USAGE MODE (RETR, UPDTE)
	FIELD	(KL.ARID)			;NAME-ID OF AREA
	BLKSIZ	(SIZ.KL)

	;FILE BLOCK -- SEPARATE IN HOPE OF BETTER OS INDEP

	FIELD	(FL.DEV)
	FIELD	(FL.CNT)		;SET ONLY BY CODE
	FIELD	(FL.DIR)
	FIELD	(FL.FIL)
	FIELD	(FL.EXT)		;SET ONLY BY CODE
	FIELD	(FL.PRIV)
	BLKSIZ	(SIZ1FL)
	BYTES	(FL,<<AOFF,^D9>,<FLEN,^D9>,<BLEN,^D18>>)
					;[6%27] AOFF IS OFFSET TO .AID FSPEC
						;FLEN IS # OF WORDS IN FILE SPEC
						;BLEN # WORDS IN FILE SPEC+TMP+AID SPEC
	FIELD	(FL.SPEC,MAXFS20)		;JUST A LONG ASCIZ STRING FOR TOPS20
	FIELD	(FL.TEMP,MAXTS20)		; TMP FILSPEC
	FIELD	(FL.AID,MAXTS20)		;[6%27] AID FILSPEC
						;THE ACTUAL SIZES OF THE FIL/TMP SPEC IS DRIVEN BY 1ST WORD
	BLKSIZ	(SIZ2FL)
;
	END