Trailing-Edge
-
PDP-10 Archives
-
tops20_version7_0_monitor_sources_clock
-
monitor-sources/enqpar.mac
There are 13 other files named enqpar.mac in the archive. Click here to see a list.
; UPD ID= 8512, RIP:<7.MONITOR>ENQPAR.MAC.5, 9-Feb-88 15:20:25 by GSCOTT
;TCO 7.1218 - Update copyright date.
; UPD ID= 299, RIP:<7.MONITOR>ENQPAR.MAC.4, 16-Nov-87 15:12:46 by MCCOLLUM
;TCO 7.1138 - Put VRPA back into ENQSRV and put EQ%ENA into STG
; UPD ID= 270, RIP:<7.MONITOR>ENQPAR.MAC.3, 6-Nov-87 11:59:21 by LOMARTIRE
;TCO 7.1115 - Move VRPA to here so CFSSRV can see bit VPRTY
; UPD ID= 160, RIP:<7.MONITOR>ENQPAR.MAC.2, 19-Oct-87 17:12:32 by LOMARTIRE
;TCO 7.1072 - Add support for cluster-wide ENQ
; COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1988.
; ALL RIGHTS RESERVED.
;
; 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 THAT IS NOT SUPPLIED BY DIGITAL.
SUBTTL ENQPAR -- Parameters for ENQ
SEARCH MONSYM,MACSYM,PROLOG
UNIVERSAL ENQPAR
SALL
Subttl Table of Contents
; Table of Contents for ENQPAR
;
; Section Page
;
;
; 1. Storage for ENQ/DEQ . . . . . . . . . . . . . . . . . 4
; 1.1 Parameter Definitions . . . . . . . . . . . . 5
; 1.2 ENQ/DEQ Flags in ENQFLG . . . . . . . . . . . 6
; 2. End of ENQPAR . . . . . . . . . . . . . . . . . . . . 7
SUBTTL Storage for ENQ/DEQ
;Structure definitions for ENQ/DEQ. These were formally located in ENQ.MAC
DEFSTR(ENQLJQ,0,35,36) ;BACK POINTER TO LAST Q FOR JOB
DEFSTR(ENQNJQ,1,35,36) ;FORWARD POINTER TO NEXT Q FOR JOB
DEFSTR(ENQLLQ,2,35,36) ;BACK POINTER TO LAST Q IN LOCK QUEUE
DEFSTR(ENQNLQ,3,35,36) ;FORWARD POINTER TO NEXT Q OF LOCK
DEFSTR(ENQFLG,4,11,12) ;FLAGS OF BLOCK (EITHER LOCK OR Q)
DEFSTR(ENQCHN,4,17,6) ;PSI CHANNEL #, -1 MEANS JOB BLOCKED
DEFSTR(ENQFRK,4,35,18) ;FORK NUMBER OF CREATOR OF Q-BLOCK
DEFSTR(ENQNR,5,17,18) ;# OF RESOURCES REQUESTED
DEFSTR(ENQID,5,35,18) ;ID OF ENQ REQUEST
DEFSTR(ENQLRQ,6,35,36) ;BACK POINTER TO REST OF REQUEST
DEFSTR(ENQFQ,7,35,36) ;FORWARD POINTER TO REST OF REQUEST
DEFSTR(ENQLBP,10,35,36) ;POINTER TO LOCK-BLOCK OF THIS Q
DEFSTR(ENQGRP,11,35,18) ;GROUP NUMBER OF SHARABLE REQUEST
DEFSTR(ENQJFN,12,35,18) ;JFN OF ENQ REQUEST
DEFSTR(ENQNST,12,17,18) ;NEST COUNT
DEFSTR(ENQMSK,13,35,36) ;POINTER TO MASK BLOCK
;NOTE: ENQLHC and ENQNHC must be defined at offsets 0 and 1 to allow for
; the fact that both ENQLST and HSHTBL are referenced with those
; structure definitions. Also, note that ENQLST is referenced at CHKENQ:
; in JSYSF.MAC without the structure definition.
DEFSTR(ENQLHC,0,35,36) ;BACK POINTER TO LAST LOCK IN HASH LIST
DEFSTR(ENQNHC,1,35,36) ;FORWARD PNTR TO NEXT LOCK ON HASH LIST
;DEFSTR(ENQLLQ,2,35,36) ;BACK POINTER TO LAST Q IN LOCK QUEUE
;DEFSTR(ENQNLQ,3,35,36) ;FORWARD POINTER TO NEXT Q OF LOCK
;DEFSTR(ENQFLG,4,11,12) ;FLAGS OF BLOCK (EITHER LOCK OR Q)
DEFSTR(ENQLVL,4,35,18) ;LEVEL NUMBER OF LOCK
DEFSTR(ENQTR,5,17,18) ;TOTAL # OF RESOURCES IN POOL
DEFSTR(ENQRR,5,35,18) ;# OF RESOURCES REMAINING IN POOL
DEFSTR(ENQTS,6,35,36) ;TIME STAMP OF LAST REQUEST TO BE LOCKED
DEFSTR(ENQFBP,7,35,36) ;POINTER TO FREE Q-BLOCK
DEFSTR(ENQLT,10,35,36) ;LONG TERM LOCK LIST FOR SYSTEM
.ENQLT==10 ;OFFSET OF LOCK LIST ELEMENT
DEFSTR(ENQOFN,11,17,18) ;OFN, -2, -3, OR 400000+JOB NUMBER
DEFSTR(ENQLEN,11,35,18) ;LENGTH OF LOCK-BLOCK
DEFSTR(ENQNMS,12,17,18) ;NUMBER OF WORDS IN THE MASK BLOCK
IFN CLEQIN,< ;[7.1072]
DEFSTR(ENQHSH,12,35,18) ;[7.1072] HASH VALUE FOR LOCK-BLOCK
DEFSTR(ENQAFP,13,35,36) ;[7.1072] FORWARD POINTER FOR LB ACTION LIST
DEFSTR(ENQABP,14,35,36) ;[7.1072] BACKWARD POINTER FOR LB ACTION LIST
DEFSTR(ENQTXT,15,35,36) ;[7.1072] FIRST WORD OF TEXT OR USER CODE
.ENTXT==15 ;[7.1072] INDEX INTO LOCK-BLOCK FOR TEXT BLOCK
> ;[7.1072]
IFE CLEQIN,< ;[7.1072]
DEFSTR(ENQTXT,13,35,36) ;FIRST WORD OF TEXT OR USER CODE
.ENTXT==13 ;INDEX INTO LOCK-BLOCK FOR TEXT BLOCK
> ;[7.1072]
DEFSTR(ENQOTA,ENQQOT,8,9) ;ENQ/DEQ QUOTA
DEFSTR(ENQCNT,ENQQOT,17,9) ;COUNT OF REQUESTS QUEUED UP
SUBTTL Storage for ENQ/DEQ -- Parameter Definitions
QBLEN==14 ;LENGTH OF Q-BLOCK
IFN CLEQIN,< ;[7.1072]
LBLEN==15 ;[7.1072] LENGTH OF LOCK-BLK NOT COUNTING ENQTXT
> ;[7.1072]
IFE CLEQIN,< ;[7.1072]
LBLEN==13 ;LENGTH OF LOCK-BLK NOT COUNTING ENQTXT
> ;[7.1072]
ENQMXW==^D50 ;MAXIMUM # OF WORDS IN TEXT STRING
IFN CLEQIN,< ;[7.1072] If cluster ENQ support present
ENQMFN==4 ;[7.1072] MAX ENQ FUNCTION CODE
>
IFE CLEQIN,< ;[7.1072] If cluster ENQ support not present
ENQMFN==3 ;[7.1072] MAX ENQ FUNCTION CODE
>
DEQMXF==1 ;MAX DEQ FUNCTION CODE
ENQCMF==2 ;MAX ENQC FUNCTION CODE
ENQSTQ==^D50 ;STANDARD ENQ/DEQ QUOTA
.ENQRL==3 ;LENGTH OF A LOCK REQUEST
.ENQHL==2 ;# OF HEADER WORDS IN ARGUMENT BLOCK
.ENWCH==77 ;FORK IS WAITING FOR CALL TO WAKFRK
LVLLEN==11 ;LENGTH OF LEVEL NUMBER FIELD
SUBTTL Storage for ENQ/DEQ -- ENQ/DEQ Flags in ENQFLG
EN.LB==1 ;THIS IS THE LOCK-BLOCK
EN.EXC==2 ;REQUEST IS EXCLUSIVE
EN.TXT==4 ;THIS LOCK HAS A TEXT STRING IDENTIFIER
EN.LOK==10 ;THIS Q-BLOCK HAS THE LOCK LOCKED
EN.INV==20 ;THIS Q-BLOCK IS INVISIBLE
EN.LTL==40 ;LONG TERM LOCK
EN.NOV==100 ;[7.1072] No vote required for this Lock-Block
;[7.1072] Set during caching and for -1 locks.
EN.CLL==200 ;[7.1072] This is a cluster-wide Q-Block ...
;[7.1072] ... or a cluster-wide file Lock-Block
EN.SDO==400 ;[7.1072] Scheduling pass needed on Lock-Block
SUBTTL End of ENQPAR
END