SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)     100  EXE$SNDACC - SEND MESSAGE TO ACCOUNT MANAGER

   (3)     100  EXE$SNDSMB - SEND MESSAGE TO SYMBIONT MANAGER

   (4)     100  EXE$SNDOPR - SEND MESSAGE TO OPERATOR MAILBOX

   (5)     100  BUILD MESSAGE SUBROUTINE

   (6)     100  SEND MESSAGE ROUTINE

   (7)     100  EXE$OPRSNDERL - OPERATOR SEND MESSAGE TO ERROR 

   (7)    3400  EXE$NETSNDERL - NETWORK SEND MESSAGE TO ERROR L

   (7)    6600  EXE$SNDERL - SEND MESSAGE TO ERROR LOGGER

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   1

X01                                                                                                                              (1)



                                     0000   100 	.TITLE	SYSSNDMSG - SEND MESSAGE SYSTEM SERVICES

                                     0000   200 	.IDENT	/X01/

                                     0000   300 

                                     0000   400 ;

                                     0000   500 ;  COPYRIGHT (c) 1977 BY

                                     0000   600 ;	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

                                     0000   900 ; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

                                     0000  1000 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

                                     0000  1100 ; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

                                     0000  1200 ; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

                                     0000  1300 ; TRANSFERRED.

                                     0000  1400 ;

                                     0000  1500 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE

                                     0000  1600 ; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT

                                     0000  1700 ; CORPORATION.

                                     0000  1800 ;

                                     0000  1900 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

                                     0000  2000 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

                                     0000  2100 ;

                                     0000  2200 

                                     0000  2300 ;++

                                     0000  2400 ; FACILITY:

                                     0000  2500 ;

                                     0000  2600 ;	STARLET SYSTEM SERVICE

                                     0000  2700 ;

                                     0000  2800 ; ABSTRACT:

                                     0000  2900 ;

                                     0000  3000 ;	COMMON MODULE FOR SEND TO OPERATOR AND SYMBIONT MANAGER.

                                     0000  3100 ;

                                     0000  3200 ; AUTHOR: R.HEINEN, CREATION DATE: 11-JUL-77

                                     0000  3300 ;--

                                 00000000  3400 	.PSECT	Y$EXEPAGED

                                     0000  3500 ;

                                     0000  3600 ; EXTERNAL SYMBOLS

                                     0000  3700 ;

                                     0000  3800 	$CCBDEF				; DEFINE CHANNEL CONTROL BLOCK

                                     0000  3900 	$DEVDEF				; DEFINE DEVICE CHARACTERISTICS

                                     0000  4000 	$EMBDEF	SS			; DEFINE ERROR MESSAGE BUFFER OFFSETS

                                     0000  4100 	$MSGDEF				; DEFINE MESSAGE TYPES

                                     0000  4200 	$OPCDEF				; DEFINE OPERATOR MESSAGES

                                     0000  4300 	$PCBDEF				; DEFINE PCB

                                     0000  4400 	$PRVDEF				; DEFINE PRIVILEGE MASK

                                     0000  4500 	$SSDEF				; DEFINE SYSTEM STATUS RETURN CODES

                                     0000  4600 	$UCBDEF				; DEFINE UCB

                                     0000  4700 ;

                                     0000  4800 ; LOCAL SYMBOLS

                                     0000  4900 ;

                           00000004  0000  5000 MSG=4

                           00000008  0000  5100 MBX=8

                                     0000  5200 ;

                                     0000  5300 ; LOCAL DATA

                                     0000  5400 ;

                                     0000  5500 OPER_PRIV:				; MESSAGE TYPE VRS. PRIV. NEED TABLE

                                 06  0000  5600 	.BYTE	<<1@OPC$_RQ_LOGI>!-	; OPERATOR REQUESTS THAT NEED PRIVILEGE

                                     0001  5700 		 <1@OPC$_RQ_TERME>>	; HAVE ASSOCIATED BIT SET TO 1 

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   2

X01                                                                                                                              (1)



                           00000008  0001  5800 OPER_PRIV_SIZ = 8			; NUMBER OF BITS IN TABLE

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   3

X01             EXE$SNDACC - SEND MESSAGE TO ACCOUNT MANAGER                                                                     (2)



                                     0001   100 	.SBTTL	EXE$SNDACC - SEND MESSAGE TO ACCOUNT MANAGER

                                     0001   200 ;++

                                     0001   300 ; EXE$SNDACC - SEND MESSAGE TO ACCOUNT MANAGER

                                     0001   400 ;

                                     0001   500 ; FUNCTIONAL DESCRIPTION:

                                     0001   600 ;

                                     0001   700 ; THIS ROUTINE PROVIDES THE SEND TO ACCOUNT MANAGER MAILBOX SYSTEM SERVICE.

                                     0001   800 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     0001   900 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE JOB CONTROLLER MAILBOX.

                                     0001  1000 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED AND THE REQUEST REPLY MAILBOX

                                     0001  1100 ; IS CHECKED FOR BEING A MAILBOX AND ACCESSIBLE TO THE PROCESS.

                                     0001  1200 ;

                                     0001  1300 ; INPUTS:

                                     0001  1400 ;

                                     0001  1500 ;	MSG(AP) = ADDRESS OF THE QUADWORD DESC FOR THE MESSAGE TEXT.

                                     0001  1600 ;	MBX(AP) = CHANNEL NUMBER OF THE MAILBOX FOR THE REPLY.

                                     0001  1700 ;

                                     0001  1800 ; OUTPUTS:

                                     0001  1900 ;	

                                     0001  2000 ;	R0 = STATUS OF THE OPERATION

                                     0001  2100 ;

                                     0001  2200 ; STATUS CODES RETURNED:

                                     0001  2300 ;

                                     0001  2400 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     0001  2500 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     0001  2600 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     0001  2700 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE READ ACCESS TO SPECIFIED MAILBOX

                                     0001  2800 ;	SS$_IVCHAN - SPECIFIED CHANNEL INVALID

                                     0001  2900 ;	SS$_DEVNOTMBX - SPECIFIED CHANNEL IS NOT TO MAILBOX

                                     0001  3000 ;	SS$_BADPARAM - MESSAGE SIZE ERROR

                                     0001  3100 ;	SS$_MBTOOSML - MESSAGE EXCEEDS MAILBOX SIZE

                                     0001  3200 ;	SS$_DEVOFFLIN - DEVICE OFFLINE

                                     0001  3300 ;--

                                     0001  3400 EXE$SNDACC::				; SEND TO ACCOUNTING MANAGER

                               0FFC  0001  3500 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

            5B            0A     9A  0003  3600 	MOVZBL	#MSG$_SNDACC,R11	; SET MESSAGE TYPE CODE

            55   00000000'EF     9E  0006  3700 	MOVAB	SYS$GL_JOBCTLMB,R5	; ADDRESS TARGET MAILBOX

                          20     11  000D  3800 	BRB	BUILDMSG		; CONTINUE IN COMMON

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   4

