Trailing-Edge
-
PDP-10 Archives
-
tops20-v7-ft-dist2-clock
-
galaxy-sources/lismac.mac
There are 4 other files named lismac.mac in the archive. Click here to see a list.
UNIVER LISMAC ;PARAMETER FILE FOR LISSPL
SUBTTL Preliminaries
; 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.
SEARCH GLXMAC ;CHECK GALAXY LIBRARY
SEARCH QSRMAC ;CHECK QUASARS LIBRARY
SEARCH ORNMAC ;CHECK ORIONS LIBRARY
SEARCH GALCNF ;GET CONFIGURATION DATA
SEARCH MONSYM ;CHECK THE MONITOR'S SYMBOLS
SALL ;MAKE CLEAN LISTINGS
IF1,<PRINTX BUILDING A GALAXY-20 LISMAC>
NMCMAN==:0
NMCDEV==:4
VERSIN(NMC)
NMCWHO==0
NMCVER==6
NMCMIN==0
SUBTTL Table of Contents
; Table of Contents for LISMAC
;
;
; Section Page
; 1. Preliminaries. . . . . . . . . . . . . . . . . . . . . 1
; 2. Table of Contents. . . . . . . . . . . . . . . . . . . 2
; 3. Revision history . . . . . . . . . . . . . . . . . . . 3
; 4. SYMBOLS DERIVED FROM GALCNF. . . . . . . . . . . . . . 4
; 5. LISTENER TABLE . . . . . . . . . . . . . . . . . . . . 5
; 6. SENDER TABLE . . . . . . . . . . . . . . . . . . . . . 6
; 7. LISTENER DATA BASE DEFINITIONS . . . . . . . . . . . . 7
; 8. SENDER DATA BASE DEFINITIONS . . . . . . . . . . . . . 10
; 9. MESSAGE QUEUE (MSGQUE) . . . . . . . . . . . . . . . . 13
; 10. CLUSTER LPTSPL DECNET MESSAGE DEFINTIONS . . . . . . . 14
SUBTTL Revision history
COMMENT \
***** Release 6.0 -- begin development edits *****
1 6.1065 Nov-9-87
Create LISMAC is the Cluster printing universal file.
2 6.1215 Mar-4-88
Define blocks .LSDBW and .SNDBW to contain the debugging SRV:
and DCN: names.
3 6.1225 8-Mar-88
Update copyright notice.
4 6.1220 9-Mar-88
Define block .LSLRB in the listener data base.
\ ;End of revision history
SUBTTL SYMBOLS DERIVED FROM GALCNF
XP NUMLIS,L.NUML ;NUMBER OF LISTENERS
PDSIZ==^D100 ;SIZE OF THE LISTENER'S STACK
SUBTTL LISTENER TABLE
COMMENT \
Each listener has an entry in the LISTENER table. A listener table entry
contains information about the listener that is used by the top fork.
A listener table entry has the following format:
!=======================================================!
! Status Word ! .LTSTA
!-------------------------------------------------------!
! Address of the Listener Block ! .LTADR
!-------------------------------------------------------!
! Number of Times Listener Has Crashed ! .LTCRT
!-------------------------------------------------------!
\
PHASE 0
.LTSTA: BLOCK 1 ;STATUS WORD
LT%NRS==1B0 ;LISTENER CANNOT BE RESTARTED
LT%LFC==1B1 ;LISTENER FORK CRASHED
LT%HNL==1B2 ;HELLO MSG RECEIVED FROM NON-LPTSPL
.LTADR: BLOCK 1 ;ADDRESS OF THE LISTENER BLOCK
.LTCRT: BLOCK 1 ;NUMBER OF TIMES LISTENER HAS CRASHED
.LTSIZ: ;SIZE OF AN ENTRY
DEPHASE
SUBTTL SENDER TABLE
COMMENT \
Each sender has an entry in the SENDER table. A sender table entry
contains information about the sender that is used by the top fork.
A sender table entry has the following format:
!=======================================================!
! Remote node name ! .STNOD
!-------------------------------------------------------!
! Status Word ! .STSTS
!-------------------------------------------------------!
! Address of the sender block ! .STADR
!-------------------------------------------------------!
! Number of Times the sender has crashed ! .STCRT
!=======================================================!
\
PHASE 0
.STNOD: BLOCK 1 ;NAME OF NODE SENDER SENDING MSG TO
.STSTS: BLOCK 1 ;STATUS WORD
ST%SFC==1B0 ;SENDER FORK CRASHED
.STADR: BLOCK 1 ;ADDRESS OF THE SENDER BLOCK
.STCRT: BLOCK 1 ;TIMES THE SENDER HAS CRASHED
.STSIZ: ;SIZE OF AN ENTRY
DEPHASE
SUBTTL LISTENER DATA BASE DEFINITIONS
COMMENT \
Each listener has a two page listener block. The listener
block is shared between the top fork and the listener. The first page
has the following format:
!=======================================================!
! Message Buffer Address ! .LSMSG
!-------------------------------------------------------!
! NEXTJOB Message Address ! .LSNXJ
!-------------------------------------------------------!
! Modified NEXTJOB Message Address ! .LSMOD
!-------------------------------------------------------!
! TRANSFER FILE RESPONSE Message Address ! .LSXRM
!-------------------------------------------------------!
! Listener Table Entry Address ! .LSLTA
!-------------------------------------------------------!
! SIXBIT Remote Node Name ! .LSNME
!-------------------------------------------------------!
! !
/ ASCIZ Remote Node Name / .LSANN
! !
!-------------------------------------------------------!
! !
/ /
/ Remote Sender Name / .LSUSR
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ DECnet Remote Sender Name / .LSSNE
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ DECnet Remote Sender Optional Data / .LSOPT
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ Debugging User Name / .LSDBW
/ /
! /
!-------------------------------------------------------!
! Listener Message Queue Header Word ! .LSHWD
!-------------------------------------------------------!
! Listener Message Queue Trailer Word ! .LSTWD
!-------------------------------------------------------!
! DECnet Link Status ! .LSLNK
!-------------------------------------------------------!
! Listener Has a Message for NEBULA ! .LSAVA
!-------------------------------------------------------!
Continued on the next page.
Continued from the previous page.
!-------------------------------------------------------!
! !
/ /
/ Listener AC Save Area / .LSACS
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ Listener Stack / .LSPDL
/ /
! !
!-------------------------------------------------------!
! Listener's Fork Handle ! .LSHND
!-------------------------------------------------------!
! DECnet Link JFN ! .LSJFN
!-------------------------------------------------------!
! !
/ /
/ Listener's DECnet Device Name (SRV:) / .LSSRV
/ /
! !
!-------------------------------------------------------!
! Byte Pointer for $TEXT ! .LSBTP
!-------------------------------------------------------!
! !
/ /
/ GLXLIB Initialization Block / .LSIBK
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ PID Initialization Block / .LSPIB
/ /
! !
!-------------------------------------------------------!
! !
/ Interrupt Level Table / .LSLEV
! !
!-------------------------------------------------------!
! Interrupt Level 1 PC Save Block ! .LS1PC
!-------------------------------------------------------!
! Interrupt Level 2 PC Save Block ! .LS2PC
!-------------------------------------------------------!
! Interrupt Level 3 PC Save Block ! .LS3PC
!-------------------------------------------------------!
Continued on the next page
Continued from the previous page
!-------------------------------------------------------!
! !
/ /
/ MUTIL% JSYS Argument Block / .LSMUT
/ /
! !
!-------------------------------------------------------!
! Listener State ! .LSSTE
!-------------------------------------------------------!
! Checksum Value of a Remote Message ! .LSRCS
!-------------------------------------------------------!
! File Object Block ! .LSFOB
!-------------------------------------------------------!
! !
! !
/ /
/ File Transfer Message / .LSFXM
/ /
! !
!-------------------------------------------------------!
! !
/ Stopcode Processing Save Block / .LSERR
! !
!-------------------------------------------------------!
! Relative Position of the last FP/FD Block ! .LSLRB
!=======================================================!
\
;LISTENER DATA BASE DEFINITIONS
PHASE 0
.LSMSG:! BLOCK 1 ;MESSAGE BUFFER ADDRESS
.LSNXJ:! BLOCK 1 ;NEXTJOB MESSAGE ADDRESS
.LSMOD:! BLOCK 1 ;MODIFIED NEXTJOB MESSAGE ADDRESS
.LSXRM:! BLOCK 1 ;TRANSFER FILE RESPONSE MESSAGE
.LSLTA:! BLOCK 1 ;LISTENER TABLE ENTRY ADDRESS
.LSNME:! BLOCK 1 ;SIXBIT REMOTE NODE NAME
.LSANN:! BLOCK 2 ;ASCIZ REMOTE NODE NAME
.LSUSR:! BLOCK ^D8 ;REMOTE SENDER NAME
.LSSNE:! BLOCK 4 ;DECNET SENDER NAME
.LSOPT:! BLOCK 4 ;DECNET SENDER OPTIONAL DATA
.LSDBW:! BLOCK ^D8 ;[2]DEBUGGING USER NAME
.LSHWD:! BLOCK 1 ;LISTENER MESSAGE QUEUE HEADER WORD
.LSTWD:! BLOCK 1 ;LISTENER MESSAGE QUEUE TRAILER WORD
.LSLNK:! BLOCK 1 ;STATUS OF THE DECNET LINK
.LSAVA:! BLOCK 1 ;MESSAGE AVAILABLE FLAG
.LSACS:! BLOCK 20 ;LISTENER AC SAVE AREA
.LSPDL:! BLOCK PDSIZ ;LISTENER CONTEXT PDL.
.LSHND:! BLOCK 1 ;LISTENER'S PROCESS HANDLE
.LSJFN:! BLOCK 1 ;DECNET LOGICAL LINK JFN
.LSSRV:! BLOCK ^D20 ;DECNET DEVICE NAME
.LSBTP:! BLOCK 1 ;BYTE POINTER FOR $TEXT
.LSIBK:! BLOCK IB.SZ ;GLXLIB INITIALIZATION BLOCK
.LSPIB:! BLOCK PB.MNS ;PID INITIALIZATION BLOCK
.LSLEV:! BLOCK 3 ;INTERRUPT LEVEL TABLE
.LS1PC:! BLOCK 1 ;INTERRUPT LEVEL 1 PC SAVE BLOCK
.LS2PC:! BLOCK 1 ;INTERRUPT LEVEL 2 PC SAVE BLOCK
.LS3PC:! BLOCK 1 ;INTERRUPT LEVEL 3 PC SAVE BLOCK
.LSMUT:! BLOCK 3 ;MUTIL% ARGUMENT BLOCK
.LSSTE:! BLOCK 1 ;THE LISTENER'S STATE
LS%XMR==1B0 ;TRANSFER MESSAGE RESPONSE
.LSRCS:! BLOCK 1 ;CHECKSUM VALUE OF A REMOTE MESSAGE
.LSFOB:! BLOCK 1 ;FILE OBJECT BLOCK
;.LSFXM:! BLOCK .OHDRS+.TFHSZ+^D70 ;TRANSFER MESSAGE
.LSFXM:! BLOCK .OHDRS+1+^D70
.LSERR:! BLOCK 2 ;STOPCODE PROCESSING SAVE BLOCK
.LSLRB:! BLOCK 1 ;[4]RELATIVE NUMBER OF LAST FP/FD BLK
DBLED:! ;END OF DEFINED LISTENER DATA BASE
DEPHASE
SUBTTL SENDER DATA BASE DEFINITIONS
COMMENT \
Each sender has a two page sender block. The sender
block is shared between the top fork and the sender. The first page
has the following format:
!=======================================================!
! Message Buffer Address ! .SNMSG
!-------------------------------------------------------!
! Sender Table Entry Address ! .SNSTA
!-------------------------------------------------------!
! Remote Node Name ! .SNNME
!-------------------------------------------------------!
! Message Queue Link List Header Word ! .SNHWD
!-------------------------------------------------------!
! Message Queue Link List Trailer Word ! .SNTWD
!-------------------------------------------------------!
! Status of the DECnet Link ! .SNLNK
!-------------------------------------------------------!
! Free to Send a Message to the Listener ! .SNFRE
!-------------------------------------------------------!
! !
/ /
/ Sender AC Save Area / .SNREG
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ Sender Stack / .SNPDL
/ /
! !
!-------------------------------------------------------/
! Sender's Fork Handle ! .SNHND
!-------------------------------------------------------!
! DECnet Link JFN ! .SNJFN
!-------------------------------------------------------!
! !
/ /
/ DECnet DCN: Device Name / .SNDCN
/ /
! !
!-------------------------------------------------------!
Continued on the next page.
Continued from the previous page.
!-------------------------------------------------------!
! !
/ /
/ Debugging User Name / .SNDBW
/ /
! /
!-------------------------------------------------------!
! Byte Pointer for $TEXT ! .SNBTP
!-------------------------------------------------------!
! !
/ /
/ GLXLIB Initialization Block / .SNIBK
/ /
! !
!-------------------------------------------------------!
! !
/ /
/ PID Initialization Block / .SNPIB
/ /
! !
!-------------------------------------------------------!
! !
/ Interrupt Level Table / .SNLEV
! !
!-------------------------------------------------------!
! Interrupt Level 1 PC Save Block ! .SN1PC
!-------------------------------------------------------!
! Interrupt Level 2 PC Save Block ! .SN2PC
!-------------------------------------------------------!
! Interrupt Level 3 PC Save Block ! .SN3PC
!-------------------------------------------------------!
! Time Between DECnet Connection Attempts ! .SNTIM
!-------------------------------------------------------!
! !
/ /
/ MUTIL% JSYS Argument Block / .SNMUT
/ /
! !
!-------------------------------------------------------!
! Checksum Enable/Disable Flag ! .SNCKS
!-------------------------------------------------------!
! !
/ /
/ DECnet Inactivity Time Event Block / .SNTET
/ /
! !
!-------------------------------------------------------!
! !
/ Stopcode Processing Save Block / .SNERR
! !
!=======================================================!
\
;SENDER DATA BASE DEFINITIONS
PHASE 0
.SNMSG:! BLOCK 1 ;ADDRESS OF MESSAGE BUFFER
.SNSTA:! BLOCK 1 ;SENDER TABLE ENTRY ADDRESS
.SNNME:! BLOCK 1 ;REMOTE NODE NAME
.SNHWD:! BLOCK 1 ;MESSAGE QUEUE LINK LIST HEADER WORD
.SNTWD:! BLOCK 1 ;MESSAGE QUEUE LINK LIST TRAILOR WORD
.SNLNK:! BLOCK 1 ;STATUS OF THE DECNET LINK
.SNFRE:! BLOCK 1 ;MESSAGE AVAILABLE FLAG
.SNREG:! BLOCK 20 ;SENDER AC SAVE AREA
.SNPDL:! BLOCK ^D200 ;SENDER CONTEXT PDL.
.SNHND:! BLOCK 1 ;SENDER'S PROCESS HANDLE
.SNJFN:! BLOCK 1 ;DECNET LOGICAL LINK JFN
.SNDCN:! BLOCK ^D20 ;DECNET DEVICE NAME
.SNDBW:! BLOCK ^D8 ;[2]DEBUGGING USER NAME
.SNBTP:! BLOCK 1 ;BYTE POINTER FOR $TEXT
.SNIBK:! BLOCK IB.SZ ;GLXLIB INITIALIZATION BLOCK
.SNPIB:! BLOCK PB.MNS ;PID INITIALIZATION BLOCK
.SNLEV:! BLOCK 3 ;INTERRUPT LEVEL TABLE
.SN1PC:! BLOCK 1 ;INTERRUPT LEVEL 1 PC SAVE BLOCK
.SN2PC:! BLOCK 1 ;INTERRUPT LEVEL 2 PC SAVE BLOCK
.SN3PC:! BLOCK 1 ;INTERRUPT LEVEL 3 PC SAVE BLOCK
.SNTIM:! BLOCK 1 ;TIME BETWEEN DECNET CONNECTION ATTEMPTS
.SNMUT:! BLOCK 3 ;MUTIL% ARGUMENT BLOCK
.SNCKS:! BLOCK 1 ;CHECKSUM ENABLE/DISABLE FLAG
.SNTET:! BLOCK .TIMPC+1 ;DECNET INACTIVITY TIMED EVENT BLOCK
.SNERR:! BLOCK 2 ;STOPCODE PROCESSING SAVE BLOCK
DBSED:! ;END OF DEFINED SENDER DATA BASE
DEPHASE
SUBTTL MESSAGE QUEUE (MSGQUE)
COMMENT \
LISSPL queues IPCF messages that are to be forwarded to a remote
node in the corresponding sender's data block. A message queue entry
has the following format:
!=======================================================!
! Address of the Next Message Queue Entry ! .MQBLK
!-------------------------------------------------------!
!FLAGS! Address of the Message ! .MQMAD
!-------------------------------------------------------!
! MQ.LEN ! MQ.ADR ! .MQMEM
!=======================================================!
Note: If bit MQ%PAG is turned on, then this indicates that the
message plus entry size is greater than a page. Therefore, the
message is allocated a page of memory and it is not in general
contiguous to the message queue entry. If bit MQ%PAG is not turned on,
then this indicates that the message plus queue entry size size
is less than or equal to a page in length which means that the
message and message queue entry are located contiguously in memory.
\
PHASE 0
.MQBLK:! BLOCK 1 ;ADDRESS OF NEXT MESSAGE QUEUE ENTRY
.MQMAD:! BLOCK 1 ;ADDRESS OF THE MESSAGE
MQ%PAG==1B0 ;THE MESSAGE OCCUPIES A PAGE
.MQMEM:! BLOCK 1 ;GLXMEM MEMORY MANAGEMENT INFORMATION
MQ.LEN==-1,,0 ;LENGTH OF GLXMEM BLOCK SIZE
MQ.ADR==0,,-1 ;ADDRESS OF GLXMEM BLOCK SIZE
.MQISZ:! ;MESSAGE QUEUE HEADER SIZE
DEPHASE
SUBTTL CLUSTER LPTSPL DECNET MESSAGE DEFINTIONS
;TRANSFER FILE MESSAGE
;
;This message is sent by the listener on the remote node if one or more files
;in the NEXTJOB message are not accessible to its system. This message lists
;the files that cannot be accessed by their relative FP position in the
;NEXTJOB message.
;
; !=======================================================!
; / /
; / THE GALAXY MESSAGE HEADER /
; / /
; !=======================================================!
; ! Number of Files That Need to be Transferred ! .TFNUM
; !=======================================================!
; ! Relative File Parameter Position in NEXTJOB Message ! .TFFPP
; !-------------------------------------------------------!
; / /
; / /
; / /
; !-------------------------------------------------------!
; ! Relative File Parameter Position in NEXTJOB Message ! .TFFPP
; !=======================================================!
PHASE 0
.TFNUM: BLOCK 1 ;NUMBER OF FILES TO TRANSFER
.TFHSZ: ;NUMBER OF FILES TO TRANSFER BLOCK SIZE
DEPHASE
PHASE 0
.TFFPP: BLOCK 1 ;RELATIVE FP POSITION OF FILE TO XFER
.TFFPS: ;RELATIVE FP POSITION BLOCK SIZE
DEPHASE
;TRANSFER FILE STATUS MESSAGE
;
;This message is sent by Cluster LPTSPL in response to a TRANSFER FILE
;message. Cluster LPTSPL attempts to transfer temporary copies of all the
;files specified in the TRANSFER FILE message to the directory shared
;between the remote listener's system and Cluster LPTSPL's system. If a
;file is successfully transferred, then the unique part of the temporary
;file's name is placed in the TRANSFER FILE STATUS message. If a file
;cannot be transferred, then the copied file name field is zeroed.
;
; !=======================================================!
; / /
; / THE GALAXY MESSAGE HEADER /
; / /
; !=======================================================!
; ! Number of Files Requested to be Transferred ! .TSNUM
; !=======================================================!
; ! Relative File Parameter Position in NEXTJOB Message ! .TSFPP
; !-------------------------------------------------------!
; ! Unique Part of Temporary File Name (or zero) ! .TSTFN
; !=======================================================!
; / /
; / /
; / /
; !=======================================================!
; ! Relative File Parameter Position in NEXTJOB Message ! .TSFPP
; !-------------------------------------------------------!
; ! Unique Part of Temporary File Name (or zero) ! .TSTFN
; !=======================================================!
PHASE 0
.TSNUM: BLOCK 1 ;# OF FILES REQUESTED TO BE TRANSFERRED
.TSHSZ: ;REQUESTED FILE NUMBER BLOCK SIZE
DEPHASE
PHASE 0
.TSFPP: BLOCK 1 ;RELATIVE FP POSITION OF FILE
.TSTFN: BLOCK 1 ;TEMPORARY FILE NAME (OR 0)
.TSSIZ: ;FILE STATUS BLOCK SIZE
DEPHASE
END