SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    3400  HISTORY			; DETAILED

   (1)    4300  DECLARATIONS

   (1)    7100  RETQUOTA - RETURN CEF QUOTA

   (1)    8100  EXE$DACEFC - DISASSOCIATE COMMON EVENT CLUSTER

   (1)   12000  GETCLUSTER - GET AND VERIFY CLUSTER NUMBER

   (1)   15700  EXE$ASCEFC - ASSOCIATE AND CREATE COMMON EVENT 

   (1)   27500  EXE$DLCEFC - DELETE COMMON EVENT CLUSTER

   (1)   32600  CEBLOCK - LOCK COMMON EVEN BLOCK MUTEX FOR WRIT

   (1)   34300  LOCLUST	- LOCATE CLUSTER GIVEN NAME

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000   100 

                                     0000   200 	.TITLE	SYSASCEFC - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVENT FLAG CLUSTER

                                     0000   300 	.IDENT	/01/

                                     0000   400 

                                     0000   500 ;

                                     0000   600 ; COPYRIGHT (C) 1977

                                     0000   700 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   800 ;

                                     0000   900 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000  1000 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000  1100 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1200 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1300 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1400 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1500 ; REMAIN IN DEC.

                                     0000  1600 ;

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

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

                                     0000  1900 ; CORPORATION.

                                     0000  2000 ;

                                     0000  2100 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000  2200 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2300 

                                     0000  2400 ;++

                                     0000  2500 ; FACILITY:	EXECUTIVE, SYSTEM SERVICES

                                     0000  2600 ;

                                     0000  2700 ; ABSTRACT:

                                     0000  2800 ;

                                     0000  2900 ; ENVIRONMENT:

                                     0000  3000 ;

                                     0000  3100 ;--

                                     0000  3200 ;

                                     0000  3300 ;	.PAGE

                                     0000  3400 	.SBTTL	HISTORY			; DETAILED

                                     0000  3500 ;

                                     0000  3600 ; AUTHOR:	R. HUSTVEDT	 CREATION DATE: 3-OCT-76

                                     0000  3700 ;

                                     0000  3800 ; MODIFIED BY:

                                     0000  3900 ;	, : VERSION

                                     0000  4000 ; 01	 -

                                     0000  4100 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (1)



                                     0000  4300 	.SBTTL	DECLARATIONS

                                     0000  4400 

                                     0000  4500 ;

                                     0000  4600 ; INCLUDE FILES:

                                     0000  4700 ;

                                     0000  4800 

                                     0000  4900 	$CEBDEF				; DEFINE COMMON EVENT CONTROL BLOCK

                                     0000  5000 	$IPLDEF				; DEFINE IPL VALUES

                                     0000  5100 	$PCBDEF				; DEFINE PCB OFFSETS

                                     0000  5200 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000  5300 	$PRVDEF				; DEFINE PRIVILEGE BITS

                                     0000  5400 	$SSDEF				; DEFINE STATUS CODE VALUES

                                     0000  5500 	$STATEDEF			; DEFINE SCHEDULER STATES

                                     0000  5600 

                                     0000  5700 ;

                                     0000  5800 ; EQUATED SYMBOLS:

                                     0000  5900 ;

                                     0000  6000 

                           00000004  0000  6100 EFN=4					; EFN ARGUMENT DISPLACEMENT

                           00000008  0000  6200 NAME=8					; NAME ARGUMENT DISPLACEMENT

                           0000000C  0000  6300 PROT=12					; PROTECTION MASK DISPLACEMENT

                           00000010  0000  6400 PERM=16					; PERMANENT INDICATOR DISPLACEMENT

                                     0000  6500 

                                     0000  6600 ;

                                     0000  6700 ; OWN STORAGE:

                                     0000  6800 ;

                                     0000  6900 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   3

01              RETQUOTA - RETURN CEF QUOTA                                                                                      (1)



                                     0000  7100 	.SBTTL	RETQUOTA - RETURN CEF QUOTA

                                     0000  7200 ;+

                                     0000  7300 ; FUNCTIONAL DESCRIPTION:

                                     0000  7400 ;	RETQUOTA RETURNS THE QUOTA TO THE ORIGINAL CREATOR OF THE

                                     0000  7500 ;	COMMON EVENT CLUSTER.  IF THE PROCESS IDENTIFIED AS THE CLUSTER

                                     0000  7600 ;	CREATOR HAS BEEN DELETED NO OPERATION IS PERFORMED.

                                     0000  7700 ;

                                     0000  7705 ; CALLING SEQUENCE:

                                     0000  7710 ;	BSB/JSB	RETQUOTA

                                     0000  7715 ;

                                     0000  7800 ; INPUT PARAMETERS:

                                     0000  7802 ;	R0 - ADDRESS OF COMMON EVENT BLOCK

                                     0000  7805 ;	R2 - PROCESS INDEX OF CREATOR

                                     0000  7810 ;

                                     0000  7815 ; OUTPUT PARAMETERS:

                                     0000  7820 ;	R0 - R0 (PRESERVED)

                                     0000  7825 ;

                                     0000  7830 ;--

                                     0000  7835 

                                     0000  7840 RETQUOTA:				; RETURN QUOTA

                                     0000  7845 	DSBINT	#IPL$_SYNCH		; BLOCK SYSTEM EVENTS

            51       0000'CF42   D0  0006  7850 	MOVL	W^SCH$AL_PCB[R2],R1	; CONVERT TO PCB ADDRESS

         0C A0         60 A1     D1  000C  7855 	CMPL	PCB$L_PID(R1),CEB$L_PID(R0)	; CHECK FOR EXISTENCE

                          03     12  0011  7860 	BNEQ	10$			; NO, IGNORE QUOTA

                       4A A1     B6  0013  7865 	INCW	PCB$W_TQCNT(R1)		; GIVE BACK QUOTA

                                     0016  7870 10$:	ENBINT				; ENABLE SYSTEM EVENTS

                                 05  0019  7875 	RSB				; RETURN

                                 00000000  7900 	.PSECT	Y$EXEPAGED,BYTE		; PAGED PSECT

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   4

