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

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

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