SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   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 20:18:40   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 20:18:40   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 20:18:40   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'DF42   D0  0006  7850 	MOVL	@W^SCH$GL_PCBVEC[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 20:18:40   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

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

                          00A2   31  000F 11800 	BRW	DISASOC			; DISASSOCIATE CLUSTER

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   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 20:18:40   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

                          00F6   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 20:18:40   VAX-11 MACRO X0.3-11               Page   7

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



                          63     12  0043 21300 	BNEQ	ASSOCIATE		; YES, ASSOCIATE IT

            0D         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

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

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

                          09     11  0051 21800 	BRB	35$			; AND RETURN

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

                          FFA7'  30  0056 22000 30$:	BSBW	EXE$ALLOCCEB		; ALLOCATE SPACE FOR CEB

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

                          0085   31  005C 22200 35$:	BRW	EXIT			; EXIT IF NO SPACE

                                     005F 22300 40$:					;

                                     005F 22400 ;

                                     005F 22500 ;	R2 - BASE OF CEB

                                     005F 22600 ;

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

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

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

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

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

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

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

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

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

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

                          50     D6  0086 23700 	INCL	R0			; INCLUDE COUNT

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

                       28 A2         008C       

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

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

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

         0B A2            01         0098       

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

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

                                     00A8 24400 

                                     00A8 24500 	.DSABL	LSB

                                     00A8 24600 

                                     00A8 24700 ASSOCIATE:				; ASSOCIATE PROCESS WITH CLUSTER

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

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

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

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

                          28     13  00B7 25200 	BEQL	EXITN			; NONE

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

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

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

                          1E         00C2       

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

                          0A         00C7       

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

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

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

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

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

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

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

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

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

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page   8

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



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

                                     00F5 27100 	SETIPL	#0			; ENABLE

                                 04  00F8 27200 	RET				; AND RETURN TO CALLER

                                     00F9 27300 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page   9

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



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

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

                                     00F9 27700 

                                     00F9 27800 

                                     00F9 27900 ;++

                                     00F9 28000 ; FUNCTIONAL DESCRIPTION:

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

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

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

                                     00F9 28400 ;

                                     00F9 28500 ; CALLING SEQUENCE:

                                     00F9 28600 ;	CALLG	ARGLIST,EXE$DLCEFC

                                     00F9 28700 ;

                                     00F9 28800 ; INPUT PARAMETERS:

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

                                     00F9 29000 ;

                                     00F9 29100 ; OUTPUT PARAMETERS:

                                     00F9 29200 ;	R0 - COMPLETION STATUS

                                     00F9 29300 ;

                                     00F9 29400 ; COMPLETION CODES:

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

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

                                     00F9 29700 ;

                                     00F9 29800 ; SIDE EFFECTS:

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

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

                                     00F9 30100 ;

                                     00F9 30200 ;--

                                     00F9 30300 

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

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

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

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

                          33     10  0102 30800 	BSBB	LOCLUST			; LOCATE CLUSTER BY NAME

                          52     D5  0104 30900 	TSTL	R2			; WAS NAME FOUND

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

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

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

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

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

                          CB     11  0117 31500 	BRB	EXIT			; EXIT RELEASING MUTEX

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

                          05         011D       

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

                          00         0122       

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

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

                          8A     11  0128 32000 	BRB	DISASOC			; DISASSOCIATE 

                                     012A 32100 					; RELEASING CEB IF IDLE

                                     012A 32200 

                                     012A 32300 

                                     012A 32400 

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

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



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

                                     012A 32700 

                                     012A 32800 ;++

                                     012A 32900 ; FUNCTIONAL DESCRIPTION:

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

                                     012A 33100 ;	RETURNS WITH IPL AT IPL$_ASTDEL.

                                     012A 33200 ;

                                     012A 33300 ; CALLING SEQUENCE:

                                     012A 33400 ;	BSB/JSB	CEBLOCK

                                     012A 33500 ;

                                     012A 33600 ;--

                                     012A 33700 

                                     012A 33800 CEBLOCK:				; LOCK CEB MUTEX FOR WRITE

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

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

                                     0137 34100 

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  11