01              EXE$DACEFC - DISASSOCIATE COMMON EVENT CLUSTER                                                                   (1)



                                     0000  8100 	.SBTTL	EXE$DACEFC - DISASSOCIATE COMMON EVENT CLUSTER

                                     0000  8200 

                                     0000  8300 ;++

                                     0000  8400 ; FUNCTIONAL DESCRIPTION:

                                     0000  8500 ;	EXE$DACEFC IMPLEMENTS THE DISASSOCIATE COMMON EVENT CLUSTER

                                     0000  8600 ;	SYSTEM SERVICE.  THE ISSUING PROCESS IS DISASSOCIATED WITH

                                     0000  8700 ;	THE CLUSTER SELECTED BY THE SPECIFIED EVENT FLAG NUMBER AND

                                     0000  8800 ;	THE CLUSTER CONTROL BLOCK (CEB) WILL BE RELEASED IF THE REFERENCE

                                     0000  8900 ;	COUNT BECOMES ZERO AND IT IS NOT MARKED PERMANENT.

                                     0000  9000 ;

                                     0000  9100 ; CALLING SEQUENCE:

                                     0000  9200 ;	CALLG	ARGLIST,EXE$DACEFC

                                     0000  9300 ;

                                     0000  9400 ; INPUT PARAMETERS:

                                     0000  9500 ;	EFN(AP) - EVENT FLAG NUMBER TO SELECT CLUSTER TO DISASSOCIATE.

                                     0000  9550 ;	R4 - PCB ADDRESS OF CURRENT PROCESS

                                     0000  9600 ;

                                     0000  9700 ; OUTPUT PARAMETERS:

                                     0000  9800 ;	R0 - COMPLETION STATUS

                                     0000  9900 ;

                                     0000 10000 ; COMPLETION CODES:

                                     0000 10100 ;	SS$_NORMAL  -  SUCCESSFUL COMPLETION

                                     0000 10200 ;	SS$_ILLEFC  -  ILLEGAL EVENT FLAG NUMBER FOR COMMON EVENT CLUSTER

                                     0000 10300 ;		       MUST BE 64-127

                                     0000 10400 ;

                                     0000 10500 ; SIDE EFFECTS:

                                     0000 10600 ; 	IF THE REFERENCE COUNT FOR THE SELECTED COMMON EVENT CLUSTER

                                     0000 10700 ;	BECOMES ZERO AND IT IS NOT MARKED AS PERMANENT, IT WILL BE

                                     0000 10800 ;	DELETED.

                                     0000 10900 ;

                                     0000 11000 ;--

                                     0000 11100 

                                     0000 11200 EXE$DACEFC::				; DISASSOCIATE COMMON EVNET CLUSTER

                               003C  0000 11300 	.WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS R2-R5

                          0E     10  0002 11400 	BSBB	GETCLUSTER		; GET CLUSTER INDEX AND VALIDATE

                       58 A445   DD  0004 11500 	PUSHL	PCB$L_EFC2P(R4)[R5]	; PUSH ADDRESS OF CEB FOR THIS CLUSTER

                       58 A445   D4  0008 11600 	CLRL	PCB$L_EFC2P(R4)[R5]	; CLEAR POINTER

                          011A   30  000C 11700 	BSBW	CEBLOCK			; LOCK MUTEX FOR WRITE

                          00A1   31  000F 11800 	BRW	DISASOC			; DISASSOCIATE CLUSTER

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   5

01              GETCLUSTER - GET AND VERIFY CLUSTER NUMBER                                                                       (1)



                                     0012 12000 	.SBTTL	GETCLUSTER - GET AND VERIFY CLUSTER NUMBER

                                     0012 12100 

                                     0012 12200 ;++

                                     0012 12300 ; FUNCTIONAL DESCRIPTION:

                                     0012 12400 ;	GETCLUSTER EXTRACTS THE CLUSTER NUMBER FROM THE EFN ARGUMENT,

                                     0012 12500 ;	VALIDATES IT AND SUBTRACTS THE LOCAL EVENT CLUSTER BIAS TO

                                     0012 12600 ;	FORM A COMMON EVENT CLUSTER INDEX.  IF THE CLUSTER NUMBER

                                     0012 12700 ;	IS NOT A VALID COMMON EVENT CLUSTER, AN EXIT IS MADE FROM

                                     0012 12800 ;	THE SERVICE BY ISSUING A RET

                                     0012 12900 ;

                                     0012 13000 ; CALLING SEQUENCE:

                                     0012 13100 ;	BSB/JSB	GETCLUSTER

                                     0012 13200 ;

                                     0012 13300 ; INPUT PARAMETERS:

                                     0012 13400 ;	EFN(AP) - EVENT FLAG NUMBER

                                     0012 13450 ;	R4 - PCB ADDRESS OF CURRENT PROCESS

                                     0012 13500 ;

                                     0012 13600 ; OUTPUT PARAMETERS:

                                     0012 13800 ;	R5 - COMMON EVENT CLUSTER INDEX

                                     0012 13900 ;

                                     0012 14000 ; COMPLETION CODES:	(ON ERROR RETURN ONLY)

                                     0012 14100 ;	SS$_ILLEFC - ILLEGAL COMMON EVENT CLUSTER

                                     0012 14200 ;

                                     0012 14300 ;--

                                     0012 14400 

                                     0012 14500 GETCLUSTER:				; GET COMMON EVENT CLUSTER INDEX

            03            05     EE  0012 14600 	EXTV	#5,#3,EFN(AP),R5	; EXTRACT CLUSTER FROM EFN

            55         04 AC         0015       

            55            02     C2  0018 14700 	SUBL	#2,R5			; SUBTRACT BIAS

                          01     19  001B 14800 	BLSS	10$			; ILLEGAL CLUSTER NUMBER

                                 05  001D 15000 	RSB				; SUCCESSFUL RETURN

                                     001E 15100 

            50       00EC 8F     3C  001E 15200 10$:	MOVZWL	#SS$_ILLEFC,R0		; SET ERROR CODE

                                 04  0023 15300 	RET				; AND EXIT SERVICE CALL

                                     0024 15400 

                                     0024 15500 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   6

