SGNPER.CMD;2=SGNPER.VMD;1/AU \ -/COST=./ .IF DF M$$MUP ; IF MULTIUSER PROTECTION DEFINED .IF DF R$$PRV ; KMS ACCOUNTING RUN PRIVLEGES ; ADDITIONAL WORDS ARE ADDED TO EACH TERMINAL UCB TO IMPLEMENT ; IN A STRAIGHTFORWARD MANNER, USER BY USER ACCOUNTING. ; IT SHOULD BE NOTED THAT THIS METHOD WHILE SIMPLER TO IMPLEMENT ; THAN CREATING AN ACCOUNT BLOCK FOR EACH TERMINAL, DOES IMPOSE ; A MAXIMUM OVERHEAD IN USING UP EXEC SPACE WHETHER OR NOT ; A TERMINAL IS LOGGED ON. IF ONE CHOOSES, HELLO COULD CREATE ; AN ACCOUNT BLOCK FOR EACH TERMINAL IN POOL. THIS WILL REQUIRE ; AN EXEC MODIFICATION TO SYSCM, TO CREATE A ACCOUNTING NODE ; HEADER. NOTE ALSO THAT THIS METHOD IS FASTER(INVOLVES LESS TIME ; IN TRACKING DOWN THE PROPER PLACE TO STUFF DATA. .IF DF Q$$CNT ; QIO ACCOUNTING .WORD 0 ; U.QIO1 - NUMBER OF QIOs ISSUED(LOVAL) .WORD 0 ; U.QIO - NUMBER OF QIOs ISSUED(HIVAL) .ENDC ; END CONDITIONAL -- QIO ACCOUNTING .IF DF T$$CPU ; CPU TIME ACCOUNTING .WORD 0 ; U.ATCT - NUMBER OF TIMES ...AT. RUN .WORD 0 ; U.INCT - NUMBER OF INSTALL REQUESTS .WORD 0 ; U.RNCT - NUMBER OF TASKS RUN .WORD 0 ; U.TIC1 - CPU TIME IN TICS -LOW ORDER PART .WORD 0 ; U.TIC2 - CPU TIME IN TICS - HIGH ORDER PART .WORD 0 ; A.ACN - ACCOUNT NUMBER .ENDC ; END CONDITIONAL -- CPU TIME ACCOUNTING .WORD 0 ; U.PRIV=U.LUIC-2 - PRIVLEGE MASK WORD .ENDC ; END CONDITIONAL -- PRIVLEGE MASK WORD .ENDC ; END CONDITIONAL -- MULTIUSER PROTECTION -/COND=./ ;;;;;; RVT SET CO: AS LOGGED-ON, PRIV [1,1] .=.CO0+U.LUIC .BYTE 1,1 ; LOGIN UIC=[1,1] .=.CO0+U.CW2 .WORD U2.PRV ; LOGGED ON, PRIV .=.CO0+U.UIC .BYTE 1,1 ; CURRENT UIC=[1,1] .=COND /