Google
 

Trailing-Edge - PDP-10 Archives - bb-h138f-bm - 7-sources/actsym.mac
There are 39 other files named actsym.mac in the archive. Click here to see a list.
;TOPS-20 edit History
;WORK:<WONG>ACTSYM.MAC.5  8-Mar-88 11:06:55, Edit by WONG
;Edit 52 TCO 7.1256 - Merge TOPS-10 and TOPS-20 so that we have one common
;ACTSYM.
; *** Edit 36 to ACTSYM.MAC by WONG on 14-Mar-86, for SPR #18580
; Add batch request ID field to Session Record. 
;<5.UTILITIES>ACTSYM.MAC.2, 28-Oct-81 14:37:54, EDIT BY GRANT
;Change major version to 5


UNIVERSAL ACTSYM - DECsystem-10/20 symbol file for accounting V5(52)
SUBTTL B.A. HUIZENGA/BAH/TAH/DPM/TARL/RCB	28-Oct-86


;VERSION INFORMATION
	ACCVER==5		;MAJOR VERSION
	ACCEDT==52		;EDIT LEVEL
	ACCMIN==0		;MINOR VERSION
	ACCWHO==0		;LAST MODIFIER


;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1979, 1988.
;	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.


IFNDEF	FTUUOS,<FTUUOS==0>	;TOPS-10
IFNDEF	FTJSYS,<FTJSYS==-1>	;TOPS-20

DEFINE	TOPS10,<IFN FTUUOS,>
DEFINE	TOPS20,<IFN FTJSYS,>

IF1,<
	TOPS10	<PRINTX [Assembling ACTSYM-10]>
	TOPS20	<PRINTX [Assembling ACTSYM-20]>
>

DEFINE ND(SYM,VAL),<IFDEF SYM,<SYM=SYM> IFNDEF SYM,<SYM==<VAL>>>
SUBTTL	Edit history


; Revisions from the original TOPS-10 ACTSYM
;
;34	MAKE MAGTAPE CONTROLLER TYPE (DEFUS 272) 3 CHARACTERS INSTEAD OF 2 FOR
;	COMPATABILITY WITH TOPS-20.  SINCE TOPS-10 IS IS FIELD TEST WHEN THIS
;	WAS DISCOVERED, CHANGE THE -10 RATHER THAN THE -20 AS LESS USERS ARE
;	IMPACTED.
;33	DEFINE ACCESS CONTROL FUNCTIONS (UGACC$ AND UGOUP$)
;32	ADD ASSEMBLY PARAMETER (TOPS10) FOR NUMBER OF WORDS PER LOGICAL DISK
;	BLOCK IN PROJCT.SYS  THIS ALLOWS FOR MANY ACCOUNT STRINGS PER USER
;31	ADD FEATURE TEST (TOPS10) FOR SELECTING IF LOWER CASE LETTERS ARE TO
;	BE CONVERTED TO UPPER CASE IN ACCOUNT STRINGS.  FTCASECONVERT DEFAULTS
;	TO OFF (THEY ARE NOT TO BE CONVERTED).
;30	ADD DEFS FOR ACTDAE RETURNING THE ACCOUNT STRING IN IPCF OR RESPONSE
;27	DEFINITION FOR LENGTH OF UM$TXT, UF$TXT, UD$TXT SHOULD BE 10 WORDS
;	FOR IPCF MESSAGES FOR MOUNTS AND DISMOUNTS
;26	ADD DEFUS FOR DEVICE NAME IN MAG/DECTAPE MOUNT RECORDS
;25	CORRECT DEFINITIONS FOR ACCT.SYS SYMBOLS
;24	ADD TARGET JOB NUMBER TO LOGIN ATTACH MESSAGE
;23	ADD NEW CONVERSION TYPE .USPDT = OLD STYLE TOPS-10 DATE/TIME
;22	ADD DEFINITION OF DISK USAGE IPCF MESSAGE FROM BACKUP
;21	CHANGE DEFUS 304 FROM "DST" TO "DSQ" CAUSE "DST" CONFLICTS WITH TOPS-20
;20	ADD DEFUS 326 (PACK ID) AND 327 (B06) FOR TOPS10 DISK SPINDLE USAGE
;17	Add GALAXY type header to all device messages.
;16	Add general nak definition.
;15	Add device entry support.
;14	The terminal designator was not included in the
;	LOGIN and ATTACH messages.
;13	Add IPCF messages UGEBC$ and UGUFC$ for billing
;	closures and USAGE file closures.
;12	FIX DEFUS NUMBER 11, TOPS10 USER NAME TO SIXBIT, 6 CHARACTERS
;	AND ADD DEFUS NUMBER 324, TOPS10 USER NAME.  TOPS10 USER NAME IS REALLY
;	TWO SIXBIT WORDS.
;11	ADD TOPS10 ACCT.SYS SYMBOLS FOR THE ACTDAE.
;V2(10)	ADD TOPS10 IPCF SYMBOLS FOR THE ACTDAE.
; Revisions from the original TOPS-20 ACTSYM
;
;<4.UTILITIES>ACTSYM.MAC.10, 16-Aug-79 11:11:26, Edit by KONEN
;correct length of some tape entries
;<4.UTILITIES>ACTSYM.MAC.9,  6-Apr-79 09:44:47, Edit by KONEN
;ADD ELAPSED USE TIME FOR STRUCTURE AND TAPE ACCOUNTING
;<4.UTILITIES>ACTSYM.MAC.8, 10-Mar-79 13:30:29, EDIT BY KONEN
;UPDATE COPYRIGHT FOR RELEASE 4
;<4.UTILITIES>ACTSYM.MAC.7,  9-Feb-79 23:48:47, EDIT BY ZIMA
;TCO 4.2168 - Fix USAGE. macro to always generate two words
;<4.UTILITIES>ACTSYM.MAC.6, 20-Dec-78 14:49:49, EDIT BY HURLEY.CALVIN
; Add definitions for ARCHIVE/VIRTUAL-DISK USAGE entries
;<4.UTILITIES>ACTSYM.MAC.5, 14-Dec-78 15:55:28, Edit by KONEN
;ADD TAPE READ AND WRITE ERRORS TO USAGE INFO
;<4.UTILITIES>ACTSYM.MAC.4, 28-Nov-78 10:23:22, Edit by KONEN
;ADD SIXBIT STRUCTURE NAME TO AVOID CHANGING MONITOR TO ALLOW THREE
;ASCII STRINGS
;<4.UTILITIES>ACTSYM.MAC.3, 24-Nov-78 17:54:03, Edit by KONEN
;ADD MORE TAPE MOUNT FIELDS
;<KONEN>ACTSYM.MAC.3, 20-Aug-78 15:01:21, Edit by KONEN
;ADD STRUCTURE AND TAPE USAGE DEFINITIONS
; Revisions for the combined TOPS-10/TOPS-20 ACYSTM
;
;Edit	  Date  	Explanation
;----	--------	-----------
;
;0035	22-Jul-81/DPM	Merge TOPS-10 and TOPS-20 ACYSYMs. Include the old
;			edit histories from the two files. Put feature
;			tests around the system dependant definitions.
;Version 3 ACTSYM from this point
;0036	14-Nov-83/TARL	Change symbols to reflect version 5 ACCT.SYS.
;
;0037	30-Aug-84/TARL	Increase AE symbols by one to allow version number
;			of ACCT in first word returned by queue.
;
;0040	12-Dec-84/LWS	Add UG.CNQ (number of contexts) and UG.CPQ
;			(idle contexts page limit) profile change functions.
;
;0041	15-Apr-85/TL	Add new symbols and such during RMS conversion.
;
;0042	21-Aug-85/DPM	Add symbols for new wildcard message.
;
;0043	29-Aug-85/DPM	Add DIU-10 record definitions.  Move timer interval
;			and file protection definitions into ACTDAE where
;			they belong.
;
;0044	16-Sep-85/DPM	Add definitions for user PPN/name mapping.  New
;			function is UGMAP$ and message offsets are UU$xxx.
;
;0045	 4-Nov-85/DPM	Define version 6 profile format.  Remove version
;			5 definitions.
;
;0046	19-Nov-85/RCB	Define new UGCUP$ message for version 6 profile
;			format.  Also define new select block format.
;
;0047	28-Jan-86/DPM	Define UV$MAX for the benifit of QUASAR who can't
;			count.
;0050	28-Oct-86/RCB	Define ACxxx% error codes for ACTDAE and FAILUR.LOG.
;
;0051	 7-Sep-87/LWS	Add UC$PRF offset in "validate acct string and
;			return profile" msg. Offset will contain UGTRU$
;			or UGFAL$ indicating if profile is present or not.
;			Also correctly define .AEMAX so a profile will be
;			able to fit in a page in the ack of above message.
SUBTTL	PARAMETERS FOR USAGE ITEM DESCRIPTORS

;FIELDS IN DATA ITEM DESCRIPTOR

US%FLG==:77B5			;FLAGS
    US%IMM==:1B0		; 1 - IMMEDIATE DATA ITEM
				; 0 - ADDRESS OF DATA ITEM
US%TYP==:77B11			;TYPE CODE
    .USASC==:0			;ASCII
    .USSIX==:1			;SIXBIT
    .USOCT==:2			;OCTAL
    .USDEC==:3			;DECIMAL
    .USDAT==:4			;DATE-TIME
    .USTAB==:5			;TABLE (SPECIAL FORM)
    .USVER==:6			;VERSION NUMBER
    .USSPC==:7			;SPACE FILL
    .USPDT==:10			;OLD STYLE TOPS-10 DATE/TIME

US%LEN==:777B20			;LENGTH
US%COD==:77777B35		;ITEM CODE

;RECORD TYPE CODES

	RADIX 10		;**** NOTE RADIX 10 ****

.UTRST==:1			;SYSTEM RESTART ENTRY
.UTSEN==:2			;SESSION ENTRY
.UTCKP==:3			;CHECKPOINT ENTRY (SYSTEM RESTART)
.UTUSB==:4			;FIRST ENTRY OF USAGE FILE (SAME AS .UTRST)
.UTTAD==:5			;DATE-TIME CHANGE
.UTBAT==:6			;BATCH PROCESSOR
.UTINP==:7			;INPUT SPOOLER ENTRY
.UTOUT==:8			;OUTPUT SPOOLER ENTRY
.UTFLU==:9			;FILE USAGE DIRECTORY ENTRY
.UTDSU==:10			;DISK SPINDLE USAGE ENTRY
.UTMNT==:11			;STRUCTURE MOUNT ENTRY
.UTMMT==:12			;TAPE MOUNT ENTRY
.UTDMT==:13			;DECtape MOUNT ENTRY
.UTFCM==:14			;FILE COMMAND ENTRY
.UTRET==:15			; File retrieved
.UTARC==:16			; File archived
.UTMIG==:17			; File migrated
.UTCOL==:18			; File collected
.UTDIU==:19			; DIU request

.UTUSR==:5000			;USER-DEFINED ENTRY TYPES ARE 5000-9999

	RADIX 8			;**** END OF RADIX 10 ****
COMMENT &

	The format of the data to be passed to the accounting system
will consist of a list of items describing the entries in a single
record.

The record descriptor list will have a header containing the record
type code and the record version information.