01              EXE$ASCEFC - ASSOCIATE AND CREATE COMMON EVENT                                                                   (1)



                                     0024 15700 	.SBTTL	EXE$ASCEFC - ASSOCIATE AND CREATE COMMON EVENT CLUSTER

                                     0024 15800 

                                     0024 15900 ;++

                                     0024 16000 ; FUNCTIONAL DESCRIPTION:

                                     0024 16100 ;	EXE$ASCEFC IMPLEMENTS THE ASSOCIATE COMMON EVENT CLUSTER SYSTEM 

                                     0024 16200 ;	SERVICE.  IF THE NAMED COMMON EVENT CLUSTER DOES NOT ALREADY

                                     0024 16300 ;	EXIST, IT WILL BE CREATED.  IF IT ALREADY EXISTS, THE PROCESS

                                     0024 16400 ;	WILL BE ASSOCIATED WITH IT, PROTECTION PERMITTING.

                                     0024 16500 ;

                                     0024 16600 ; CALLING SEQUENCE:

                                     0024 16700 ;	CALLG	ARGLIST,EXE$ASCEFC

                                     0024 16800 ;

                                     0024 16900 ; INPUT PARAMETERS:

                                     0024 17000 ;	EFN(AP)  - EVENT FLAG NUMBER TO SPECIFY CLUSTER NUMBER

                                     0024 17100 ;	NAME(AP) - ADDRESS OF LOGICAL NAME FOR CLUSTER

                                     0024 17200 ;	PROT(AP) - PROTECTION MASK FOR CLUSTER IF CREATING

                                     0024 17300 ;	PERM(AP) - INDICATOR TO SPECIFY CREATION OF PERMANENT CLUSTER

                                     0024 17350 ;	R4 - PCB ADDRESS

                                     0024 17400 ;

                                     0024 17500 ; IMPLICIT INPUTS:

                                     0024 17600 ;	PCB OF CURRENT PROCESS

                                     0024 17700 ;

                                     0024 17800 ; OUTPUT PARAMETERS:

                                     0024 17900 ;	R0 - COMPLETION STATUS CODE

                                     0024 18000 ;

                                     0024 18100 ; IMPLICIT OUTPUTS:

                                     0024 18200 ;	PCB$L_EFC2P - POINTER TO COMMON EVENT CONTROL BLOCK IF CLUSTER 2

                                     0024 18300 ;	PCB$L_EFC3P - POINTER TO COMMON EVENT CONTROL BLOCK IF CLUSTER 3

                                     0024 18400 ;

                                     0024 18500 ; COMPLETION CODES:

                                     0024 18600 ;	SS$_NORMAL   -  SUCCESSFUL COMPLETION

                                     0024 18700 ;	SS$_EXQUOTA  -  QUOTA FOR COMMON EVENT BLOCK CREATION EXHAUSTED 

                                     0024 18800 ;	SS$_ILLEFC   -  ILLEGAL CLUSTER NUMBER (NOT 0,1,2,3)

                                     0024 18900 ;	SS$_IVLOGNAM -  INVALID LOGICAL NAME.  STRING LENGTH NOT 1-15.

                                     0024 19000 ;	SS$_NOPRIV   -  PRIVILEGE VIOLATION

                                     0024 19100 ;

                                     0024 19200 ; SIDE EFFECTS:

                                     0024 19300 ;	AN IMPLIED DISASSOCIATE IS PERFORMED ON THE SPECIFIED CLUSTER

                                     0024 19400 ;	AND THE PREVIOUSLY ASSOCIATED COMMON EVENT CLUSTER MAY BE

                                     0024 19500 ;	DELETED IF IT IS NOT MARKED PERMANENT AND ITS REFERENCE COUNT

                                     0024 19600 ;	BECOMES ZERO.

                                     0024 19700 ;

                                     0024 19800 ;--

                                     0024 19900 

                                     0024 20000 	.ENABL	LSB

                                     0024 20100 EXE$ASCEFC::				; ASSOCIATE COMMON EVENT CLUSTER

                               003C  0024 20200 	.WORD	^M<R2,R3,R4,R5>		; REGISTERS R2-R5

                          EA     10  0026 20300 	BSBB	GETCLUSTER		; GET CLUSTER INDEX AND VALIDATE

            53         08 AC     D0  0028 20400 	MOVL	NAME(AP),R3		; GET POINTER TO CLUSTER NAME

                       10 AC     DD  002C 20500 	PUSHL	PERM(AP)		; SAVE PERMANENT INDICATOR

            09            6E     E9  002F 20600 	BLBC	(SP),10$		; IS PERMANENT INDICATOR SET?

                                     0032 20700 	IFPRIV	PRMCEB,10$		; CONTINUE IF PRIVILEGED

            50            24     3C  0037 20800 	MOVZWL	#SS$_NOPRIV,R0		; SET ERROR CODE

                                 04  003A 20900 	RET				; AND EXIT SERVICE

            5E            10     C2  003B 21000 10$:	SUBL	#16,SP			; ALLOCATE SPACE FOR NAME ON STACK

                          00F5   30  003E 21100 	BSBW	LOCLUST			; LOCATE CLUSTER

                          52     D5  0041 21200 	TSTL	R2			; WAS NAME FOUND

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   7

