.TITLE WHODAT - WHO CONTROL BLOCK OFFSETS .IDENT /V01/ ;+ ; WRITTEN BY: GARY L. MAXWELL ; 29-MAR-80 ; NATIONAL STRONG MOTION DATA CENTER ; OFFICE OF EARTHQUAKE STUDIES ; U.S. GEOLOGICAL SURVEY ; 345 MIDDLEFIELD ROAD ; MAIL STOP 77 ; MENLO PARK, CALIFORNIA 94025 ; ;- .MCALL PMSGDF ;+ ; DEFINE THE CONTROL BLOCK OFFSETS FOR THE WHO TABLES WHICH ; RECORD TI:, ACTIVE TASK, AND ACCOUNT FILE INFORMATION. ;- .MACRO TDEFN,L,B .ASECT .=0 TNAME:'L' .BLKW 2 ; TASKNAME (RAD50) TSTAT:'L' .BLKW 1 ; TCB FIRST STATUS WORD TST2:'L' .BLKW 1 ; TCB SECOND STATUS WORD TIOC:'L' .BLKW 1 ; TASK I/O COUNT TLNK:'L' .BLKW 1 ; POINTER TO NEXT ACTIVE TASK ON TI: TLEN ='B' . .PSECT .ENDM TDEFN .MACRO LDEFN,L,B .ASECT .=0 LUCB:'L' .BLKW 1 ; UCB ADDRESS FOR THIS TI: LNAM:'L' .BLKB 2 ; ASCII NAME OF DEVICE LUNIT:'L' .BLKW 1 ; UNIT NO. OF DEVICE LUIC:'L' .BLKW 1 ; LOGON UIC OF TI: LTSK:'L' .BLKW 1 ; POINTER TO ACTIVE TASK LIST LACNT:'L' .BLKW 1 ; POINTER TO ACCOUNT ENTRY LLEN ='B' . .PSECT .ENDM LDEFN .MACRO ADEFN,L,B .ASECT .=0 ALDAT:'L' .BLKB 6 ; DATE / TIME OF LAST LOGON ANCNT:'L' .BLKW 1 ; BYTE LENGTH OF ACSII FULL NAME ANAME:'L' .BLKB 1 ; START OF FIRST-LAST NAME STRING ALEN ='B' 34. ; LARGEST POSSIBLE BLOCK SIZE .PSECT .ENDM ADEFN TDEFN <:>,<=> LDEFN <:>,<=> ADEFN <:>,<=> ; ; GLOBAL SYMBOLS AND DATA ; .PSECT DATA,RW BUFINC == 16. ; NO. 32 WORD BLOCKS TO ALLOCATE APRBAS == 5 ; BASE APR USED FOR TKB ABIAS == APRBAS*20000 ; VIRTUAL BASE FOR APRBAS LUNTI == 1 ; LUN FOR TI: EFNTI == 1 ; FIRST TI: EVENT FLAG NEFNTI == 10. ; USE 10 EVENT FLAGS IF NEEDED LUNLB == 2 ; LUN FOR ACCOUNT FILE P.STP == 0 ; ENABLE STOP FORS (V3.2) EFLB == 2 ; EVENT FLAG FOR ACCOUNT I/O EFMT == 3 ; EVENT FLAG FOR MARK TIME OPNCNT == 5 ; TRY 5 OPENS BEFORE ACCOUNT FAILURE TIBFSZ == 132. ; SIZE OF TI: BUFFER SPACE ;+ ; GLOBAL SYMBOLS AND BIT VALUES ;- $FLAG:: .WORD 0 ; GLOBAL FLAG WORD WH.DEF == 1 ; DEFAULT WHO COMMAND WH.NAM == 2 ; WHO NAME COMMAND WH.UIC == 4 ; WHO UIC COMMAND $UIC:: $UMEM:: .BYTE 0 ; GLOBAL UIC MEMBER CELL $UGRP:: .BYTE 0 ; GLOBAL UIC GROUP CELL $NAME:: .BLKB 14 ; USER NAME BLOCK (CHANGE TO SYMBOL LATER) $NAMSZ == .-$NAME .BYTE 0 .EVEN IOSB:: .BLKW 2 ; I/O STATUS BLOCK TIBFLN::.WORD 0 ; TI: BUFFER LENGTH NUMLOG::.WORD 0 ; NO. USERS LOGGED ON FILOPN::.WORD 0 ; ACCOUNT FILE OPEN FLAG (0 => NO) OPNERR::.WORD 0 ; ACCOUNT FILE OPEN ERROR COUNTER $LGFHD::.WORD 0 ; PTR. TO TABLE OF LOGGED IN TT:'S $TKFHD::.WORD 0 ; PTR. TO TABLE OF ACTIVE TASKS $ABFHD::.WORD 0 ; PTR. TO TABLE OF ACCOUNT HITS $BUFED::.WORD 0 ; CURRENT CEILING OF TASK MEMORY CURENT::.WORD 0 ; POINTER TO CURRENT ACCOUNT BLOCK TSKFND::.WORD 0 ; ACTIVE TASK FOUND COUNTER NUMFND::.WORD 0 ; NUMBER OF USERS ACCOUNTED FOR RDLEN:: .WORD 0 ; COUNTER - WORDS LEFT IN FILE BUFFER OUTBK:: .BLKB TIBFSZ ; OUTPUT TI: BUFFER .EVEN PMSGDF DATA,LUNTI,EFNTI,NEFNTI .END