Format of a record descriptor:

	!=======================================================!
	!  DEC ver.   !  CUST ver.  !        Entry Type         !
	!-------------------------------------------------------!
	! Flags  !  Type  !   Length    !       Item Code       !
	!-------------------------------------------------------!
	!           Data or Address (-1 for default)            !
	!-------------------------------------------------------!
	\                           .                           \
	\                           .                           \
	\                           .                           \
	!-------------------------------------------------------!
	!                 0 (Marks end of list)                 !
	!=======================================================!


	The generation of these tables will be controlled by the
UITEM. macro. All known data items will have a name generated by
the use of this macro. If any application dependent items are needed
the UITEM. macro may be used to generate the new item. The USENT.
macro may be used to generate the first word of the entry descriptor
table.

All USAGE entry headers and the system-defined USAGE entry types use the
specific item types and these items are ordered by the system.

Installation-defined USAGE entries (with entry types above .UTUSR - 5000 to
9999) use the arbitrary data items (USUAS., USUSX., USUDC., USUOC., USUVR.,
USUDT., and USUSP.) in the order in which they are to be written into the
USAGE entry record.  Each arbitrary data record must be preceded by a
USUAR. item.

Example of installation-defined USAGE entry:

;The following code writes a USAGE entry for a fictitious "file access count"
; in a user program.  This program must be running as an enabled OPERATOR or
; WHEEL.

;Here to write USAGE entry for file access count

	MOVEI T1,.USENT		;USAGE function to write entry
	MOVEI T2,FILRDB		;Address of Record Descriptor Block
	USAGE			;Write the entry
	 ERJMP USGERR		;Failed to write entry-- do something else
	JRST USGOK		;Entry written-- go on

;Record descriptor block for file access count accounting

FILRDB:
	USENT. (.UTUSR+12,1,1)	;Entry type 5012= file access count.
	USPVR. (<BYTE(3)VWHO(9)VMAJOR(6)VMINOR(18)VEDIT>,US%IMM) ;Version
				;  of this program (for header record).

	USUAR.			;Start of first arbitrary record.
	USUAS. ([ASCII \This appears in every entry\],,27) ;Text.
	USUSP. (,,5)		;Space fill, 5 characters.
	USUDC. (FILCNT,,6)	;Count of file accesses, 000000-999999.

	USUAR.			;Start of second arbitrary record.
	USUSX. (<SIXBIT \FILE: \>,US%IMM,6) ;SIXBIT text for filename.
	USUAS. (FILNAM,,200)	;File name, 200 characters.

	EXP 0			;End of entry.

;Storage

FILCNT:	BLOCK 1			;File access count
FILNAM:	BLOCK ^D<200/5>		;File name text

&	;;; End of comment
SUBTTL UITEM. / USENT. / USAGE. DEFINITIONS

	SALL