01              EXE$ASCEFC - ASSOCIATE AND CREATE COMMON EVENT                                                                   (1)



                          62     12  0043 21300 	BNEQ	ASSOCIATE		; YES, ASSOCIATE IT

            0C         10 AE     E8  0045 21400 	BLBS	16(SP),30$		; SKIP QUOTA CHECK IF CREATING PERM

                       4A A4     B5  0049 21500 	TSTW	PCB$W_TQCNT(R4)		; TEST FOR QUOTA REMAINING

                          04     1A  004C 21600 	BGTRU	20$			; CONTINUE IF QUOTA REMAINING

            50            1C     3C  004E 21700 	MOVZWL	#SS$_EXQUOTA,R0		; SET STATUS CODE FOR QUOTA EXHAUSTED

                                 04  0051 21800 	RET				; AND RETURN

                       4A A4     B6  0052 21900 20$:	INCW	PCB$W_TQCNT(R4)		; ACCOUNT FOR COMMON EVENT BLOCK

                          FFA8'  30  0055 22000 30$:	BSBW	EXE$ALLOCCEB		; ALLOCATE SPACE FOR CEB

            03            50     E8  0058 22100 	BLBS	R0,40$			; CONTINUE IF SUCCESSFUL

                          0085   31  005B 22200 	BRW	EXIT			; EXIT IF NO SPACE

                                     005E 22300 40$:					;

                                     005E 22400 ;

                                     005E 22500 ;	R2 - BASE OF CEB

                                     005E 22600 ;

         14 A2         14 A2     DE  005E 22700 	MOVAL	CEB$L_WQFL(R2),CEB$L_WQFL(R2)	; SET UP WAIT QUEUE HEADER

         18 A2         14 A2     DE  0063 22800 	MOVAL	CEB$L_WQFL(R2),CEB$L_WQBL(R2)	; FORE AND BACK LINKS

                       1C A2     B4  0068 22900 	CLRW	CEB$W_WQCNT(R2)		; CLEAR QUEUE COUNT

                       10 A2     D4  006B 23000 	CLRL	CEB$L_EFC(R2)		; EVENT FLAG SET

                       26 A2     B4  006E 23100 	CLRW	CEB$W_REFC(R2)		; INIT REFERENCE COUNT TO 1

         20 A2         20 A4     D0  0071 23200 	MOVL	PCB$L_UIC(R4),CEB$L_UIC(R2)	; SET UIC OF CLUSTER OWNER

         0C A2         60 A4     D0  0076 23300 	MOVL	PCB$L_PID(R4),CEB$L_PID(R2)	; AND PID OF CREATOR

         24 A2         0C AC     B0  007B 23400 	MOVW	PROT(AP),CEB$W_PROT(R2) ; AND PROTECTION MASK

            50            6E     9A  0080 23500 	MOVZBL	(SP),R0			; GET STRING COUNT

                          3C     BB  0083 23600 	PUSHR	#^M<R2,R3,R4,R5>	; SAVE REGISTERS FOR MOVC3

                          50     D6  0085 23700 	INCL	R0			; INCLUDE COUNT

         10 AE            50     28  0087 23800 	MOVC3	R0,16(SP),CEB$T_EFCNAM(R2)	; FILL IN CLUSTER NAME

                       28 A2         008B       

                          3C     BA  008D 23900 	POPR	#^M<R2,R3,R4,R5>	; RESTORE REGISTERS

         1E A2            03     B0  008F 24000 	MOVW	#SCH$C_CEF,CEB$W_STATE(R2)	; SET WAIT STATE NUMBER

            01         10 AE     F0  0093 24100 	INSV	16(SP),#CEB$V_PERM,#1,CEB$B_STS(R2) ; SET PERMANENT FLAG

         0B A2            01         0097       

                 00000000'EF     B6  009A 24200 	INCW	SCH$GW_CEBCNT		; INCREMENT COUNT OF COMMEN EVENT BLOCKS

   00000000'EF            62     0E  00A0 24300 	INSQUE	(R2),SCH$GQ_CEBHD	; INSERT CEB IN LIST

                                     00A7 24400 

                                     00A7 24500 	.DSABL	LSB

                                     00A7 24600 

                                     00A7 24700 ASSOCIATE:				; ASSOCIATE PROCESS WITH CLUSTER

                       26 A2     B6  00A7 24800 	INCW	CEB$W_REFC(R2)		; REFERENCE CLUSTER

                       58 A445   DD  00AA 24900 	PUSHL	PCB$L_EFC2P(R4)[R5]	; GET POINTER TO CURRENT CLUSTER

         58 A445          52     D0  00AE 25000 	MOVL	R2,PCB$L_EFC2P(R4)[R5]	; SET CLUSTER POINTER IN PCB

            50            8E     D0  00B3 25100 DISASOC:MOVL	(SP)+,R0		; GET OLD CLUSTER ADDRESS

                          28     13  00B6 25200 	BEQL	EXITN			; NONE

                       26 A0     B7  00B8 25300 	DECW	CEB$W_REFC(R0)		; DECREMENT REFERENCE COUNT

                          23     14  00BB 25400 	BGTR	EXITN			; STILL BUSY, CANT RELEASE YET

         0B A0            01     E0  00BD 25500 	BBS	#CEB$V_PERM,CEB$B_STS(R0),EXITN	; PERMANENT CLUSTER

                          1E         00C1       

         0B A0            00     E0  00C2 25600 	BBS	#CEB$V_NOQUOTA,CEB$B_STS(R0),10$; CHECK FOR QUOTA

                          0A         00C6       

            52         0C A0     3C  00C7 25800 	MOVZWL	CEB$L_PID(R0),R2	; GET PIX OF CREATOR

                 00000000'EF     16  00CB 25805 	JSB	RETQUOTA		; RETURN QUOTA

                 00000000'EF     B7  00D1 26300 10$:	DECW	SCH$GW_CEBCNT		; DECREASE COUNT OF COMMON EVENT BLOCKS

            51            60     0F  00D7 26400 	REMQUE	(R0),R1			; REMOVE FROM LIST

                 00000000'EF     16  00DA 26500 	JSB	EXE$DEANONPAGED		; DEALLOCATE SPACE FOR CEB

            50            01     3C  00E0 26600 EXITN:	MOVZWL	#SS$_NORMAL,R0		; SET NORMAL COMPLETION STATUS

                          50     DD  00E3 26700 EXIT:	PUSHL	R0			; SAVE COMPLETION STATUS

            50   00000000'EF     DE  00E5 26800 	MOVAL	EXE$GL_CEBMTX,R0	; GET ADDRESS OF CEB MUTEX

                 00000000'EF     16  00EC 26900 	JSB	SCH$UNLOCK		; AND FREE IT

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   8

01              EXE$ASCEFC - ASSOCIATE AND CREATE COMMON EVENT                                                                   (1)



                          01     BA  00F2 27000 	POPR	#^M<R0>			; RESTORE COMPLETION CODE

                                     00F4 27100 	SETIPL	#0			; ENABLE

                                 04  00F7 27200 	RET				; AND RETURN TO CALLER

                                     00F8 27300 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page   9

01              EXE$DLCEFC - DELETE COMMON EVENT CLUSTER                                                                         (1)



                                     00F8 27500 	.SBTTL	EXE$DLCEFC - DELETE COMMON EVENT CLUSTER

                           00000004  00F8 27600 NAME=4					; NAME DISPLACEMENT IN ARGLIST

                                     00F8 27700 

                                     00F8 27800 

                                     00F8 27900 ;++

                                     00F8 28000 ; FUNCTIONAL DESCRIPTION:

                                     00F8 28100 ;	EXE$DLCEFC IMPLEMENTS THE DELETE COMMON EVENT CLUSTER SYSTEM

                                     00F8 28200 ;	SERVICE WHICH PERMITS A PERMANENT COMMON EVENT CLUSTER TO BE

                                     00F8 28300 ;	MARKED FOR DELETION WHEN ITS REFERENCE COUNT BECOMES ZERO.

                                     00F8 28400 ;

                                     00F8 28500 ; CALLING SEQUENCE:

                                     00F8 28600 ;	CALLG	ARGLIST,EXE$DLCEFC

                                     00F8 28700 ;

                                     00F8 28800 ; INPUT PARAMETERS:

                                     00F8 28900 ;	NAME(AP) - ADDRESS OF LOGICAL NAME STRING FOR CLUSTER

                                     00F8 29000 ;

                                     00F8 29100 ; OUTPUT PARAMETERS:

                                     00F8 29200 ;	R0 - COMPLETION STATUS

                                     00F8 29300 ;

                                     00F8 29400 ; COMPLETION CODES:

                                     00F8 29500 ;	SS$_NORMAL  -  SUCCESSFUL COMPLETION OF SERVICE

                                     00F8 29600 ;	SS$_NOPRIV  -  INSUFFICIENT PRIVILEGE TO DELETE CLUSTER

                                     00F8 29700 ;

                                     00F8 29800 ; SIDE EFFECTS:

                                     00F8 29900 ;	IF THE REFERENCE COUNT FOR THE SPECIFIED CLUSTER IS ZERO, 

                                     00F8 30000 ;	THE CLEARING OF THE PERMANENT BIT WILL CAUSE IT TO BE DELETED.

                                     00F8 30100 ;

                                     00F8 30200 ;--

                                     00F8 30300 

                                     00F8 30400 EXE$DLCEFC::				; DELETE COMMON EVENT CLUSTER

                               003C  00F8 30500 	.WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS R2-R5

            53         04 AC     D0  00FA 30600 	MOVL	NAME(AP),R3		; FETCH NAME POINTER

            5E            10     C2  00FE 30700 	SUBL	#16,SP			; CREATE SPACE FOR NAME STRING

                          33     10  0101 30800 	BSBB	LOCLUST			; LOCATE CLUSTER BY NAME

                          52     D5  0103 30900 	TSTL	R2			; WAS NAME FOUND

                          D9     13  0105 31000 	BEQL	EXITN			; NO, EXIT WITH NORMAL STATUS

         20 A2         20 A4     D1  0107 31100 	CMPL	PCB$L_UIC(R4),CEB$L_UIC(R2)	; OWNER OF CLUSTER?

                          0A     13  010C 31200 	BEQL	10$			; YES, PERMIT ANYWAY

                                     010E 31300 	IFPRIV	PRMCEB,10$		; CONTINUE IF PRIVILEGE

            50            24     3C  0113 31400 	MOVZWL	#SS$_NOPRIV,R0		; SET ERROR CODE

                          CB     11  0116 31500 	BRB	EXIT			; EXIT RELEASING MUTEX

         0B A2            01     E5  0118 31600 10$:	BBCC	#CEB$V_PERM,CEB$B_STS(R2),20$	; CLEAR PERMANENT FLAG

                          05         011C       

         0B A2            00     E2  011D 31700 	BBSS	#CEB$V_NOQUOTA,CEB$B_STS(R2),20$; SET NO QUOTA

                          00         0121       

                          52     DD  0122 31800 20$:	PUSHL	R2			; SAVE CLUSTER ADDRESS

                       26 A2     B6  0124 31900 	INCW	CEB$W_REFC(R2)		; TEMPORARILY REFERENCE IT

                          8A     11  0127 32000 	BRB	DISASOC			; DISASSOCIATE 

                                     0129 32100 					; RELEASING CEB IF IDLE

                                     0129 32200 

                                     0129 32300 

                                     0129 32400 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  10

