SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      61  ALLOCATE DEVICE

   (1)     174  DEALLOCATE DEVICE

   (1)     255  LOCK I/O DATA BASE AND SEARCH FOR DEVICE

   (1)     272  DECREMENT REFERENCE COUNT, CLEAR OWNERSHIP, AND

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	SYSDEVALC - SYSTEM SERVICES FOR DEVICE ALLOCATION

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

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

                                     0000     9 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000    10 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000    11 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000    12 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    13 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000    14 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000    15 ;

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

                                     0000    17 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000    18 ; EQUIPMENT CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 ;

                                     0000    23 ; D. N. CUTLER 9-SEP-76

                                     0000    24 ;

                                     0000    25 ; SYSTEM SERVICES FOR DEVICE ALLOCATION

                                     0000    26 ;

                                     0000    27 ;	ALLOCATE DEVICE

                                     0000    28 ;	DEALLOCATE DEVICE

                                     0000    29 ;

                                     0000    30 ; MACRO LIBRARY CALLS

                                     0000    31 ;

                                     0000    32  

                                     0000    33 	$DDBDEF				;DEFINE DDB OFFSETS

                                     0000    34 	$DDTDEF				;DEFINE DDT OFFSETS

                                     0000    35 	$DEVDEF				;DEFINE DEVICE CHARACTERISTICS

                                     0000    36 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000    37 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000    38 	$PRVDEF				;DEFINE PRIVILEGE BITS

                                     0000    39 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    40 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    41 	$UCBDEF				;DEFINE UCB OFFSETS

                                     0000    42  

                                     0000    43 ;

                                     0000    44 ; LOCAL SYMBOLS

                                     0000    45 ;

                                     0000    46 ; ARGUMENT LIST OFFSET DEFINITIONS FOR ALLOCATE DEVICE

                                     0000    47 ;

                                     0000    48  

                           00000004  0000    49 DEVNAM=4				;ADDRESS OF DEVICE NAME STRING DESCRIPTOR

                           00000008  0000    50 PHYLEN=8				;ADDRESS TO STORE LENGTH OF PHYSICAL NAME

                           0000000C  0000    51 PHYBUF=12				;ADDRESS OF PHYSICAL NAME BUFFER DESCRIPTOR

                           00000010  0000    52 ALACMODE=16				;ACCESS MODE

                                     0000    53  

                                     0000    54 ;

                                     0000    55 ; ARGUMENT LIST OFFSET DEFINITIONS FOR DEALLOCATE DEVICE

                                     0000    56 ;

                                     0000    57  

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   2

01                                                                                                                               (1)



                           00000004  0000    58 DEVNAM=4				;ADDRESS OF DEVICE NAME STRING DESCRIPTOR

                           00000008  0000    59 DLACMODE=8				;ACCESS MODE

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   3

01              ALLOCATE DEVICE                                                                                                  (1)



                                     0000    61 	.SBTTL	ALLOCATE DEVICE

                                     0000    62 ;+

                                     0000    63 ; EXE$ALLOC - ALLOCATE DEVICE

                                     0000    64 ;

                                     0000    65 ; THIS SERVICE PROVIDES THE CAPABILITY TO RESERVE A DEVICE FOR EXCLUSIVE

                                     0000    66 ; USE.

                                     0000    67 ;

                                     0000    68 ; INPUTS:

                                     0000    69 ;

                                     0000    70 ;	DEVNAM(AP) = ADDRESS OF DEVICE NAME STRING DESCRIPTOR.

                                     0000    71 ;	PHYLEN(AP) = ADDRESS TO STORE LENGTH OF PHYSICAL NAME.

                                     0000    72 ;	PHYBUF(AP) = ADDRESS OF PHYSICAL NAME BUFFER DESCRIPTOR.

                                     0000    73 ;	ALACMODE(AP) = ACCESS MODE DEVICE IS TO BE ALLOCATED TO.

                                     0000    74 ;

                                     0000    75 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0000    76 ;

                                     0000    77 ; OUTPUTS:

                                     0000    78 ;

                                     0000    79 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO ALLOCATE DEVICE.

                                     0000    80 ;

                                     0000    81 ;		R0 = SS$_ACCVIO - DEVICE NAME STRING, DEVICE NAME STRING

                                     0000    82 ;			DESCRIPTOR, OR PHYSICAL NAME BUFFER DESCRIPTOR 

                                     0000    83 ;			CANNOT BE READ BY CALLING ACCESS MODE, OR PHYSICAL

                                     0000    84 ;			NAME BUFFER CANNOT BE WRITTEN BY CALLING ACCESS

                                     0000    85 ;			MODE.

                                     0000    86 ;

                                     0000    87 ;		R0 = SS$_DEVALLOC - DEVICE ALREADY ALLOCATED TO ANOTHER

                                     0000    88 ;			PROCESS.

                                     0000    89 ;

                                     0000    90 ;		R0 = SS$_DEVMOUNT - DEVICE CURRENTLY MOUNTED AND CANNOT

                                     0000    91 ;			BE ALLOCATED.

                                     0000    92 ;

                                     0000    93 ;		R0 = SS$_IVDEVNAM - DEVICE NAME STRING CONTAINS INVALID

                                     0000    94 ;			CHARACTERS OR NO DEVICE NAME STRING DESCRIPTOR

                                     0000    95 ;			SPECIFIED.

                                     0000    96 ;

                                     0000    97 ;		R0 = SS$_IVLOGNAM - ZERO OR GREATER THAN MAXIMUM LENGTH

                                     0000    98 ;			DEVICE NAME STRING SPECIFIED.

                                     0000    99 ;

                                     0000   100 ;		R0 = SS$_NONLOCAL - SPECIFIED DEVICE EXISTS ON A REMOTE

                                     0000   101 ;			SYSTEM.

                                     0000   102 ;

                                     0000   103 ;		R0 = SS$_NOPRIV - DEVICE CURRENTLY SPOOLED AND PROCESS DOES

                                     0000   104 ;			NOT HAVE PRIVILEGE TO ALLOCATE.

                                     0000   105 ;

                                     0000   106 ;		R0 = SS$_NOSUCHDEV - SPECIFIED DEVICE DOES NOT EXIST ON

                                     0000   107 ;			HOST SYSTEM OR NO ALLOCATABLE UNIT CAN BE FOUND.

                                     0000   108 ;

                                     0000   109 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     0000   110 ;

                                     0000   111 ;		R0 = SS$_DEVALRALLOC - DEVICE IS ALREADY ALLOCATED TO CALLING

                                     0000   112 ;			PROCESS.

                                     0000   113 ;

                                     0000   114 ;		R0 = SS$_BUFFEROVF - NORMAL COMPLETION, PHYSICAL NAME OVER-

                                     0000   115 ;			FLOWED PHYSICAL NAME BUFFER.

                                     0000   116 ;

                                     0000   117 ;		R0 = SS$_NORMAL - NORMAL COMPLETION, PHYSICAL NAME TRANSFERED

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   4

