Google
 

Trailing-Edge - PDP-10 Archives - bb-d868e-bm_tops20_v41_2020_dist_1of2 - 4-1-sources/actsym.mac
There are 39 other files named actsym.mac in the archive. Click here to see a list.
;<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 V2(35)
SUBTTL B.A. HUIZENGA/BAH/TAH/DPM   22-Jul-81


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


;COPYRIGHT (C) 1979,1980,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.


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]>
>
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.
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

.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)


>;;; 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)

;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

;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

;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
	UG.VER==:0		;VERIFY PPN, PASSWORD, AND ACCOUNT STRING
	UG.SPV==:1		;SPRINT VERIFY PPN, PASSWORD, AND ACCT STRING
				;MORE FUNCTIONS LATER
.UGACT==:1			;ACCOUNT STRING BLOCK
.UGPPN==:2			;PPN BLOCK
.UGPSW==:3			;PASSWORD BLOCK
SUBTTL	TOPS-10 ACCT.SYS entry definitions


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

> ;END OF TOPS-10 CONDITIONAL FROM WAY BACK




	END