01              LOCLUST - LOCATE CLUSTER GIVEN NAME                                                                              (1)



                                     0137 34300 	.SBTTL	LOCLUST	- LOCATE CLUSTER GIVEN NAME

                                     0137 34400 

                           00000008  0137 34500 NAME=8					; NAME DISPLACEMENT IN ARGLIST

                                     0137 34600 ;++

                                     0137 34700 ; FUNCTIONAL DESCRIPTION:

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

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

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

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

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

                                     0137 35300 ;

                                     0137 35400 ; CALLING SEQUENCE:

                                     0137 35500 ;	BSB/JSB	LOCLUST

                                     0137 35600 ;

                                     0137 35700 ; INPUT PARAMETERS:

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

                                     0137 35900 ;	R3 - ADDRESS OF NAME STRING

                                     0137 35950 ;	R4 - PCB ADDRESS 

                                     0137 36000 ;

                                     0137 36100 ; OUTPUT PARAMETERS:

                                     0137 36200 ;	R0 - COMPLETION STATUS

                                     0137 36300 ;	R2 - ADDRESS OF CEB

                                     0137 36400 ;		ZERO IF NAME NOT FOUND

                                     0137 36500 ;	R4 - PCB ADDRESS OF CURRENT PROCESS

                                     0137 36600 ;

                                     0137 36700 ; COMPLETION CODES:

                                     0137 36800 ;

                                     0137 36900 ;	SS$_ACCVIO   -  LOGICAL NAME INACCESSIBLE

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

                                     0137 37100 ;	SS$_NOPRIV   -  PRIVILEGE VIOLATION 

                                     0137 37200 ;

                                     0137 37300 ;--

                                     0137 37400 

                                     0137 37500 LOCLUST:				; LOCATE CLUSTER

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

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

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

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

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

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

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

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

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

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

                       11 AE         015A       

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

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

                          7E         0161       

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

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

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

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

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

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

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

                          07     12  017A 39600 	BNEQ	40$			; NOT AT END YET

                          52     D4  017C 39700 	CLRL	R2			; INDICATE NONE FOUND

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  12

01              LOCLUST - LOCATE CLUSTER GIVEN NAME                                                                              (1)



                                 05  017E 39800 20$:	RSB				; AND RETURN

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

                                 04  0182 40000 	RET				; AND EXIT SERVICE

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

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

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

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

                       28 A2         018F       

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

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

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

                          E2     13  019A 40800 	BEQL	20$			; YES CONTINUE

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

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

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

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

                                 04  01B0 41300 	RET				; AND RETURN FROM SERVICE

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

                                 04  01B6 41500 	RET				; AND EXIT SERVICE

                                     01B7 41600 

                                     01B7 41700 

                                     01B7 41800 	.END

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



ASSOCIATE        000000A8 R     03   PCB$L_EFCU       00000054            PERM           = 00000010            

BIT...         = 0000000F            PCB$L_EFWM       0000004C            PR$_ACCR       = 00000029            

CEB$B_STS        0000000B            PCB$L_OWNER      0000001C            PR$_ACCS       = 00000028            

CEB$B_TYPE       0000000A            PCB$L_PHD        00000064            PR$_ASTLVL     = 00000013            

CEB$L_CEBBL      00000004            PCB$L_PHYPCB     00000018            PR$_ESP        = 00000001            

CEB$L_CEBFL      00000000            PCB$L_PID        00000060            PR$_ICCS       = 00000018            

CEB$L_EFC        00000010            PCB$L_PQB        0000004C            PR$_ICR        = 0000001A            

CEB$L_PID        0000000C            PCB$L_SQBL       00000004            PR$_IPL        = 00000012            

CEB$L_UIC        00000020            PCB$L_SQFL       00000000            PR$_ISP        = 00000004            

CEB$L_WQBL       00000018            PCB$L_STS        00000028            PR$_KSP        = 00000000            

CEB$L_WQFL       00000014            PCB$L_UIC        00000020            PR$_MAPEN      = 00000038            

CEB$T_EFCNAM     00000028            PCB$L_WSSWP      00000024            PR$_NICR       = 00000019            

CEB$V_NOQUOTA  = 00000000            PCB$L_WTIME      0000002C            PR$_P0BR       = 00000008            