01              ALLOCATE DEVICE                                                                                                  (1)



                                     0000   118 ;			TO PHYSICAL NAME BUFFER.

                                     0000   119 ;-

                                     0000   120  

                                 00000000   121 	.PSECT	Y$EXEPAGED

                               007C' 0000   122 	.ENTRY	EXE$ALLOC,^M<R2,R3,R4,R5,R6>

            55       0144 8F     3C  0002   123 	MOVZWL	#SS$_IVDEVNAM,R5	;SET INVALID DEVICE NAME STATUS

                          0121   30  0007   124 	BSBW	SEARCHDEV		;LOCK I/O DATA BASE AND GET DEVICE NAME

                          6F     13  000A   125 	BEQL	50$			;IF EQL NO DEVICE NAME SPECIFIED

                          FFF1'  30  000C   126 	BSBW	IOC$SEARCHGEN		;SEARCH FOR GENERIC DEVICE

            55            50     D0  000F   127 	MOVL	R0,R5			;SAVE SEARCH STATUS

            66            55     E9  0012   128 	BLBC	R5,50$			;IF LBC SEARCH FAILURE

            56            51     D0  0015   129 	MOVL	R1,R6			;SAVE DEVICE UCB ADDRESS

            51         0C AC     D0  0018   130 	MOVL	PHYBUF(AP),R1		;GET ADDRESS OF NAME BUFFER DESCRIPTOR

                          2E     13  001C   131 	BEQL	20$			;IF EQL NONE

                                     001E   132 	IFNORD	#8,(R1),55$		;CAN NAME BUFFER DESCRIPTOR BE READ?

            50            61     3C  0024   133 	MOVZWL	(R1),R0			;GET LENGTH OF NAME BUFFER

                          23     13  0027   134 	BEQL	20$			;IF EQL ZERO LENGTH BUFFER

            51         04 A1     D0  0029   135 	MOVL	4(R1),R1		;GET ADDRESS OF NAME BUFFER

                                     002D   136 	IFNOWRT	R0,(R1),55$		;CAN NAME BUFFER BE WRITTEN?

            53         08 AC     D0  0033   137 	MOVL	PHYLEN(AP),R3		;GET ADDRESS TO STORE NAME LENGTH

                          06     13  0037   138 	BEQL	10$			;IF EQL NONE

                                     0039   139 	IFNOWRT	#2,(R3),55$		;CAN NAME LENGTH BE WRITTEN?

                          FFBE'  30  003F   140 10$:	BSBW	IOC$CVT_DEVNAM		;CONVERT DEVICE NAME AND UNIT

            55            50     D0  0042   141 	MOVL	R0,R5			;SAVE COMPLETION STATUS

                          53     D5  0045   142 	TSTL	R3			;ADDRESS TO STORE LENGTH SPECIFIED?

                          03     13  0047   143 	BEQL	20$			;IF EQL NONE SPECIFIED

            63            51     B0  0049   144 	MOVW	R1,(R3)			;INSERT LENGTH OF CONVERTED STRING

            50         28 A6     D0  004C   145 20$:	MOVL	UCB$L_PID(R6),R0	;GET PROCESS ID OF OWNER

                          0D     13  0050   146 	BEQL	30$			;IF EQL DEVICE NOT OWNED

         60 A4            50     D1  0052   147 	CMPL	R0,PCB$L_PID(R4)	;OWNED BY CURRENT PROCESS?

                          2A     13  0056   148 	BEQL	60$			;IF EQL YES

            55       0840 8F     3C  0058   149 25$:	MOVZWL	#SS$_DEVALLOC,R5	;SET DEVICE ALREADY ALLOCATED

                          4C     11  005D   150 	BRB	80$			;

         34 A6            06     E1  005F   151 30$:	BBC	#DEV$V_SPL,UCB$L_DEVCHAR(R6),40$ ;IF CLR, DEVICE NOT SPOOLED

                          08         0063       

                                     0064   152 	IFPRIV	ALLSPOOL,70$		;PROCESS HAVE PRIVILEGE TO ALLOCATE?

                          00D5   31  0069   153 	BRW	NOPRIV			;

                       50 A6     B5  006C   154 40$:	TSTW	UCB$W_REFC(R6)		;ANY CHANNELS ASSIGNED TO DEVICE?

                          E7     12  006F   155 	BNEQ	25$			;IF NEQ YES

         34 A6            13     E1  0071   156 	BBC	#DEV$V_MNT,UCB$L_DEVCHAR(R6),70$ ;IF CLR, DEVICE NOT MOUNTED

                          1B         0075       

            55       006C 8F     3C  0076   157 	MOVZWL	#SS$_DEVMOUNT,R5	;SET DEVICE MOUNTED

                          2E     11  007B   158 50$:	BRB	80$			;

            55            0C     3C  007D   159 55$:	MOVZWL	#SS$_ACCVIO,R5		;SET ACCESS VIOLATION STATUS

                          29     11  0080   160 	BRB	80$			;

            55            01     B1  0082   161 60$:	CMPW	#SS$_NORMAL,R5		;NORMAL COMPLETION STATUS?

                          0A     12  0085   162 	BNEQ	70$			;IF NEQ NO

         34 A6            17     E1  0087   163 	BBC	#DEV$V_ALL,UCB$L_DEVCHAR(R6),70$ ;IF CLR, DEVICE NOT ALLOCATED

                          05         008B       

            55       0641 8F     3C  008C   164 	MOVZWL	#SS$_DEVALRALLOC,R5	;SET DEVICE ALREADY ALLOCATED STATUS

         28 A6         60 A4     D0  0091   165 70$:	MOVL	PCB$L_PID(R4),UCB$L_PID(R6) ;SET OWNER PROCESS ID

         34 A6            17     E2  0096   166 	BBSS	#DEV$V_ALL,UCB$L_DEVCHAR(R6),80$ ;IF SET, DEVICE ALREADY ALLOCATED

                          10         009A       

                       50 A6     B6  009B   167 	INCW	UCB$W_REFC(R6)		;INCREMENT REFERENCE COUNT

            02            00     EF  009E   168 	EXTZV	#0,#2,ALACMODE(AP),R0	;GET SPECIFIED ACCESS MODE

            50         10 AC         00A1       

                          FF59'  30  00A4   169 	BSBW	EXE$MAXACMODE		;MAXIMIZE ACCESS MODE

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   5