X01             EXE$SNDSMB - SEND MESSAGE TO SYMBIONT MANAGER                                                                    (3)



                                     000F   100 	.SBTTL	EXE$SNDSMB - SEND MESSAGE TO SYMBIONT MANAGER

                                     000F   200 ;++

                                     000F   300 ; EXE$SNDSMB - SEND MESSAGE TO SYMBIONT MANAGER

                                     000F   400 ;

                                     000F   500 ; FUNCTIONAL DESCRIPTION:

                                     000F   600 ;

                                     000F   700 ; THIS ROUTINE PROVIDES THE SEND TO SYMBIONT MANAGER MAILBOX SYSTEM SERVICE.

                                     000F   800 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     000F   900 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE JOB CONTROLLER MAILBOX.

                                     000F  1000 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED AND THE REQUEST REPLY MAILBOX

                                     000F  1100 ; IS CHECKED FOR BEING A MAILBOX AND ACCESSIBLE TO THE PROCESS.

                                     000F  1200 ;

                                     000F  1300 ; INPUTS:

                                     000F  1400 ;

                                     000F  1500 ;	MSG(AP) = ADDRESS OF THE QUADWORD DESC FOR THE MESSAGE TEXT.

                                     000F  1600 ;	MBX(AP) = CHANNEL NUMBER OF THE MAILBOX FOR THE REPLY.

                                     000F  1700 ;

                                     000F  1800 ; OUTPUTS:

                                     000F  1900 ;	

                                     000F  2000 ;	R0 = STATUS OF THE OPERATION

                                     000F  2100 ;

                                     000F  2200 ; STATUS CODES RETURNED:

                                     000F  2300 ;

                                     000F  2400 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     000F  2500 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     000F  2600 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     000F  2700 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE READ ACCESS TO SPECIFIED MAILBOX

                                     000F  2800 ;	SS$_IVCHAN - SPECIFIED CHANNEL INVALID

                                     000F  2900 ;	SS$_DEVNOTMBX - SPECIFIED CHANNEL IS NOT TO MAILBOX

                                     000F  3000 ;	SS$_BADPARAM - MESSAGE SIZE ERROR

                                     000F  3100 ;	SS$_MBTOOSML - MESSAGE EXCEEDS MAILBOX SIZE

                                     000F  3200 ;	SS$_DEVOFFLIN - DEVICE OFFLINE

                                     000F  3300 ;--

                                     000F  3400 EXE$SNDSMB::				; SEND TO SYMBIONT MANAGER

                               0FFC  000F  3500 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

            5B            04     9A  0011  3600 	MOVZBL	#MSG$_SNDSMB,R11	; SET MESSAGE TYPE CODE

            55   00000000'EF     9E  0014  3700 	MOVAB	SYS$GL_JOBCTLMB,R5	; SET ADDRESS OF MAILBOX

                          12     11  001B  3800 	BRB	BUILDMSG		; CONTINUE IN COMMON

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   5

X01             EXE$SNDOPR - SEND MESSAGE TO OPERATOR MAILBOX                                                                    (4)



                                     001D   100 	.SBTTL	EXE$SNDOPR - SEND MESSAGE TO OPERATOR MAILBOX

                                     001D   200 ;++

                                     001D   300 ; EXE$SNDOPR - SEND MESSAGE TO OPERATOR MAILBOX

                                     001D   400 ;

                                     001D   500 ; FUNCTIONAL DESCRIPTION:

                                     001D   600 ;

                                     001D   700 ; THIS ROUTINE PROVIDES THE SEND TO OPERATOR MAILBOX SYSTEM SERVICE.

                                     001D   800 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     001D   900 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE OPERATOR MAILBOX.

                                     001D  1000 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED AND THE REQUEST REPLY MAILBOX

                                     001D  1100 ; IS CHECKED FOR BEING A MAILBOX AND ACCESSIBLE TO THE PROCESS.

                                     001D  1200 ;

                                     001D  1300 ; INPUTS:

                                     001D  1400 ;

                                     001D  1500 ;	MSG(AP) = ADDRESS OF THE QUADWORD DESC FOR THE MESSAGE TEXT.

                                     001D  1600 ;	MBX(AP) = CHANNEL NUMBER OF THE MAILBOX FOR THE REPLY.

                                     001D  1700 ;

                                     001D  1800 ; OUTPUTS:

                                     001D  1900 ;	

                                     001D  2000 ;	R0 = STATUS OF THE OPERATION

                                     001D  2100 ;

                                     001D  2200 ; STATUS CODES RETURNED:

                                     001D  2300 ;

                                     001D  2400 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     001D  2500 ;	SS$_IVCHAN - SPECIFIED CHANNEL INVALID

                                     001D  2600 ;	SS$_MBTOOSML - MESSAGE EXCEEDS MAILBOX SIZE

                                     001D  2700 ;	OPC$_NOPERATOR - NO OPERATOR COVERAGE

                                     001D  2800 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     001D  2900 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     001D  3000 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE READ ACCESS TO SPECIFIED MAILBOX

                                     001D  3100 ;	SS$_DEVNOTMBX - SPECIFIED CHANNEL IS NOT TO MAILBOX

                                     001D  3200 ;	SS$_BADPARAM - MESSAGE SIZE ERROR

                                     001D  3300 ;--

                                     001D  3400 EXE$SNDOPR::				; SEND TO OPERATOR

                               0FFC  001D  3500 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

            5B            08     9A  001F  3600 	MOVZBL	#MSG$_OPRQST,R11	; SET MESSAGE TYPE CODE

            55   00000000'EF     9E  0022  3700 	MOVAB	SYS$GL_OPRMBX,R5	; SET ADDRESS OF MAILBOX

                          04     11  0029  3800 	BRB	BUILDMSG		; CONTINUE IN COMMON

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   6

X01             BUILD MESSAGE SUBROUTINE                                                                                         (5)



                                     002B   100 	.SBTTL	BUILD MESSAGE SUBROUTINE

                                     002B   200 ;++

                                     002B   300 ; BUILDMSG - BUILD MESSAGE ROUTINE FOR EXE$SNDOPR/EXE$SNDSMB

                                     002B   400 ;

                                     002B   500 ; FUNCTIONAL DESCRIPTION:

                                     002B   600 ;

                                     002B   700 ; THIS ROUTINE BUILDS THE REQUESTED MESSAGE ON THE EXEC STACK

                                     002B   800 ; AND ENTERS A KERNEL MODE ROUTINE TO PERFORM THE MAILBOX VALIDATION

                                     002B   900 ; AND SEND THE MESSAGE.

                                     002B  1000 ;

                                     002B  1100 ; INPUTS:

                                     002B  1200 ;

                                     002B  1300 ;	MSG(AP) = ADDRESS OF THE MESSAGE DESCRIPTER

                                     002B  1400 ;	MBX(AP) = CHANNEL NUMBER OF THE REPLY MAILBOX IF ANY

                                     002B  1500 ;	R5 = MAILBOX UCB ADDRESS

                                     002B  1600 ;	R11 = MESSAGE TYPE

                                     002B  1700 ;

                                     002B  1800 ; OUTPUTS:

                                     002B  1900 ;

                                     002B  2000 ;	R0 = STATUS OF THE OPERATION

                                     002B  2100 ;

                                     002B  2200 ; STATUS CODES RETURNED:

                                     002B  2300 ;

                                     002B  2400 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     002B  2500 ;	SS$_IVCHAN - SPECIFIED CHANNEL INVALID

                                     002B  2600 ;	SS$_MBTOOSML - MESSAGE EXCEEDS MAILBOX SIZE

                                     002B  2700 ;	SS$_DEVOFFLIN - DEVICE OFFLINE

                                     002B  2800 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     002B  2900 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     002B  3000 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE READ ACCESS TO SPECIFIED MAILBOX

                                     002B  3100 ;		     OR THE MESSAGE REQUEST TYPE REQUIRES THE OPERATOR PRIV.

                                     002B  3200 ;	SS$_DEVNOTMBX - SPECIFIED CHANNEL IS NOT TO MAILBOX

                                     002B  3300 ;	SS$_BADPARAM - MESSAGE SIZE ERROR

                                     002B  3400 ;--

                                     002B  3500 BADPARAM:

            50            14     3C  002B  3600 	MOVZWL	#SS$_BADPARAM,R0	; SET BAD PARAM ERROR

                                 04  002E  3700 ERROR:	RET				; ERROR RETURN

                                     002F  3800 BUILDMSG:				; BUILD MESSAGE

            50            0C     3C  002F  3900 	MOVZWL	#SS$_ACCVIO,R0		; ASSUME ERROR

            59         04 AC     D0  0032  4000 	MOVL	MSG(AP),R9		; GET MESSAGE DESCRIPTER

                          F3     13  0036  4100 	BEQL	BADPARAM		; IF EQL THEN NO MESSAGE AND ERROR

                                     0038  4200 	IFNORD	#8,(R9),ERROR		; BR IF NO READ ACCESS

            58            69     3C  003E  4300 	MOVZWL	(R9),R8			; GET SIZE OF MESSAGE

                          E8     13  0041  4400 	BEQL	BADPARAM		; IF EQL THEN ILLEGAL

       00C8 8F            58     B1  0043  4500 	CMPW	R8,#200			; LEGAL SIZE?

                          E1     1A  0048  4600 	BGTRU	BADPARAM		; IF GTRU THEN NO

                                     004A  4700 	IFNORD	R8,@4(R9),ERROR		; BR IF NO READ ACCESS

            58            29     C1  0051  4800 	ADDL3	#38+3,R8,R1		; CALC SIZE OF TOTAL MESSAGE

                          51         0054       

            51            03     8A  0055  4900 	BICB	#3,R1			; ROUND DOWN SIZE

            50       0124 8F     3C  0058  5000 	MOVZWL	#SS$_INSFMEM,R0		; ASSUME NO STACK

            5E            51     C3  005D  5100 	SUBL3	R1,SP,R3		; ADDRESS MESSAGE STORAGE

                          53         0060       

   00000000'9F            53     D1  0061  5200 	CMPL	R3,@#CTL$AL_STACK	; IN KERNEL STACK?

                          C4     1B  0068  5300 	BLEQU	ERROR			; IF LEQU THEN YES

            5E            53     D0  006A  5400 	MOVL	R3,SP			; ALLOCATE THE SPACE

                          28     BB  006D  5500 	PUSHR	#^M<R3,R5>		; SAVE SIZE AND UCB ADDRESS

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   7