CEB$V_PERM     = 00000001            PCB$T_LNAME      0000006C            PR$_P0LR       = 00000009            

CEB$W_GRP        00000022            PCB$V_ASTPEN   = 00000011            PR$_P1BR       = 0000000A            

CEB$W_PROT       00000024            PCB$V_BATCH    = 0000000E            PR$_P1LR       = 0000000B            

CEB$W_REFC       00000026            PCB$V_DELPEN   = 00000001            PR$_PCBB       = 00000010            

CEB$W_SIZE       00000008            PCB$V_FORCPEN  = 00000002            PR$_PME        = 0000003D            

CEB$W_STATE      0000001E            PCB$V_HIBER    = 00000013            PR$_RXCS       = 00000020            

CEB$W_WQCNT      0000001C            PCB$V_INQUAN   = 00000003            PR$_RXDB       = 00000021            

CEBLOCK          0000012A R     03   PCB$V_LOGIN    = 00000014            PR$_SBIER      = 00000034            

DISASOC          000000B4 R     03   PCB$V_NETWRK   = 00000015            PR$_SBIFS      = 00000030            

EFN            = 00000004            PCB$V_NOACNT   = 0000000F            PR$_SBIMT      = 00000033            

EXE$ALLOCCEB     ********   X   03   PCB$V_NODELET  = 00000017            PR$_SBIQC      = 00000036            

EXE$ASCEFC       00000024 RG    03   PCB$V_PHDRES   = 00000012            PR$_SBIS       = 00000031            

EXE$DACEFC       00000000 RG    03   PCB$V_PSWAPM   = 00000004            PR$_SBISC      = 00000032            

EXE$DEANONPAGED  ********   X   03   PCB$V_PWRAST   = 00000016            PR$_SBITA      = 00000035            

EXE$DLCEFC       000000F9 RG    03   PCB$V_RES      = 00000000            PR$_SBR        = 0000000C            

EXE$GL_CEBMTX    ********   X   03   PCB$V_RESPEN   = 00000005            PR$_SCBB       = 00000011            

EXIT             000000E4 R     03   PCB$V_SSFEXC   = 00000006            PR$_SID        = 0000003E            

EXITN            000000E1 R     03   PCB$V_SSFEXCE  = 00000007            PR$_SIRR       = 00000014            

GBL...         = 00000000            PCB$V_SSFEXCS  = 00000008            PR$_SISR       = 00000015            

GETCLUSTER       00000012 R     03   PCB$V_SSFEXCU  = 00000009            PR$_SLR        = 0000000D            

IPL$_ASTDEL    = 00000002            PCB$V_SSRWAIT  = 0000000A            PR$_SSP        = 00000002            

IPL$_HWCLK     = 00000018            PCB$V_SUSPEN   = 0000000B            PR$_TBIA       = 00000039            

IPL$_IOPOST    = 00000004            PCB$V_SWPVBN   = 00000010            PR$_TBIS       = 0000003A            

IPL$_MAILBOX   = 0000000B            PCB$V_WAKEPEN  = 0000000C            PR$_TODR       = 0000001B            

IPL$_POWER     = 0000001F            PCB$V_WALL     = 0000000D            PR$_TXCS       = 00000022            

IPL$_QUEUEAST  = 00000006            PCB$W_APTCNT     00000034            PR$_TXDB       = 00000023            

IPL$_SCHED     = 00000003            PCB$W_ASTCNT     0000003C            PR$_USP        = 00000003            

IPL$_SYNCH     = 00000007            PCB$W_BIOCNT     0000003E            PR$_WCSA       = 0000002C            

IPL$_TIMER     = 00000007            PCB$W_BIOLM      00000040            PR$_WCSD       = 0000002D            

LOCLUST          00000137 R     03   PCB$W_BYTCNT     00000042            PROT           = 0000000C            

NAME           = 00000008            PCB$W_BYTLM      00000068            PRV$V_ALLSPOOL = 00000004            

PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            PRV$V_BUGCHK   = 00000017            

PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            PRV$V_CMEXEC   = 00000001            

PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            PRV$V_CMKRNL   = 00000000            

PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            PRV$V_DETACH   = 00000005            

PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            PRV$V_DIAGNOSE = 00000006            