01              ALLOCATE DEVICE                                                                                                  (1)



         53 A6            50     90  00A7   170 	MOVB	R0,UCB$B_AMOD(R6)	;SET ALLOCATING ACCESS MODE

            50            55     D0  00AB   171 80$:	MOVL	R5,R0			;SET FINAL STATUS

                          FF4F'  31  00AE   172 	BRW	IOC$UNLOCK		;

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   6

01              DEALLOCATE DEVICE                                                                                                (1)



                                     00B1   174 	.SBTTL	DEALLOCATE DEVICE

                                     00B1   175 ;+

                                     00B1   176 ; EXE$DALLOC - DEALLOCATE DEVICE

                                     00B1   177 ;

                                     00B1   178 ; THIS SERVICE PROVIDES THE CAPABILITY TO RELINQUISH EXCLUSIVE USE OF A

                                     00B1   179 ; DEVICE.

                                     00B1   180 ;

                                     00B1   181 ; INPUTS:

                                     00B1   182 ;

                                     00B1   183 ;	DEVNAM(AP) = ADDRESS OF DEVICE NAME STRING DESCRIPTOR. ZERO

                                     00B1   184 ;		IMPLIES ALL.

                                     00B1   185 ;	DLACMODE(AP) = ACCESS MODE FOR DEALLOCATION.

                                     00B1   186 ;

                                     00B1   187 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     00B1   188 ;

                                     00B1   189 ; OUTPUTS:

                                     00B1   190 ;

                                     00B1   191 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO DEALLOCATE DEVICE.

                                     00B1   192 ;

                                     00B1   193 ;		R0 = SS$_ACCVIO - DEVICE NAME STRING OR DEVICE NAME STRING

                                     00B1   194 ;			DESCRIPTOR CANNOT BE READ BY CALLING ACCESS MODE.

                                     00B1   195 ;

                                     00B1   196 ;		R0 = SS$_DEVASSIGN - DEVICE CANNOT BE DEALLOCATED BECAUSE

                                     00B1   197 ;			PROCESS STILL HAS CHANNELS ASSIGNED.

                                     00B1   198 ;

                                     00B1   199 ;		R0 = SS$_DEVNOTALLOC - DEVICE NOT ALLOCATED OR NOT ALLOCATED

                                     00B1   200 ;			TO PROCESS.

                                     00B1   201 ;

                                     00B1   202 ;		R0 = SS$_IVDEVNAM - DEVICE NAME STRING CONTAINS INVALID

                                     00B1   203 ;			CHARACTERS.

                                     00B1   204 ;

                                     00B1   205 ;		R0 = SS$_IVLOGNAM - ZERO OR GREATER THAN MAXIMUM LENGTH

                                     00B1   206 ;			DEVICE NAME STRING SPECIFIED.

                                     00B1   207 ;

                                     00B1   208 ;		R0 = SS$_NOPRIV - CALLING ACCESS MODE DOES NOT HAVE PRIVILEGE

                                     00B1   209 ;			TO DEALLOCATE DEVICE.

                                     00B1   210 ;

                                     00B1   211 ;		R0 = SS$_NOSUCHDEV - SPECIFIED DEVICE DOES NOT EXIST ON

                                     00B1   212 ;			HOST SYSTEM.

                                     00B1   213 ;

                                     00B1   214 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     00B1   215 ;

                                     00B1   216 ;		R0 = SS$_NORMAL - NORMAL COMPLETION.

                                     00B1   217 ;-

                                     00B1   218  

                               003C' 00B1   219 	.ENTRY	EXE$DALLOC,^M<R2,R3,R4,R5>

            02            00     EF  00B3   220 	EXTZV	#0,#2,DLACMODE(AP),R0	;GET DEALLOCATION ACCESS MODE

            50         08 AC         00B6       

                          FF44'  30  00B9   221 	BSBW	EXE$MAXACMODE		;MAXIMIZE ACCESS MODE

            55            50     D0  00BC   222 	MOVL	R0,R5			;SAVE MAXIMIZED ACCESS MODE

                          6A     10  00BF   223 	BSBB	SEARCHDEV		;LOCK I/O DATA BASE AND SEARCH FOR DEVICE

                          2B     13  00C1   224 	BEQL	10$			;IF EQL NO DEVICE NAME SPECIFIED

                          FF3A'  30  00C3   225 	BSBW	IOC$SEARCHDEV		;SEARCH FOR PHYSICAL DEVICE

            60            50     E9  00C6   226 	BLBC	R0,50$			;IF LBC SEARCH FAILURE

         60 A4         28 A1     D1  00C9   227 	CMPL	UCB$L_PID(R1),PCB$L_PID(R4) ;DEVICE ALLOCATED TO CURRENT PROCESS?

                          54     12  00CE   228 	BNEQ	40$			;IF NEQ NO

         53 A1            55     91  00D0   229 	CMPB	R5,UCB$B_AMOD(R1)	;CAN SPECIFED ACCESS MODE DEALLOCATE DEVICE?

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   7