01              CEBLOCK - LOCK COMMON EVEN BLOCK MUTEX FOR WRIT                                                                  (1)



                                     0129 32600 	.SBTTL	CEBLOCK - LOCK COMMON EVEN BLOCK MUTEX FOR WRITE

                                     0129 32700 

                                     0129 32800 ;++

                                     0129 32900 ; FUNCTIONAL DESCRIPTION:

                                     0129 33000 ;	CEBLOCK LOCKS THE COMMON EVENT BLOCK MUTEX FOR WRITE AND

                                     0129 33100 ;	RETURNS WITH IPL AT IPL$_ASTDEL.

                                     0129 33200 ;

                                     0129 33300 ; CALLING SEQUENCE:

                                     0129 33400 ;	BSB/JSB	CEBLOCK

                                     0129 33500 ;

                                     0129 33600 ;--

                                     0129 33700 

                                     0129 33800 CEBLOCK:				; LOCK CEB MUTEX FOR WRITE

            50   00000000'EF     DE  0129 33900 	MOVAL EXE$GL_CEBMTX,R0	; SET ADDRESS OF MUTEX

                 00000000'EF     17  0130 34000 	JMP	SCH$LOCKW		; LOCK IT FOR WRITE

                                     0136 34100 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  11

01              LOCLUST - LOCATE CLUSTER GIVEN NAME                                                                              (1)



                                     0136 34300 	.SBTTL	LOCLUST	- LOCATE CLUSTER GIVEN NAME

                                     0136 34400 

                           00000008  0136 34500 NAME=8					; NAME DISPLACEMENT IN ARGLIST

                                     0136 34600 ;++

                                     0136 34700 ; FUNCTIONAL DESCRIPTION:

                                     0136 34800 ;	LOCLUST SEARCHES THE LIST OF COMMON EVENT BLOCKS FOR THE 

                                     0136 34900 ;	NAMED CLUSTER AND RETURNS THE ADDRESS OF THE CLUSTER.

                                     0136 35000 ;	IF NO ERROR CONDITIONS ARE ENCOUNTERED, LOCLUST RETURNS WITH

                                     0136 35100 ;	THE CEB MUTEX LOCKED FOR WRITE.  IN THE EVENT OF ERROR, THE

                                     0136 35200 ;	MUTEX IS UNLOCKED AND A RET IS ISSUED TO EXIT THE SERVICE.

                                     0136 35300 ;

                                     0136 35400 ; CALLING SEQUENCE:

                                     0136 35500 ;	BSB/JSB	LOCLUST

                                     0136 35600 ;

                                     0136 35700 ; INPUT PARAMETERS:

                                     0136 35800 ;	04(SP) - 16 BYTE AREA INTO WHICH NAME WILL BE MOVED

                                     0136 35900 ;	R3 - ADDRESS OF NAME STRING

                                     0136 35950 ;	R4 - PCB ADDRESS 

                                     0136 36000 ;

                                     0136 36100 ; OUTPUT PARAMETERS:

                                     0136 36200 ;	R0 - COMPLETION STATUS

                                     0136 36300 ;	R2 - ADDRESS OF CEB

                                     0136 36400 ;		ZERO IF NAME NOT FOUND

                                     0136 36500 ;	R4 - PCB ADDRESS OF CURRENT PROCESS

                                     0136 36600 ;

                                     0136 36700 ; COMPLETION CODES:

                                     0136 36800 ;

                                     0136 36900 ;	SS$_ACCVIO   -  LOGICAL NAME INACCESSIBLE

                                     0136 37000 ;	SS$_IVLOGNAM -  COUNT FOR LOGICAL NAME NOT 1-15

                                     0136 37100 ;	SS$_NOPRIV   -  PRIVILEGE VIOLATION 

                                     0136 37200 ;

                                     0136 37300 ;--

                                     0136 37400 

                                     0136 37500 LOCLUST:				; LOCATE CLUSTER

                                     0136 37700 	IFNORD	#8,(R3),30$		; TEST DESCRIPTOR READABILITY

            51            63     3C  013C 37800 	MOVZWL	(R3),R1			; GET COUNT FROM DESCRIPTOR

                          6F     13  013F 37900 	BEQL	50$			; ILLEGAL STRING LENGTH

            53         04 A3     D0  0141 38000 	MOVL	4(R3),R3		; GET ADDRESS OF STRING

            0F            51     D1  0145 38100 	CMPL	R1,#15			; CHECK LENGTH

                          66     14  0148 38200 	BGTR	50$			; ERROR IF >15

                                     014A 38300 	IFNORD	R1,(R3),30$		; CHECK READABILITY OF STRING

         04 AE            51     90  0150 38400 	MOVB	R1,4(SP)		; SET COUNT IN STRING

                          32     BB  0154 38500 	PUSHR	#^M<R1,R4,R5>		; SAVE REGISTERS FOR STRING MOVE

            63            51     28  0156 38600 	MOVC3	R1,(R3),17(SP)		; COPY STRING TO STACK

                       11 AE         0159       

                          32     BA  015B 38700 	POPR	#^M<R1,R4,R5>		; RESTORE REGISTERS

            01            51     C1  015D 38800 	ADDL3	R1,#1,-(SP)		; SAVE STRING COUNT

                          7E         0160       

                          C6     10  0161 38900 	BSBB	CEBLOCK			; LOCK CEB LIST FOR WRITE

                          02     BA  0163 39000 	POPR	#^M<R1>			; RESTORE COUNT

            50   00000000'EF     DE  0165 39100 	MOVAL	SCH$GQ_CEBHD,R0	; GET ADDRESS OF CEB LIST

            52            50     D0  016C 39200 	MOVL	R0,R2			; AND POINTER TO HEAD OF LIST

            53         04 AE     DE  016F 39300 	MOVAL	4(SP),R3		; SET ADDRESS OF NAME STRING

            52            62     D0  0173 39400 10$:	MOVL	(R2),R2			; FLINK ONWARD

            52            50     D1  0176 39500 	CMPL	R0,R2			; CHECK FOR END OF LIST

                          07     12  0179 39600 	BNEQ	40$			; NOT AT END YET

                          52     D4  017B 39700 	CLRL	R2			; INDICATE NONE FOUND

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  12