PCB$B_WEFC       00000032            PCB$W_MEM        00000020            PRV$V_EXQUOTA  = 00000013            

PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            PRV$V_GROUP    = 00000008            

PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            PRV$V_GRPNAM   = 00000003            

PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            PRV$V_LOG_IO   = 00000007            

PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            PRV$V_MOUNT    = 00000011            

PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            PRV$V_NETMBX   = 00000014            

PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            PRV$V_NOACNT   = 00000009            

PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            PRV$V_OPER     = 00000012            

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



PRV$V_PHY_IO   = 00000016            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

PRV$V_PRMCEB   = 0000000A            SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

PRV$V_PRMGBL   = 00000018            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

PRV$V_PRMMBX   = 0000000B            SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            

PRV$V_PSWAPM   = 0000000C            SS$_CONTROLC   = 00000651            SS$_ILLPAGCNT  = 000000FC            

PRV$V_SETPRI   = 0000000D            SS$_CONTROLO   = 00000609            SS$_ILLSEQOP   = 000002DC            

PRV$V_SETPRV   = 0000000E            SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            

PRV$V_SYSGBL   = 00000019            SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            

PRV$V_SYSNAM   = 00000002            SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            

PRV$V_TMPMBX   = 0000000F            SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            

PRV$V_VOLPRO   = 00000015            SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            

PRV$V_WORLD    = 00000010            SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            

RETQUOTA         00000000 R     01   SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            

SCH$C_CEF      = 00000003            SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            

SCH$C_COLPG    = 00000001            SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            

SCH$C_COM      = 0000000C            SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            

SCH$C_COMO     = 0000000D            SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            

SCH$C_CUR      = 0000000E            SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            

SCH$C_FPG      = 0000000B            SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            

SCH$C_HIB      = 00000007            SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            

SCH$C_HIBO     = 00000008            SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            

SCH$C_LEF      = 00000005            SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            

SCH$C_LEFO     = 00000006            SS$_DEVNOTMOUNT= 0000007C            SS$_IVLOGTAB   = 0000015C            

SCH$C_MWAIT    = 00000002            SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            

SCH$C_PFW      = 00000004            SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            

SCH$C_SUSP     = 00000009            SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            

SCH$C_SUSPO    = 0000000A            SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            

SCH$GL_PCBVEC    ********   X   01   SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            

SCH$GQ_CEBHD     ********   X   03   SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            

SCH$GW_CEBCNT    ********   X   03   SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            

SCH$LOCKW        ********   X   03   SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            

SCH$UNLOCK       ********   X   03   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            

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



SS$_NOSUCHFILE = 00000910            

SS$_NOSUCHNODE = 0000028C            

SS$_NOSUCHSEC  = 00000978            

SS$_NOTAPEOP   = 00000264            

SS$_NOTFILEDEV = 000001CC            

SS$_NOTINTBLSZ = 000001D4            

SS$_NOTLABELMT = 000001DC            

SS$_NOTMODIFIED= 00000659            

SS$_NOTNETDEV  = 000002EC            

SS$_NOTRAN     = 00000629            

SS$_NOTSQDEV   = 000001E4            

SS$_OPCCUS     = 00000434            

SS$_OPCDEC     = 0000043C            

SS$_OPINCOMPL  = 000002D4            

SS$_PAGOWNVIO  = 000001EC            

SS$_PAGRDERR   = 00000444            

SS$_PARITY     = 000001F4            

SS$_PARTESCAPE = 000001FC            

SS$_PFMBSY     = 00000204            

SS$_PLHLDR     = 00000404            

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$_SUBRNG     = 000004AC            

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            

SS$_WRONGACP   = 0000031C            





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       000001B7      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

SYSASCEFC       - ASSOCIATE, DISASSOCIATE AND DELETE COMMON EVE  21-AUG-1978 20:18:40   VAX-11 MACRO X0.3-11               Page  16

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







THERE WERE NO ERRORS OR WARNINGS.

13954. BYTES LEFT IN FREE MEMORY POOL.

3282. BYTES OF RECLAIMED MEMORY.

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

9 MLB DIR RDS - 659 GETS TO DEFINE 21 MACROS. 50 INTER. FILE WRITES. 

