;++POOLDEFS.MAR ; ; FACILITY: ; Fermilab Accelerator Control System Network - ACNET ; ACNET Network, particularly the ACNET user-written System Services. ; ; ABSTRACT: ; This file contains the macros used to build the ACNET macro ; library. This file contains the macros which define the ; fields of blocks in VMS dynamic memory used by the user-written ; system services used by ACNET. ; ; ENVIRONMENT: ; Input to generate a macro library. ; ;-- ; ; MODIFICATION HISTORY: ; ; AUTHOR: F. Nagy Creation date: 22-Oct-1981 ; ; V01.01 28-Oct-81 FJN Drop Net Task Names List ; V01.02 04-Nov-81 FJN Add Network AST List defs. ; V02.00 08-May-82 FJN Added list of Rundown Handler addresses ; V02.01 25-Oct-82 FJN Provide XSC names in addition to ACN names ; in the XSC block ; V03.00 10-Nov-82 FJN Add Rundown Handler Block (RHB) definition ; ;+/$DYN_DEF ; ; $DYN_DEF $gbl ; ; $DYN_DEF defines the constants giving the block types for ACNET data ; structure blocks stored in system dynamic memory (paged or nonpaged). ; Note that block types starting with 128 are stored in shared memory. ; ;- .MACRO $DYN_DEF $GBL ; $DYNDEF $GBL ;Define VMS block types ; $EQULST DYN_K_,$GBL,,-1,<- - ;eXtended System Common block > ; .ENDM $DYN_DEF ;+/$XSC_DEF ; ; $XSC_DEF $gbl ; ; $XSC_DEF defines the fields in the eXtended System Common. This ; data structure is allocated from nonpaged pool and is pointed to ; by the longword with the global label EXE$GL_SITESPEC in the SYSCOMMON ; PSECT. The eXtended System Common provides needed extensions to ; the System Common for ACNET system-wide data structures. For the ; most part, the XSC block contains pointers to other data structures ; and arrays stored in paged and/or nonpaged pool. ; ;- .MACRO $XSC_DEF $GBL $DEFINI XSC,$GBL ; $DEF ACN_L_NETASTLST ;** Original name ** $DEF XSC_L_NETASTLST ;pointer to array of quadwords in which .BLKL 1 ;the virtual address (in the context of ;a process) of the internal network AST ;is stored. ; $DEF ACN_L_RUNDWNLST ;** Original name ** $DEF XSC_L_RUNDWNLST ;pointer to array of longwords in which .BLKL 1 ;the virtual address (in the context of ;a process) of the privileged image ;rundown routine is stored. ; $DEF XSC_W_SIZE ;size of this block holding the XSC .BLKW 1 ; $DEF XSC_B_TYPE ;block type - XSC .BLKB 1 ; .BLKB 1 ;**unused (for alignment)** ; $DEF ACN_L_NETPID ;** Original name ** $DEF XSC_L_NETPID ;Process identification of network .BLKL 1 ;process ; .BLKL 4 ;**Reserved spares** ; $DEF XSC_K_LENGTH ;Length of the XSC block $DEFEND XSC,$GBL,_DEF .ENDM $XSC_DEF ;+/$NAL_DEF ; ; $NAL_DEF $gbl ; ; $NAL_DEF defines the fields of the Network AST list. This block is an ; array of quadwords to be indexed by the process index (0 to limit). ; The first longword of each quadword is the process identification of ; the process whose Network AST virtual address is in the second longword. ; The AST virtual address is 0 if none was declared. Or the process ; identification is "incorrect", that is 0 or the process sequence number ; does not match the current process sequence number associated with the ; same process index. ; ;- .MACRO $NAL_DEF $GBL $DEFINI NAL,$GBL $DEF NAL_L_PID ;Offset of pid in quadword .BLKL 1 ;**otherwise a spare** $DEF NAL_L_ASTADR ;Offset of AST address in quadword .BLKL 1 ;**otherwise a spare** $DEFEND NAL,$GBL,_DEF .ENDM $NAL_DEF ;+/$RHB_DEF ; ; The $RHB_DEF macro defines the offsets into the Rundown Handler Block. ; The Rundown Handler Block is similar to the exit handler block used with ; the VMS $DCLEXH service. It provides for a link to tie a list of blocks ; together, a point to the entry point of the Rundown Handler Routine, and ; a argument list for that routine. ;- .MACRO $RHB_DEF $gbl $DEFINI RHB,$gbl $DEF RHB_L_LINK ;Link to next block in list or .BLKL 1 ; zero for last block $DEF RHB_L_ENTRY ;Pointer to entry point of routine .BLKL 1 ; (may be zeroed after block linked) $DEF RHB_L_ARGLST ;Argument list for routine $DEF RHB_B_ARGCNT ;Argument count .BLKL 1 $DEF RHB_L_ARG1 ;First argument of list $DEFEND RHB,$gbl,_DEF .ENDM $RHB_DEF