01              DEALLOCATE DEVICE                                                                                                (1)



                          6B     14  00D4   230 	BGTR	NOPRIV			;IF GTR NO

         34 A1            17     E1  00D6   231 	BBC	#DEV$V_ALL,UCB$L_DEVCHAR(R1),40$ ;IF CLR, DEVICE NOT ALLOCATED

                          49         00DA       

            50       0848 8F     3C  00DB   232 	MOVZWL	#SS$_DEVASSIGN,R0	;ASSUME DEVICE ASSIGNED

         50 A1            01     B1  00E0   233 	CMPW	#1,UCB$W_REFC(R1)	;REFERENCE COUNT ONE?

                          43     12  00E4   234 	BNEQ	50$			;IF NEQ NO

                 00000000'EF     16  00E6   235 	JSB	DECREF			;DECREMENT REFERENCE COUNT AND CALL DRIVER

                          58     11  00EC   236 	BRB	NORMAL			;

            53   00000000'EF     9E  00EE   237 10$:	MOVAB	L^IOC$GL_DEVLIST-DDB$L_LINK,R3 ;GET ADDRESS OF I/O DATABASE LISTHEAD

            53            63     D0  00F5   238 20$:	MOVL	DDB$L_LINK(R3),R3	;GET ADDRESS OF NEXT DDB

                          4C     13  00F8   239 	BEQL	NORMAL			;IF EQL END OF LIST

            51         D8 A3     9E  00FA   240 	MOVAB	DDB$L_UCB-UCB$L_LINK(R3),R1 ;GET ADDRESS OF NEXT UCB ADDRESS

            51         2C A1     D0  00FE   241 30$:	MOVL	UCB$L_LINK(R1),R1	;GET ADDRESS OF NEXT UCB

                          F1     13  0102   242 	BEQL	20$			;IF EQL END OF LIST

         60 A4         28 A1     D1  0104   243 	CMPL	UCB$L_PID(R1),PCB$L_PID(R4) ;DEVICE ALLOCATED TO CURRENT PROCESS?

                          F3     12  0109   244 	BNEQ	30$			;IF NEQ NO

         53 A1            55     91  010B   245 	CMPB	R5,UCB$B_AMOD(R1)	;CAN ACCESS MODE DEALLOCATE DEVICE?

                          ED     14  010F   246 	BGTR	30$			;IF GTR NO

         34 A1            17     E1  0111   247 	BBC	#DEV$V_ALL,UCB$L_DEVCHAR(R1),30$ ;IF CLR, DEVICE NOT ALLOCATED

                          E8         0115       

         50 A1            01     B1  0116   248 	CMPW	#1,UCB$W_REFC(R1)	;REFERENCE COUNT ONE?

                          E2     12  011A   249 	BNEQ	30$			;IF NEQ NO

                 00000000'EF     16  011C   250 	JSB	DECREF			;DECREMENT REFERENCE COUNT AND CALL DRIVER

                          DA     11  0122   251 	BRB	30$			;

            50       0858 8F     3C  0124   252 40$:	MOVZWL	#SS$_DEVNOTALLOC,R0	;SET DEVICE NOT ALLOCATED TO PROCESS

                          1E     11  0129   253 50$:	BRB	UNLOCK			;

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   8

01              LOCK I/O DATA BASE AND SEARCH FOR DEVICE                                                                         (1)



                                     012B   255 	.SBTTL	LOCK I/O DATA BASE AND SEARCH FOR DEVICE

                                     012B   256 ;

                                     012B   257 ; SUBROUTINE TO LOCK I/O DATA BASE, SEARCH FOR DEVICE, AND CHECK FOR MAILBOX.

                                     012B   258 ;

                                     012B   259  

                                     012B   260 SEARCHDEV:				;LOCK I/O DATA BASE AND SEARCH FOR DEVICE

                 00000000'EF     16  012B   261 	JSB	SCH$IOLOCKW		;LOCK I/O DATABASE FOR WRITE ACCESS

            51         04 AC     D0  0131   262 	MOVL	DEVNAM(AP),R1		;GET ADDRESS OF DEVICE NAME STRING DESCRIPTOR

                          09     13  0135   263 	BEQL	10$			;IF EQL NONE

            50            0C     3C  0137   264 	MOVZWL	#SS$_ACCVIO,R0		;SET ACCESS VIOLATION STATUS

                                     013A   265 	IFNORD	#8,(R1),UNLOCK		;CAN DEVICE NAME DESCRIPTOR BE READ?

                                 05  0140   266 10$:	RSB				;

            50            24     3C  0141   267 NOPRIV:	MOVZWL	#SS$_NOPRIV,R0		;SET NO PRIVILEGE

                          03     11  0144   268 	BRB	UNLOCK			;

            50            01     3C  0146   269 NORMAL:	MOVZWL	#SS$_NORMAL,R0		;SET NORMAL COMPLETION

                          FEB4'  31  0149   270 UNLOCK:	BRW	IOC$UNLOCK		;UNLOCK I/O DATA BASE AND RETURN

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page   9