01              LOCLUST - LOCATE CLUSTER GIVEN NAME                                                                              (1)



                                 05  017D 39800 20$:	RSB				; AND RETURN

            50            0C     3C  017E 39900 30$:	MOVZWL	#SS$_ACCVIO,R0		; INDICATE ACCESS VIOLATION

                                 04  0181 40000 	RET				; AND EXIT SERVICE

         22 A4         22 A2     B1  0182 40100 40$:	CMPW	CEB$W_GRP(R2),PCB$W_GRP(R4) ; SAME GROUP?

                          EA     12  0187 40200 	BNEQ	10$			; NO, TRY ANOTHER

                          0F     BB  0189 40300 	PUSHR	#^M<R0,R1,R2,R3>	; SAVE STRING REGISTERS

            63            51     29  018B 40400 	CMPC3	R1,(R3),CEB$T_EFCNAM(R2); COMPARE NAMES

                       28 A2         018E       

                          0F     BA  0190 40500 	POPR	#^M<R0,R1,R2,R3>	; RESTORE REGISTERS

                          DF     12  0192 40600 	BNEQ	10$			; NOT EQUAL, TRY ANOTHER

         20 A4         20 A2     D1  0194 40700 	CMPL	CEB$L_UIC(R2),PCB$L_UIC(R4)	; OWNER UIC?

                          E2     13  0199 40800 	BEQL	20$			; YES CONTINUE

            DE         24 A2     E9  019B 40900 	BLBC	CEB$W_PROT(R2),20$	; CONTINUE IF NO ERROR

            50   00000000'EF     DE  019F 41000 	MOVAL	EXE$GL_CEBMTX,R0	; SET ADDRESS OF MUTEX

                 00000000'EF     16  01A6 41100 	JSB	SCH$UNLOCK		; UNLOCK MUTEX

            50            24     3C  01AC 41200 	MOVZWL	#SS$_NOPRIV,R0		; SET ERROR CODE

                                 04  01AF 41300 	RET				; AND RETURN FROM SERVICE

            50       0154 8F     3C  01B0 41400 50$:	MOVZWL	#SS$_IVLOGNAM,R0	; INDICATE ILLEGAL STRING

                                 04  01B5 41500 	RET				; AND EXIT SERVICE

                                     01B6 41600 

                                     01B6 41700 

                                     01B6 41800 	.END

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



ASSOCIATE        000000A7 R     03   PCB$L_EFCU       00000054            PR$_ASTLVL     = 00000013            

BIT...         = 0000000F            PCB$L_EFWM       0000004C            PR$_ESP        = 00000001            

CEB$B_STS        0000000B            PCB$L_OWNER      0000001C            PR$_ICCS       = 00000018            

CEB$B_TYPE       0000000A            PCB$L_PHD        00000064            PR$_ICR        = 0000001A            

CEB$L_CEBBL      00000004            PCB$L_PHYPCB     00000018            PR$_IPL        = 00000012            

CEB$L_CEBFL      00000000            PCB$L_PID        00000060            PR$_ISP        = 00000004            

CEB$L_EFC        00000010            PCB$L_PQB        0000004C            PR$_KSP        = 00000000            

CEB$L_PID        0000000C            PCB$L_SQBL       00000004            PR$_MAPEN      = 00000038            

CEB$L_UIC        00000020            PCB$L_SQFL       00000000            PR$_NICR       = 00000019            

CEB$L_WQBL       00000018            PCB$L_STS        00000028            PR$_P0BR       = 00000008            

CEB$L_WQFL       00000014            PCB$L_UIC        00000020            PR$_P0LR       = 00000009            

CEB$T_EFCNAM     00000028            PCB$L_WSSWP      00000024            PR$_P1BR       = 0000000A            

CEB$V_NOQUOTA  = 00000000            PCB$L_WTIME      0000002C            PR$_P1LR       = 0000000B            

CEB$V_PERM     = 00000001            PCB$T_LNAME      0000006C            PR$_PCBB       = 00000010            

CEB$W_GRP        00000022            PCB$V_ASTPEN   = 00000011            PR$_RXCS       = 00000020            

CEB$W_PROT       00000024            PCB$V_BATCH    = 0000000E            PR$_RXDB       = 00000021            

CEB$W_REFC       00000026            PCB$V_DELPEN   = 00000001            PR$_SBIER      = 00000034            

CEB$W_SIZE       00000008            PCB$V_FORCPEN  = 00000002            PR$_SBIFS      = 00000030            

CEB$W_STATE      0000001E            PCB$V_HIBER    = 00000013            PR$_SBIMT      = 00000033            

CEB$W_WQCNT      0000001C            PCB$V_INQUAN   = 00000003            PR$_SBIQC      = 00000036            

CEBLOCK          00000129 R     03   PCB$V_LOGIN    = 00000014            PR$_SBIS       = 00000031            

DISASOC          000000B3 R     03   PCB$V_NOACNT   = 0000000F            PR$_SBISC      = 00000032            

EFN            = 00000004            PCB$V_PHDRES   = 00000012            PR$_SBITA      = 00000035            

EXE$ALLOCCEB     ********   X   03   PCB$V_PSWAPM   = 00000004            PR$_SBR        = 0000000C            

EXE$ASCEFC       00000024 RG    03   PCB$V_RES      = 00000000            PR$_SCBB       = 00000011            

EXE$DACEFC       00000000 RG    03   PCB$V_RESPEN   = 00000005            PR$_SID        = 0000003E            

EXE$DEANONPAGED  ********   X   03   PCB$V_SSFEXC   = 00000006            PR$_SIRR       = 00000014            

EXE$DLCEFC       000000F8 RG    03   PCB$V_SSFEXCE  = 00000007            PR$_SISR       = 00000015            