X01             BUILD MESSAGE SUBROUTINE                                                                                         (5)



            83            5B     B0  006F  5600 	MOVW	R11,(R3)+		; INSERT MESAGE TYPE

            83         08 AC     B0  0072  5700 	MOVW	MBX(AP),(R3)+		; INSERT REPLY MAILBOX CHANNEL NUMBER

            56   00000000'EF     D0  0076  5800 	MOVL	SCH$GL_CURPCB,R6	; ADDRESS PCB

            08            5B     91  007D  5900 	CMPB	R11,#MSG$_OPRQST	; OPERATOR TARGET?

                          17     12  0080  6000 	BNEQ	10$			; IF NEQ THEN NO{

            50            24     3C  0082  6100 	MOVZWL	#SS$_NOPRIV,R0		; ASSUME NO PRIVILEGE FOR REQUEST

            51         04 B9     9A  0085  6200 	MOVZBL	@4(R9),R1		; GET MESSAGE TYPE

            08            51     D1  0089  6300 	CMPL	R1,#OPER_PRIV_SIZ	; REQUEST IN RANGE OF BIT ARRAY?

                          0B     1E  008C  6400 	BGEQU	10$			; BR IF YES, NO PRIVILEGE CHECK IS MADE

       FF6D CF            51     E1  008E  6500 	BBC	R1,OPER_PRIV,10$	; BR IF NO PRIVILEGE IS REQUIRED

                          05         0093       

         64 B6            12     E1  0094  6600 	BBC	#PRV$V_OPER,@PCB$L_PHD(R6),ERROR; BR IF NOT PRIVILEGED

                          95         0098       

            83         64 B6     7D  0099  6700 10$:	MOVQ	@PCB$L_PHD(R6),(R3)+	; INSERT PRIVILEGE MASK

            83         20 A6     D0  009D  6800 	MOVL	PCB$L_UIC(R6),(R3)+	; INSERT UIC

   00000000'9F            0C     28  00A1  6900 	MOVC3	#12,@#CTL$T_USERNAME,(R3); INSERT USER NAME

                          63         00A8       

   00000000'9F            08     28  00A9  7000 	MOVC3	#8,@#CTL$T_ACCOUNT,(R3)	; INSERT ACCOUNT NAME

                          63         00B0       

            1F         33 A6     83  00B1  7100 	SUBB3	PCB$B_PRIB(R6),#31,(R3)+; INSERT BASE PRIORITY

                          83         00B5       

                          83     94  00B6  7200 	CLRB	(R3)+			;

         04 B9            58     28  00B8  7300 	MOVC3	R8,@4(R9),(R3)		; COPY MESSAGE

                          63         00BC       

            53            6E     C3  00BD  7400 	SUBL3	(SP),R3,-(SP)		; CALC MESSAGE SIZE

                          7E         00C0       

                                     00C1  7500 	$CMKRNL_S	B^SENDMSG,(SP)	; SEND MESSAGE IN KERNEL MODE

                                 04  00CD  7600 	RET				; RETURN AND CLEAN STACK

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   8

X01             SEND MESSAGE ROUTINE                                                                                             (6)



                                     00CE   100 	.SBTTL	SEND MESSAGE ROUTINE

                                     00CE   200 ;++

                                     00CE   300 ; SENDMSG - KERNEL MODE MESSAGE SEND ROUTINE

                                     00CE   400 ;

                                     00CE   500 ; FUNCTIONAL DESCRIPTION:

                                     00CE   600 ;

                                     00CE   700 ; THIS ROUTINE RUNS IN KERNEL MODE AND SENDS THE MESSAGE TO THE

                                     00CE   800 ; TARGET MAILBOX.

                                     00CE   900 ;

                                     00CE  1000 ; INPUTS:

                                     00CE  1100 ;

                                     00CE  1200 ;	0(AP) = SIZE OF MESSAGE

                                     00CE  1300 ;	4(AP) = ADDRESS OF THE MESSAGE

                                     00CE  1400 ;	8(AP) = MAILBOX UCB ADDRESS

                                     00CE  1500 ;

                                     00CE  1600 ; OUTPUTS:

                                     00CE  1700 ;

                                     00CE  1800 ;	R0 = STATUS OF THE OPERTATION

                                     00CE  1900 ;

                                     00CE  2000 ; STATUS CODES RETURNED:

                                     00CE  2100 ;

                                     00CE  2200 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     00CE  2300 ;	SS$_IVCHAN - SPECIFIED CHANNEL INVALID

                                     00CE  2400 ;	SS$_MBTOOSML - MESSAGE EXCEEDS MAILBOX SIZE

                                     00CE  2500 ;	SS$_DEVOFFLIN - NO LISTENER FOR SYMBIONT OR JOB CONTROLLER

                                     00CE  2600 ;	OPC$_NOPERATOR - NO LISTENER FOR OPERATOR REQUEST

                                     00CE  2700 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     00CE  2800 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE READ ACCESS TO SPECIFIED MAILBOX

                                     00CE  2900 ;	SS$_DEVNOTMBX - SPECIFIED CHANNEL IS NOT TO MAILBOX

                                     00CE  3000 ;--

                                     00CE  3100 SENDMSG:				; 

                               0000  00CE  3200 	.WORD	0			; SAVE NO REGISTERS

            55         04 AC     D0  00D0  3300 	MOVL	4(AP),R5		; GET MESSAGE ADDRESS

            50         02 A5     3C  00D4  3400 	MOVZWL	2(R5),R0		; GET CHANNEL NUMBER

                          33     13  00D8  3500 	BEQL	10$			; IF EQL THEN NO REPLY

            54   00000000'EF     D0  00DA  3600 	MOVL	SCH$GL_CURPCB,R4	; GET CURRENT PCB

                          FF1C'  30  00E1  3700 	BSBW	IOC$VERIFYCHAN		; CHECK OUT CHANNEL NUMBER

            3E            50     E9  00E4  3800 	BLBC	R0,100$			; BR IF ERROR

            51            61     D0  00E7  3900 	MOVL	CCB$L_UCB(R1),R1	; GET UCB OF REPLY MAILBOX

         02 A5         48 A1     B0  00EA  4000 	MOVW	UCB$W_UNIT(R1),2(R5)	; INSERT UNIT NUMBER OF MAILBOX

            50       0074 8F     3C  00EF  4100 	MOVZWL	#SS$_DEVNOTMBX,R0	; ASSUME DEVICE NOT MAILBOX

         34 A1            14     E1  00F4  4200 	BBC	#DEV$V_MBX,UCB$L_DEVCHAR(R1),100$; BR IF NOT MAILBOX

                          2C         00F8       

            52         1C A1     D0  00F9  4300 	MOVL	UCB$L_OWNUIC(R1),R2	; GET UIC OF BOX OWNER

            51         1A A1     3C  00FD  4400 	MOVZWL	UCB$W_VPROT(R1),R1	; GET PROTECTION MASK

                          FEFC'  30  0101  4500 	BSBW	EXE$CHKRDACCES		; CHECK ACCESS

            1E            50     E9  0104  4600 	BLBC	R0,100$			; BR IF ERROR IN ACCESS

                          FEF6'  30  0107  4700 	BSBW	EXE$CHKWRTACCES		; CHECK OUT FOR WRITE

            18            50     E9  010A  4800 	BLBC	R0,100$			; AND RETURN IF NO ACCESS

            55         08 AC     D0  010D  4900 10$:	MOVL	8(AP),R5		; ADDRESS UCB OF MAILBOX

            53            6C     7D  0111  5000 	MOVQ	(AP),R3			; GET SIZE AND ADDRESS OF MESSAGE

                          64     95  0114  5100 	TSTB	(R4)			; FAULT FRONT OF MESSAGE

                                     0116  5200 					; ASSUME NO MORE THAN 1 PAGE

                       FF A443   95  0116  5300 	TSTB	-1(R4)[R3]		; FAULT BACK OF MESSAGE

                       50 A5     B5  011A  5400 	TSTW	UCB$W_REFC(R5)		; IS MAILBOX ASSIGNED?

                          07     13  011D  5500 	BEQL	110$			;

                 00000000'GF     16  011F  5600 	JSB	G^EXE$WRTMAILBOX	; WRITE MESSAGE

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page   9

X01             SEND MESSAGE ROUTINE                                                                                             (6)



                                 04  0125  5700 100$:	RET				; RETURN

                                     0126  5800 ;

                                     0126  5900 ; NO LISTENER FOR SPECIFIED MAILBOX

                                     0126  6000 ;

                                     0126  6100 ; IF THE SPECIFIED MAILBOX IS THE OPERATOR MAILBOX THEN SUCCESS

                                     0126  6200 ; IS RETURNED TELLING THE SENDER THAT NO OPERATOR IS PRESENT.

                                     0126  6300 ;

            50       0084 8F     3C  0126  6400 110$:	MOVZWL	#SS$_DEVOFFLINE,R0	; ASSUME NO LISTENER

            64            08     91  012B  6500 	CMPB	#MSG$_OPRQST,(R4)	; OPERATOR?

                          07     12  012E  6600 	BNEQ	120$			; IF NEQ THEN NO

            50   00058061 8F     D0  0130  6700 	MOVL	#OPC$_NOPERATOR,R0	; SET NO OPERATOR SUCCESS STATUS

                                 04  0137  6800 120$:	RET				; RETURN

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  10

X01             EXE$OPRSNDERL - OPERATOR SEND MESSAGE TO ERROR                                                                   (7)



                                     0138   100 	.SBTTL	EXE$OPRSNDERL - OPERATOR SEND MESSAGE TO ERROR LOGGER

                                     0138   200 ;++

                                     0138   300 ; EXE$OPRSNDERL - OPERATOR SEND MESSAGE TO ERROR LOGGER

                                     0138   400 ;

                                     0138   500 ; FUNCTIONAL DESCRIPTION:

                                     0138   600 ;

                                     0138   700 ; THIS ROUTINE PROVIDES THE SEND TO ERROR LOGGER SYSTEM SERVICE

                                     0138   800 ; FOR THE OPERATOR COMMUNICATION PROCESS.

                                     0138   900 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     0138  1000 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE ERROR LOG FORMAT PROGRAM.

                                     0138  1100 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED.

                                     0138  1200 ;

                                     0138  1300 ; INPUTS:

                                     0138  1400 ;

                                     0138  1500 ;	MSG(AP) = ADDRESS OF THE MESSAGE DESCRIPTER

                                     0138  1600 ;

                                     0138  1700 ; OUTPUTS:

                                     0138  1800 ;

                                     0138  1900 ;	R0 = STATUS OF THE OPERATION

                                     0138  2000 ;

                                     0138  2100 ; STATUS CODES RETURNED:

                                     0138  2200 ;

                                     0138  2300 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     0138  2400 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     0138  2500 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     0138  2600 ;--

                                     0138  2700 	.ENABL	LSB

                                     0138  2800  

                                     0138  2900 EXE$OPRSNDERL::				; SEND TO ERROR LOGGER

                               003C  0138  3000 	.WORD	^M<R2,R3,R4,R5>		;

            53            29     9A  013A  3100 	MOVZBL	#EMB$K_OM,R3		; SET MESSAGE TYPE TO OPERATOR MESSAGE

                          1B     11  013D  3200 	BRB	10$			; JOIN COMMON CODE

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  11

X01             EXE$NETSNDERL - NETWORK SEND MESSAGE TO ERROR L                                                                  (7)



                                     013F  3400 	.SBTTL	EXE$NETSNDERL - NETWORK SEND MESSAGE TO ERROR LOGGER

                                     013F  3500 ;++

                                     013F  3600 ; EXE$NETSNDERL - NETWORK SEND MESSAGE TO ERROR LOGGER

                                     013F  3700 ;

                                     013F  3800 ; FUNCTIONAL DESCRIPTION:

                                     013F  3900 ;

                                     013F  4000 ; THIS ROUTINE PROVIDES THE SEND TO ERROR LOGGER SYSTEM SERVICE

                                     013F  4100 ; FOR THE NETWORK COMMUNICATION PROCESS.

                                     013F  4200 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     013F  4300 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE ERROR LOG FORMAT PROGRAM.

                                     013F  4400 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED.

                                     013F  4500 ;

                                     013F  4600 ; INPUTS:

                                     013F  4700 ;

                                     013F  4800 ;	MSG(AP) = ADDRESS OF THE MESSAGE DESCRIPTER

                                     013F  4900 ;

                                     013F  5000 ; OUTPUTS:

                                     013F  5100 ;

                                     013F  5200 ;	R0 = STATUS OF THE OPERATION

                                     013F  5300 ;

                                     013F  5400 ; STATUS CODES RETURNED:

                                     013F  5500 ;

                                     013F  5600 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     013F  5700 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     013F  5800 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     013F  5900 ;--

                                     013F  6000  

                                     013F  6100 EXE$NETSNDERL::				; SEND TO ERROR LOGGER

                               003C  013F  6200 	.WORD	^M<R2,R3,R4,R5>		;

            53            2A     9A  0141  6300 	MOVZBL	#EMB$K_NM,R3		; SET MESSAGE TYPE TO NETWORK MESSAGE

                          14     11  0144  6400 	BRB	10$			; JOIN COMMON CODE

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  12

X01             EXE$SNDERL - SEND MESSAGE TO ERROR LOGGER                                                                        (7)



                                     0146  6600 	.SBTTL	EXE$SNDERL - SEND MESSAGE TO ERROR LOGGER

                                     0146  6700 ;++

                                     0146  6800 ; EXE$SNDERR - SEND MESSAGE TO ERROR LOGGER

                                     0146  6900 ;

                                     0146  7000 ; FUNCTIONAL DESCRIPTION:

                                     0146  7100 ;

                                     0146  7200 ; THIS ROUTINE PROVIDES THE SEND TO ERROR LOGGER SYSTEM SERVICE.

                                     0146  7300 ; THE ACTION IS TO BUILD A MESSAGE CONSISTING OF A COMMON HEADER

                                     0146  7400 ; AND THE USER SPECIFIED TEXT AND THEN SEND IT TO THE ERROR LOG FORMAT PROGRAM.

                                     0146  7500 ; THE SPECIFIED MESSAGE IS ADDRESSED CHECKED.

                                     0146  7600 ;

                                     0146  7700 ; INPUTS:

                                     0146  7800 ;

                                     0146  7900 ;	MSG(AP) = ADDRESS OF THE MESSAGE DESCRIPTER

                                     0146  8000 ;

                                     0146  8100 ; OUTPUTS:

                                     0146  8200 ;

                                     0146  8300 ;	R0 = STATUS OF THE OPERATION

                                     0146  8400 ;

                                     0146  8500 ; STATUS CODES RETURNED:

                                     0146  8600 ;

                                     0146  8700 ;	SS$_NORMAL - SUCCESSFUL OPERATION

                                     0146  8800 ;	SS$_INSFMEM - INSUFFICIENT MEMORY FOR THE REQUEST

                                     0146  8900 ;	SS$_ACCVIO - ACCESS VIOLATION ON BUFFER

                                     0146  9000 ;	SS$_NOPRIV - PROCESS DOES NOT HAVE REQUIRED PRIVILEGE

                                     0146  9100 ;--

                                     0146  9200 EXE$SNDERR::				; SEND TO ERROR LOGGER

                               003C  0146  9300 	.WORD	^M<R2,R3,R4,R5>		; REGISTERS USED

            50            24     B0  0148  9400 	MOVW	#SS$_NOPRIV,R0		; ASSUME SUER HAS NO PRIVILEGE

            51   00000000'EF     D0  014B  9500 	MOVL	SCH$GL_CURPCB,R1	; GET ADDRESS OF CURRENT PROCESS PCB

         64 B1            17     E1  0152  9600 	BBC	#PRV$V_BUGCHK,@PCB$L_PHD(R1),30$ ; BR IF NO PRIVILEGE

                          46         0156       

            53            27     9A  0157  9700 	MOVZBL	#EMB$C_SS,R3		; SET MESSAGE TYPE CODE

            50            0C     3C  015A  9800 10$:	MOVZWL	#SS$_ACCVIO,R0		; ASSUME ERROR

            54         04 AC     D0  015D  9900 	MOVL	MSG(AP),R4		; GET ADDRESS OF MESSAGE DESCRIPTOR

                                     0161 10000 	IFNORD	#8,(R4),30$		; BR IF CAN'T READ THE DESCRIPTOR

            54            64     7D  0167 10100 	MOVQ	(R4),R4			; FETCH THE DESCRIPTOR

            54            54     3C  016A 10200 	MOVZWL	R4,R4			; GET SIZE OF MESSAGE AS A WORD

                                     016D 10300 	IFNORD	R4,(R5),30$		; BR IF CAN'T READ THE BUFFER

            54            15     C1  0173 10400 	ADDL3	#EMB$K_SS_LENGTH+3,R4,R1; SET SIZE OF MESSAGE BUFFER NEEDED

                          51         0176       

            51            03     CA  0177 10500 	BICL	#3,R1			; MODULO 4 BYTES

                          FE83'  30  017A 10600 	BSBW	ERL$ALLOCEMB		; ATTEMPT TO ALLOCATE A BUFFER

            18            50     E9  017D 10700 	BLBC	R0,20$			; BR IF CAN'T ALLOCATE BUFFER

                          52     DD  0180 10800 	PUSHL	R2			; SAVE STARTING ADDRESS OF BUFFER

         04 A2            53     B0  0182 10900 	MOVW	R3,EMB$W_SS_ENTRY(R2)	; STORE MESSAGE TYPE

         10 A2            54     B0  0186 11000 	MOVW	R4,EMB$W_SS_MSGSZ(R2)	; STORE LENGTH OF DATA MESSAGE

            65            54     28  018A 11100 	MOVC	R4,(R5),EMB$B_SS_MSGTXT(R2) ; INSERT USERS DATA INTO THE BUFFER

                       12 A2         018D       

                          04     BA  018F 11200 	POPR	#^M<R2>			; RESTORE START OF MESSAGE

                          FE6C'  30  0191 11300 	BSBW	ERL$RELEASEMB		; RELEASE THE BUFFER TO THE ERROR LOGGER

            50            01     D0  0194 11400 	MOVL	S^#SS$_NORMAL,R0	; SET SUCCESSFUL STATUS

                                 04  0197 11500 	RET				; SUCCESSFUL RETURN

            50       0124 8F     3C  0198 11600 20$:	MOVZWL	#SS$_INSFMEM,R0		; SET INSUFFICIENT MEMEORY FLAG

                                 04  019D 11700 30$:	RET				; ERROR RETURN

                                     019E 11800 	.DSABL	LSB

                                     019E 11900  

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  13

X01             EXE$SNDERL - SEND MESSAGE TO ERROR LOGGER                                                                        (7)



                                     019E 12000 	.END

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (7)



BADPARAM         0000002B R     02   DEV$V_SDI      = 00000004            EMB$K_WS       = 00000024            

BIT...         = 00000000            DEV$V_SHR      = 00000010            EMB$Q_HD_TIME    00000006            

BUILDMSG         0000002F R     02   DEV$V_SPL      = 00000006            EMB$Q_SS_TIME    00000006            

CCB$B_AMOD       00000009            DEV$V_SQD      = 00000005            EMB$W_HD_ENTRY   00000004            

CCB$B_STS        00000008            DEV$V_SWL      = 00000019            EMB$W_HD_ERRSEQ  0000000E            

CCB$C_LENGTH     00000010            DEV$V_TRM      = 00000002            EMB$W_SIZE       00000000            

CCB$K_LENGTH     00000010            DEV$V_WCK      = 0000001F            EMB$W_SS_ENTRY   00000004            

CCB$L_DIRP       0000000C            EMB$B_BUFIND     00000002            EMB$W_SS_ERRSEQ  0000000E            

CCB$L_UCB        00000000            EMB$B_DEVCLS     00000005            EMB$W_SS_MSGSZ   00000010            

CCB$L_WIND       00000004            EMB$B_DEVTYP     00000004            ERL$ALLOCEMB     ********   X   02   

CCB$W_IOC        0000000A            EMB$B_SS_MSGTXT  00000012            ERL$RELEASEMB    ********   X   02   

CTL$AL_STACK     ********   X   02   EMB$B_VALID      00000003            ERROR            0000002E R     02   

CTL$T_ACCOUNT    ********   X   02   EMB$C_AW       = 00000007            EXE$CHKRDACCES   ********   X   02   

CTL$T_USERNAME   ********   X   02   EMB$C_BE       = 00000004            EXE$CHKWRTACCES  ********   X   02   

DEV$M_ALL      = 00800000            EMB$C_CR       = 00000025            EXE$NETSNDERL    0000013F RG    02   

DEV$M_AVL      = 00040000            EMB$C_CS       = 00000020            EXE$OPRSNDERL    00000138 RG    02   

DEV$M_CCL      = 00000002            EMB$C_DE       = 00000001            EXE$SNDACC       00000001 RG    02   

DEV$M_DIR      = 00000008            EMB$C_DT       = 00000060            EXE$SNDERR       00000146 RG    02   

DEV$M_DMT      = 00200000            EMB$C_HE       = 00000008            EXE$SNDOPR       0000001D RG    02   

DEV$M_ELG      = 00400000            EMB$C_LENGTH     00000004            EXE$SNDSMB       0000000F RG    02   

DEV$M_FOD      = 00004000            EMB$C_MC       = 00000002            EXE$WRTMAILBOX   ********   X   02   

DEV$M_FOR      = 01000000            EMB$C_NF       = 00000023            GBL...         = 00000000            

DEV$M_GEN      = 00020000            EMB$C_NM       = 0000002A            IOC$VERIFYCHAN   ********   X   02   

DEV$M_IDV      = 04000000            EMB$C_OM       = 00000029            MBX            = 00000008            

DEV$M_MBX      = 00100000            EMB$C_SA       = 00000005            MSG            = 00000004            

DEV$M_MNT      = 00080000            EMB$C_SBC      = 00000028            MSG$_ABOOPR    = 00000011            

DEV$M_NET      = 00002000            EMB$C_SE       = 00000006            MSG$_ABORT     = 00000030            

DEV$M_ODV      = 08000000            EMB$C_SS       = 00000027            MSG$_ACCRSP    = 00000021            

DEV$M_RCK      = 40000000            EMB$C_SS_LENGTH  00000012            MSG$_CONFIRM   = 00000031            

DEV$M_REC      = 00000001            EMB$C_TS       = 00000026            MSG$_CONNECT   = 00000032            

DEV$M_RND      = 10000000            EMB$C_UBC      = 00000070            MSG$_CRUNSOLIC = 00000002            

DEV$M_RTM      = 20000000            EMB$C_UI       = 00000061            MSG$_DELPROC   = 00000003            

DEV$M_SDI      = 00000010            EMB$C_VD       = 00000041            MSG$_DELSMB    = 00000014            

DEV$M_SHR      = 00010000            EMB$C_VM       = 00000040            MSG$_DEVOFFLIN = 00000005            

DEV$M_SPL      = 00000040            EMB$C_WS       = 00000024            MSG$_DEVONLIN  = 00000007            

DEV$M_SQD      = 00000020            EMB$K_AW       = 00000007            MSG$_DISCON    = 00000033            

DEV$M_SWL      = 02000000            EMB$K_BE       = 00000004            MSG$_EXIT      = 00000034            

DEV$M_TRM      = 00000004            EMB$K_CR       = 00000025            MSG$_INIOPR    = 00000010            

DEV$M_WCK      = 80000000            EMB$K_CS       = 00000020            MSG$_INTMSG    = 00000035            

DEV$V_ALL      = 00000017            EMB$K_DE       = 00000001            MSG$_OPREPLY   = 00000009            

DEV$V_AVL      = 00000012            EMB$K_DT       = 00000060            MSG$_OPRQST    = 00000008            

DEV$V_CCL      = 00000001            EMB$K_HE       = 00000008            MSG$_PATHLOST  = 00000036            

DEV$V_DIR      = 00000003            EMB$K_LENGTH     00000004            MSG$_PROTOCOL  = 00000037            

DEV$V_DMT      = 00000015            EMB$K_MC       = 00000002            MSG$_REJECT    = 00000038            

DEV$V_ELG      = 00000016            EMB$K_NF       = 00000023            MSG$_RESOPR    = 00000013            

DEV$V_FOD      = 0000000E            EMB$K_NM       = 0000002A            MSG$_SCANBAD   = 00000028            

DEV$V_FOR      = 00000018            EMB$K_OM       = 00000029            MSG$_SCANRSP   = 00000029            

DEV$V_GEN      = 00000011            EMB$K_SA       = 00000005            MSG$_SMBDON    = 00000009            

DEV$V_IDV      = 0000001A            EMB$K_SBC      = 00000028            MSG$_SMBINI    = 00000008            

DEV$V_MBX      = 00000014            EMB$K_SE       = 00000006            MSG$_SMBRSP    = 00000020            

DEV$V_MNT      = 00000013            EMB$K_SS       = 00000027            MSG$_SNDACC    = 0000000A            

DEV$V_NET      = 0000000D            EMB$K_SS_LENGTH  00000012            MSG$_SNDSMB    = 00000004            

DEV$V_ODV      = 0000001B            EMB$K_TS       = 00000026            MSG$_SUSOPR    = 00000012            

DEV$V_RCK      = 0000001E            EMB$K_UBC      = 00000070            MSG$_THIRDPARTY= 00000039            

DEV$V_REC      = 00000000            EMB$K_UI       = 00000061            MSG$_TIMEOUT   = 0000003A            

DEV$V_RND      = 0000001C            EMB$K_VD       = 00000041            MSG$_TRMHANGUP = 00000006            

DEV$V_RTM      = 0000001D            EMB$K_VM       = 00000040            MSG$_TRMUNSOLIC= 00000001            

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (7)



MSG$_XM_ATTN   = 0000000D            OPC$_LOGCLOS   = 000580A4            PCB$V_INQUAN   = 00000003            

MSG$_XM_DATAVL = 0000000B            OPC$_LOGFAIL   = 00058034            PCB$V_LOGIN    = 00000014            

MSG$_XM_SHUTDN = 0000000C            OPC$_LOGINIT   = 00058009            PCB$V_NETWRK   = 00000015            

OPC$B_MS_ENAB    00000001            OPC$_LOGTIME   = 00058099            PCB$V_NOACNT   = 0000000F            

OPC$B_MS_TARGET  00000001            OPC$_NOCLI     = 0005805C            PCB$V_NODELET  = 00000017            

OPC$B_MS_TYPE    00000000            OPC$_NOPERATOR = 00058061            PCB$V_PHDRES   = 00000012            

OPC$L_MS_MASK    00000004            OPC$_NOSUCHRQST= 00058044            PCB$V_PSWAPM   = 00000004            

OPC$L_MS_MAXSZ   0000009A            OPC$_OPREPLY   = 00058091            PCB$V_PWRAST   = 00000016            

OPC$L_MS_OTEXT   0000001A            OPC$_OPRNOTIF  = 00058089            PCB$V_RES      = 00000000            

OPC$L_MS_RPLYID  00000004            OPC$_RQSTABORT = 0005801C            PCB$V_RESPEN   = 00000005            

OPC$L_MS_RQSTID  00000004            OPC$_RQSTCAN   = 00058084            PCB$V_SSFEXC   = 00000006            

OPC$L_MS_TEXT    00000008            OPC$_RQSTCMPLTE= 00058029            PCB$V_SSFEXCE  = 00000007            

OPC$M_NM_CARDS = 00000020            OPC$_RQSTPEND  = 00058021            PCB$V_SSFEXCS  = 00000008            

OPC$M_NM_CENTRL= 00000001            OPC$_RQ_CANCEL = 00000005            PCB$V_SSFEXCU  = 00000009            

OPC$M_NM_DEVICE= 00000010            OPC$_RQ_LOGI   = 00000002            PCB$V_SSRWAIT  = 0000000A            

OPC$M_NM_DISKS = 00000008            OPC$_RQ_REPLY  = 00000004            PCB$V_SUSPEN   = 0000000B            

OPC$M_NM_NTWORK= 00000040            OPC$_RQ_RQST   = 00000003            PCB$V_SWPVBN   = 00000010            

OPC$M_NM_OPER1 = 00001000            OPC$_RQ_STATUS = 00000006            PCB$V_WAKEPEN  = 0000000C            

OPC$M_NM_OPER10= 00200000            OPC$_RQ_TERME  = 00000001            PCB$V_WALL     = 0000000D            

OPC$M_NM_OPER11= 00400000            OPC$_TERMDSBL  = 00058011            PCB$W_APTCNT     00000034            

OPC$M_NM_OPER12= 00800000            OPC$_TERMENAB  = 00058001            PCB$W_ASTCNT     0000003C            

OPC$M_NM_OPER2 = 00002000            OPC$_TERMFAIL  = 0005803C            PCB$W_BIOCNT     0000003E            

OPC$M_NM_OPER3 = 00004000            OPC$_UNKNOPR   = 0005806C            PCB$W_BIOLM      00000040            

OPC$M_NM_OPER4 = 00008000            OPER_PRIV        00000000 R     02   PCB$W_BYTCNT     00000042            

OPC$M_NM_OPER5 = 00010000            OPER_PRIV_SIZ  = 00000008            PCB$W_BYTLM      00000068            

OPC$M_NM_OPER6 = 00020000            PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            

OPC$M_NM_OPER7 = 00040000            PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            

OPC$M_NM_OPER8 = 00080000            PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            

OPC$M_NM_OPER9 = 00100000            PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            

OPC$M_NM_PRINT = 00000002            PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            

OPC$M_NM_TAPES = 00000004            PCB$B_WEFC       00000032            PCB$W_MEM        00000020            

OPC$T_MS_ONAME   0000000A            PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            

OPC$V_NM_CARDS = 00000005            PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            

OPC$V_NM_CENTRL= 00000000            PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            

OPC$V_NM_DEVICE= 00000004            PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            

OPC$V_NM_DISKS = 00000003            PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            

OPC$V_NM_NTWORK= 00000006            PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            

OPC$V_NM_OPER1 = 0000000C            PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            

OPC$V_NM_OPER10= 00000015            PCB$L_EFCU       00000054            PRV$V_ALLSPOOL = 00000004            

OPC$V_NM_OPER11= 00000016            PCB$L_EFWM       0000004C            PRV$V_BUGCHK   = 00000017            

OPC$V_NM_OPER12= 00000017            PCB$L_OWNER      0000001C            PRV$V_CMEXEC   = 00000001            

OPC$V_NM_OPER2 = 0000000D            PCB$L_PHD        00000064            PRV$V_CMKRNL   = 00000000            

OPC$V_NM_OPER3 = 0000000E            PCB$L_PHYPCB     00000018            PRV$V_DETACH   = 00000005            

OPC$V_NM_OPER4 = 0000000F            PCB$L_PID        00000060            PRV$V_DIAGNOSE = 00000006            

OPC$V_NM_OPER5 = 00000010            PCB$L_PQB        0000004C            PRV$V_EXQUOTA  = 00000013            

OPC$V_NM_OPER6 = 00000011            PCB$L_SQBL       00000004            PRV$V_GROUP    = 00000008            

OPC$V_NM_OPER7 = 00000012            PCB$L_SQFL       00000000            PRV$V_GRPNAM   = 00000003            

OPC$V_NM_OPER8 = 00000013            PCB$L_STS        00000028            PRV$V_LOG_IO   = 00000007            

OPC$V_NM_OPER9 = 00000014            PCB$L_UIC        00000020            PRV$V_MOUNT    = 00000011            

OPC$V_NM_PRINT = 00000001            PCB$L_WSSWP      00000024            PRV$V_NETMBX   = 00000014            

OPC$V_NM_TAPES = 00000002            PCB$L_WTIME      0000002C            PRV$V_NOACNT   = 00000009            

OPC$W_MS_OUNIT   00000008            PCB$T_LNAME      0000006C            PRV$V_OPER     = 00000012            

OPC$W_MS_STATUS  00000002            PCB$V_ASTPEN   = 00000011            PRV$V_PHY_IO   = 00000016            

OPC$_DEVNOTERM = 00058074            PCB$V_BATCH    = 0000000E            PRV$V_PRMCEB   = 0000000A            

OPC$_DEVOFFLINE= 0005804C            PCB$V_DELPEN   = 00000001            PRV$V_PRMGBL   = 00000018            

OPC$_DEVONLINE = 00058054            PCB$V_FORCPEN  = 00000002            PRV$V_PRMMBX   = 0000000B            

OPC$_ILLRQST   = 0005807C            PCB$V_HIBER    = 00000013            PRV$V_PSWAPM   = 0000000C            

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  16

SYMBOL TABLE                                                                                                                     (7)



PRV$V_SETPRI   = 0000000D            SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            

PRV$V_SETPRV   = 0000000E            SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            

PRV$V_SYSGBL   = 00000019            SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            

PRV$V_SYSNAM   = 00000002            SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            

PRV$V_TMPMBX   = 0000000F            SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            

PRV$V_VOLPRO   = 00000015            SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            

PRV$V_WORLD    = 00000010            SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            

SCH$GL_CURPCB    ********   X   02   SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            

SENDMSG          000000CE R     02   SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            

SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            

SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            SS$_MBFULL     = 000008D8            

SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            

SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            SS$_MCHECK     = 000002BC            

SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            

SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            

SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            

SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            

SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            

SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            

SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            

SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            

SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            

SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            

SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            

SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            

SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            

SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            

SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            

SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            

SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            

SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            

SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            

SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            

SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            

SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            

SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            

SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            

SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            

SS$_CONTROLC   = 00000651            SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            

SS$_CONTROLO   = 00000609            SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            

SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            

SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            

SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            

SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            

SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            

SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            

SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            

SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            

SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            

SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            

SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            

SS$_DEVNOTMOUNT= 0000007C            SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  17

SYMBOL TABLE                                                                                                                     (7)



SS$_REMOTE     = 00000649            UCB$L_ASTQBL     00000010            UCB$M_TIM      = 00000001            

SS$_RESIGNAL   = 00000918            UCB$L_ASTQFL     0000000C            UCB$M_TIMOUT   = 00000040            

SS$_RESULTOVF  = 00000214            UCB$L_CPID       0000005C            UCB$M_TT_NOTIF = 00000004            

SS$_ROPRAND    = 00000454            UCB$L_CRB        00000020            UCB$M_TT_TIMO  = 00000002            

SS$_SECTBLFUL  = 0000021C            UCB$L_DDB        00000024            UCB$M_UNLOAD   = 00001000            

SS$_SSFAIL     = 0000045C            UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            

SS$_SUBRNG     = 000004AC            UCB$L_DEVDEPEND  0000003C            UCB$S_LNKPRI   = 00000002            

SS$_SUPERSEDE  = 00000631            UCB$L_DPC        00000080            UCB$S_LTYPE    = 00000002            

SS$_TAPEPOSLOST= 00000224            UCB$L_DUETIM     0000005C            UCB$T_PARTNER    0000000C            

SS$_TBIT       = 00000464            UCB$L_DX_BFPNT   0000009C            UCB$V_BACKP    = 00000005            

SS$_TIMEOUT    = 0000022C            UCB$L_DX_BUF     00000098            UCB$V_BSY      = 00000008            

SS$_TOOMANYVER = 00000990            UCB$L_DX_RXDB    000000A0            UCB$V_CANCEL   = 00000003            

SS$_TOOMUCHDATA= 0000029C            UCB$L_EMB        00000078            UCB$V_DEADMO   = 0000000A            

SS$_UNASEFC    = 00000234            UCB$L_FIRST      00000014            UCB$V_DELMBX   = 00000001            

SS$_UNSAFE     = 0000023C            UCB$L_FPC        0000000C            UCB$V_DIAGBUF  = 00000001            

SS$_UNWIND     = 00000920            UCB$L_FQBL       00000004            UCB$V_DX_WRITE = 00000003            

SS$_UNWINDING  = 00000928            UCB$L_FQFL       00000000            UCB$V_ECC      = 00000000            

SS$_VASFULL    = 00000244            UCB$L_FR3        00000010            UCB$V_ERLOGIP  = 00000002            

SS$_VECINUSE   = 0000024C            UCB$L_FR4        00000014            UCB$V_INT      = 00000001            

SS$_VOLINV     = 00000254            UCB$L_IOQBL      00000044            UCB$V_INTTYPE  = 00000007            

SS$_WAITUSRLBL = 00000950            UCB$L_IOQFL      00000040            UCB$V_JOB      = 00000000            

SS$_WASCLR     = 00000001            UCB$L_IRP        0000004C            UCB$V_LNKPRI   = 00000006            

SS$_WASECC     = 00000639            UCB$L_LINK       0000002C            UCB$V_LTYPE    = 00000000            

SS$_WASSET     = 00000009            UCB$L_LOGADR     00000064            UCB$V_MOUNTING = 00000009            

SS$_WRITLCK    = 0000025C            UCB$L_MAXBLOCK   00000084            UCB$V_MSGACK   = 00000004            

SS$_WRONGACP   = 0000031C            UCB$L_MEDIA      0000008C            UCB$V_MSGFLO   = 00000003            

SYS$CMKRNL       ********   X   02   UCB$L_NT_DATSSB  00000074            UCB$V_NOCNVRT  = 00000002            

SYS$GL_JOBCTLMB  ********   X   02   UCB$L_NT_INTSSB  00000078            UCB$V_NT_BFROVF= 00000002            

SYS$GL_OPRMBX    ********   X   02   UCB$L_OPCNT      00000060            UCB$V_NT_BREAK = 00000005            

UCB$B_AMOD       00000053            UCB$L_OWNUIC     0000001C            UCB$V_NT_NAME  = 00000004            

UCB$B_CEX        00000077            UCB$L_PID        00000028            UCB$V_ONLINE   = 00000004            

UCB$B_CM1        0000004A            UCB$L_RQBL       00000004            UCB$V_POWER    = 00000005            

UCB$B_CM2        0000004B            UCB$L_RQFL       00000000            UCB$V_PRMMBX   = 00000000            

UCB$B_DEVCLASS   00000038            UCB$L_SVAPTE     00000068            UCB$V_SEGFLO   = 00000002            

UCB$B_DEVTYPE    00000039            UCB$L_SVPN       00000064            UCB$V_TIM      = 00000000            

UCB$B_DIPL       00000052            UCB$L_TTCHAR     0000003C            UCB$V_TIMOUT   = 00000006            

UCB$B_DX_SCTCNT  000000A6            UCB$L_VCB        00000030            UCB$V_TT_NOTIF = 00000002            

UCB$B_ERTCNT     00000070            UCB$M_BACKP    = 00000020            UCB$V_TT_TIMO  = 00000001            

UCB$B_ERTMAX     00000071            UCB$M_BSY      = 00000100            UCB$V_UNLOAD   = 0000000C            

UCB$B_ESCAPE     0000004B            UCB$M_CANCEL   = 00000008            UCB$V_VALID    = 0000000B            

UCB$B_FEX        00000076            UCB$M_DEADMO   = 00000400            UCB$W_BCNT       0000006E            

UCB$B_FIPL       0000000B            UCB$M_DELMBX   = 00000002            UCB$W_BCR        00000096            

UCB$B_LOCSRV     0000003C            UCB$M_DIAGBUF  = 00000002            UCB$W_BOFF       0000006C            

UCB$B_OFFNDX     00000094            UCB$M_DX_WRITE = 00000008            UCB$W_BUFQUO     00000018            

UCB$B_OFFRTC     00000095            UCB$M_ECC      = 00000001            UCB$W_BYTESTOGO  0000003E            

UCB$B_REMSRV     0000003D            UCB$M_ERLOGIP  = 00000004            UCB$W_CHARGE     0000004A            

UCB$B_SECTORS    0000003C            UCB$M_INT      = 00000002            UCB$W_CYLINDERS  0000003E            

UCB$B_SLAVE      00000074            UCB$M_INTTYPE  = 00000080            UCB$W_DA         0000008C            

UCB$B_SPR        00000075            UCB$M_JOB      = 00000001            UCB$W_DC         0000008E            

UCB$B_STATE      00000052            UCB$M_MOUNTING = 00000200            UCB$W_DEVBUFSIZ  0000003A            

UCB$B_TRACKS     0000003D            UCB$M_NOCNVRT  = 00000004            UCB$W_DEVSTS     0000005A            

UCB$B_TYPE       0000000A            UCB$M_NT_BFROVF= 00000004            UCB$W_DIRSEQ     00000088            

UCB$B_VERTSZ     0000003F            UCB$M_NT_BREAK = 00000020            UCB$W_DSTADDR    00000018            

UCB$C_LENGTH     00000074            UCB$M_NT_NAME  = 00000010            UCB$W_DX_BCR     000000A4            

UCB$C_LOGLNK   = 00000001            UCB$M_ONLINE   = 00000010            UCB$W_EC1        00000090            

UCB$K_LENGTH     00000074            UCB$M_POWER    = 00000020            UCB$W_EC2        00000092            

UCB$L_AMB        00000054            UCB$M_PRMMBX   = 00000001            UCB$W_ERRCNT     00000072            

SYSSNDMSG       - SEND MESSAGE SYSTEM SERVICES                   21-AUG-1978 20:45:01   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (7)



UCB$W_FUNC       0000007E            

UCB$W_MB_SEED    FFFFFFFC            

UCB$W_MSGCNT     00000016            

UCB$W_MSGMAX     00000014            

UCB$W_NT_CHAN    0000007C            

UCB$W_OFFSET     0000008A            

UCB$W_REFC       00000050            

UCB$W_SIZE       00000008            

UCB$W_SRCADDR    0000001A            

UCB$W_STS        00000058            

UCB$W_UNIT       00000048            

UCB$W_VPROT      0000001A            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

Y$EXEPAGED       0000019E      02     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFE      03     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

6868. BYTES LEFT IN FREE MEMORY POOL.

3738. BYTES OF RECLAIMED MEMORY.

OBJ$:SYSSNDMSG,LIS$:SYSSNDMSG/-SP=EXECML$/ML,SRC$:SYSSNDMSG

8 MLB DIR RDS - 1009 GETS TO DEFINE 24 MACROS. 81 INTER. FILE WRITES. 