01              DECREMENT REFERENCE COUNT, CLEAR OWNERSHIP, AND                                                                  (1)



                                     014C   272 	.SBTTL	DECREMENT REFERENCE COUNT, CLEAR OWNERSHIP, AND CALL DRIVER

                                     014C   273 ;

                                     014C   274 ; SUBROUTINE TO DECREMENT REFERENCE COUNT, CLEAR OWNERSHIP, AND CALL DRIVER

                                     014C   275 ;

                                     014C   276  

                                 00000000   277 	.PSECT	WIONONPAGED

                                     0000   278 DECREF:					;

         34 A1            17     E5  0000   279 	BBCC	#DEV$V_ALL,UCB$L_DEVCHAR(R1),10$ ;CLEAR DEVICE ALLOCATED

                          00         0004       

                       50 A1     B7  0005   280 10$:	DECW	UCB$W_REFC(R1)		;DECREMENT REFERENCE COUNT

                       28 A1     D4  0008   281 	CLRL	UCB$L_PID(R1)		;CLEAR OWNER PROCESS ID

                          2A     BB  000B   282 	PUSHR	#^M<R1,R3,R5>		;SAVE REGISTERS

            50         24 A1     D0  000D   283 	MOVL	UCB$L_DDB(R1),R0	;GET ADDRESS OF DDB

            50         0C A0     D0  0011   284 	MOVL	DDB$L_DDT(R0),R0	;GET ADDRESS OF DDT

            55            51     D0  0015   285 	MOVL	R1,R5			;SET ADDRESS OF DEVICE UCB

                          52     D4  0018   286 	CLRL	R2			;CLEAR CHANNEL NUMBER

                                     001A   287 	DSBINT	UCB$B_FIPL(R5)		;RAISE TO DRIVER FORK LEVEL

            53         4C A5     D0  0021   288 	MOVL	UCB$L_IRP(R5),R3	;GET ADDRESS OF CURRENT I/O PACKET

            50         0C A0     C1  0025   289 	ADDL3	DDT$L_CANCEL(R0),R0,R1	;CALCULATE ADDRESS OF CANCEL I/O ROUTINE

                          51         0029       

                          03     19  002A   290 	BLSS	20$			;IF LSS SYSTEM ADDRESS

            51            50     C2  002C   291 	SUBL	R0,R1			;SUBTRACT OUT BASE ADDRESS

                          61     16  002F   292 20$:	JSB	(R1)			;CALL CANCEL I/O ROUTINE

                                     0031   293 	ENBINT				;ENABLE INTERRUPTS

                          2A     BA  0034   294 	POPR	#^M<R1,R3,R5>		;RESTORE REGISTERS

                                 05  0036   295 	RSB				;

                                     0037   296  

                                     0037   297 	.END

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (1)



ALACMODE       = 00000010            DEV$V_MBX      = 00000014            PCB$V_DELPEN   = 00000001            

BIT...         = 00000000            DEV$V_MNT      = 00000013            PCB$V_FORCPEN  = 00000002            

DDB$B_ACPCLASS   00000013            DEV$V_NET      = 0000000D            PCB$V_HIBER    = 00000013            

DDB$B_TYPE       0000000A            DEV$V_ODV      = 0000001B            PCB$V_INQUAN   = 00000003            

DDB$C_LENGTH     00000034            DEV$V_RCK      = 0000001E            PCB$V_LOGIN    = 00000014            

DDB$K_LENGTH     00000034            DEV$V_REC      = 00000000            PCB$V_NETWRK   = 00000015            

DDB$L_ACPD       00000010            DEV$V_RND      = 0000001C            PCB$V_NOACNT   = 0000000F            

DDB$L_DDT        0000000C            DEV$V_RTM      = 0000001D            PCB$V_NODELET  = 00000017            

DDB$L_LINK       00000000            DEV$V_SDI      = 00000004            PCB$V_PHDRES   = 00000012            

DDB$L_UCB        00000004            DEV$V_SHR      = 00000010            PCB$V_PSWAPM   = 00000004            

DDB$T_DRVNAME    00000024            DEV$V_SPL      = 00000006            PCB$V_PWRAST   = 00000016            

DDB$T_NAME       00000014            DEV$V_SQD      = 00000005            PCB$V_RES      = 00000000            

DDB$W_SIZE       00000008            DEV$V_SWL      = 00000019            PCB$V_RESPEN   = 00000005            

DDT$L_CANCEL     0000000C            DEV$V_TRM      = 00000002            PCB$V_SSFEXC   = 00000006            

DDT$L_FDT        00000008            DEV$V_WCK      = 0000001F            PCB$V_SSFEXCE  = 00000007            

DDT$L_INIT       00000018            DEVNAM         = 00000004            PCB$V_SSFEXCS  = 00000008            

DDT$L_REGDUMP    00000010            DLACMODE       = 00000008            PCB$V_SSFEXCU  = 00000009            

DDT$L_START      00000000            EXE$ALLOC        00000000 RG    03   PCB$V_SSRWAIT  = 0000000A            

DDT$L_UNSOLINT   00000004            EXE$DALLOC       000000B1 RG    03   PCB$V_SUSPEN   = 0000000B            

DDT$W_DIAGBUF    00000014            EXE$MAXACMODE    ********   X   03   PCB$V_SWPVBN   = 00000010            