EXE$GL_CEBMTX    ********   X   03   PCB$V_SSFEXCS  = 00000008            PR$_SLR        = 0000000D            

EXIT             000000E3 R     03   PCB$V_SSFEXCU  = 00000009            PR$_SSP        = 00000002            

EXITN            000000E0 R     03   PCB$V_SSRWAIT  = 0000000A            PR$_TBIA       = 00000039            

GBL...         = 00000000            PCB$V_SUSPEN   = 0000000B            PR$_TBIS       = 0000003A            

GETCLUSTER       00000012 R     03   PCB$V_SWPVBN   = 00000010            PR$_TODR       = 0000001B            

IPL$_ASTDEL    = 00000002            PCB$V_WAKEPEN  = 0000000C            PR$_TXCS       = 00000022            

IPL$_HWCLK     = 00000018            PCB$V_WALL     = 0000000D            PR$_TXDB       = 00000023            

IPL$_IOPOST    = 00000004            PCB$W_APTCNT     00000034            PR$_USP        = 00000003            

IPL$_MAILBOX   = 0000000B            PCB$W_ASTCNT     0000003C            PR$_WCSA       = 0000002C            

IPL$_POWER     = 0000001F            PCB$W_BIOCNT     0000003E            PR$_WCSD       = 0000002D            

IPL$_QUEUEAST  = 00000006            PCB$W_BIOLM      00000040            PROT           = 0000000C            

IPL$_SCHED     = 00000003            PCB$W_BYTCNT     00000042            PRV$V_ALLSPOOL = 00000004            

IPL$_SYNCH     = 00000007            PCB$W_BYTLM      00000068            PRV$V_BUGCHK   = 00000017            

IPL$_TIMER     = 00000007            PCB$W_DIOCNT     00000044            PRV$V_CMEXEC   = 00000001            

LOCLUST          00000136 R     03   PCB$W_DIOLM      00000046            PRV$V_CMKRNL   = 00000000            

NAME           = 00000008            PCB$W_FILCNT     00000048            PRV$V_DETACH   = 00000005            

PCB$B_ASTACT     0000000C            PCB$W_GPGCNT     00000038            PRV$V_DEVCHAR  = 00000011            

PCB$B_ASTEN      0000000D            PCB$W_GRP        00000022            PRV$V_DIAGNOSE = 00000006            

PCB$B_PRI        0000000B            PCB$W_MEM        00000020            PRV$V_EXQUOTA  = 00000013            

PCB$B_PRIB       00000033            PCB$W_MTXCNT     0000000E            PRV$V_GROUP    = 00000008            

PCB$B_TYPE       0000000A            PCB$W_PPGCNT     0000003A            PRV$V_GRPNAM   = 00000003            

PCB$B_WEFC       00000032            PCB$W_PRCCNT     0000006A            PRV$V_LOG_IO   = 00000007            

PCB$C_LENGTH     0000007C            PCB$W_SIZE       00000008            PRV$V_NETMBX   = 00000014            

PCB$K_LENGTH     0000007C            PCB$W_STATE      00000030            PRV$V_NOACNT   = 00000009            

PCB$L_ASTQBL     00000014            PCB$W_TMBU       00000036            PRV$V_OPER     = 00000012            

PCB$L_ASTQFL     00000010            PCB$W_TQCNT      0000004A            PRV$V_PHY_IO   = 00000016            

PCB$L_EFC2P      00000058            PERM           = 00000010            PRV$V_PRMCEB   = 0000000A            

PCB$L_EFC3P      0000005C            PR$_ACCR       = 00000029            PRV$V_PRMGBL   = 00000018            

PCB$L_EFCS       00000050            PR$_ACCS       = 00000028            PRV$V_PRMMBX   = 0000000B            

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



PRV$V_PSWAPM   = 0000000C            SS$_CONTROLY   = 00000611            SS$_INCVOLLABEL= 0000010C            

PRV$V_SETPRI   = 0000000D            SS$_CREATED    = 00000619            SS$_INSFARG    = 00000114            

PRV$V_SETPRV   = 0000000E            SS$_CTRLERR    = 00000054            SS$_INSFMEM    = 00000124            

PRV$V_SYSGBL   = 00000019            SS$_DATACHECK  = 0000005C            SS$_INSFRAME   = 0000012C            

PRV$V_SYSNAM   = 00000002            SS$_DATAOVERUN = 00000838            SS$_INSFWSL    = 0000011C            

PRV$V_TMPMBX   = 0000000F            SS$_DEBUG      = 0000046C            SS$_IVADDR     = 00000134            

PRV$V_VOLPRO   = 00000015            SS$_DEVACTIVE  = 000002C4            SS$_IVCHAN     = 0000013C            

PRV$V_WORLD    = 00000010            SS$_DEVALLOC   = 00000840            SS$_IVCHNLSEC  = 0000026C            

RETQUOTA         00000000 R     01   SS$_DEVALRALLOC= 00000641            SS$_IVDEVNAM   = 00000144            

SCH$AL_PCB       ********   X   01   SS$_DEVASSIGN  = 00000848            SS$_IVGSDNAM   = 0000014C            

SCH$C_CEF      = 00000003            SS$_DEVFOREIGN = 00000064            SS$_IVLOGNAM   = 00000154            

SCH$C_COLPG    = 00000001            SS$_DEVICEFULL = 00000850            SS$_IVLOGTAB   = 0000015C            

SCH$C_COM      = 0000000C            SS$_DEVMOUNT   = 0000006C            SS$_IVPROTECT  = 000002F4            

SCH$C_COMO     = 0000000D            SS$_DEVNOTALLOC= 00000858            SS$_IVQUOTAL   = 00000164            

SCH$C_CUR      = 0000000E            SS$_DEVNOTMBX  = 00000074            SS$_IVSECFLG   = 0000016C            

SCH$C_FPG      = 0000000B            SS$_DEVNOTMOUNT= 0000007C            SS$_IVSECIDCTL = 000002E4            

SCH$C_HIB      = 00000007            SS$_DEVOFFLINE = 00000084            SS$_IVSSRQ     = 00000174            

SCH$C_HIBO     = 00000008            SS$_DIRFULL    = 00000860            SS$_IVSTSFLG   = 0000017C            

SCH$C_LEF      = 00000005            SS$_DRVERR     = 0000008C            SS$_IVTIME     = 00000184            

SCH$C_LEFO     = 00000006            SS$_DUPFILENAME= 00000868            SS$_LENVIO     = 0000018C            

SCH$C_MWAIT    = 00000002            SS$_DUPLNAM    = 00000094            SS$_LKWSETFUL  = 00000194            

SCH$C_PFW      = 00000004            SS$_ENDOFFILE  = 00000870            SS$_MBFULL     = 000008D8            

SCH$C_SUSP     = 00000009            SS$_ENDOFTAPE  = 00000878            SS$_MBTOOSML   = 0000019C            

