Trailing-Edge
-
PDP-10 Archives
-
bb-x130a-sb
-
whomac.mac
There are 4 other files named whomac.mac in the archive. Click here to see a list.
UNIVERSAL WHOMAC -- Parameter file for WHO
.DIRECT .NOBIN ;NO REL FILE NEEDED
; TABLE OF CONTENTS FOR WHOMAC
;
;
; SECTION PAGE
; 1. MACROS - $SETUP - Setup globals and libraries.............. 3
; 2. OPDEFS.................................................... 4
; 3. Parameters................................................ 4
; 4. Extra AC definitions...................................... 4
; 5. I/O channels.............................................. 4
; 6. FLAGS
; 6.1 Global in LH of F................................. 4
; 6.2 Local in RH of F.................................. 4
; 7. Assembly switches......................................... 5
; 8. Monitor Parameters (mostly from S.MAC).................... 6
; 9. SCAN interface tables
; 9.1 Monitor commands.................................. 7
; 9.2 Summary keywords and actions...................... 8
; 9.3 State keywords and actions........................ 9
; 10. Format descriptors........................................ 10
SUBTTL MACROS - $SETUP - Setup globals and libraries
DEFINE $SETUP(NAME),<
SEARCH MACUNV
IFN FTIPC,<SEARCH TSGSYM>
IFN FTMDC,<SEARCH MDCSYM>
IFN FTTUFTS,<SEARCH TCSSYM>
$INIT (NAME,-)
$SEGMENT (PURE)
>;END DEFINE $SETUP
$SETUP (WHOMAC)
SUBTTL MACROS -- CHKSWT - See if switch given
DEFINE CHKSWT(SWT,NAME,%OK),<
XLIST
MOVE T2,.FZ'SWT##(I) ;;Get switch value
CAME T1,T2 ;;See if same value
CAMN T2,[-1] ;;Or switch not given
JRST %OK ;;Yes--Thats OK
IFB <NAME>, MOVX T1,<SIXBIT/SWT/> ;;No--Load switch
IFNB <NAME>, MOVX T1,<SIXBIT/NAME/> ;;No--Load switch
JRST E$$DSI## ;;And issue error
%OK: MOVEM T1,.FZ'SWT##(I) ;;Store new switch value
LIST
>;END DEFINE CHKSWT
SUBTTL OPDEFS
;The following are OPDEFed so as not to be confused with the monitor
;DDB symbols DEVNAM and DEVCHR (see WHOUUO).
OPDEF DVCHR. [CALLI 4] ;DEVCHR
OPDEF DVNAM. [CALLI 64] ;DEVNAM
SUBTTL Parameters
ND LN$PDL,100
ND LN$INI,^D52 ;LENGTH OF INITIALIZATION TEXT
ND LN$OBJ,15 ;LENGTH OF ANF10 OBJECT TABLE
ND LN$SCB,^D200 ;LENGTH OF SERVER COMMAND BUFFER
ND LN$SBT,^D3 ;LENGTH OF SERVER BUFFER TABLES
ND LN$SMB,^D30 ;LENGTH OF SERVER MESSAGE BUFFER
ND LN$LEN,.RBSPL+1
ND LN$SND,^D132/^D5+1 ;LENGTH OF SEND STRING
ND LN$SET,^D30 ;MAX ARG BLOCK FOR ALL SETUUO FNCS
ND MX$FMT,^D40 ;MAX NUMBER OF FORMAT SWITCH ARGUMENTS
SUBTTL Extra AC definitions
O=:12
JP=:13
L=:14
D=:15
M=:16
SUBTTL I/O channels
LST==1
SWP==2
INI==3
TSK==4
SUBTTL FLAGS -- Global in LH of F
$LBIT (SPY) ;WE ARE SPYING
$LBIT (LOGIN) ;WE ARE LOGGED IN
$LBIT (GOD) ;WE ARE OPR
$LBIT (PEEK) ;WE HAVE PEEK PRIVS
$LBIT (POKE) ;WE HAVE POKE PRIVS
$LBIT (JACCT) ;WE HAVE JACCT
$LBIT (BATCH) ;WE ARE A BATCH JOB
$LBIT (WATCH) ;WE HAVE SOME WATCH BITS SET
$LBIT (WHOSRV) ;WE ARE THE WHOSRVer
$LBIT (CRASH) ;READING CRASH FILES
$LBIT (CHARGE) ;CHARGE NUMBER SUPPORT
$LBIT (ANF10) ;ANF-10 NETWORK SUPPORT IN MONITOR
$LBIT (DECNET) ;DECNET-10 NETWORK SUPPORT IN MONITOR
$LBIT (SMP) ;SMP SUPPORT IN MONITOR
$LBIT (LGNQ) ;LOGIN QUEUE SUPPORT IN MONITOR
FL.SRVFLG==FL.SPY!FL.LOGIN!FL.GOD!FL.PEEK!FL.POKE!FL.JACCT
FL.NETWORKS==FL.ANF10!FL.DECNET
FL.FEATURES==FL.CHARGE!FL.ANF10!FL.DECNET!FL.SMP!FL.LGNQ
SUBTTL FLAGS-- Local in RH of F
$RBIT (OPEN) ;FILE HAS BEEN OPENED
$RBIT (TASK) ;OUTPUT TO AN OPENED TASK
$RBIT (HEAD) ;HEADER PRINTED
$RBIT (OPEN) ;OUTPUT FILE OPENED
$RBIT (ABORT) ;FORMAT PRINT ABORT NOW
$RBIT (MYTTY) ;OUTPUT DEVICE IS MY TERMINAL
$RBIT (DPY) ;DPY HAS BEEN INITED
$RBIT (TYPE) ;A CHARACTER HAS BEEN OUTPUT
$RBIT (APPEND) ;USE APPEND WHEN OPENING OUTPUT FILE
$RBIT (COMMA) ;COMMA NEEDED IN OUTPUT OF LISTS
$RBIT (TRMOP) ;TRMOP. UUO FAILURE FOR SEND
$RBIT (FRCUUO) ;FRCUUO FAILED FOR FORCE
$RBIT (SETUUO) ;SETUUO FAILED
$RBIT (DSKDDB) ;LISTING A DSK DDB
$RBIT (MTADDB) ;LISTING A MTA DDB
$RBIT (NETDDB) ;LISTING A NETWORK DDB
$RBIT (TTYDDB) ;LISTING A TTY DDB
SUBTTL Version control
..TMP==0
DEFINE $SUPPORT(VER),<
IF1,<
IRP VER,<
IFDEF %'VER,<$MONVER(VER)>
%'VER==<..TMP==..TMP+1>
>;END IRP VER
>;END IF1
>;END DEFINE $SUPPORT
DEFINE $MONVER(VER),<
IF1,<
IFDEF %MONVER,ABORT <Conflicting monitor versions selected>
IFDEF %'VER,%MONVER==%'VER
IFNDEF %'VER,ABORT <Unsupported monitor version selected>
IF1,PRINTX [Assembling WHO for VER monitor]
VERSION GE,702,<
FTRESET==:1
FTPRGRUN==:1
>;GE 702
;>END IF1
>;END DEFINE $MONVER
DEFINE VERSION(RELOP,ARG),<IF'RELOP %MONVER-%'ARG,>
SYN IFL,IFLT ;SO LT WORKS
SYN IFG,IFGT ;SO GT WORKS
SYN IFE,IFEQ ;SO EQ WORKS
SYN IFN,IFNE ;SO NE WORKS
;Supported monitors (must be increasing order)
$SUPPORT <701,701A,702>
;Select one
IFNDEF %MONVER,$MONVER <702> ;Default to 7.02
SUBTTL Assembly switches
; Special UUOSYM symbols that determine feature test settings
FTPRGRUN==:0+<IFDEF .GTPTR,<1>> ;GETTAB TABLE FOR PROGRAM TO RUN
FTRESET==:0+<IFDEF .GTPTR,<1>> ;GETTAB TABLE FOR LAST RESET TIME
FTLGNQ==:0+<IFDEF %LQCNT!%LQPTL!%LQQUE,<1>> ;GETTABS FOR LOGIN QUEUE
; Define the feature test switches
FT IPC,0,<IPC/TSG features>
FT MDC,0,<MDC features>
FT TUFTS,0,<TUFTS features>
FT LGNQ,0,<LOGIN queue support>
FT SERV,1,<Server support>
FT UUO,1,<UUO simulation>
FT DDB,1,<DDB scanning>
FT POWER,0,<POWERed on terminal detection>
FT RESET,0,<UDT of last RESET UUO available>
FT PRGRUN,0,<Program to RUN GETTAB available>
IFN FTTUFTS,<
ND CL$SYS,0 ;SYSTEM=0
ND CL$ADM,1 ;ADMINISTRATION=1
ND CL$ACAD,2 ;ACADEMIC=2
>
SUBTTL Monitor Parameters (mostly from S.MAC)
;Bits in JBTSCD (.GTJTC)
JS.PQ2==1B0 ;ON IF JOB IN PQ2
JS.CLS==37B17
JS.TYP==777B35
;Bits in JBTSTS (.GTSTS)
JS.RUN==1B0
JS.CMW==1B1
JS.JNA==1B3
JS.ERR==1B4
JS.NSW==1B5
JS.SWP==1B7
JS.COD==37B14
JS.LOG==1B15
JS.JAC==1B17
JS.CLK==1B18
JS.JDC==1B20
JS.OPR==1B22
JS.XOY==1B25
JS.RUU==1B26
JS.DFP==1B33
;Bits in JBTST2
J2.IGS==1B10
J2.HIB==1B15
J2.EWC==37B24
J2.EWS==1B25
;ESLEEP codes
;Bits in JBTSWP (.GTSWP)
JS.SPY==1B0 ;SPYING (MUST BE SIGN BIT)
JS.SHR==1B1 ;HIGH SEG SHAREBLE
JS.IN==777B35 ;IN CORE SEGMENT SIZE
;Bits in JBTVRT (.GTVRT)
JS.LOW==777B35 ;LOW SEG SIZE
JS.HGH==777B26 ;HIGH SEG SIZE
JS.PGR==777777B17 ;PAGE RATE UNITS
;BITS IN JBTRTD (.GTRTD)
JS.HPQ==17B9 ;HPQ VALUE
;Bits in JBTSGN (.GTSGN)
SG.SPY==1B0
SG.SHR==1B1
;Bits in JBTPC
JS.DDB==-1,,0 ;I/O WAIT DDB
JS.PC==0,,-1 ;USER PC
;Bits in JBTPDB
JS.FUN==37B17 ;PAGES OF FUNNY SPACE
;Values from GTXTN.
GX.NOD==-1,,0 ;NODE
GX.LIN==0,,-1 ;LINE
;Values in .TOBCT
LS.CMD==-1,,0 ;Count of commands processed
LS.BRK==0,,-1 ;Count of break characters typed
LS.CAR==1B0 ;TRMOP. .TODSS carrier bit
;IN CASE NOT IN UUOSYM YET
ND .PFHOR,7 ;PFH ORIGINAL RUNTIME
ND .PFHLR,10 ;PFH LAST RUNTIME
ND .PFHCR,11 ;PFH CUMULATIVE RUNTIME
ND ND.CTJ,17 ;STATION CONTROL JOB NUMBER
ND ND.OPR,20 ;OPR TTY NUMBER
ND SS%SSH,1B0 ;SAVE SHAREABLE HISEG, IF ON
ND .TOUNK,0 ;(APC) UNKNOWN
ND .TOHWD,1 ;(APC) HARDWIRED
ND .TODSD,2 ;(APC) DATASET LINE
ND .TOTSN,3 ;(APC) TSN
ND .TOGAN,4 ;(APC) GANDALF
ND .TOADL,5 ;(APC) AUTODIALER
ND .TOMCM,6 ;(APC) MICOM
ND .TONRT,7 ;(APC) NRTSER
OPDEF SAVE. [CALLI 210] ;SAVE. UUO
SUBTTL SCAN interface -- Special macros
; WHO uses the MACLIB subroutine library. Part of that package
; includes a copy of SCAN with additions and features not found in
; the field image version. To avoid conflicts with field image
; SCNMAC, the following definitions have been extracted from the
; extended version of SCNMAC.
FX.SCN==1B12 ;/SCAN
FS.STK==1B14 ;DON'T APPLY STICKY STUFF IN ALPSTK
FS.IFL==1B15 ;INDIRECT FILE ILLEGAL IN COMMAND IF NOT LOGGED IN
FS.HEL==1B7 ;DISPATCH ADDR-1 = [ASCIZ/TEXT/] FOR /HELP:ARGUMENT
; The OKEYS macro is similar to the KEYS macro except value is a bit
; position for "or bit value" use.
;
DEFINE OKEYS(NAME,LST),<
NAME'.L==0
NAME'.T: IRP (LST)<EXP SIXBIT/LST/
NAME'.L==NAME'.L+1
..TEMP==0
IRPC (LST)<IFIDN <LST><*>,<..TEMP==1>
STOPI>
IFE ..TEMP,<NAME'LST==1_<NAME'.L-1>>
>
PURGE ..TEMP
>
;DEFINE THE ABOVE BUT WITH GLOBAL NAMES
;AND FINALLY, THE KEY-WORD VALUES
DEFINE GKEYS(NAME,LST),<
NAME'.L==:0
NAME'.T:: IRP (LST)<EXP SIXBIT /LST/
NAME'.L==:NAME'.L+1
..TEMP==0
IRPC (LST)<IFIDN <LST><*>,<..TEMP==1>
STOPI>
IFE ..TEMP,<NAME'LST==:NAME'.L>
>
PURGE ..TEMP
>
; A version of OKEYS that generates global symbols.
;
DEFINE GOKEYS(NAME,LST),<
NAME'.L==:0
NAME'.T:: IRP (LST)<EXP SIXBIT/LST/
NAME'.L==:NAME'.L+1
..TEMP==0
IRPC (LST)<IFIDN <LST><*>,<..TEMP==1>
STOPI>
IFE ..TEMP,<NAME'LST==:1_<NAME'.L-1>>
>
PURGE ..TEMP
>
SUBTTL SCAN interface tables -- Monitor commands
DEFINE MODES,<
XX JOB ,JOB ,LINE ,job ,<Job not assigned>
XX LINE ,LIN ,JOB ,line ,<Line not connected>
XX NODE ,NOD ,LINE ,node ,<Node not online>
XX USER ,USR ,USER ,user ,<User not found>
>
SUBTTL SCAN interface tables -- Summary keywords and actions
DEFINE SUMMARY,<
XLIST
START JOB
X ACCOUNT ,Account ,JB$AC1 ,.TASCW ,8
IFN FTIPC,<
X BADGE ,Badge ,JB$BDG ,.TDECJ ,6
>;END IFN FTIPC
X BATCH ,Batch ,JB$BJB ,YESNO ,6
X BATCORE ,Batch core ,JB$BCL ,.TDECJ ,11
IFN FTIPC,<
X CATEGORY ,Category ,JB$CAT ,.TOCTJ ,9
>;END IFN FTIPC
X CHARGE ,Charge ,JB$CNO ,CHGTYO ,6
IFN FTIPC,<
X CID ,Charge ID ,JB$CID ,.TSIXN ,9
>;END IFN FTIPC
X CLASS ,Class ,JB$CLS ,.TDECJ ,7
X CORE ,Core ,CCORE ,.TDECJ ,6,10
X CPL ,Current physical limit ,JB$CPL ,.TDECJ ,22 ,5
X CTLJOB ,CTLJOB ,JB$CJN ,.TDECJ ,7
X CTLPRG ,CTLPRG ,JB$CPN ,.TSIXN ,6
X CVL ,Current virtual limit ,JB$CVL ,.TDECJ ,21 ,5
X DEFATTACH ,Attach jobs ,JB$DAD ,ATTYES ,13
VERSION GE,702,<
X DEFBIGBUF ,Default BIGBUF ,JB$DBB ,.TDECJ ,14
>
X DEFBUFFER ,Default buffers ,JB$DNB ,.TDECJ ,17
X DEFPROTECT ,Default protection ,JB$DPV ,.TPROT,21
X APC ,Asynchronous port characteristic ,JB$APC ,TAPC ,32
X DSKPRIORITY ,Disk priority ,JB$DPR ,.TDECJ ,14
X FUNNY ,Funny ,JB$PFS ,.TDECJ ,6
X GLXOPR ,Galaxy operator ,JB$GOP ,TGOP ,15
X HPQ ,HPQ ,JB$HPQ ,.TDECJ ,5
X IPCFORECEIVE ,IPCF receives outstanding,JB$IOR,.TDECJ ,26
X IPCFOSEND ,IPCF sends outstanding ,JB$IOS ,.TDECJ ,23
X IPCFQRECEIVE ,IPCF receive quota ,JB$IQR ,.TDECJ ,19
X IPCFQSEND ,IPCF send quota ,JB$IQS ,.TDECJ ,16
X IPCFRECEIVE ,IPCF receives ,JB$IMR ,.TDECJ ,14,100
X IPCFSEND ,IPCF sends ,JB$IMS ,.TDECJ ,11,100
X JLT ,JLT ,JB$IJL ,.TUFTM ,8,<400000/^D24+1>
X KCS ,KCS ,JB$KCM ,.TDECJ ,6,10000
X LIMIT ,Limit ,JB$BTL ,.TTIME ,8,60000
X LINE ,Line ,JB$NLN ,.TOCTJ ,6
X LOCATION ,Location ,JB$LOC ,.TOCTJ ,9
IFN FTIPC,<
X LPPN ,LPPN ,JB$LPN ,.TPPNW ,15
X LPRGNUM ,Lprogrammer ,JB$LPG ,.TOCTJ ,11
X LPRJNUM ,Lproject ,JB$LPJ ,.TOCTJ ,9
>;END IFN FTIPC
X MPL ,Maximum physical limit ,JB$MPL ,.TDECJ ,22 ,5
X MVL ,Maximum virtual limit ,JB$MVL ,.TDECJ ,21 ,5
X NAME ,Name ,JB$NM1 ,.TSIXN ,6
X NODE ,Node ,JB$NNM ,.TSIXN ,6
X NODENAME ,Node ,JB$NNM ,.TSIXN ,6
X NODENUMBER ,Node number ,JB$NNU ,.TOCTJ ,12
X PAGERATE ,Paging rate ,JB$PGR ,TPGR ,12,50
X PC ,PC ,JB$PC ,.TOCTZ ,6,512
X PHYHIGH ,Physical high segment size,JB$PPH,.TDECJ,26 ,5
X PHYLOW ,Physical low segment size,JB$PPL,.TDECJ,25 ,5
X PPN ,PPN ,JB$PPN ,.TPPNW ,15
X PRGNUMBER ,Programmer ,JB$PPG ,.TOCTJ ,11
IFN FTPRGRUN,<
X PRGRUN ,Program to run ,JB$PTR ,.TSIXN ,14
>;END IFN FTPRGRUN
X PRJNUMBER ,Project ,JB$PPJ ,.TOCTJ ,9
X PROJECT ,Project ,JB$PPJ ,.TOCTJ ,9
X PROGRAM ,Program ,JB$PRG ,.TSIXN ,7
X PROSET ,Default protection set ,JB$DPS ,ONOFF ,25
X READS ,Reads ,JB$DBR ,.TDECJ ,8,1000
X REMOTE ,Remote ,JB$RMT ,YESNO ,7
IFN FTRESET,<
X RESET ,Reset ,JB$ITR ,.TUFTM ,8,<400000/^D24+1>
>;END IFN FTRESET
X RUNTIME ,Runtime ,JB$TIM ,.TTIME ,8,30000
X SEGMENT ,Segment ,JB$HSN ,.TSIXN ,7
IFN FTIPC,<
X SLOT ,Slot ,JB$SLT ,.TOCTJ ,6
>;END IFN FTIPC
X TTY ,TTY ,JB$TLN ,.TOCTJ ,6
X UUOS ,UUOs ,JB$UUC ,.TDECJ ,8,10000
X VCORE ,VCore ,VCORE ,.TDECJ ,6,10
X VIRHIGH ,Virtual high segment size,JB$PVH,.TDECJ,25 ,5
X VKCS ,VKCS ,JB$VKM ,.TDECJ ,6,10000
X VIRLOW ,Virtual low segment size,JB$PVL,.TDECJ ,24 ,5
X WRITES ,Writes ,JB$DBW ,.TDECJ ,8,1000
X WSCODE ,Wait state code ,JB$WSC ,.TSIXN ,15
X WTO ,WTO privileges ,JB$WTO ,TWTO ,15
LEN JOB
START LIN
X ASSIGN ,Assigned ,LB$TAC ,YESNO ,9
X BREAK ,Break chars ,LB$BCC ,.TDECJ ,12,100
X CARRIER ,Carrier ,LB$DSC ,YESNO ,8
X COMMANDS ,Commands ,LB$CMD ,.TDECJ ,9,100
X APC ,Asynchronous port characteristic ,LB$APC ,TAPC ,32
X INITED ,Inited ,LB$TAP ,YESNO ,7
X INPUT ,Input chars ,LB$ICT ,.TDECJ ,12,1000
X JOB ,Job ,LB$JOB ,.TDECJ ,4
X LINE ,Line ,LB$NLN ,.TOCTJ ,5
IFN FTLGNQ,<
X LOGINQ ,Login queue ,LB$LQP ,TLGNQ ,12
>;END IFN FTLGNQ
X MIC ,Mic ,LB$MCL ,YESNO ,3
X NODE ,Node ,LB$NNM ,.TSIXN ,6
X NODENAME ,Node ,LB$NNM ,.TSIXN ,6
X NODENUMBER ,Node number ,LB$NNU ,.TOCTJ ,11
X OUTPUT ,Output chars ,LB$OCT ,.TDECJ ,13,1000
X RCVSPEED ,RCVspeed ,LB$RBD ,.TDECJ ,9
X REMOTE ,Remote ,LB$RMT ,YESNO ,7
X SLAVE ,Slave ,LB$SLV ,YESNO ,6
X TYPE ,Type ,LB$TYP ,.TSIXN ,6
X USERS ,Users ,LB$TCJ ,YESNO ,6
X XMTSPEED ,XMTspeed ,LB$TBD ,.TDECJ ,9
X PRGNUMBER ,Programmer ,UB$PPG ,.TOCTJ ,11
LEN LIN
START NOD
X CDP ,Card punches ,NB$CDP ,.TDECJ ,12
X CDR ,Card readers ,NB$CDR ,.TDECJ ,12
X CONFIGURATION,Configuration ,NB$CNF ,.TASCW ,13
X DATE ,Date ,NB$DAT ,.TASCW ,4
VERSION GE,702,<
X DDP ,DDCMP devices ,NB$DDP ,.TDECJ ,13
>;GE 702
X DTA ,DECtapes ,NB$DTA ,.TDECJ ,8
X LPT ,Line printers ,NB$LPT ,.TDECJ ,13
X MCR ,MCRs ,NB$MCR ,.TDECJ ,4
X MTA ,Magtapes ,NB$MTA ,.TDECJ ,8
X NAME ,Name ,NB$NNM ,.TSIXW ,4
X NODE ,Node ,NB$NNM ,.TSIXN ,6
X NODENAME ,Node ,NB$NNM ,.TSIXN ,6
X NODENUMBER ,Node number ,NB$NNU ,.TOCTJ ,11
X NUMBER ,Node number ,NB$NNU ,.TOCTW ,6
X PLT ,Plotters ,NB$PLT ,.TDECJ ,8
X PTP ,Paper tape punches ,NB$PTP ,.TDECJ ,18
X PTR ,Paper tape readers ,NB$PTR ,.TDECJ ,18
X RDA ,Remote data entry ,NB$RDA ,.TDECJ ,17
X TSK ,Tasks ,NB$TSK ,.TDECJ ,5
X TTY ,Terminals ,NB$TTY ,.TDECJ ,9
X TYPE ,Type ,NB$TYP ,.TSIXN ,6
LEN NOD
START USR
X NAME ,Name ,UB$NM1 ,.TSIXN ,6
X PPN ,PPN ,UB$PPN ,.TPPNW ,13
X PRJNUMBER ,Project ,UB$PPJ ,.TOCTJ ,9
X PROJECT ,Project ,UB$PPJ, .TOCTJ ,9
X PROGRAMMER ,Programmer ,UB$PPG ,.TOCTJ ,11
X PHYSICAL ,Physical limit ,UB$NPP ,.TDECJ ,15
X VIRTUAL ,Virtual limit ,UB$NVP ,.TDECJ ,14
X IPCFSEND ,IPCF send quota ,UB$SND ,.TDECJ ,16
X IPCFRECEIVE ,IPCF receive quota ,UB$RCV ,.TDECJ ,19
X OPERATOR ,Operator type ,UB$GOP ,TGOP ,14
X EXPIRATION ,Expiration date ,UB$EXP ,TUDATE ,16
X SCHEDULER ,Scheduler type ,UB$SCD ,.TDECJ ,15
X ENQDEQ ,Enq/Deq quota ,UB$EDQ ,.TDECJ ,14
X CHARGE ,Charge number ,UB$CNO ,CHGTYO ,14
IFN FTIPC,<
X COSTCENTER ,Cost center ,UB$CST ,.TSIXN ,12
> ;END IFN FTIPC
LEN USR
LIST
>;END DEFINE SUMMARY
SUBTTL SCAN interface tables -- State keywords and actions
DEFINE STATES,<
XLIST
X ACTIVE
X SWAP
X LOCK
X STOP
X RUN
X EVENTWAIT
X IOWAIT
X SLEEP
X CODES
X RWAITS
X QUEUES
LIST
>
SUBTTL SCAN interface tables -- OBJECT definitions
DEFINE OBJECTS,<
XX MCR
XX TTY
XX CDR
XX LPT
XX PTR
XX PTP
XX PLT
XX MTA
XX DTA
XX TSK
XX RDA
XX CDP
VERSION GE,702,<
XX DDP
>;GE 702
>
SUBTTL Format descriptors
PHASE 0
.FMFMT: BLOCK 1 ;FORMAT FIELDWIDTH DESCRIPTORS
FM.USR==1B0 ;USER SPECIFIED
FM.FMT==3B2 ;FORMAT TYPE
.FMFIX==1 ;FIXED
.FMFLT==2 ;FLOATING
.FMBLK==3 ;FIXED WITH BLANK FIELD SUPPRESS
FM.JUS==3B4 ;JUSTIFY FIELD
.FMLEF==0 ;LEFT
.FMCEN==1 ;CENTER
.FMRIG==2 ;RIGHT
FM.SPC==17B8 ;SPACE COUNT IF FORFLOAT TO TRAIL
FM.STR==1B9 ;FORMAT IS A STRING (LEAVE BLANKS)
FM.WID==377B17 ;FIELDWIDTH
FM.PRT==777777B35 ;ADDR TO PUSHJ TO PRINT FIELD
.FMLOD: BLOCK 1 ;INSTR TO XCT TO LOAD FIELD
.FMLEN: ;LENGTH OF BLOC
DEPHASE
SUBTTL Check block description
PHASE 0
.CKSWT:! BLOCK 1 ;ADDRESS OF SWITCH VALUE
.CKMSK:! BLOCK 1 ;ADDRESS OF SWITCH VALUE MASK
.CKINI:! BLOCK 1 ;DEFAULT INITIAL SWITCH VALUE
.CKLOD:! BLOCK 1 ;ADDRESS OF ROUTINE TO LOAD VALUE
.CKCHK:! BLOCK 1 ;ADDRESS OF ROUTINE TO CHECK VALUE
.CKLEN:!
DEPHASE
SUBTTL PSI definitions
; Macro to count up and assign interrupt vector block offsets
DEFINE $PSI (NAM),<
.IV'NAM==VECNUM*4 ;;ASSIGN INTERRUPT VECTOR OFFSET
VECNUM==VECNUM+1 ;;COUNT VECTORS
> ;END $PSI MACRO
VECNUM==0 ;INITIALIZE COUNTER
$PSI (DET) ;ATTACH/DETACH
$PSI (STP) ;CONTROL-C TRAP
IFN FTSERV,<$PSI (IPC)> ;IPCF
IFN FTSERV,<$PSI (ANF)> ;ANF10
IFN FTSERV,<$PSI (DCN)> ;DECNET
SUBTTL Task I/O and server definitions
; Task dispatch vector offsets
.TSNAM==0 ;NAME
.TSTYP==1 ;TYPE
.TSNET==2 ;NETWORK TYPE
.TSTIM==3 ;DEFAULT TIMEOUT
.TSFET==4 ;FEATURE FLAG
.TSOPN==5 ;OPEN TASK
.TSCLS==6 ;CLOSE TASK
.TSINP==7 ;INPUT A BUFFER
.TSOUT==10 ;OUTPUT A BUFFER
.TSIBR==11 ;ADDR OF INPUT BUFFER RING HEADER
.TSOBR==12 ;ADDR OF OUTPUT BUFFER RING HEADER
.TSPRV==13 ;SET/CLEAR PRIV AND JOB FLAGS
; Macro to build a dispatch vector
DEFINE TASK (NAM,PFX,TYP,NET,TIM,FET),<
PFX'TSK::
XLIST
EXP [ASCIZ |NAM|] ;;NAME
EXP TYP ;;TASK TYPE
EXP NET ;;NETWORK TYPE
EXP ^D<TIM> ;;TIMEOUT
EXP FET ;;FEATURE
EXP PFX'OPN ;;OPEN TASK
EXP PFX'CLS ;;CLOSE TASK
EXP PFX'INP ;;INPUT A BUFFER
EXP PFX'OUT ;;OUTPUT A BUFFER
EXP PFX'IBR ;;ADDRESS OF INPUT BUFFER RING HEADER
EXP PFX'OBR ;;ADDRESS OF OUTPUT BUFFER RING HEADER
EXP PFX'PRV ;;SET/CLEAR PRIV AND JOB FLAGS
LIST
> ;END TASK MACRO
; Task open definitions
TS.ACT==1B0 ;ACTIVE
TS.TYP==177B8 ;TYPE OF CONNECT
.TSIPC==0 ;IPCF
.TSANF==1 ;ANF10
.TSDCN==2 ;DECNET
.TSNUM==3 ;NUMBER OF DEFINED TASK TYPES
TS.TIM==777B17 ;TIMEOUT IN SECONDS
.TSTMN==0 ;MINIMUM TIMEOUT VALUE
.TSTMX==<TS.TIM_-<ALIGN.(TS.TIM)>> ;MAXIMUM TIMEOUT VALUE
; The /SERVER switch has the format:
;
; /SERVE:node-string:connect-type:timeout
;
; Where "node-string" One node name or a quoted string of node names.
; This argument occupies .SVMAX-.SVNOD words.
; connect-type Defines the connect type (IPCF, ANF10, DECNET).
; This field occupies one word.
; timeout The maximum number of seconds to wait.
; This field occupies one word.
;
; Offsets into /SERVER storage block
.SVFLG==0 ;NON-NEGATIVE IF ARGUMENTS TYPED
.SVTYP==1 ;CONNECT TYPE
.SVTIM==2 ;TIMEOUT VALUE IN SECONDS
.SVNOD==3 ;START OF NODE TEXT (MUST BE AT END)
.SVMAX==^D28 ;LENGTH OF BLOCK
.SVWDS==.SVMAX-.SVNOD ;LENGTH OF NODE STRING TEXT IN WORDS
.SVCHR==<.SVWDS*5>-1 ;LENGTH OF NODE STRING TEXT IN CHARACTERS
SUBTTL Mount count flags and fields
MC.SYS==1B0 ;STR IN SSL
MC.SDL==1B1 ;STR IN SDL
MC.ASL==1B2 ;STR HAS UNITS IN ASL
MC.TMC==777777B35 ;TOTAL MOUNT COUNT
MC.PAS==777777B17 ;PASSIVE S/L COUNT
MC.ACT==777777B35 ;ACTIVE S/L COUNT
SUBTTL Network data
; Network type codes
.NTNON==0 ;NO NETWORK SUPPORT
.NTANF==1 ;ANF10
.NTDCN==2 ;DECNET
; Network flags
NT.ONL==1B0 ;ON-LINE
NT.KNO==1B1 ;KNOWN
; NRTSER information block offsets
.NRTFL==0 ;LINE FLAG (0=NOT NRT, -1=NRT)
.NRTNM==1 ;NODE NAME
.NRTNN==2 ;NODE NUMBER
.NRTCH==3 ;NRTSER CHANNEL NUMBER
.NRTLN==.NRTCH+1 ;LENGTH OF NRTSER BLOCK
SUBTTL END
END