Google
 

Trailing-Edge - PDP-10 Archives - bb-lw55a-bm - 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