SCH$C_SUSPO    = 0000000A            SS$_ENDOFUSRLBL= 00000970            SS$_MCHECK     = 000002BC            

SCH$GQ_CEBHD     ********   X   03   SS$_EXQUOTA    = 0000001C            SS$_MEDOFL     = 000001A4            

SCH$GW_CEBCNT    ********   X   03   SS$_EXTIDXFILE = 00000880            SS$_MSGNOTFND  = 00000621            

SCH$LOCKW        ********   X   03   SS$_FCPREADERR = 00000888            SS$_MUSTCLOSEFL= 00000948            

SCH$UNLOCK       ********   X   03   SS$_FCPREPSTN  = 00000988            SS$_NODATA     = 000001AC            

SS$_ABORT      = 0000002C            SS$_FCPREWNDERR= 00000890            SS$_NOHANDLER  = 000008F8            

SS$_ACCONFLICT = 00000800            SS$_FCPSPACERR = 00000898            SS$_NOHOMEBLK  = 000008E0            

SS$_ACCVIO     = 0000000C            SS$_FCPWRITERR = 000008A0            SS$_NOIOCHAN   = 000001B4            

SS$_ARITH      = 00000404            SS$_FILACCERR  = 0000009C            SS$_NOLINKS    = 0000027C            

SS$_ASTFLT     = 0000040C            SS$_FILALRACC  = 000000A4            SS$_NOLOGNAM   = 000001BC            

SS$_BADATTRIB  = 00000034            SS$_FILELOCKED = 000008A8            SS$_NOMBX      = 00000274            

SS$_BADCHKSUM  = 00000808            SS$_FILENUMCHK = 000008B0            SS$_NOMOREFILES= 00000930            

SS$_BADESCAPE  = 0000003C            SS$_FILESEQCHK = 000008B8            SS$_NONEXDRV   = 000001C4            

SS$_BADFILEHDR = 00000810            SS$_FILESTRUCT = 000008C0            SS$_NONEXPR    = 000008E8            

SS$_BADFILENAME= 00000818            SS$_FILNOTACC  = 000000AC            SS$_NONLOCAL   = 000008F0            

SS$_BADFILEVER = 00000820            SS$_FILNOTCNTG = 000002AC            SS$_NOPRIV     = 00000024            

SS$_BADIMGHDR  = 00000044            SS$_FILNOTEXP  = 000000B4            SS$_NORMAL     = 00000001            

SS$_BADIRECTORY= 00000828            SS$_FORMAT     = 000000BC            SS$_NOSIGNAL   = 00000900            

SS$_BADPARAM   = 00000014            SS$_GPTFULL    = 000000C4            SS$_NOSOLICIT  = 00000284            

SS$_BADSTACK   = 000002B4            SS$_GSDFULL    = 000000CC            SS$_NOSUCHDEV  = 00000908            

SS$_BEGOFFILE  = 00000938            SS$_GSDNOTXXX  = 000000D4            SS$_NOSUCHFILE = 00000910            

SS$_BLOCKCNTERR= 00000940            SS$_HANGUP     = 000002CC            SS$_NOSUCHNODE = 0000028C            

SS$_BREAK      = 00000414            SS$_HEADERFULL = 000008C8            SS$_NOSUCHSEC  = 00000978            

SS$_BUFFEROVF  = 00000601            SS$_IDXFILEFULL= 000008D0            SS$_NOTAPEOP   = 00000264            

SS$_BUGCHECK   = 000002A4            SS$_ILLBLKNUM  = 000000DC            SS$_NOTFILEDEV = 000001CC            

SS$_CANCEL     = 00000830            SS$_ILLCNTRFUNC= 000000E4            SS$_NOTINTBLSZ = 000001D4            

SS$_CHANINTLK  = 0000004C            SS$_ILLEFC     = 000000EC            SS$_NOTLABELMT = 000001DC            

SS$_CLIFRCEXT  = 00000980            SS$_ILLIOFUNC  = 000000F4            SS$_NOTNETDEV  = 000002EC            

SS$_CMODSUPR   = 0000041C            SS$_ILLLBLAST  = 00000968            SS$_NOTRAN     = 00000629            

SS$_CMODUSER   = 00000424            SS$_ILLPAGCNT  = 000000FC            SS$_NOTSQDEV   = 000001E4            

SS$_COMPAT     = 0000042C            SS$_ILLSEQOP   = 000002DC            SS$_OPCCUS     = 00000434            

SS$_CONTINUE   = 00000001            SS$_ILLSER     = 00000104            SS$_OPCDEC     = 0000043C            

SS$_CONTROLC   = 00000651            SS$_ILLUSRLBLRD= 00000958            SS$_OPINCOMPL  = 000002D4            

SS$_CONTROLO   = 00000609            SS$_ILLUSRLBLWT= 00000960            SS$_PAGOWNVIO  = 000001EC            

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 23:34:10   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



SS$_PAGRDERR   = 00000444            

SS$_PARITY     = 000001F4            

SS$_PARTESCAPE = 000001FC            

SS$_PFMBSY     = 00000204            

SS$_PSTFULL    = 0000020C            

SS$_RADRMOD    = 0000044C            

SS$_REJECT     = 00000294            

SS$_REMOTE     = 00000649            

SS$_RESIGNAL   = 00000918            

SS$_RESULTOVF  = 00000214            

SS$_ROPRAND    = 00000454            

SS$_SECTBLFUL  = 0000021C            

SS$_SSFAIL     = 0000045C            

SS$_SUPERSEDE  = 00000631            

SS$_TAPEPOSLOST= 00000224            

SS$_TBIT       = 00000464            

SS$_TIMEOUT    = 0000022C            

SS$_TOOMANYVER = 00000990            

SS$_TOOMUCHDATA= 0000029C            

SS$_UNASEFC    = 00000234            

SS$_UNSAFE     = 0000023C            

SS$_UNWIND     = 00000920            

SS$_UNWINDING  = 00000928            

SS$_VASFULL    = 00000244            

SS$_VECINUSE   = 0000024C            

SS$_VOLINV     = 00000254            

SS$_WAITUSRLBL = 00000950            

SS$_WASCLR     = 00000001            

SS$_WASECC     = 00000639            

SS$_WASSET     = 00000009            

SS$_WRITLCK    = 0000025C            





PROGRAM SECTION SYNOPSIS



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

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

$ABS$            0000007C      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

Y$EXEPAGED       000001B6      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

14694. BYTES LEFT IN FREE MEMORY POOL.

2958. BYTES OF RECLAIMED MEMORY.

OBJ$:SYSASCEFC,LIS$:SYSASCEFC/-SP=LIB$:LIB/ML,SRC$:SYSASCEFC

4 MLB DIR RDS - 629 GETS TO DEFINE 21 MACROS. 47 INTER. FILE WRITES. 

