.TITLE ACTFIL - ACCOUNT FILE CONTROL BLOCKS .IDENT /4.4KMS/ ; ; VERSION: 01.1.X ; BY: H. LEV ; DATE: 7/15/75 ; ; MODIFIED: ; ; JGD01 -- ALLOW INSERTION OF TOTAL TERMINA ; CONNECT TIME, AND PRIVLEGE MASK ; ; JGD02 -- ALLOW INSERTION OF TASK OTHER THAN MCR ; TO INVOKE AS HELLO EXITS. ; ; JGD03 -- ALLOW INSERTION OF TOTAL NUMBER OF FILES AND DISK ; USED ON USERS SYSTEM DEVICE ; ; JGD15 -- DEFINE TWO NEW CATAGORIES OF USER PRIVLEGES, THE ; GROUP MANAGER(CAN CHANGE MEMBER NUMBER OF LOGIN UIC), ; AND 'USER MANAGER'(CAN CHANGE LOGIN UIC IF >[310,X]) ; REQUIRES ALL NON PRIVLEGED ACCOUNTS >[377,X]. THE ; UIC AT WHICH THE BREAK IS MADE IS EASILY CHANGED IN ; SPROV.SLP. ; ; JGD16 -- ADD OFFSETS FOR DEFAULT CLI (RAD50),ACCOUNT NUMBER ; TOTAL CPU TIME USED, ID, AND VT: FLAG. ; ; JGD30 -- Add bits in privilege mask word to support silent ; login. Remove support for slave login as it is ; handled in DEC std mask word. ; ; JGD31 -- Add support for logging in terminal with nobroadcast ; bit set. ; ; JGD34 -- User is allowed to log in via a DECnet remote ; command terminal (HTxx:). ; ; DG002 -- LOOK FOR LATEST VERSION OF RSX11.SYS ; ; MGL007 -- LOOK ONLY ON BOOT DEVICE FOR ACCOUNT FILE ; ; MGL044 -- CREATE BUFFER USABLE FOR SPOOLING LISTING(ACNT) ; ; MGL081 -- DO NOT LEAVE ACCOUNT FILE LOCKED ON HELLO ABORT ; ; SA213 -- ADD FIELDS FOR SALVE BIT, DEFAULT CLI NAME ;- ; ******************************************************************* ; **** **** ; **** PLEASE NOTE **** ; **** The order of fields used in ACTFIL.KMS differs somewhat **** ; **** from the standard ACTFIL.MAC. This is becuase we started **** ; **** using these areas before DEC did. So that my account **** ; **** file would continue to work, as new fields were required **** ; **** they were added at the end. This means that ACTFIL.KMS **** ; **** will work on both systems previously using KMS accounting **** ; **** and should work on systems with account files established **** ; **** under RSX11M V3.2. However, the RSX11.SYS produced will **** ; **** not be transportable to other RSX11M systems unless that **** ; **** system is using KMS accounting or has built tasks using **** ; **** ACTFIL.KMS. **** ; **** **** ; ******************************************************************* .MCALL FDBDF$,FDOP$A,FSRSZ$ .MACRO ACTDF$,L,B .ASECT .=0 A.GRP:'L' .BLKB 3 ; GROUP CODE (ASCII) A.MBR:'L' .BLKB 3 ; MEMBER CODE A.PSWD:'L' .BLKB 6 ; PASSWORD A.LNM:'L' .BLKB 14. ; LAST NAME A.FNM:'L' .BLKB 12. ; FIRST NAME A.LDAT:'L' .BLKB 6 ; DATE OF LAST LOG ON (DD/MM/YY HH:MM:SS) A.NLOG:'L' .BLKB 2 ; TOTAL NUMBER OF LOGONS A.SYDV:'L' .BLKB 4 ; DEFAULT SYSTEM DEVICE A.TERM:'L' .BLKB 4 ; LOG ON TERMINAL USED ; JGD01 A.CTIM:'L' .BLKB 2 ; TOTAL CONNECT TIME(MINUTES) ; JGD01 A.PRIV:'L' .BLKB 2 ; PRIVLEGE MASK WORD ; JGD01 A.TNAM:'L' .BLKB 6 ; TASK TO RQST (unused now) ; JGD30 A.FILS:'L' .BLKB 2 ; # OF FILES ON SY ; JGD03 A.UBLK:'L' .BLKB 2 ; # OF BLOCKS USED ON SY ; JGD03 A.ABLK:'L' .BLKB 2 ; # OF ALLOWED BLOCKS USED ; JGD03 A.LPRV:'L' .BLKW 1 ; LOGIN PRIVLEGE WORD ; SA213 A.ACN:'L' .BLKW 1 ; ACCOUNT NUMBER ; JGD16 A.SID:'L' .BLKW 1 ; SESSION IDENTIFIER(RAD50) ; JGD16 A.CPU:'L' .BLKW 2 ; TOTAL CPU TIME USED(SEC) ; JGD16 A.VTRM:'L' .BLKW 1 ; BATCH TERMINAL(VT:) USED ; JGD16 A.CLI:'L' .BLKW 2 ; RAD50 DEFAULT CLI NAME ; SA213 A.LEN ='B' 128. ; LENGTH OF CONTROL BLOCK ; ; BIT DEFINITION ON A.LPRV - LOGIN PRIVILEGES ; AL.SLV ='B' 1 ; SLAVE TERMINAL ON LOGIN .PSECT .ENDM ; DEFINE PRIVLEGE MASK ; BIT 15 SET TI PRIV (ON ANY UIC) ; BIT 14 ALLOW REMOTE DIAL IN ; A.PRIV BITS 13-9 UNUSED ; BIT 8 'USER MANAGER' AND CAN CHANGE ; LOGIN UIC IF UIC>[310,X] ; BIT 7 GROUP MANAGER,CAN CHANGE ; LOGIN UIC MEMBER NUMBER ; BIT 6 UPDATE THE # OF BLOCKS ; AND FILES USED BY THE ; BIT 5 Log terminal on with No-Broadcast bit set ; BIT 4 SKIP TASK ABORT AT LOGOFF ; BIT 3 Force 'Silent Login' (was force Slave) ; BIT 2 Request task at login ; BIT 1 USER MAY ONLY RUN OWN TASKS ; OR PUBLIC TASKS([200,200]) ; BIT 0 USER MAY NOT USE RUN COMMAND ; ; ; DEFINE THE PRIVILEGE MASK WORD BITS FOR U.PRV1 ; PM.RUN == 1 ; USER MAY NOT USE THE RUN COMMAND PM.OWN == 2 ; USER MAY ONLY RUN TASKS OWNED BY HIM/HER PM.TSK == 4 ; RUN A TASK SPECIFIED IN ACNT FILE ON EXIT PM.SIL == 10 ; FORCE A SILENT LOGIN ;PM.SLV == 10 ; Decomissioned -log users terminal on as slaved PM.ABO == 20 ; DO NOT ABORT USERS NON-PRIV TASKS AT LOGOFF PM.NBR == 40 ; Log terminal on with No-Broadcast bit set PM.DSK == 100 ; AT LOGOFF, ACCOUNT FOR USER'S DISK BLOCKS PM.GRP == 200 ; USER HAS GROUP MANAGER PRIVILEGES PM.USR == 400 ; USER IS NON-PRIVILEGED USER MANAGER PM.NET == 20000 ; USER MAY REMOTE IN VIA DECNET PM.RMT == 40000 ; USER MAY DIAL IN ON A REMOTE LINE PM.PRV == 100000 ; USER IS PRIVILEGED REGARDLESS OF UIC ; ; CONSTANTS ; LUN2 == 2 ; ACCOUNT FILE LUN $BFLEN == 2048. ; LENGTH OF ACCOUNT FILE BUFFER ACTDF$ <:>,<=> ; DEFINE OFFSETS INTO ACCOUNT FILE $ACTFL:: FDBDF$ ; DEFINE ACCOUNT FILE FDB FDOP$A LUN2,DSPT,,,FA.ENB!FA.DLK ; SETUP LUN, DSD, AND F.ACTL ;; MLG081 DSPT: .WORD 6 ; DATA SET DESCRIPTOR ;MGL007 .WORD DEVNAM ; .WORD 5 ; .WORD DIRNAM ; .WORD 9. ; WAS 11. LONG ; DG002 .WORD FILNAM ; DEVNAM: .ASCII /LB000:/ ; ;MGL007 DIRNAM: .ASCII /[0,0]/ ; FILNAM: .ASCII /RSX11.SYS/ ; LOOK FOR ONLY THE LATEST VERSION; DG002 .EVEN FSRSZ$ 1 ; SET UP FOR A FILE IN GET PUT MODE $ACTBF:: .BLKB $BFLEN ; CREATE ACCOUNT FILE BUFFER ;MLG044 .EVEN ;MLG044 .END