DEFINE UITEM. (NAME,TYPE,LEN) <
    DEFINE US'NAME'. (DATA<-1>,IMMED<0>,ULEN<LEN>) <
	USAGE. (.US'NAME,ULEN,TYPE,IMMED,<DATA>)
    >
>

DEFINE USENT. (ETYPE,DVER,CVER) <
	BYTE (9) ^D<DVER>,^D<CVER> (18) ^D<ETYPE>
>

DEFINE USAGE. (CODE,LENGTH,TYPE,FLAGS,DATUM) <
	FLAGS+<TYPE>B11+<^D<LENGTH>>B20+CODE
    IFB  <DATUM>,<-1>
    IFNB <DATUM>,<DATUM>
>

DEFINE USDSK. (TABLE) <
	USAGE. (.USDST,0,.USTAB,US%IMM,<TABLE>)
>
SUBTTL USAGE. ITEM-CODE DEFINITIONS

DEFINE USLIST <

DEFUS (JNO,0,.USDEC,4)		;JOB NUMBER
DEFUS (TAD,1,.USDAT,14)		;CURRENT DATE/TIME
DEFUS (TRM,2,.USASC,1)		;TERMINAL DESIGNATOR
DEFUS (LNO,3,.USOCT,4)		;LINE NUMBER
DEFUS (PNM,4,.USSIX,6)		;PROGRAM NAME (CALLER)
DEFUS (PVR,5,.USVER,15)		;PROGRAM VERSION
DEFUS (AMV,6,.USVER,15)		;ACCOUNTING MODULE VERSION
DEFUS (NOD,7,.USSIX,6)		;CALLER'S LOCATION
DEFUS (PPN,10,.USOCT,12)	;PROJECT / PROGRAMMER NUMBER (TOPS10 ONLY)
DEFUS (NM1,11,.USSIX,6)		;NAME OF USER (TOPS10)
DEFUS (SNM,12,.USASC,39)	;SYSTEM NAME
DEFUS (MVR,13,.USVER,15)	;MONITOR VERSION NUMBER
DEFUS (MBD,14,.USDAT,14)	;MONITOR BUILD DATE
DEFUS (MUP,15,.USDEC,18)	;MONITOR UPTIME (IN SECONDS)
DEFUS (ACT,16,.USASC,39)	;ACCOUNT STRING
DEFUS (LCK,17,.USDAT,14)	;TIME OF LAST CHECKPOINT
DEFUS (RTM,20,.USDEC,9)		;RUNTIME IN MS
DEFUS (CTI,21,.USDEC,11)	;CORE-TIME INTEGRAL (TOPS10 ONLY)
DEFUS (SST,22,.USDAT,14)	;SESSION START TIME
DEFUS (JTY,23,.USDEC,1)		;JOB TYPE (BATCH / TIMESHARING)
DEFUS (BJN,24,.USSIX,6)		;BATCH JOB NAME
DEFUS (BSN,25,.USDEC,6)		;BATCH SEQUENCE NUMBER
DEFUS (COM,26,.USASC,39)	;USER COMMENT
DEFUS (DKR,27,.USDEC,8)		;DISK READS
DEFUS (DKW,30,.USDEC,8)		;DISK WRITES
DEFUS (VTI,31,.USDEC,11)	;VIRTUAL CORE-TIME INTEGRAL
DEFUS (EBX,32,.USDEC,9)		;EBOX MEGACOUNTS (CYCLES * 10^6)
DEFUS (MBX,33,.USDEC,9)		;MBOX MEGACOUNTS (CYCLES * 10^6)
DEFUS (MCL,34,.USDEC,6)		;MONITOR CALLS
DEFUS (MCM,35,.USDEC,6)		;MONITOR COMMANDS
DEFUS (SCL,36,.USDEC,3)		;SCHEDULING CLASS
DEFUS (TYI,37,.USDEC,6)		;TTY INPUT CHARACTERS
DEFUS (TYO,40,.USDEC,6)		;TTY OUTPUT CHARACTERS
DEFUS (TYW,41,.USDEC,6)		;TTY WAKEUPS
DEFUS (CPN,42,.USDEC,1)		;NUMBER OF CPUS
DEFUS (CP0,43,.USDEC,4)		;SERIAL NUMBER OF CPU0
DEFUS (CP1,44,.USDEC,4)		;SERIAL NUMBER OF CPU1
DEFUS (CP2,45,.USDEC,4)		;SERIAL NUMBER OF CPU2
DEFUS (CP3,46,.USDEC,4)		;SERIAL NUMBER OF CPU3
DEFUS (CP4,47,.USDEC,4)		;SERIAL NUMBER OF CPU4
DEFUS (CP5,50,.USDEC,4)		;SERIAL NUMBER OF CPU5
DEFUS (RQQ,51,.USDEC,11)	;RUN QUEUE QUOTIENT (TOPS10 ONLY)
DEFUS (NM2,52,.USASC,39)	;NAME OF USER (TOPS20)
DEFUS (CCT,53,.USDEC,7)		;CONSOLE CONNECT TIME (SECONDS)
DEFUS (DTL,54,.USDAT,14)	;DATE/TIME BEFORE CHANGE (STAD)
;DISK UTILIZATION RECORD ENTRIES

DEFUS (NRF,55,.USDEC,3)		;NUMBER OF RECORDS FOLLOWING
DEFUS (TAL,56,.USDEC,10)	;TOTAL ALLOCATED STORAGE
DEFUS (TUS,57,.USDEC,10)	;TOTAL STORAGE USED
DEFUS (TNF,60,.USDEC,5)		;TOTAL NUMBER OF FILES
DEFUS (STR,61,.USASC,6)		;STRUCTURE NAME
DEFUS (STP,62,.USDEC,1)		;STRUCTURE TYPE CODE
DEFUS (KTP,63,.USDEC,3)		;CONTROLLER TYPE
DEFUS (DTP,64,.USDEC,3)		;DEVICE TYPE
DEFUS (LIQ,65,.USDEC,6)		;LOGGED IN QUOTA
DEFUS (LOQ,66,.USDEC,6)		;LOGGED OUT QUOTA
DEFUS (LLI,67,.USDAT,14)	;LAST LOGGED IN DATE/TIME
DEFUS (LAT,70,.USDAT,14)	;LAST DISK ACCOUNTING DATE/TIME
DEFUS (EXP,71,.USASC,1)		;EXPIRED DIRECTORY (Y/N)
DEFUS (DIR,72,.USASC,39)	;DIRECTORY NAME
DEFUS (ALC,73,.USDEC,10)	;ALLOCATED STORAGE
DEFUS (USG,74,.USDEC,10)	;STORAGE USED
DEFUS (FIL,75,.USDEC,5)		;NUMBER OF FILES
DEFUS (FON,76,.USASC,1)		;FILES ONLY INDICATOR (Y/N)

;SPOOLER INFORMATION RECORD ENTRIES

DEFUS (SRT,77,.USDEC,9)		;SPOOLER RUNTIME
DEFUS (SCI,100,.USDEC,11)	;CORE-TIME INTEGRAL
DEFUS (SDR,101,.USDEC,8)	;SPOOLER DISK READS
DEFUS (SDW,102,.USDEC,8)	;SPOOLER DISK WRITES
DEFUS (JNM,103,.USSIX,6)	;JOB NAME
DEFUS (QNM,104,.USSIX,3)	;QUEUE NAME
DEFUS (SDV,105,.USSIX,6)	;PROCESSING DEVICE
DEFUS (SSN,106,.USDEC,6)	;SEQUENCE NUMBER
DEFUS (SUN,107,.USDEC,6)	;SPOOLER UNITS PROCESSED
DEFUS (CRT,110,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (DSP,111,.USSIX,6)	;DISPOSITION
DEFUS (TXT,112,.USASC,39)	;OPR OR SYSTEM TEXT
DEFUS (PRI,113,.USDEC,2)	;PRIORITY
DEFUS (SNF,114,.USDEC,5)	;NUMBER OF FILES PROCESSED
DEFUS (SCD,115,.USDAT,14)	;SCHEDULED DATE/TIME
DEFUS (FRM,116,.USSIX,6)	;FORMS TYPE

;DATE/TIME CHANGE RECORD ENTIRES

DEFUS (OFD,117,.USDEC,7)	;OFFSET IN DAYS
DEFUS (OFS,120,.USDEC,7)	;OFFSET IN SECONDS
DEFUS (ODT,121,.USDAT,14)	;OLD DATE/TIME

;ARBITRARY RECORD ITEM TYPES

DEFUS (UAR,122,.USSPC,0)	;USER-DEFINED ARBITRARY RECORD DELIMITER
DEFUS (UAS,123,.USASC,0)	;USER-DEFINED ASCII STRING
DEFUS (USX,124,.USSIX,0)	;USER-DEFINED SIXBIT STRING
DEFUS (UOC,125,.USOCT,0)	;USER-DEFINED OCTAL NUMBER
DEFUS (UDC,126,.USDEC,0)	;USER-DEFINED DECIMAL NUMBER
DEFUS (UDT,127,.USDAT,14)	;USER-DEFINED DATE AND TIME
DEFUS (UVR,130,.USVER,15)	;USER-DEFINED VERSION (STANDARD FORMAT)
DEFUS (USP,131,.USSPC,0)	;USER-DEFINED SPACE FILL

;STRUCTURE MOUNT RECORD ENTRIES

DEFUS (SSI,132,.USSIX,6)	;SIXBIT STRUCTURE ID
DEFUS (TNP,133,.USDEC,2)	;TOTAL NUMBER OF PACKS
DEFUS (SRV,134,.USDAT,14)	;SERVICED DATE/TIME OF REQUEST
DEFUS (MCT,135,.USDEC,3)	;MOUNT COUNT BEFORE MOUNT
DEFUS (DCT,136,.USDEC,3)	;MOUNT COUNT AFTER DISMOUNT
DEFUS (ATP,137,.USDEC,1)	;ACCESS TYPE

;TAPE MOUNT RECORD ENTRIES

DEFUS (VID,140,.USSIX,6)	;MAGTAPE VOLUME LABEL IN VOL1 LABEL
DEFUS (VSN,141,.USSIX,6)	;VISUAL SERIAL NUMBER
DEFUS (MRF,142,.USDEC,8)	;THOUSANDS OF FRAMES READ
DEFUS (MWF,143,.USDEC,8)	;THOUSANDS OF FRAMES WRITTEN
DEFUS (MLT,144,.USDEC,2)	;LABEL TYPE
DEFUS (MLS,145,.USDEC,1)	;VOLUME LABEL STATE
DEFUS (MRD,146,.USDEC,8)	;NUMBER OF PHYSICAL RECORDS READ
DEFUS (MWR,147,.USDEC,8)	;NUMBER OF PHYSICAL RECORDS WRITTEN
DEFUS (FSI,150,.USSIX,6)	;FILE SET IDENTIFIER
DEFUS (SRE,151,.USDEC,10)	;NUMBER OF SOFT READ ERRORS
DEFUS (SWE,152,.USDEC,10)	;NUMBER OF SOFT WRITE ERRORS
DEFUS (HRE,153,.USDEC,10)	;NUMBER OF HARD READ ERRORS
DEFUS (HWE,154,.USDEC,10)	;NUMBER OF HARD WRITE ERRORS
; Retrieve/archive/migration/collection entries

DEFUS (TP1,155,.USSIX,6)	; Tape ID 1
DEFUS (TS1,156,.USDEC,4)	; Tape saveset #
DEFUS (TF1,157,.USDEC,6)	; Tape file #
DEFUS (TP2,160,.USSIX,6)	; Tape 2 ID
DEFUS (TS2,161,.USDEC,4)	; Tape saveset #
DEFUS (TF2,162,.USDEC,6)	; Tape file #
DEFUS (RSN,163,.USOCT,1)	; Reason offline code
DEFUS (EUT,164,.USDEC,7)	; ELAPSED USE TIME (STRUCTURE AND TAPE)

;BATCH PROCESSOR RECORD ENTRIES

DEFUS (BAC,165,.USASC,39)	;BATCH ACCOUNT STRING
DEFUS (BRN,166,.USDEC,9)	;BATCH RUNTIME
DEFUS (BCT,167,.USDEC,11)	;BATCH CORE-TIME INTEGRAL
DEFUS (BDR,170,.USDEC,8)	;BATCH DISK READS
DEFUS (BDW,171,.USDEC,8)	;BATCH DISK WRITES
DEFUS (BJB,172,.USSIX,6)	;JOB NAME
DEFUS (BSQ,173,.USDEC,6)	;SEQUENCE NUMBER
DEFUS (BDT,174,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (BET,175,.USDAT,14)	;DATE/TIME JOB COULD BE SCHEDULED
DEFUS (BST,176,.USDAT,14)	;DATE/TIME JOB STARTED RUNNING
DEFUS (BDS,177,.USSIX,6)	;DISPOSTITION
DEFUS (BTX,200,.USASC,39)	;TEXT
DEFUS (BPR,201,.USDEC,2)	;PRIORITY OF REQUEST
DEFUS (URE,202,.USDEC,6)	;USER'S RUNTIME ESTIMATE
DEFUS (UAC,203,.USDEC,6)	;USER'S ACTUAL RUNTIME
DEFUS (UCE,204,.USDEC,4)	;USER'S CORE ESTIMATE
DEFUS (UCH,205,.USDEC,4)	;USER'S CORE HIGHWATER MARK
DEFUS (RIN,206,.USDEC,6)	;REQUEST ID NUMBER

;INPUT SPOOLER RECORD ENTRIES

DEFUS (IAC,207,.USASC,39)	;INPUT SPOOLER ACCOUNT STRING
DEFUS (IRN,210,.USDEC,9)	;INPUT SPOOLER RUNTIME
DEFUS (ICT,211,.USDEC,11)	;INPUT SPOOLER CORE-TIME INTERAL
DEFUS (IDR,212,.USDEC,8)	;INPUT SPOOLER DISK READS
DEFUS (IDW,213,.USDEC,8)	;INPUT SPOOLER DISK WRITES
DEFUS (IJN,214,.USSIX,6)	;INPUT SPOOLER JOB NAME
DEFUS (IQN,215,.USSIX,3)	;INPUT SPOOLER QUEUE NAME
DEFUS (IPD,216,.USSIX,6)	;INPUT SPOOLER PROCESSING DEVICE
DEFUS (ISN,217,.USDEC,6)	;INPUT SPOOLER SEQUENCE NUMBER
DEFUS (ICR,220,.USDEC,6)	;INPUT SPOOLER NUMBER OF CARDS READ
DEFUS (ICD,221,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (IDS,222,.USSIX,6)	;DISPOSITION
DEFUS (ITX,223,.USASC,39)	;TEXT
DEFUS (IPR,224,.USDEC,2)	;PRIORITY OF REQUEST
DEFUS (IRI,225,.USDEC,6)	;REQUEST ID NUMBER
DEFUS (ICN,226,.USDEC,7)	;CONNECT TIME

DEFUS (OAC,227,.USASC,39)	;OUTPUT SPOOLER ACCOUNT STRING
DEFUS (ORI,230,.USDEC,6)	;OUTPUT SPOOLER REQUEST ID NUMBER
DEFUS (OCN,231,.USDEC,7)	;OUTPUT SPOOLER CONNECT TIME
DEFUS (DPN,232,.USASC,39)	;DISK USAGE DIRECTORY PPN

;DISK USAGE ACCOUNT STRING RECORD - (DUA)

DEFUS (DAC,233,.USASC,39)	;DUA - ACCOUNT STRING
DEFUS (DPP,232,.USASC,39)	;DUA - PPN/DIRECTORY
DEFUS (DFN,233,.USDEC,5)	;DUA - NUMBER OF FILES
DEFUS (DFS,234,.USSIX,6)	;DUA - FILE STRUCTURE NAME
DEFUS (DFT,235,.USDEC,1)	;DUA - FILE STRUCTURE TYPE
DEFUS (DKT,236,.USDEC,3)	;DUA - CONTROLLER TYPE
DEFUS (DDT,237,.USDEC,3)	;DUA - DEVICE TYPE

;DISK SPINDLE USAGE RECORD

DEFUS (SFS,240,.USSIX,6)	;FILE STRUCTURE NAME
DEFUS (SFT,241,.USDEC,1)	;TYPE OF FILE STRUCTURE
DEFUS (SCT,242,.USDEC,3)	;CONTROLLER TYPE
DEFUS (SDT,243,.USDEC,3)	;DEVICE TYPE
DEFUS (SPI,244,.USASC,12)	;DISK PACK IDENTIFIER
DEFUS (SDU,245,.USSIX,4)	;DISK UNIT NAME
DEFUS (SNP,246,.USDEC,2)	;TOTAL NUMBER OF PACKS IN STRUCTURE
DEFUS (SMN,247,.USDEC,2)	;M OF N PACK COUNT
DEFUS (DTF,250,.USDAT,14)	;DATE/TIME OF FIRST MOUNT
DEFUS (DCC,251,.USDEC,7)	;CONNECT TIME

;USER FILE STRUCTURE MOUNT RECORD (CONT.)

DEFUS (FMA,252,.USASC,39)	;ACCOUNT STRING
DEFUS (FST,254,.USDEC,1)	;TYPE OF FILE STRUCTURE
DEFUS (FCT,255,.USDEC,3)	;CONTROLLER TYPE
DEFUS (FDT,256,.USDEC,3)	;DEVICE TYPE
DEFUS (FDS,257,.USSIX,6)	;DISPOSITION
DEFUS (FOT,260,.USASC,39)	;TEXT
DEFUS (FCD,261,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (FSD,262,.USDAT,14)	;SCHEDULED DATE/TIME OF REQUEST
DEFUS (FCO,263,.USDEC,7)	;CONNECT TIME

;USER MAGTAPE MOUNT RECORD

DEFUS (MAC,264,.USASC,39)	;ACCOUNT STRING
DEFUS (MDS,265,.USSIX,6)	;DISPOSITION
DEFUS (MTX,266,.USASC,39)	;TEXT
DEFUS (MCD,267,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (MSD,270,.USDAT,14)	;SCHEDULED DATE/TIME OF REQUEST
DEFUS (MVD,271,.USDAT,14)	;SERVICED DATE/TIME OF REQUEST
DEFUS (MCO,272,.USDEC,3)	;TYPE OF CONTROLLER
DEFUS (MCN,273,.USDEC,7)	;CONNECT TIME

;USER DECTAPE MOUNT RECORD

DEFUS (DAN,274,.USASC,39)	;ACCOUNT STRING
DEFUS (DVI,275,.USSIX,6)	;DECTAPE VOLUME IDENTIFIER
DEFUS (DRI,276,.USSIX,6)	;DECTAPE REEL IDENTIFIER
DEFUS (DTR,277,.USDEC,8)	;DECTAPE READS
DEFUS (DTW,300,.USDEC,8)	;DECTAPE WRITES
DEFUS (DDS,301,.USSIX,6)	;DISPOSTITION
DEFUS (DTX,302,.USASC,39)	;TEXT
DEFUS (DCE,303,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (DSQ,304,.USDAT,14)	;SCHEDULED DATE/TIME OF REQUEST
DEFUS (DSS,305,.USDAT,14)	;SERVICED DATE/TIME OF REQUEST
DEFUS (DCN,306,.USDEC,7)	;CONNECT TIME

;USER DECTAPE FILE COMMAND RECORD

DEFUS (FAS,307,.USASC,39)	;ACCOUNT STRING
DEFUS (FMR,310,.USDEC,9)	;MOUNT RUNTIME TO PROCESS USER REQUEST
DEFUS (FCI,311,.USDEC,11)	;MOUNT CORE-TIME INTEGRAL
DEFUS (FDR,312,.USDEC,8)	;MOUNT DISK READS
DEFUS (FDW,313,.USDEC,8)	;MOUNT DISK WRITES
DEFUS (FCM,314,.USASC,1)	;TYPE OF FILE COMMAND
DEFUS (FNF,315,.USDEC,2)	;NUMBER OF FILES TRANSFERRED
DEFUS (FDP,316,.USSIX,6)	;DISPOSITION
DEFUS (FTX,317,.USASC,39)	;TEXT
DEFUS (FCQ,320,.USDAT,14)	;CREATION DATE/TIME OF REQUEST
DEFUS (FSH,321,.USDAT,14)	;SCHEDULED DATE/TIME OF REQUEST
DEFUS (FVD,322,.USDAT,14)	;SERVICED DATE/TIME OF REQUEST
DEFUS (FCE,323,.USDEC,7)	;CONNECT TIME


;LATE COMERS

DEFUS (NM3,324,.USSIX,6)	;TOPS-10 - 2ND HALF OF USER NAME (#11 IS 1ST HALF)
DEFUS (B27,325,.USSPC,27)	;SPACE FILL 27 CHARACTERS USED IN TOPS10 TO
				; USE INSTEAD OF PPN/DIRECTORY DEFUSES. THE
				; DEFUS PPN IS USED IN CONJUNCTION WITH THIS ONE.
DEFUS (SID,326,.USSIX,6)	;TOPS-10 - DISK PACK ID (USED INSTEAD OF #244)
DEFUS (B06,327,.USSPC,6)	;SPACE FILL 6 CHARACTERS (USED WITH #326 ABOVE)
DEFUS (UPF,330,.USSIX,1)	;TOPS-10 DISK USAGE - UFD WAS PROTECTED
DEFUS (FPF,331,.USSIX,1)	;TOPS-10 DISK USAGE - SOME FILES WERE PROTECTED
DEFUS (TMA,332,.USSIX,1)	;TOPS-10 DISK USAGE - USER HAS TOO MANY AUNIQUE
				;ACCOUNT STRINGS IN DIRECTORY.  LIMIT IS DEFINED
				;IN IPCF MESSAGE FOR DISK USAGE FROM BACKUP
DEFUS (LLG,333,.USPDT,14)	;TOPS-10 OLD FORMAT DATE/TIME OF LAST LOGIN
DEFUS (DVN,334,.USSIX,6)	;TOPS-10 DEVICE NAME (MAG/DECTAPE MOUNTS)
;**;[36]At DEFUS (DVN,334,.USSIX,6)+1L add one line  JYCW  Mar/7/86
TOPS20 <DEFUS (BRI,335,.USDEC,6);[36]Batch request ID
> ;End of TOPS-20 [52] Put BRI in TOPS-20 conditional

; DIU request entry

TOPS10 <DEFUS (DIZ,335,.USASC,3); Request disposition
> ;End of TOPS-10 [52] Put DIZ in TOPS-10 conditional

DEFUS (DIP,336,.USDEC,2)	; Request priority
DEFUS (DIE,337,.USOCT,12)	; Last error from slave job
DEFUS (DIT,340,.USASC,3)	; Request type
DEFUS (DIX,341,.USDEC,8)	; Number of packets transfered
DEFUS (DIB,342,.USDEC,8)	; Number of blocks read
DEFUS (DIW,343,.USDEC,8)	; Number of blocks written
DEFUS (DIN,344,.USASC,6)	; Request job name
DEFUS (DII,345,.USDEC,6)	; Request ID
DEFUS (DIS,346,.USASC,100)	; Source filespec
DEFUS (DID,347,.USASC,100)	; Destination filespec
DEFUS (DIC,350,.USDAT,14)	; Request creation date/time
DEFUS (DIJ,351,.USDAT,14)	; Date/time request started
DEFUS (DIM,352,.USDEC,9)	; Request runtime in milliseconds
DEFUS (DIQ,353,.USDEC,6)	; Request requeue count

>;;; END OF USLIST
SUBTTL	Macros to define all USAGE. item codes


TOPS10	<

DEFINE UITEM. (NAME,TYPE,LEN) <
	DEFINE US'NAME'. (DATA<-1>,IMMED<0>) <
		USAGE. (.US'NAME,TYPE,IMMED,<DATA>)
	>
>

DEFINE USAGE. (CODE,TYPE,FLAGS,DATUM) <
	IFN TYPE-.USASC,<LENGTH==1>
	IFE TYPE-.USASC,<LENGTH==10
	IFL FLAGS,<PRINTX ?ASCII DATA CANNOT BE IMMEDIATE>>
	IFB <DATUM>,<
	QA.IMM+<LENGTH>B17+CODE
	EXP	-1
	>
	IFNB <DATUM>,<
		IFL FLAGS,<
		QA.IMM+<LENGTH>B17+CODE
		DATUM>
		IFGE FLAGS,<IFIDN <DATUM><-1>,<
		IFE LENGTH-10,<PRINTX ?CANNOT BE DEFAULTED>
		QA.IMM+<LENGTH>B17+CODE
		DATUM>
			   IFDIF <DATUM><-1>,<
		<LENGTH>B17+CODE
		<DATUM>&<37,,777777>>
	>
>
>

DEFINE USENT. (ETYPE,DVER,CVER,LRESP,RESP) <
	FLAGS==0
	IFNB <LRESP>,<IFG LRESP,<FLAGS==QF.RSP>>
	FLAGS+.QUMAE
	0
	LRESP,,RESP
	QA.IMM+<1>B17+.QBAFN
	UGENT$
	QA.IMM+<1>B17+.QBAET
	ETYPE
>

> ;END OF TOPS-10 CONDITIONAL


DEFINE DEFUS (NAM,VAL,TYP,LEN) <
    IF1,<IFDEF .US'NAM,<
	PRINTX .US'NAM ALREADY DEFINED
    >>
	.US'NAM==:VAL
	UITEM. (NAM,TYP,LEN)
>

;EXPAND ALL DEFINITIONS

USLIST

;SPECIAL ITEM TYPE CODE DEFINITIONS

.USDSX==:7776		;STRUCTURE/DIRECTORY INFO WORD (SPECIAL)
.USDST==:7777		;DISK STATISTICS TABLE POINTER
SUBTTL	TOPS-10 IPCF message definitions and formats


TOPS10	< ;START OF A LONG CONDITIONAL

	FTCASECONVERT==:0	;LOWER/UPPER CONVERSION SELECTION FEATURE TEST
				; 0 = DON'T CONVERT
				;-1 =CONVERT LOWER CASE LETTERS TO UPPER CASE

	PRJWPB==400		;SET LOGICAL BLOCK SIZE IN PROJCT.SYS TO 2 DISK

	PRJWPB==<PRJWPB+177>&777600 ;ROUND UP TO NEXT FULL DISK BLOCK

;IPCF TYPES OF MESSAGES SENT TO THE ACCOUNTING DAEMON, ACTDAE.
;	THESE ARE THE ACCOUNTING SUBFUNCTION VALUES TO STORE IN .QBAFN
;	OF THE QUEUE. UUO.  SEE UUOSYM.MAC.

UGVAL$==:1			;VALIDATION MESSAGES
UGLGN$==:2			;LOGIN MESSAGES (USER IS LOGGING IN)
UGSES$==:3			;SESSION MESSAGES (USER TYPED A SESSION COMMAND)
UGATT$==:4			;ATTACH MESSAGES
UGSDT$==:5			;SET DATE/TIME EVENT FROM DAEMON
UGVAC$==:6			;RESPONSE TO ANY MESSAGE IF REQUESTED (??$ACK IS NON-ZERO)
UGENT$==:7			;MAKE AN ENTRY
UGEBC$==:10			;END A BILLING CLOSURE
UGUFC$==:11			;USAGE FILE CLOSURE
UGFDM$==:12			;USER FILE STRUCTURE MOUNT MESSAGE
UGFDD$==:13			;USER FILE STRUCTURE DISMOUNT MESSAGE
UGMGM$==:14			;USER MAGTAPE MOUNT MESSAGE
UGMGD$==:15			;USER MAGTAPE DISMOUNT MESSAGE
UGDTM$==:16			;USER DECTAPE MOUNT MESSAGE
UGDTD$==:17			;USER DECTAPE DISMOUNT MESSAGE
UGSPM$==:20			;DISK PACK SPINDLE SPIN-UP MESSAGE
UGSPD$==:21			;DISK PACK SPINDLE SPIN-DOWN MESSAGE
UGACK$==:22			;GENERAL ACK CODE
UGDUE$==:23			;DISK USAGE FROM BACKUP
UGACC$==:24			;ACCESS CONTROL
UGOUP$==:25			;OBTAIN USER PROFILE
				;26 = UNUSED
UGLGO$==:27			;MONITOR LOGOUT MESSAGE (.IPCSL)
UGVRP$==:30			;VERIFY AND RETURN PROFILE
UGCUP$==:31			;CHANGE USER PROFILE
UGPSW$==:32			;VALIDATE PASSWORD W/O ACCOUNT
UGLOK$==:33			;LOCK USER ACCOUNT FILE (PREVENT CHANGES)
UGUNL$==:34			;UNLOCK USER ACCOUNT FILE
UGVUP$==:35			;VALIDATE ACCOUNT STRING AND RETURN PROFILE
UGSCD$==:36			;REBUILD CLASS SCHEDULAR MAPPINGS
UGWLD$==:37			;GET PROFILE FOR POSSIBLY WILDCARDED PPN/NAME
UGMAP$==:40			;USER PPN/NAME MAPPING

;SUCCESSFUL/UNSUCCESSFUL IPCF MESSAGE CODES

UGTRU$==:1			;SUCCESSFUL MESSAGE
UGFAL$==:2			;FAILURE MESSAGE
;FORMAT OF LOGIN MESSAGE (UGLGN$)

UL$TYP==:0			;TYPE OF MESSAGE
UL$ACK==:UL$TYP+1		;UNIQUE MESSAGE IDENTIFIER
UL$LIN==:UL$ACK+1		;LINE NUMBER
UL$PRG==:UL$LIN+1		;PROGRAM NAME (ALWAYS LOGIN)
UL$VER==:UL$PRG+1		;VERSION OF LOGIN
UL$NOD==:UL$VER+1		;NODE NAME
UL$ACT==:UL$NOD+1		;USER'S ACCOUNT STRING
UL$ACE==:UL$ACT+7		;END OF ACCOUNT STRING
UL$BEG==:UL$ACE+1		;SESSION START DATE/TIME
UL$JTY==:UL$BEG+1		;JOB TYPE
	ULJTI$==:1		;TIMESHARING
	ULJBA$==:2		;BATCH
UL$BNM==:UL$JTY+1		;BATCH JOB NAME
UL$BSQ==:UL$BNM+1		;BATCH SEQUENCE NUMBER
UL$RMK==:UL$BSQ+1		;SESSION REMARK
UL$RME==:UL$RMK+7		;END OF SESSION REMARK
UL$CLS==:UL$RME+1		;SCHEDULING CLASS
UL$PPN==:UL$CLS+1		;PROJECT-PROGRAMMER NUMBER OF USER
UL$NM1==:UL$PPN+1		;FIRST SIX LETTERS OF USER'S NAME
UL$NM2==:UL$NM1+1		;LAST SIX LETTERS OF USER'S NAME
UL$BRI==:UL$NM2+1		;BATCH REQUEST ID
UL$TDE==:UL$BRI+1		;TERMINAL DESIGNATOR

;FORMAT OF SESSION MESSAGE (UGSES$)

US$TYP==:0			;TYPE OF MESSAGE
US$ACK==:US$TYP+1		;UNIQUE MESSAGE IDENTIFIER
US$PRG==:US$ACK+1		;PROGRAM NAME (ALWAYS LOGIN)
US$VER==:US$PRG+1		;VERSION OF LOGIN
US$ACT==:US$VER+1		;USER'S NEW ACCOUNT STRING
US$ACE==:US$ACT+7		;END OF ACCOUNT STRING
US$BEG==:US$ACE+1		;SESSION START DATE/TIME
US$RMK==:US$BEG+1		;NEW SESSION REMARK
US$RME==:US$RMK+7		;END OF SESSION REMARK


;FORMAT OF ATTACH MESSAGES (UGATT$)

UA$TYP==:0			;TYPE OF MESSAGE
UA$ACK==:UA$TYP+1		;UNIQUE MESSAGE IDENTIFIER
UA$LIN==:UA$ACK+1		;LINE NUMBER
UA$PRG==:UA$LIN+1		;PROGRAM NAME (ALWAYS LOGIN)
UA$VER==:UA$PRG+1		;VERSION LOGIN
UA$NOD==:UA$VER+1		;NODE NAME
UA$TDE==:UA$NOD+1		;TERMINAL DESIGNATOR
UA$TJN==:UA$TDE+1		;TARGET JOB NUMBER
;FORMAT OF THE REQUEST FOR VALIDATION MESSAGE (UGVAL$)
;	THIS MESSAGE CAN BE EITHER IPCF OR QUEUE. UUO FORMAT.  THE SAMPLE
;	PROGRAM "VALID" SHOWS AN EXAMPLE FOR USING QUEUE. FOR VALIDATION.

UV$TYP==:0			;TYPE OF MESSAGE
UV$ACK==:1			;GIVEN TO US TO RETURN TO THE REQUESTOR OF VALIDATION
UV$PPN==:2			;PPN TO VALIDATE
UV$ACT==:3			;BEGINNING OF ACCOUNT STRING TO VALIDATE (MAX. OF 8 WORDS)
UV$ACE==:UV$ACT+7		;LAST WORD OF THE ACCOUNT STRING
UV$MAX==:UV$ACE+1		;MAXIMUM LENGTH OF MESSAGE
; FORMAT OF USER MAP MESSAGES (UGMAP$)

UU$TYP==:0			;TYPE OF MESSAGE
UU$ACK==:UU$TYP+1		;UNIQUE MESSAGE IDENTIFIER
UU$CNT==:UU$ACK+1		;COUNT OF USER MAP BLOCKS TO FOLLOW
UU$MAP==:UU$CNT+1		;START OF FIRST MAP BLOCK


; USER MAP BLOCK FORMAT
UU$PPN==:0			;PPN
UU$NAM==:UU$PPN+1		;START OF NAME
UU$LEN==:UU$NAM+12		;LENGTH OF A MAP BLOCK
; FORMAT OF WILDCARD MESSAGES (UGWLD$)

UW$TYP==:0			;TYPE OF MESSAGE
UW$ACK==:UW$TYP+1		;UNIQUE MESSAGE IDENTIFIER
UW$WST==:UW$ACK+1		;WILDCARD SEARCH TYPE
				; 0 = PPN (OPTIONALLY WILD)
				; 1 = NAME (WILD)
				; 2 = NAME (NON-WILD)
UW$BUI==:UW$WST+1		;BEGINING OF TARGET USER-ID (PPN/NAME)
UW$EUI==:UW$BUI+24-1		;END TARGET USER-ID (PPN/NAME)
UW$BRE==:UW$EUI+1		;BEGINING OF RESULTING USER-ID (PPN/NAME)
UW$ERE==:UW$BRE+12-1		;END RESULTING USER-ID (PPN/NAME)
UW$FND==:UW$ERE+1		;COUNT OF PPNS/NAMES FOUND
				; *** USED ONLY FOR ERROR TEXT GENERATION ***
UW$SEL==:UW$FND+1		;NUMBER OF SELECTION BLOCKS
UW$MIN==:UW$SEL+1		;MINIMUM LENGTH OF BLOCK
UW$DAT==:UW$MIN			;FIRST DATA BLOCK


; PPN OFFSETS FROM UW$BUI
UW$PPN==:UW$BUI			;TARGET PPN
UW$PPM==:UW$PPN+1		;TARGET PPN MASK


; NAME OFFSETS FROM UW$BUI
UW$NAM==:UW$BUI			;TARGET 8-BIT ASCIZ NAME


; SELECTION DATA BLOCK FORMAT
;	BYTE(9) 0 (9) LEN (18) AF.??? ! .AE???
;	DATA WORD 0
;	DATA WORD 1
;	DATA WORD LEN-1
;
; WHERE:
;	FNC	FUNCTION CODE (1 = AND, 2 = OR, 3 = NOT) IN FIELD AF.SEL
;	LEN	LENGTH OF SUB-BLOCK INCLUDING HEADER WORD
;	.AE???	SUB-BLOCK CODE
;
; THIS IS IDENTICAL TO THE SELECT BLOCK FORMAT FOR UGCUP$
;FORMAT OF THE ANSWER TO A MESSAGE (UGVAC$)

UC$TYP==:0			;TYPE OF MESSAGE
UC$RES==:1			;RESPONSE -- EITHER UGTRU$ OR UGFAL$
UC$ACK==:2			;CODE TO RETURN TO THE REQUESTOR OF VALIDATION
UC$ERR==:3			;BEGINNING OF ASCIZ ERROR MESSAGE
UC$ACT==:UC$ERR			;ACCOUNT STRING RETURNED IF VALIDATION SUCCESS
UC$ACE==:UC$ACT+7		;LAST WORD OF THE ACCOUNT STRING
UC$PRF==:UC$ACE+10		;[51] PROFILE PRESENT FLAG
UC$PRO==:UC$PRF+1		;[51] START OF USER PROFILE IF UGVUP$ ACK
UC$PRE==:UC$PRO+.AEMAX-1-UC$PRO	;LAST WORD OF PROFILE

;FORMAT OF THE SET DATE/TIME EVENT MESSAGE FROM DAEMON (UGSDT$)

UD$TYP==:0			;TYPE OF MESSAGE
UD$OFF==:1			;TIME OFFSET OF COMMAND
UD$ODT==:2			;OLD DATE/TIME
UD$PRG==:3			;NAME OF PROGRAM SENDING MESSAGE (DAEMON)
UD$VER==:4			;VERSION OF PROGRAM SENDING MESSAGE (DAEMON VERSION #)

;FORMAT OF "MAKE AN ENTRY" MESSAGE (UGENT$).

;	THIS MESSAGE IS ONLY GENERATED VIA THE QUEUE. UUO.  SEE SAMPLE PROGRAM
;	"USRENT" FOR AN EXAMPLE OF IT'S USE.
;FORMAT OF THE FIRST THREE WORDS OF ALL MOUNT AND DISMOUNT MESSAGES TO
;	CONFORM TO GALAXY-TYPE HEADER.

UX$TYP==0			;TYPE OF MESSAGE
UX$FLG==1			;FLAGS WORD
UX$COD==2			;ACK CODE

;FORMAT OF A USER FILE STRUCTURE MOUNT MESSAGE - UGFDM$

UF$DEV==:UX$COD+1		;DEVICE NAME IN SIXBIT
UF$JOB==:UF$DEV+1		;JOB NUMBER OF USER
UF$TRD==:UF$JOB+1		;TERMINAL DESIGNATOR
UF$TNO==:UF$TRD+1		;LINE NUMBER
UF$PNM==:UF$TNO+1		;NAME OF PROGRAM (USUALLY PULSAR)
UF$PVR==:UF$PNM+1		;VERSION OF PROGRAM (USUALLY PULSAR)
UF$NOD==:UF$PVR+1		;NODE NAME OF USER'S LOCATION
UF$ACT==:UF$NOD+1		;USER'S ACCOUNT STRING
UF$ACE==:UF$ACT+7		;END OF ACCOUNT STRING
UF$PPN==:UF$ACE+1		;PROJECT-PROGRAMMER NUMBER OF USER
UF$NM1==:UF$PPN+1		;FIRST SIX LETTER OF USER'S NAME
UF$NM2==:UF$NM1+1		;LAST SIX LETTERS OF USER'S NAME
UF$STY==:UF$NM2+1		;TYPE OF FILE STRUCTURE
UF$PNO==:UF$STY+1		;NUMBER OF PACKS IN FILE STRUCTURE
UF$CTY==:UF$PNO+1		;CONTROLLER TYPE
UF$DTY==:UF$CTY+1		;DEVICE TYPE
UF$DSP==:UF$DTY+1		;DISPOSITION
UF$TXT==:UF$DSP+1		;TEXT TO EXPLAIN DISPOSITION
UF$CDT==:UF$TXT+10		;CREATION DATE/TIME OF MOUNT REQUEST
UF$SDT==:UF$CDT+1		;SCHEDULED DATE/TIME OF MOUNT REQUEST
UF$VDT==:UF$SDT+1		;SERVICED DATE/TIME OF MOUNT REQUEST
UF$CBR==:UF$VDT+1		;MOUNT COUNT BEFORE REQUEST
UF$ACC==:UF$CBR+1		;ACCESS TYPE

;FORMAT OF USER FILE STRUCTURE DISMOUNT MESSAGE (UGFDD$).  THE FOLLOWING
;	IS APPENDED TO THE MOUNT MESSAGE.

UF$SCT==:UF$ACC+1		;MOUNT COUNT AFTER DISMOUNT
;FORMAT OF USER MAGTAPE MOUNT MESSAGE - UGMGM$

UM$DEV==:UX$COD+1		;DEVICE NAME IN SIXBIT
UM$JOB==:UM$DEV+1		;JOB NUMBER OF USER
UM$TRD==:UM$JOB+1		;TERMINAL DESIGNATOR
UM$TNO==:UM$TRD+1		;LINE NUMBER
UM$PNM==:UM$TNO+1		;NAME OF PROGRAM (USUALLY PULSAR)
UM$PVR==:UM$PNM+1		;VERSION OF PROGRAM (USUALLY PULSAR)
UM$NOD==:UM$PVR+1		;NODE NAME OF USER'S LOCATION
UM$ACT==:UM$NOD+1		;ACCOUNT STRING
UM$ACE==:UM$ACT+7		;END OF ACCOUNT STRING
UM$PPN==:UM$ACE+1		;PROJECT-PROGRAMMER NUMBER OF USER
UM$NM1==:UM$PPN+1		;FIRST SIX LETTERS OF USER'S NAME
UM$NM2==:UM$NM1+1		;LAST SIX LETTERS OF USER'S NAME
UM$CTY==:UM$NM2+1		;CONTROLLER TYPE
UM$DSP==:UM$CTY+1		;DISPOSITION
UM$TXT==:UM$DSP+1		;TEXT TO EXPLAIN DISPOSITION
UM$CDT==:UM$TXT+10		;CREATION DATE/TIME OF MOUNT REQUEST
UM$SDT==:UM$CDT+1		;SCHEDULED DATE/TIME OF MOUNT REQUEST
UM$VDT==:UM$SDT+1		;SERVICED DATE/TIME OF MOUNT REQUEST
UM$VID==:UM$VDT+1		;VOLUME ID RECORDED IN VOL1 LABEL
UM$RID==:UM$VID+1		;REEL ID VISUAL LABEL OF TAPE
UM$LTY==:UM$RID+1		;LABEL TYPE
UM$LST==:UM$LTY+1		;VOLUME LABEL STATE
UM$FSI==:UM$LST+1		;FILE SET IDENTIFIER

;FORMAT OF A USER MAGTAPE DISMOUNT MESSAGE (UGMGD$).  THE FOLLOWING IS
;	APPENDED TO THE MOUNT MESSAGE.

UM$MRD==:UM$FSI+1		;MAGTAPE READS - THOUSANDS OF CHARACTERS
UM$MWR==:UM$MRD+1		;MAGTAPE WRITES - THOUSANDS OF CHARACTERS
UM$RRD==:UM$MWR+1		;PHYSICAL RECORDS READ
UM$RWR==:UM$RRD+1		;PHYSICAL RECORDS WRITTEN
UM$SRE==:UM$RWR+1		;SOFT READ ERRORS
UM$SWE==:UM$SRE+1		;SOFT WRITE ERRORS
UM$HRE==:UM$SWE+1		;HARD READ ERRORS
UM$HWE==:UM$HRE+1		;HARD WRITE ERRORS
;FORMAT OF A USER DECTAPE MOUNT MESSAGE - UGDTM$

UD$DEV==:UX$COD+1		;DEVICE NAME IN SIXBIT
UD$JOB==:UD$DEV+1		;JOB NUMBER OF USER
UD$TRD==:UD$JOB+1		;TERMINAL DESIGNATOR
UD$TNO==:UD$TRD+1		;LINE NUMBER
UD$PNM==:UD$TNO+1		;NAME OF PROGRAM (USUALLY PULSAR)
UD$PVR==:UD$PNM+1		;VERSION OF PROGRAM (USUALLY PULSAR)
UD$NOD==:UD$PVR+1		;NODE NAME OF USER'S LOCATION
UD$ACT==:UD$NOD+1		;ACCOUNT STRING
UD$ACE==:UD$ACT+7		;END OF ACCOUNT STRING
UD$PPN==:UD$ACE+1		;PROJECT-PROGRAMMER NUMBER OF USER
UD$NM1==:UD$PPN+1		;FIRST SIX LETTERS OF USER'S NAME
UD$NM2==:UD$NM1+1		;LAST SIX LETTERS OF USER'S NAME
UD$DSP==:UD$NM2+1		;DISPOSITION
UD$TXT==:UD$DSP+1		;TEXT TO EXPLAIN DISPOSITION
UD$CDT==:UD$TXT+10		;CREATION DATE/TIME OF MOUNT REQUEST
UD$SDT==:UD$CDT+1		;SCHEDULED DATE/TIME OF MOUNT REQUEST
UD$VDT==:UD$SDT+1		;SERVICED DATE/TIME OF MOUNT REQUEST
UD$VID==:UD$VDT+1		;VOLUME ID RECORDED ON DECTAPE
UD$RID==:UD$VID+1		;REEL ID VISUAL LABEL OF DECTAPE

;FORMAT OF A USER DECTAPE DISMOUNT MESSAGE (UGDTD$).  THE FOLLOWING IS APPENDED
;	TO THE MOUNT MESSAGE.

UD$DRD==:UD$RID+1		;DECTAPE READS - BLOCKS
UD$DWR==:UD$DRD+1		;DECTAPE WRITES - BLOCKS
;FORMAT OF A DISK SPINDLE SPIN-UP MESSAGE - UGSPM$

US$DEV==:UX$COD+1		;DISK UNIT NAME IN SIXBIT
US$JOB==:US$DEV+1		;JOB NUMBER OF PULSAR
US$TRD==:US$JOB+1		;TERMINAL DESIGNATOR
US$TNO==:US$TRD+1		;LINE NUMBER
US$PNM==:US$TNO+1		;NAME OF PROGRAM (USUALLY PULSAR)
US$PVR==:US$PNM+1		;VERSION OF PROGRAM (USUALLY PULSAR)
US$NOD==:US$PVR+1		;NODE NAME OF PULSAR'S LOCATION
US$FSN==:US$NOD+1		;FILE STRUCTURE NAME
US$STY==:US$FSN+1		;FILE STRUCTURE TYPE
US$CTY==:US$STY+1		;CONTROLLER TYPE
US$DTY==:US$CTY+1		;DEVICE TYPE
US$DPI==:US$DTY+1		;DISK PACK IDENTIFIER
US$PNO==:US$DPI+1		;NUMBER OF PACKS IN FILE STRUCTURE
US$MTH==:US$PNO+1		;M OF N COUNT
US$DTM==:US$MTH+1		;DATE/TIME PACK WAS SPUN UP

;FORMAT OF A DISK SPINDLE SPIN-DOWN MESSAGE (UGSPD$) IS THE SAME AS A MOUNT MESSAGE.
;FORMAT OF A DISK USAGE ENTRY FROM BACKUP - UGDUE$

UB$ACN==:UX$COD+1		;NUMBER OF ACCOUNT STRINGS
UB$JOB==:UB$ACN+1		;JOB NUMBER OF BACKUP
UB$TRD==:UB$JOB+1		;TERMINAL DESIGNATOR
UB$TNO==:UB$TRD+1		;TERMINAL NUMBER
UB$NOD==:UB$TNO+1		;NODE NAME
UB$PNM==:UB$NOD+1		;PROGRAM NAME (BACKUP)
UB$PVR==:UB$PNM+1		;PROGRAM VERSION NUMBER
UB$TAU==:UB$PVR+1		;TOTAL ALLOCATED DISK USAGE
UB$TWU==:UB$TAU+1		;TOTAL WRITTEN DISK USAGE
UB$TNF==:UB$TWU+1		;TOTAL NUMBER OF FILES
UB$FSN==:UB$TNF+1		;FILE STRUCTURE NAME
UB$PPN==:UB$FSN+1		;PPN
UB$FST==:UB$PPN+1		;FILE STRUCTURE TYPE
UB$CNT==:UB$FST+1		;CONTROLLER TYPE
UB$DVT==:UB$CNT+1		;DEVICE TYPE
UB$QIN==:UB$DVT+1		;LOGGED IN QUOTA
UB$QOU==:UB$QIN+1		;LOGGED OUT QUOTA
UB$LLG==:UB$QOU+1		;LAST LOGIN DATA/TIME (OLD FORMAT)
UB$LAT==:UB$LLG+1		;LAST ACCOUNTING DATE/TIME
UB$EXP==:UB$LAT+1		;EXPIRED DIRECTORY FLAG
UB$UPF==:UB$EXP+1		;UFD WAS PROTECTED FLAG
UB$FPF==:UB$UPF+1		;SOME FILES WERE PROTECTED FLAG
UB$ABO==:UB$FPF+1		;ACCOUNT STRING BUFFER OVERFLOWED

;THE FOLLOWING 4 ITEMS ARE REPEATED FOR EACH ACCOUNT STRING IN THE UFD

UB$ACT==:UB$ABO+1		;ACCOUNT STRING
UB$BAL==:UB$ACT+10		;BLOCKS ALLOCATED TO THIS ACCOUNT STRING
UB$BWR==:UB$BAL+1		;BLOCKS WRITTEN
UB$NFL==:UB$BWR+1		;FILE WITH THIS ACCOUNT STRING

UB$END==:UB$NFL+1		;LENGTH OF THE IPCF MESSAGE (NOT REALLY)

;COMPUTE THE MAXIMUM NUMBER OF ACCOUNTS STRINGS THAT CAN BE PASSED IN THIS
;	IPCF FORMAT. ONLY 1 IPCF MESSAGE CAN BE USED SO THIS IS IT.

UB$MAC==:<1000-UB$ACT>/<UB$END-UB$ACT>
;FORMAT OF A REQUEST FOR ACCESS CONTROL VALIDATION.

;	THIS MESSAGE IS ONLY AVAILABLE VIA THE QUEUE. UUO.  THE SYMBOLS DEFINED
;	BELOW ARE USED AS THE DATA ITEM DESCRIPTORS FOR THE SUB-FUNCTION BLOCK.
;	SEE THE SAMPLE PROGRAM "ACCCHK" FOR AN EXAMPLE OF IT'S USE.

.UGTYP==:0			;TYPE OF ACCESS CHECK
			;NEGATIVE VALUES RESERVED TO CUSTOMERS

			;UGACC$	-
		  	;UGVRP$ - TYPE OF VERIFY
	UG.VER==:0		;VERIFY PPN, PASSWORD, AND ACCOUNT STRING
	UG.SPV==:1		;SPRINT VERIFY PPN, PASSWORD, AND ACCT STRING
			;UGOUP$ - "NEXT USER" FLAG (FOR WILDCARDING)
	UG.NXT==:4


.UGACT==:1			;ACCOUNT STRING BLOCK
.UGPPN==:2			;PPN BLOCK (A FORM OF USERID)
.UGPSW==:3			;PASSWORD BLOCK
.UGUSR==:4			;USERNAME (ALTERNATE FORM OF USERID)
SUBTTL	TOPS-10 ACCT.SYS entry definitions (OBSOLETE)

;THIS CODE CORRESPONDS TO VERSION 4 ACCT.SYS. THIS HAS BEEN SUPERSEDED BY
;VERSION 5 ACCT.SYS. DO NOT USE THESE SYMBOLS, THEY WILL BE REMOVED NEXT
;RELEASE.

;*** Note *** Still under TOPS-10 conditional

.ACWRD==0	;FIRST WORD OF THE FILE ACCT.SYS
 	AC.VRS==777777B17	;FORMAT VERSION NUMBER OF THE FILE
 		.ACCVN==4	;CURRENT VERSION NUMBER
 	AC.LEN==777777B35	;LENGTH OF EACH ENTRY
 		.ACLEN==16	;VERSION 4 IS 14(10) WORDS LONG

;ACCT.SYS ENTRY FORMAT

.ACPPN==0	;PROJECT PROGRAMMER NUMBER
.ACPSW==1	;PASSWORD IN SIXBIT
.ACPRV==2	;PRIVILEGED BITS
	AC.IPC==1B0	;JOB CAN DO IPCF PRIVILEGED FUNCTIONS
	AC.DSP==3B2	;HIGHEST DISK PRIORITY
	AC.MET==1B3	;JOB CAN DO METER UUO
	AC.POK==1B4	;JOB CAN POKE THE MONITOR
	AC.CPU==1B5	;JOB CAN CHANGE ITS CPU SPECIFICATION
	AC.HPQ==74B9	;HIGHEST HPQ THAT JOB CAN SET
	AC.SPL==1B10	;JOB CAN SET NO SPOOL
	AC.RTT==1B13	;JOB CAN DO REAL TIME TRAPPING (RTTRP.) UUO
	AC.LOK==1B14	;JOB CAN DO LOCK UUO
	AC.TRP==1B15	;JOB CAN DO TRPSET UUO
	AC.SPC==1B16	;JOB CAN PEEK/SPY AT ALL OF CORE
	AC.SPM==1B17	;JOB CAN PEEK/SPY AT THE MONITOR
	AC.CUS==777777B35 ;RESERVED FOR CUSTOMER
.ACNM1==3	;USER'S NAME IN SIXBIT - FIRST WORD
.ACNM2==4	;USER'S NAME IN SIXBIT - SECOND WORD
.ACLIT==5	;TIMES ALLOWED TO LOGIN
	AC.WDH==77777777B23	;WEEKDAY HOURS, 0000-2359
	AC.WEH==7777B35		;WEEKEND HOURS, 2-HOUR SHIFTS 0000-2200
.ACCIP==6	;CORE AND IPCF PARAMETERS
	AC.NPP==777B8	;MAXIMUM NUMBER OF PHYSICAL PAGES
	AC.NVP==777B17	;MAXIMUM NUMBER OF VIRTUAL PAGES
	AC.SND==777B26	;MAXIMUM NUMBER OF SENDS
	AC.RCV==777B35	;MAXIMUM NUMBER OF RECEIVES
.ACPRO==7	;PROFILE BITS
	AC.WDT==1B0	;WATCH DAYTIME
	AC.WRT==1B1	;WATCH RUNTIME
	AC.WWA==1B2	;WATCH WAIT
	AC.RED==1B3	;WATCH READ
	AC.WRI==1B4	;WATCH WRITE
	AC.CDR==1B5	;SPOOL CDR
	AC.CDP==1B6	;SPOOL CDP
	AC.PTP==1B7	;SPOOL PTP
	AC.PLT==1B8	;SPOOL PLT
	AC.LPT==1B9	;SPOOL LPT
	AC.WVR==1B10	;WATCH VERSION
	AC.WMT==1B11	;WATCH MTA
	AC.WFL==1B12	;WATCH FILE
	AC.OPR==7B23	;OPERATOR PRIVILEGE FIELD (SEE UUOSYM FOR SYMBOLS)
		;.OBNOP==0	;NO OPERATOR PRIVILEGES
		;.OBSDP==1	;SYSTEM OPERATOR PRIVILEGES
		;.OBLOP==2	;LOCAL OPERATOR PRIVILEGES
		;.OBROP==3	;REMOTE OPERATOR PRIVILEGES
	AC.RMK==1B24	;REMARK IS REQUIRED
	AC.ACT==1B25	;ACCOUNT IS REQUIRED
	AC.LOC==1B26	;USER MAY LOGIN AT LOCAL TERMINAL
	AC.ROP==1B27	;USER MAY LOGIN AT REMOTE OPR OR CTY
	AC.DST==1B28	;USER MAY LOGIN AT DATA SET TERMINAL
	AC.RMT==1B29	;USER MAY LOGIN AT REMOTE TERMINAL
	AC.SBJ==1B30	;USER MAY LOGIN SUBJOB OF A BATCH JOB
	AC.BAT==1B31	;USER MAY LOGIN UNDER BATCH
	AC.NRT==1B32	;NAME REQUIRED UNDER TIMESHARING
	AC.NRB==1B33	;NAME REQUIRED UNDER BATCH
	AC.PRT==1B34	;PASSWORD REQUIRED FOR TIMESHARING
	AC.PRB==1B35	;PASSWORD REQUIRED FOR BATCH
.ACCUS==10	;CUSTOMER USER PROFILE BITS
.ACPGM==11	;SIXBIT NAME OF PROGRAM TO RUN
.ACDEV==12	;SIXBIT DEVICE FROM WHERE TO RUN PROGRAM
.ACDIR==13	;DIRECTORY FORM WHERE TO RUN PROGRAM
.ACCNO==14	;CHARGE NUMBER
.ACESE==15	;EXPIRATION DATE,,SCHEDULER AND END/DEQ PARAMETERS
		AC.EXP==777777B17	;EXPIRATION DATE
	AC.SCD==777B26		;SCHEDULER TYPE
	AC.EDQ==777B35		;ENQ/DEQ/QUOTA

;*** Note *** END OF OBSOLETE PAGE
SUBTTL	VERSION 6 PROFILE DEFINITIONS


	%AECVN==6		;CURRENT VERSION NUMBER

	ND	.ACWDS,2	;RESERVED WORDS FOR CUSTOMERS.
				;WHEN USING THESE SLOTS, BE SURE TO DECREASE
				;THE VALUE OF .ACWDS ACCORDINGLY, IN ORDER TO
				;AVOID THE NEED TO CONVERT THE ACCOUNTING FILE.

;ACCOUNT STRING DEFINTIONS (7-BIT ASCIZ)
	.AACLC==^D39		;LENGTH IN CHARACTERS
	.AACCW==5		;NUMBER OF CHARACTERS PER WORD
	.AACLW==<.AACLC/.AACCW>+1 ;LENGTH IN WORDS

;ACCOUNTING NAME DEFINITIONS (8-BIT ASCIZ)
	.AANLC==^D39		;LENGTH IN CHARACTERS
	.AANCW==4		;NUMBER OF CHARACTERS PER WORD
	.AANLW==<.AANLC/.AANCW>+1 ;LENGTH IN WORDS

;PASSWORD DEFINITIONS (8-BIT ASCIZ)
	.APWLC==^D39		;LENGTH IN CHARACTERS
	.APWCW==4		;NUMBER OF CHARACTERS PER WORD
	.APWLW==<.APWLC/.APWCW>+1 ;LENGTH IN WORDS

;PERSONAL NAME DEFINITIONS (8-BIT ASCIZ)
	.APNLC==^D39		;LENGTH IN CHARACTERS
	.APNCW==4		;NUMBER OF CHARACTERS PER WORD
	.APNLW==<.APNLC/.APNCW>+1;LENGTH IN WORDS

;DISTRIBUTION LOCATION DEFINITIONS (8-BIT ASCIZ)
	.ADLLC==^D39		;LENGTH IN CHARACTERS
	.ADLCW==4		;NUMBER OF CHARACTERS PER WORD
	.ADLLW==<.ADLLC/.ADLCW>+1 ;LENGTH IN WORDS

;MAIL FORWARDING ADDRESS DEFINITIONS (8-BIT ASCIZ)
	.AMLLC==^D6+^D2+^D39	;LENGTH IN CHARACTERS
	.AMLCW==4		;NUMBER OF CHARACTERS PER WORD
	.AMLLW==<.AMLLC/.AMLCW>+1 ;LENGTH IN WORDS

;DEFAULT LOG FILE DEFINITIONS
	.ALFLW==11		;FDXSIZ-.FDSTR

;PROGRAM-TO-RUN DEFINITIONS
	.APGLW==11		;FDXSIZ-.FDSTR

;AUXACC BLOCK DEFINITIONS
	.AUSTR==0		;STRUCTURE NAME
	.AULIN==1		;LOGGED IN QUOTA ON THIS STRUCTURE
	.AUOUT==2		;LOGGED OUT QUOTA
	.AURES==3		;RESERVED QUOTA
	.AUBIT==4		;STATUS BITS.
	   AU.RON==1B0		   ;READ-ONLY
	   AU.NCR==1B1		   ;NO-CREATE
	   AU.DNM==1B2		   ;DO NOT MOUNT
	.AULEN==5		;LENGTH OF AN AUXACC BLOCK
	.AUMAX==^D36*.AULEN	;MAX # OF WORDS NEEDED

;PROFILE FIELD DEFAULTING BIT MAP DEFINITIONS
	.AMPLW==^D510/^D36	;LENGTH IN WORDS
;VERSION 6 FORMAT PROFILE

;ARGUMENTS TO AE MACRO [AE(NAME,LENGTH,BITS,ROUTINE)]:
;NAME:	THE 3-CHARACTER SUFFIX FOR .AE'NAME
;LENGTH:  IS -1 FOR A BIT-MASKABLE WORD
;	  IS +1 FOR A NON-MASKABLE WORD
;	  IS +N FOR A STATIC BLOCK OF LENGTH N
;	  IS -N FOR AN EXTENSIBLE BLOCK OF MAXIMUM LENGTH OF +N
;	  IS  0 FOR AN OFFSET WITH NO ALLOCATION
;BITS:	ADDITIONAL PD.??? BITS TO BE SET FOR THIS ENTRY
;ROUTINE: SELECTION PROCESSOR FOR THIS ENTRY TYPE


DEFINE AEPROF,<
 AE	VRS,-1,PD.NMD!PD.CND	;;VERSION AND LENGTH OF ACCT ENTRY
 AE	PPN,-1,PD.NMD!PD.CND	;;PROJECT PROGRAMMER NUMBER
 AE	NAM,.AANLW,PD.CND	;;8-BIT ASCIZ USER NAME
 AE	PSW,-.APWLW,PD.NSL!PD.UNP!PD.CND!PD.NDI	;;AOBJN POINTER TO PASSWORD
 AE	PRV,-1			;;STANDARD PRIVILEGE WORD
 AE	PRX,-1			;;EXTENDED PRIVILEGE WORD
 AE	LGT,-1			;;TIMES ALLOWED TO LOGIN
 AE	COR,-1			;;CORE PARAMETERS
 AE	IPC,-1			;;IPCF QUOTAS
 AE	ENQ,1			;;ENQ/DEQ QUOTAS
 AE	CTX,-1			;;CONTEXT QUOTAS
 AE	WCH,-1,PD.UNP		;;WATCH BITS
 AE	ACC,-1			;;ACCESS TYPES
 AE	REQ,-1			;;REQUIREMENTS
 AE	SPL,-1			;;SPOOLED DEVICE BITS
 AE	SCD,-1			;;SCHEDULER DATA
 AE	EXP,1			;;PROFILE/UFD EXPIRATION UNIVERSAL DATE/TIME
 AE	DEF,-1,PD.CND		;;PPN OF DEFAULT PROFILE
 AE	MAP,.AMPLW,PD.NMD!PD.CND!PD.NSL	;;PROFILE FIELD DEFAULTING BIT MAP
 AE	FLG,-1,PD.NMD!PD.CND	;;PROFILE FLAGS
 AE	FAI,1,PD.NMD!PD.CND	;;LAST PASSWORD VALIDATION FAILURE TIME (UDT)
 AE	PCT,1			;;PASSWORD CHANGE REQUIRED UDT
 AE	LPC,1,PD.NMD!PD.CND	;;UDT OF LAST PASSWORD CHANGE
 AE	PAP,-1,PD.NMD!PD.CND	;;PROFILE CHANGE PPN
 AE	TIM,1,PD.NMD!PD.CND	;;PROFILE CHANGE UNIVERSAL DATE/TIME
 AE	PGR,-.APGLW		;;AOBJN POINTER TO PROGRAM-TO-RUN FILESPEC
 AE	BOX,-.ADLLW,PD.UNP	;;AOBJN POINTER TO DISTRIBUTION LOCATION TEXT
 AE	PNM,-.APNLW,PD.UNP	;;AOBJN POINTER TO PERSONAL NAME TEXT
 AE	MAI,-.AMLLW,PD.UNP	;;AOBJN POINTER TO MAIL FOWARDING ADDRESS TEXT
 AE	LOG,-.ALFLW		;;AOBJN POINTER TO DEFAULT LOG FILE
 AE	AUX,-.AUMAX,,UGAUX%	;;AOBJN POINTER TO AUXACC DATA
 AE	ACS,-.AACLW,PD.NMD!PD.CND	;;AOBJN POINTER TO REQUESTED ACCOUNT STRING
 AE	DEC,2,PD.NMD		;;RESERVED TO DEC FOR MAINTENANCE EDITS
 AE	CUS,.ACWDS,PD.NMD	;;RESERVED TO CUSTOMER
 AE	MIN,0			;;MINIMUM LENGTH OF PROFILE
> ;END DEFINE AEPROF

DEFINE AE(NAM,LEN,BTS,RTN),<
.AE'NAM:!
	IFL <LEN>,<BLOCK 1>
	IFG <LEN>,<BLOCK <LEN>>
	IFL <LEN>+1,<$AEFLT==$AEFLT-<LEN>>
>

	$AEFLT==0		;FLOATING ALLOCATION LENGTH
	.ORG	0
AEPROF
	.ORG

.AEMAX==^D512-UC$PRF-1		;[51] ABSOLUTE MAXIMUM LENGTH OF A PROFILE
$AEMAX==.AEMIN+$AEFLT		;CURRENT MAXIMUM LENGTH OF A PROFILE

IFL <.AEMAX-$AEMAX>,<
	IF1,<PRINTX ? PROFILE LENGTH EXCEEDS ABSOLUTE MAXIMUM LENGTH>
>

;FIELD DEFINITIONS

;.AEVRS FIELD DEFINITIONS
	AE.VRS==777777B17	;FORMAT VERSION NUMBER OF THE FILE
	AE.LEN==777777B35	;LENGTH OF PROFILE

;.AEPRV FIELD DEFINITIONS
				;MAPS DIRECTLY INTO MONITOR'S JBTPRV TABLE
				;SEE UUOSYM FOR BIT DEFINITIONS

;.AEPRX FIELD DEFINITIONS
	JP.OPR==3B1		;GALAXY OPERATOR CODE
				;SEE UUOSYM FOR CODE DEFINITIONS

;.AELGT FIELD DEFINITIONS
	AE.WDH==77777777B23	;WEEKDAY HOURS, 0000-2300
	AE.WEH==7777B35		;WEEKEND HOURS, 2-HOUR SHIFTS 0000-2200

;.AECOR FIELD DEFINITIONS
	AE.NPP==777777B17	;MAX # OF PHYSICAL PAGES
	AE.NVP==777777B35	;MAX # OF VIRTUAL PAGES

;.AEIPC FIELD DEFINITIONS
	AE.PID==777B17		;MAX # OF PIDS
	AE.SND==777B26		;MAX # OF SENDS
	AE.RCV==777B35		;MAX # OF RECEIVES

;.AECTX FIELD DEFINITIONS
	AE.CNQ==777B8		;MAX # OF SAVED CONTEXTS
	AE.CPQ==777777777B35	;MAX # OF SAVED PAGES IN IDLE CONTEXTS

;.AEWCH FIELD DEFINITIONS
				;MAPS DIRECTLY INTO MONITOR'S JBTWCH TABLE
				;SEE UUOSYM FOR BIT DEFINITIONS

;.AEACC FIELD DEFINITIONS
	AE.CDR==1B0		;ACCESS FROM PHYSICAL CARD READER
	AE.FAL==1B1		;  ..   AS REMOTE FILE ACCESS
	AE.LOC==1B2		;  ..   AT LOCAL TERMINAL
	AE.ROP==1B3		;  ..   AT REMOTE OPR OR CTY
	AE.DST==1B4		;  ..   AT DATA SET TERMINAL
	AE.RMT==1B5		;  ..   AT REMOTE TERMINAL
	AE.SBJ==1B6		;  ..   SUBJOB OF A BATCH JOB
	AE.BAT==1B7		;  ..   UNDER BATCH
	AE.FIO==1B8		;  ..   AS FILES ONLY (LIBRARY)

;.AEREQ FIELD DEFINITIONS
	AE.RMK==1B0		;REMARK IS REQUIRED
	AE.ACT==1B1		;ACCOUNT IS REQUIRED
	AE.NRT==1B2		;NAME REQUIRED UNDER TIMESHARING
	AE.NRB==1B3		;NAME REQUIRED UNDER BATCH
	AE.PRT==1B4		;PASSWORD REQUIRED FOR TIMESHARING
	AE.PRB==1B5		;PASSWORD REQUIRED FOR BATCH
	AE.PCP==1B6		;PASSWORD CHANGES ARE PROHIBITED
	AE.PWL==77B26		;MINIMUM LENGTH
	AE.PCI==777B35		;PASSWORD CHANGE INTERVAL (DAYS)

;.AESPL FIELD DEFINITIONS
				;MAPS DIRECTLY INTO MONITOR'S JBTSPL TABLE
				;SEE UUOSYM FOR BIT DEFINITIONS

;.AESCD FIELD DEFINITIONS
	AE.SCD==777B17		;TYPE (INDEX INTO SCHEDULER MAPS)
	AE.SCT==777B26		;TIMESHARING CLASS
	AE.SCB==777B35		;BATCH CLASS

;.AEDEF FIELD DEFINITIONS
				;IF <0,,-1> DO NOT DEFAULT
				;IF <0,,0>  DEFAULT FROM [PRJ,%], [%,%]
				;IF <N,,M>  DEFAULT FROM [N,M]
				;PRJ = LH(.AEPPN), PGM = RH(.AEPPN)

;.AEFLG FIELD DEFINITIONS
	AE.NCH==1B0		;NAME SHOULD BE CHANGED
	AE.FAI==1B1		;TIME IN .AEFAI IS VALID
	AE.LOK==1B2		;ACCT FILE IS LOCKED (NOT STORED IN FILE)
	AE.PWE==377B35		;ENCRYPTION ALGORITHM

;.AEDEC FIELD DEFINITIONS
				;WORD 1 FOR STATIC DATA
				;WORD 2 FOR AOBJN POINTER TO EXTENSIBLE DATA


;MACRO TO GENERATE A TABLE OF PROFILE OFFSETS WHICH CONTAIN
;AOBJN POINTERS TO EXTENSIBLE DATA BLOCKS
DEFINE	EXTDAT,<
 DEFINE AE(NAM,LEN,BTS,RTN),< IFL <LEN>+1,<EXP .AE'NAM> >
 AEPROF
 PURGE AE
>

;MACRO TO GENERATE A TABLE OF PROFILE OFFSETS WHICH ARE STATIC BLOCKS
DEFINE BLKDAT,<
 DEFINE AE(NAM,LEN,BTS,RTN),< IFG <LEN>-1,<EXP .AE'NAM> >
 AEPROF
 PURGE AE
>
;FORMAT OF UGCUP$ AND FRIENDS

;THIS FORMAT IS DESCRIBED RELATIVE TO THE QUEUE. UUO INTERFACE.
;THE EQUIVALENT IPCF MESSAGES WILL ALSO BE ACCEPTED, HOWEVER.

;.QBAFN
	AF.FUN==1777		;ACTUAL FUNCTION CODE OF REQUEST
	AF.CFN==1000		;BIT FLAGGING CUSTOMER FUNCTIONS
	AF.PRV==1B18		;PRIVILEGES (JP.ADM, FFA) ENABLED
	AF.CEA==1B19		;CODED ERROR ACKS (ERROR CODE IN BINARY,
				; SIXBIT PREFIX, AND ERROR TEXT)

;REMAINING SUB-BLOCKS USE .AE??? OFFSETS

	AF.OFS==777		;.AE??? OFFSET VALUE
	AF.SEL==7B20		;SELECT ACTION TYPE (UGWLD$)
	  .AFNIL==0		  ;NOT A SELECTION TYPE
	  .AFAND==1		  ;'AND' MATCH
	  AF.AND==1B20		  ;'AND' IN FIELD
	  .AFOR==2		  ;'OR' MATCH (LOWER PRECEDENCE THAN AND & NOT)
	  AF.OR==2B20		  ;'OR' IN FIELD
	  .AFNOT==3		  ;'AND NOT' MATCH
	  AF.NOT==3B20		  ;'NOT' IN FIELD
	  .AFGEQ==4		  ;'.GE.' MATCH
	  AF.GEQ==4B20		  ;'GEQ' IN FIELD
	  .AFLEQ==5		  ;'.LE.' MATCH
	  AF.LEQ==5B20		  ;'LEQ' IN FIELD
	AF.DEF==1B21		;MODIFYING TO DEFAULT (IGNORE VALUE SUPPLIED)
				;(IF SELECTING AND AF.DEF IS ON, SELECTION
				; IGNORES THE SUPPLIED VALUE, AND SELECTS
				; BASED ON THE 'DEFAULTED' BIT.)

;FOR SUB-BLOCKS WHICH REFER TO BIT-MASKABLE WORDS IN THE PROFILE, IF TWO WORDS
;ARE GIVEN, THE SECOND IS USED AS A MASK DESCRIBING THE FIELD(S) IN THE WORD
;TO BE MODIFIED OR EVALUATED.
SUBTTL	TOPS-10 ACCOUNT DAEMON ERROR CODES

;HERE ARE THE ERROR CODES RETURNED WHEN USING AF.CEA (CODED ERROR ACKS) AND
;STORED AS THE ENTRY TYPE IF FAILUR.LOG.

ACNPP%==0			;NONEXISTENT PPN
ACIVA%==1			;INVALID ACCOUNT STRING SPECIFIED
ACILP%==2			;ILLEGAL PPN
ACJNP%==3			;JOB NOT PRIVILEGED
ACJCE%==4			;JOB CAPACITY EXCEEDED
ACPSW%==5			;INVALID PASSWORD
ACNAU%==6			;NO ADDITIONAL USERS TO RETURN
ACNUS%==7			;NO USERS MATCHING AT ALL
ACNSU%==10			;NO SUCH USER
ACFAL%==11			;ACCOUNTING FILE ALREADY LOCKED
ACFNL%==12			;ACCOUNTING FILE NOT LOCKED
ACAFL%==13			;ACCOUNTING FILE IS LOCKED
ACWFV%==14			;WRONG FORMAT VERSION SPECIFIED
ACIFM%==15			;ILLEGALLY FORMATTED MESSAGE
ACFNM%==16			;FIELD NOT MODIFIABLE
ACFND%==17			;FIELD NOT DEFAULTABLE
ACPCP%==20			;PASSWORD CHANGES ARE PROHIBITED
ACPMC%==21			;PASSWORD MUST CHANGE
ACEAF%==22			;ENCRYPTION ALGORITHM FAILURE
ACMPR%==23			;MISSING PASSWORD WAS REQUIRED
ACPTF%==24			;PROFILE IS TOO FULL FOR NEW DATA
ACPLL%==25			;PASSWORD LENGTH LESS THAN REQUIRED MINIMUM
ACNAE%==26			;NAME ALREADY EXISTS, DUPLICATE
ACRMS%==27			;UNEXPECTED RMS ERROR
ACSMF%==30			;SCHEDULAR MAPPING FAILED
ACPEM%==31			;PREMATURE END OF MAPPING BLOCKS
ACMBZ%==32			;MAPPING BLOCK COUNT IS ZERO
ACMBF%==33			;MAPPING BLOCK FORMAT ERROR
ACNAP%==34			;NO ACCOUNT STRING FOR PPN
ACIET%==35			;INVALID ENTRY TYPE IN USAGE MESSAGE

;HERE ARE THE SUCCESS MESSAGE CODES

ACSUM%==400			;SUMMARY
ACINS%==401			;PROFILE INSERTED SUCCESSFULLY


> ;END OF TOPS-10 CONDITIONAL FROM WAY BACK




	END