DDT$W_ERRORBUF   00000016            GBL...         = 00000000            PCB$V_WAKEPEN  = 0000000C            

DECREF           00000000 R     04   IOC$CVT_DEVNAM   ********   X   03   PCB$V_WALL     = 0000000D            

DEV$M_ALL      = 00800000            IOC$GL_DEVLIST   ********   X   03   PCB$W_APTCNT     00000034            

DEV$M_AVL      = 00040000            IOC$SEARCHDEV    ********   X   03   PCB$W_ASTCNT     0000003C            

DEV$M_CCL      = 00000002            IOC$SEARCHGEN    ********   X   03   PCB$W_BIOCNT     0000003E            

DEV$M_DIR      = 00000008            IOC$UNLOCK       ********   X   03   PCB$W_BIOLM      00000040            

DEV$M_DMT      = 00200000            NOPRIV           00000141 R     03   PCB$W_BYTCNT     00000042            

DEV$M_ELG      = 00400000            NORMAL           00000146 R     03   PCB$W_BYTLM      00000068            

DEV$M_FOD      = 00004000            PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            

DEV$M_FOR      = 01000000            PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            

DEV$M_GEN      = 00020000            PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            

DEV$M_IDV      = 04000000            PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            

DEV$M_MBX      = 00100000            PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            

DEV$M_MNT      = 00080000            PCB$B_WEFC       00000032            PCB$W_MEM        00000020            

DEV$M_NET      = 00002000            PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            

DEV$M_ODV      = 08000000            PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            

DEV$M_RCK      = 40000000            PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            

DEV$M_REC      = 00000001            PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            

DEV$M_RND      = 10000000            PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            

DEV$M_RTM      = 20000000            PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            

DEV$M_SDI      = 00000010            PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            

DEV$M_SHR      = 00010000            PCB$L_EFCU       00000054            PHYBUF         = 0000000C            

DEV$M_SPL      = 00000040            PCB$L_EFWM       0000004C            PHYLEN         = 00000008            

DEV$M_SQD      = 00000020            PCB$L_OWNER      0000001C            PR$_ACCR       = 00000029            

DEV$M_SWL      = 02000000            PCB$L_PHD        00000064            PR$_ACCS       = 00000028            

DEV$M_TRM      = 00000004            PCB$L_PHYPCB     00000018            PR$_ASTLVL     = 00000013            

DEV$M_WCK      = 80000000            PCB$L_PID        00000060            PR$_ESP        = 00000001            

DEV$V_ALL      = 00000017            PCB$L_PQB        0000004C            PR$_ICCS       = 00000018            

DEV$V_AVL      = 00000012            PCB$L_SQBL       00000004            PR$_ICR        = 0000001A            

DEV$V_CCL      = 00000001            PCB$L_SQFL       00000000            PR$_IPL        = 00000012            

DEV$V_DIR      = 00000003            PCB$L_STS        00000028            PR$_ISP        = 00000004            

DEV$V_DMT      = 00000015            PCB$L_UIC        00000020            PR$_KSP        = 00000000            

DEV$V_ELG      = 00000016            PCB$L_WSSWP      00000024            PR$_MAPEN      = 00000038            

DEV$V_FOD      = 0000000E            PCB$L_WTIME      0000002C            PR$_NICR       = 00000019            

DEV$V_FOR      = 00000018            PCB$T_LNAME      0000006C            PR$_P0BR       = 00000008            

DEV$V_GEN      = 00000011            PCB$V_ASTPEN   = 00000011            PR$_P0LR       = 00000009            

DEV$V_IDV      = 0000001A            PCB$V_BATCH    = 0000000E            PR$_P1BR       = 0000000A            

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



PR$_P1LR       = 0000000B            PSL$M_CM       = 80000000            SS$_CONTROLC   = 00000651            

PR$_PCBB       = 00000010            PSL$M_CURMOD   = 03000000            SS$_CONTROLO   = 00000609            

PR$_PME        = 0000003D            PSL$M_DV       = 00000080            SS$_CONTROLY   = 00000611            

PR$_RXCS       = 00000020            PSL$M_FPD      = 08000000            SS$_CREATED    = 00000619            

PR$_RXDB       = 00000021            PSL$M_FU       = 00000040            SS$_CTRLERR    = 00000054            

PR$_SBIER      = 00000034            PSL$M_IPL      = 001F0000            SS$_DATACHECK  = 0000005C            

PR$_SBIFS      = 00000030            PSL$M_IS       = 04000000            SS$_DATAOVERUN = 00000838            

PR$_SBIMT      = 00000033            PSL$M_IV       = 00000020            SS$_DEBUG      = 0000046C            

PR$_SBIQC      = 00000036            PSL$M_PRVMOD   = 00C00000            SS$_DECOVF     = 000004A4            

PR$_SBIS       = 00000031            PSL$M_SAFBITS  = 000037FF            SS$_DEVACTIVE  = 000002C4            

PR$_SBISC      = 00000032            PSL$M_TBIT     = 00000010            SS$_DEVALLOC   = 00000840            

PR$_SBITA      = 00000035            PSL$M_TP       = 40000000            SS$_DEVALRALLOC= 00000641            

PR$_SBR        = 0000000C            PSL$S_CURMOD   = 00000002            SS$_DEVASSIGN  = 00000848            

PR$_SCBB       = 00000011            PSL$S_IPL      = 00000005            SS$_DEVFOREIGN = 00000064            

PR$_SID        = 0000003E            PSL$S_PRVMOD   = 00000002            SS$_DEVICEFULL = 00000850            

PR$_SIRR       = 00000014            PSL$V_CM       = 0000001F            SS$_DEVMOUNT   = 0000006C            

PR$_SISR       = 00000015            PSL$V_CURMOD   = 00000018            SS$_DEVNOTALLOC= 00000858            

PR$_SLR        = 0000000D            PSL$V_DV       = 00000007            SS$_DEVNOTMBX  = 00000074            

PR$_SSP        = 00000002            PSL$V_FPD      = 0000001B            SS$_DEVNOTMOUNT= 0000007C            

PR$_TBIA       = 00000039            PSL$V_FU       = 00000006            SS$_DEVOFFLINE = 00000084            

PR$_TBIS       = 0000003A            PSL$V_IPL      = 00000010            SS$_DIRFULL    = 00000860            

PR$_TODR       = 0000001B            PSL$V_IS       = 0000001A            SS$_DRVERR     = 0000008C            

PR$_TXCS       = 00000022            PSL$V_IV       = 00000005            SS$_DUPFILENAME= 00000868            

PR$_TXDB       = 00000023            PSL$V_PRVMOD   = 00000016            SS$_DUPLNAM    = 00000094            

PR$_USP        = 00000003            PSL$V_TBIT     = 00000004            SS$_ENDOFFILE  = 00000870            

PR$_WCSA       = 0000002C            PSL$V_TP       = 0000001E            SS$_ENDOFTAPE  = 00000878            

PR$_WCSD       = 0000002D            SCH$IOLOCKW      ********   X   03   SS$_ENDOFUSRLBL= 00000970            

PRV$V_ALLSPOOL = 00000004            SEARCHDEV        0000012B R     03   SS$_EXQUOTA    = 0000001C            

PRV$V_BUGCHK   = 00000017            SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            

PRV$V_CMEXEC   = 00000001            SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            

PRV$V_CMKRNL   = 00000000            SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            

PRV$V_DETACH   = 00000005            SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            

PRV$V_DIAGNOSE = 00000006            SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            

PRV$V_EXQUOTA  = 00000013            SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            

PRV$V_GROUP    = 00000008            SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            

PRV$V_GRPNAM   = 00000003            SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            

PRV$V_LOG_IO   = 00000007            SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            

PRV$V_MOUNT    = 00000011            SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            

PRV$V_NETMBX   = 00000014            SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            

PRV$V_NOACNT   = 00000009            SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            

PRV$V_OPER     = 00000012            SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            

PRV$V_PHY_IO   = 00000016            SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            

PRV$V_PRMCEB   = 0000000A            SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            

PRV$V_PRMGBL   = 00000018            SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            

PRV$V_PRMMBX   = 0000000B            SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            

PRV$V_PSWAPM   = 0000000C            SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            

PRV$V_SETPRI   = 0000000D            SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            

PRV$V_SETPRV   = 0000000E            SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            

PRV$V_SYSGBL   = 00000019            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

PRV$V_SYSNAM   = 00000002            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

PRV$V_TMPMBX   = 0000000F            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

PRV$V_VOLPRO   = 00000015            SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

PRV$V_WORLD    = 00000010            SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

PSL$C_EXEC     = 00000001            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

PSL$C_KERNEL   = 00000000            SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

PSL$C_SUPER    = 00000002            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

PSL$C_USER     = 00000003            SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            UCB$B_FIPL       0000000B            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            UCB$B_LOCSRV     0000003C            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            UCB$B_OFFNDX     00000094            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            UCB$B_OFFRTC     00000095            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            UCB$B_REMSRV     0000003D            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            UCB$B_SECTORS    0000003C            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            UCB$B_SLAVE      00000074            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            UCB$B_SPR        00000075            

SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            UCB$B_STATE      00000052            

SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            UCB$B_TRACKS     0000003D            

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            UCB$B_TYPE       0000000A            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            UCB$B_VERTSZ     0000003F            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            UCB$C_LENGTH     00000074            

SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            UCB$C_LOGLNK   = 00000001            

SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            UCB$K_LENGTH     00000074            

SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            UCB$L_AMB        00000054            

SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            UCB$L_ASTQBL     00000010            

SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            UCB$L_ASTQFL     0000000C            

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            UCB$L_CPID       0000005C            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            UCB$L_CRB        00000020            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            UCB$L_DDB        00000024            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            UCB$L_DEVCHAR    00000034            

SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            UCB$L_DEVDEPEND  0000003C            

SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            UCB$L_DPC        00000080            

SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            UCB$L_DUETIM     0000005C            

SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            UCB$L_DX_BFPNT   0000009C            

SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            UCB$L_DX_BUF     00000098            

SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            UCB$L_DX_RXDB    000000A0            

SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            UCB$L_EMB        00000078            

SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            UCB$L_FIRST      00000014            

SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            UCB$L_FPC        0000000C            

SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            UCB$L_FQBL       00000004            

SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            UCB$L_FQFL       00000000            

SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            UCB$L_FR3        00000010            

SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            UCB$L_FR4        00000014            

SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            UCB$L_IOQBL      00000044            

SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            UCB$L_IOQFL      00000040            

SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            UCB$L_IRP        0000004C            

SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            UCB$L_LINK       0000002C            

SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            UCB$L_LOGADR     00000064            

SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            UCB$L_MAXBLOCK   00000084            

SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            UCB$L_MEDIA      0000008C            

SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            UCB$L_NT_DATSSB  00000074            

SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            UCB$L_NT_INTSSB  00000078            

SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            UCB$L_OPCNT      00000060            

SS$_NONEXDRV   = 000001C4            UCB$B_AMOD       00000053            UCB$L_OWNUIC     0000001C            

SS$_NONEXPR    = 000008E8            UCB$B_CEX        00000077            UCB$L_PID        00000028            

SS$_NONLOCAL   = 000008F0            UCB$B_CM1        0000004A            UCB$L_RQBL       00000004            

SS$_NOPRIV     = 00000024            UCB$B_CM2        0000004B            UCB$L_RQFL       00000000            

SS$_NORMAL     = 00000001            UCB$B_DEVCLASS   00000038            UCB$L_SVAPTE     00000068            

SS$_NOSIGNAL   = 00000900            UCB$B_DEVTYPE    00000039            UCB$L_SVPN       00000064            

SS$_NOSOLICIT  = 00000284            UCB$B_DIPL       00000052            UCB$L_TTCHAR     0000003C            

SS$_NOSUCHDEV  = 00000908            UCB$B_DX_SCTCNT  000000A6            UCB$L_VCB        00000030            

SS$_NOSUCHFILE = 00000910            UCB$B_ERTCNT     00000070            UCB$M_BACKP    = 00000020            

SS$_NOSUCHNODE = 0000028C            UCB$B_ERTMAX     00000071            UCB$M_BSY      = 00000100            

SS$_NOSUCHSEC  = 00000978            UCB$B_ESCAPE     0000004B            UCB$M_CANCEL   = 00000008            

SS$_NOTAPEOP   = 00000264            UCB$B_FEX        00000076            UCB$M_DEADMO   = 00000400            

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



UCB$M_DELMBX   = 00000002            UCB$W_BCR        00000096            

UCB$M_DIAGBUF  = 00000002            UCB$W_BOFF       0000006C            

UCB$M_DX_WRITE = 00000008            UCB$W_BUFQUO     00000018            

UCB$M_ECC      = 00000001            UCB$W_BYTESTOGO  0000003E            

UCB$M_ERLOGIP  = 00000004            UCB$W_CHARGE     0000004A            

UCB$M_INT      = 00000002            UCB$W_CYLINDERS  0000003E            

UCB$M_INTTYPE  = 00000080            UCB$W_DA         0000008C            

UCB$M_JOB      = 00000001            UCB$W_DC         0000008E            

UCB$M_MOUNTING = 00000200            UCB$W_DEVBUFSIZ  0000003A            

UCB$M_NOCNVRT  = 00000004            UCB$W_DEVSTS     0000005A            

UCB$M_NT_BFROVF= 00000004            UCB$W_DIRSEQ     00000088            

UCB$M_NT_BREAK = 00000020            UCB$W_DSTADDR    00000018            

UCB$M_NT_NAME  = 00000010            UCB$W_DX_BCR     000000A4            

UCB$M_ONLINE   = 00000010            UCB$W_EC1        00000090            

UCB$M_POWER    = 00000020            UCB$W_EC2        00000092            

UCB$M_PRMMBX   = 00000001            UCB$W_ERRCNT     00000072            

UCB$M_TIM      = 00000001            UCB$W_FUNC       0000007E            

UCB$M_TIMOUT   = 00000040            UCB$W_MB_SEED    FFFFFFFC            

UCB$M_TT_NOTIF = 00000004            UCB$W_MSGCNT     00000016            

UCB$M_TT_TIMO  = 00000002            UCB$W_MSGMAX     00000014            

UCB$M_UNLOAD   = 00001000            UCB$W_NT_CHAN    0000007C            

UCB$M_VALID    = 00000800            UCB$W_OFFSET     0000008A            

UCB$S_LNKPRI   = 00000002            UCB$W_REFC       00000050            

UCB$S_LTYPE    = 00000002            UCB$W_SIZE       00000008            

UCB$T_PARTNER    0000000C            UCB$W_SRCADDR    0000001A            

UCB$V_BACKP    = 00000005            UCB$W_STS        00000058            

UCB$V_BSY      = 00000008            UCB$W_UNIT       00000048            

UCB$V_CANCEL   = 00000003            UCB$W_VPROT      0000001A            

UCB$V_DEADMO   = 0000000A            UNLOCK           00000149 R     03   

UCB$V_DELMBX   = 00000001            

UCB$V_DIAGBUF  = 00000001            

UCB$V_DX_WRITE = 00000003            

UCB$V_ECC      = 00000000            

UCB$V_ERLOGIP  = 00000002            

UCB$V_INT      = 00000001            

UCB$V_INTTYPE  = 00000007            

UCB$V_JOB      = 00000000            

UCB$V_LNKPRI   = 00000006            

UCB$V_LTYPE    = 00000000            

UCB$V_MOUNTING = 00000009            

UCB$V_MSGACK   = 00000004            

UCB$V_MSGFLO   = 00000003            

UCB$V_NOCNVRT  = 00000002            

UCB$V_NT_BFROVF= 00000002            

UCB$V_NT_BREAK = 00000005            

UCB$V_NT_NAME  = 00000004            

UCB$V_ONLINE   = 00000004            

UCB$V_POWER    = 00000005            

UCB$V_PRMMBX   = 00000000            

UCB$V_SEGFLO   = 00000002            

UCB$V_TIM      = 00000000            

UCB$V_TIMOUT   = 00000006            

UCB$V_TT_NOTIF = 00000002            

UCB$V_TT_TIMO  = 00000001            

UCB$V_UNLOAD   = 0000000C            

UCB$V_VALID    = 0000000B            

UCB$W_BCNT       0000006E            

SYSDEVALC       - SYSTEM SERVICES FOR DEVICE ALLOCATION          21-AUG-1978 20:28:16   VAX-11 MACRO X0.3-11               Page  14

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







PROGRAM SECTION SYNOPSIS



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

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

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

Y$EXEPAGED       0000014C      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

WIONONPAGED      00000037      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

8904. BYTES LEFT IN FREE MEMORY POOL.

3710. BYTES OF RECLAIMED MEMORY.

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

9 MLB DIR RDS - 918 GETS TO DEFINE 23 MACROS. 72 INTER. FILE WRITES. 

