LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      37  DELETE LOGICAL NAME TABLE ENTRY

   (1)      72  INSERT IN LOGICAL NAME TABLE

   (1)     119  LOCK LOGICAL NAME TABLE

   (1)     148  UNLOCK LOGICAL NAME TABLE

   (1)     175  SEARCH FOR LOGICAL NAME

   (1)     231  TRANSLATE LOGICAL NAME

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	LOGNAMSUB - LOGICAL NAME RELATED SUBROUTINES

                                     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 13-JUN-76

                                     0000    24 ;

                                     0000    25 ; LOGICAL NAME RELATED SUBROUTINES

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	$CADEF				;DEFINE CONDITIONAL ASSEMBLY SWITCHES

                                     0000    31 	$LOGDEF				;DEFINE LOG OFFSETS

                                     0000    32 	$PCBDEF				;DEFINE PCB OFFSETS

                                     0000    33 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    34 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    35 	$UCBDEF				;DEFINE UCB OFFSETS

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   2

01              DELETE LOGICAL NAME TABLE ENTRY                                                                                  (1)



                                     0000    37 	.SBTTL	DELETE LOGICAL NAME TABLE ENTRY

                                     0000    38 ;+

                                     0000    39 ; LOG$DELETE - DELETE LOGICAL NAME TABLE ENTRY

                                     0000    40 ;

                                     0000    41 ; THIS ROUTINE IS CALLED TO DELETE A LOGICAL NAME TABLE ENTRY AND RETURN ITS

                                     0000    42 ; STORAGE TO THE APPROPRIATE ALLOCATION REGION.

                                     0000    43 ;

                                     0000    44 ; INPUTS:

                                     0000    45 ;

                                     0000    46 ;	R1 = ADDRESS OF ENTRY TO BE DELETED.

                                     0000    47 ;

                                     0000    48 ;	IT IS ASSUMED THAT THE RESPECTIVE LOGICAL NAME TABLE IS LOCKED FOR

                                     0000    49 ;	WRITE ACCESS.

                                     0000    50 ;

                                     0000    51 ; OUTPUTS:

                                     0000    52 ;

                                     0000    53 ;	THE ENTRY IS REMOVED FROM ITS RESPECTIVE LOGICAL NAME TABLE AND THE

                                     0000    54 ;	STORAGE IS RETURNED TO THE APPROPRIATE ALLOCATION REGION. IF THE ENTRY

                                     0000    55 ;	HAS AN ASSOCIATED MAILBOX UCB ADDRESS, THEN THE LINKAGE FROM THE UCB

                                     0000    56 ;	TO THE LOGICAL NAME ENTRY IS CLEARED.

                                     0000    57 ;-

                                     0000    58  

                                 00000000    59 	.PSECT	Y$EXEPAGED

                                     0000    60 LOG$DELETE::				;DELETE LOGICAL NAME TABLE ENTRY

            50            61     0F  0000    61 	REMQUE	LOG$L_LTFL(R1),R0	;REMOVE ENTRY FROM LOGICAL NAME TABLE

            51         10 A0     D0  0003    62 	MOVL	LOG$L_MBXUCB(R0),R1	;GET ASSOCIATED UCB ADDRESS

                          03     13  0007    63 	BEQL	10$			;IF EQL NONE

                       64 A1     D4  0009    64 	CLRL	UCB$L_LOGADR(R1)	;CLEAR LINKAGE FROM UCB TO NAME ENTRY

         0B A0            01     E1  000C    65 10$:	BBC	#1,LOG$B_TABLE(R0),20$	;IF CLR, GROUP OR SYSTEM TABLE

                          0E         0010       

            51         08 A0     3C  0011    66 	MOVZWL	LOG$W_SIZE(R0),R1	;GET SIZE OF BLOCK TO DEALLOCATE

            53   00000000'9F     9E  0015    67 	MOVAB	@#CTL$GQ_ALLOCREG,R3	;GET ADDRESS OF ALLOCATION LISTHEAD

                          FFE1'  31  001C    68 	BRW	EXE$DEALLOCATE		;DEALLOCATE PROCESS DYNAMIC MEMORY

                          FFDE'  31  001F    69 20$:	BRW	EXE$DEAPAGED		;DEALLOCATE SYSTEM PAGED MEMORY

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   3

01              INSERT IN LOGICAL NAME TABLE                                                                                     (1)



                                     0022    72 	.SBTTL	INSERT IN LOGICAL NAME TABLE

                                     0022    73 ;+

                                     0022    74 ; LOG$INSLOGN - INSERT IN LOGICAL NAME TABLE

                                     0022    75 ;

                                     0022    76 ; THIS ROUTINE IS CALLED TO INSERT A NEW ENTRY IN THE SPECIFIED LOGICAL

                                     0022    77 ; NAME TABLE. IF AN ENTRY ALREADY EXISTS AND IS IN THE GROUP OR SYSTEM

                                     0022    78 ; TABLE OR IS IN THE PROCESS TABLE AND HAS AN EQUAL ACCESS MODE, THEN THE

                                     0022    79 ; NEW ENTRY SUPERSEDES THE OLD.

                                     0022    80 ;

                                     0022    81 ; INPUTS:

                                     0022    82 ;

                                     0022    83 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0022    84 ;	R5 = ADDRESS OF LOGICAL NAME BLOCK.

                                     0022    85 ;

                                     0022    86 ; OUTPUTS:

                                     0022    87 ;

                                     0022    88 ;	THE LOGICAL NAME IS INSERTED IN THE SPECIFIED TABLE.

                                     0022    89 ;

                                     0022    90 ;	R0 ALWAYS CONTAINS SUCCESS WITH:

                                     0022    91 ;

                                     0022    92 ;		R0 = SS$_NORMAL - NORMAL COMPLETION.

                                     0022    93 ;		R0 = SS$_SUPERSEDE - LOGICAL NAME SUPERCEDED.

                                     0022    94 ;-

                                     0022    95  

                                     0022    96 LOG$INSLOGN::				;INSERT IN LOGICAL NAME TABLE

            53         0B A5     9A  0022    97 	MOVZBL	LOG$B_TABLE(R5),R3	;GET NAME TABLE NUMBER

                          47     10  0026    98 	BSBB	LOG$LOCKW		;LOCK NAME TABLE FOR WRITE

            52   00000000'EF43   D0  0028    99 	MOVL	L^LOG$AL_LOGTBL[R3],R2	;GET ADDRESS OF NAME TABLE LISTHEAD

            53         0E A5     9A  0030   100 	MOVZBL	LOG$B_AMOD(R5),R3	;SET SEARCH ACCESS MODE

                          01     DD  0034   101 	PUSHL	#SS$_NORMAL		;ASSUME NEW LOGICAL NAME

                       04 A2     DD  0036   102 	PUSHL	LOG$L_LTBL(R2)		;SAVE ADDRESS OF LAST ENTRY IN TABLE

            51         14 A5     9E  0039   103 	MOVAB	LOG$C_LENGTH(R5),R1	;GET ADDRESS OF LOGICAL NAME STRING

            50            81     9A  003D   104 	MOVZBL	(R1)+,R0		;GET LENGTH OF STRING

                          48     10  0040   105 	BSBB	LOG$SEARCHLOG		;SEARCH FOR CORRESPONDING LOGICAL NAME

            18            50     E9  0042   106 	BLBC	R0,20$			;IF LBC SEARCH FAILURE

            6E         04 A1     D0  0045   107 	MOVL	LOG$L_LTBL(R1),(SP)	;SET TO INSERT NEW ENTRY BEFORE OLD

         0B A1            01     E1  0049   108 	BBC	#1,LOG$B_TABLE(R1),10$	;IF CLR, THEN GROUP OR SYSTEM TABLE

                          07         004D       

         0E A1         0E A5     91  004E   109 	CMPB	LOG$B_AMOD(R5),LOG$B_AMOD(R1) ;SUPERSEDE OLD ENTRY?

                          08     12  0053   110 	BNEQ	20$			;IF NEQ NO

                          A9     10  0055   111 10$:	BSBB	LOG$DELETE		;DELETE LOGICAL NAME

         04 AE       0631 8F     3C  0057   112 	MOVZWL	#SS$_SUPERSEDE,4(SP)	;SET LOGICAL NAME SUPERSEDED

            9E            65     0E  005D   113 20$:	INSQUE	LOG$L_LTFL(R5),@(SP)+ 	;INSERT NEW ENTRY

            53         0B A5     9A  0060   114 	MOVZBL	LOG$B_TABLE(R5),R3	;RETRIEVE NAME TABLE NUMBER

                          0F     10  0064   115 	BSBB	LOG$UNLOCK		;UNLOCK NAME TABLE

                          01     BA  0066   116 	POPR	#^M<R0>			;SET COMPLETION STATUS

                                 05  0068   117 	RSB				;

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   4

01              LOCK LOGICAL NAME TABLE                                                                                          (1)



                                     0069   119 	.SBTTL	LOCK LOGICAL NAME TABLE

                                     0069   120 ;+

                                     0069   121 ; LOG$LOCKR - LOCK LOGICAL NAME TABLE FOR READ ACCESS

                                     0069   122 ; LOG$LOCKW - LOCK LOGICAL NAME TABLE FOR WRITE ACCESS

                                     0069   123 ;

                                     0069   124 ; THESE ROUTINES ARE CALLED TO SYNCHRONIZE ACCESS TO A SPECIFIED LOGICAL NAME

                                     0069   125 ; TABLE.

                                     0069   126 ;

                                     0069   127 ; INPUTS:

                                     0069   128 ;

                                     0069   129 ;	R3 = LOGICAL NAME TABLE NUMBER.

                                     0069   130 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0069   131 ;

                                     0069   132 ; OUTPUTS:

                                     0069   133 ;

                                     0069   134 ;	IF THE SPECIFIED NAME TABLE IS THE GROUP OR SYSTEM TABLE, THEN THE

                                     0069   135 ;	RESPECTIVE NAME TABLE IS LOCKED FOR THE SPECIFIED ACCESS.

                                     0069   136 ;

                                     0069   137 ;	REGISTERS R1, R2, AND R3 ARE PRESERVED ACROSS CALL.

                                     0069   138 ;-

                                     0069   139  

                                     0069   140 	.ENABL	LSB

                                     0069   141 LOG$LOCKR::				;LOCK LOGICAL NAME TABLE FOR READ ACCESS

                     0000'CF     9F  0069   142 	PUSHAB	W^SCH$LOCKR		;SET ADDRESS OF LOCK ROUTINE

                          0A     11  006D   143 	BRB	10$			;

                                     006F   144 LOG$LOCKW::				;LOCK LOGICAL NAME TABLE FOR WRITE ACCESS

                     0000'CF     9F  006F   145 	PUSHAB	W^SCH$LOCKW		;SET ADDRESS OF LOCK ROUTINE

                          04     11  0073   146 	BRB	10$			;

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   5

01              UNLOCK LOGICAL NAME TABLE                                                                                        (1)



                                     0075   148 	.SBTTL	UNLOCK LOGICAL NAME TABLE

                                     0075   149 ;+

                                     0075   150 ; LOG$UNLOCK - UNLOCK NAME TABLE

                                     0075   151 ;

                                     0075   152 ; THIS ROUTINE IS CALLED TO UNLOCK A LOGICAL NAME TABLE AND ALLOW ACCESS BY

                                     0075   153 ; OTHER PROCESSES.

                                     0075   154 ;

                                     0075   155 ; INPUTS:

                                     0075   156 ;

                                     0075   157 ;	R3 = LOGICAL NAME TABLE NUMBER.

                                     0075   158 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0075   159 ;

                                     0075   160 ; OUTPUTS:

                                     0075   161 ;

                                     0075   162 ;	IF THE SPECIFIED NAME TABLE IS THE GROUP OR SYSTEM TABLE, THEN THE

                                     0075   163 ;	RESPECTIVE TABLE IS UNLOCKED.

                                     0075   164 ;-

                                     0075   165  

                                     0075   166 LOG$UNLOCK::				;UNLOCK NAME TABLE

                     0000'CF     9F  0075   167 	PUSHAB	W^SCH$UNLOCK		;SET ADDRESS OF LOCK ROUTINE

            53            01     E1  0079   168 10$:	BBC	#1,R3,20$		;IF CLR, GROUP OR SYSTEM TABLE

                          03         007C       

                          8E     D5  007D   169 	TSTL	(SP)+			;CLEAN STACK

                                 05  007F   170 	RSB				;

            50   00000000'EF43   DE  0080   171 20$:	MOVAL	L^LOG$AL_MUTEX[R3],R0	;GET ADDRESS OF LOGICAL NAME TABLE MUTEX

                          9E     17  0088   172 	JMP	@(SP)+			;PERFORM SYNCHRONIZATION OPERATION

                                     008A   173 	.DSABL	LSB

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   6

01              SEARCH FOR LOGICAL NAME                                                                                          (1)



                                     008A   175 	.SBTTL	SEARCH FOR LOGICAL NAME

                                     008A   176 ;+

                                     008A   177 ; LOG$SEARCHLOG - SEARCH FOR LOGICAL NAME

                                     008A   178 ;

                                     008A   179 ; THIS ROUTINE IS CALLED TO SEARCH A LOGICAL NAME TABLE FOR A LOGICAL NAME

                                     008A   180 ; MATCH.

                                     008A   181 ;

                                     008A   182 ; INPUTS:

                                     008A   183 ;

                                     008A   184 ;	R0 = LENGTH OF LOGICAL NAME STRING.

                                     008A   185 ;	R1 = ADDRESS OF LOGICAL NAME STRING.

                                     008A   186 ;	R2 = ADDRESS OF NAME TABLE LISTHEAD.

                                     008A   187 ;	R3 = SEARCH ACCESS MODE (PROCESS TABLE ONLY).

                                     008A   188 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     008A   189 ;

                                     008A   190 ;	IT IS ASSUMED THAT THE RESPECTIVE LOGICAL NAME TABLE IS LOCKED FOR

                                     008A   191 ;	READ ACCESS.

                                     008A   192 ;

                                     008A   193 ; OUTPUTS:

                                     008A   194 ;

                                     008A   195 ;	R0 LOW BIT CLEAR INDICATES SEARCH FAILURE.

                                     008A   196 ;

                                     008A   197 ;		R0 = SS$_NOLOGNAM - NO LOGICAL NAME MATCH FOUND.

                                     008A   198 ;

                                     008A   199 ;	R0 LOW BIT SET INDICATES SUCCESS WITH:

                                     008A   200 ;

                                     008A   201 ;		R1 = ADDRESS OF LOGICAL NAME BLOCK THAT CONTAINS MATCH.

                                     008A   202 ;-

                                     008A   203  

                                     008A   204 LOG$SEARCHLOG::				;SEARCH FOR LOGICAL NAME

                     0060 8F     BB  008A   205 	PUSHR	#^M<R5,R6>		;SAVE REGISTERS R5 AND R6

            56            52     D0  008E   206 	MOVL	R2,R6			;SAVE ADDRESS OF NAME TABLE LISTHEAD

            52            62     D0  0091   207 10$:	MOVL	LOG$L_LTFL(R2),R2	;GET ADDRESS OF NEXT NAME TABLE ENTRY

            56            52     D1  0094   208 	CMPL	R2,R6			;END OF TABLE?

                          33     13  0097   209 	BEQL	40$			;IF EQL YES

            55         14 A2     9E  0099   210 	MOVAB	LOG$C_LENGTH(R2),R5	;GET ADDRESS OF LOGICAL NAME STRING

            85            50     91  009D   211 	CMPB	R0,(R5)+		;STRING LENGTHS MATCH?

                          EF     12  00A0   212 	BNEQ	10$			;IF NEQ NO

         0B A2            01     91  00A2   213 	CMPB	#LOG$C_GROUP,LOG$B_TABLE(R2) ;SEARCHING GROUP NAME TABLE?

                          07     12  00A6   214 	BNEQ	20$			;IF NEQ NO

         0C A2         22 A4     B1  00A8   215 	CMPW	PCB$L_UIC+2(R4),LOG$W_GROUP(R2) ;GROUP NUMBER MATCH?

                          E2     12  00AD   216 	BNEQ	10$			;IF NEQ NO

                          1F     BB  00AF   217 20$:	PUSHR	#^M<R0,R1,R2,R3,R4>	;SAVE SEARCH PARAMETERS

            61            50     29  00B1   218 	CMPC	R0,(R1),(R5)		;LOGICAL NAME STRINGS MATCH?

                          65         00B4       

                          1F     BA  00B5   219 	POPR	#^M<R0,R1,R2,R3,R4>	;RETRIEVE SEARCH PARAMETERS

                          D8     12  00B7   220 	BNEQ	10$			;IF NEQ NO

         0B A2            01     E1  00B9   221 	BBC	#1,LOG$B_TABLE(R2),30$	;IF CLR, SYSTEM OR GROUP TABLE

                          06         00BD       

         0E A2            53     91  00BE   222 	CMPB	R3,LOG$B_AMOD(R2)	;ENTRY ACCESS MODE ALLOW MATCH?

                          CD     19  00C2   223 	BLSS	10$			;IF LSS NO

            50            01     88  00C4   224 30$:	BISB	#1,R0			;INDICATE MATCH FOUND

            51            52     D0  00C7   225 	MOVL	R2,R1			;SET ADDRESS OF LOGICAL NAME BLOCK

                          05     11  00CA   226 	BRB	50$			;

            50       01BC 8F     3C  00CC   227 40$:	MOVZWL	#SS$_NOLOGNAM,R0	;SET NO LOGICAL NAME MATCH

                     0060 8F     BA  00D1   228 50$:	POPR	#^M<R5,R6>		;RESTORE REGISTERS R5 AND R6

                                 05  00D5   229 	RSB

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   7

01              TRANSLATE LOGICAL NAME                                                                                           (1)



                                     00D6   231 	.SBTTL	TRANSLATE LOGICAL NAME

                                     00D6   232 ;+

                                     00D6   233 ; LOG$TRNSLOGNAME - TRANSLATE LOGICAL NAME

                                     00D6   234 ;

                                     00D6   235 ; THIS ROUTINE IS CALLED TO TRANSLATE A LOGICAL NAME TO A RESULTANT STRING.

                                     00D6   236 ; THE CALLER IS ASSUMED TO HAVE PROBED THE RESULTANT STRING BUFFER FOR PROPER

                                     00D6   237 ; ACCESSIBLITY. THE LOGICAL NAME STRING IS PROBED FOR READ ACCESSIBILITY AND

                                     00D6   238 ; THEN A SEARCH OF THE PROCESS, FOLLOWED BY THE GROUP, AND THEN THE SYSTEM

                                     00D6   239 ; LOGICAL NAME TABLE IS CONDUCTED IN AN ATTEMPT TO LOCATE A LOGICAL NAME

                                     00D6   240 ; STRING THAT MATCHES THE SPECIFIED LOGICAL NAME STRING. IF A MATCH IS FOUND,

                                     00D6   241 ; THEN, THE EQUIVALENCE STRING IS RETURNED AS THE RESULTANT STRING. IF NO

                                     00D6   242 ; MATCH FOUND, THEN THE INPUT STRING IS RETURNED AS THE RESULTANT STRING.

                                     00D6   243 ;

                                     00D6   244 ; INPUTS:

                                     00D6   245 ;

                                     00D6   246 ;	R1 = ADDRESS OF LOGICAL NAME STRING DESCRIPTOR.

                                     00D6   247 ;	R2 = SIZE OF RESULTANT STRING BUFFER.

                                     00D6   248 ;	R3 = ADDRESS OF RESULTANT STRING BUFFER.

                                     00D6   249 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     00D6   250 ;	R5 = NAME TABLE SEARCH DISABLE MASK.

                                     00D6   251 ;

                                     00D6   252 ; OUTPUTS:

                                     00D6   253 ;

                                     00D6   254 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO TRANSLATE.

                                     00D6   255 ;

                                     00D6   256 ;		R0 = SS$_ACCVIO - ACCESS VIOLATION.

                                     00D6   257 ;		R0 = SS$_IVLOGNAM - INVALID LOGICAL NAME.

                                     00D6   258 ;		R0 = SS$_RESULTOVF - RESULTANT STRING OVERFLOW.

                                     00D6   259 ;

                                     00D6   260 ;	R0 LOW BIT SET INDICATES SUCCESS.

                                     00D6   261 ;

                                     00D6   262 ;		R0 = SS$_NORMAL - TRANSLATION MADE, EQUIVALENCE STRING

                                     00D6   263 ;			RETURNED.

                                     00D6   264 ;		R0 = SS$_NOTRAN - TRANSLATION MADE, INPUT STRING RETURNED.

                                     00D6   265 ;

                                     00D6   266 ;			R1 = LENGTH OF RESULT STRING IN BYTES.

                                     00D6   267 ;			R2 = TRANSLATION TABLE NUMBER.

                                     00D6   268 ;			R3 = ASSIGNMENT ACCESS MODE.

                                     00D6   269 ;-

                                     00D6   270  

                                     00D6   271 LOG$TRNSLOGNAME::			;TRANSLATE LOGICAL NAME

            50            61     3C  00D6   272 	MOVZWL	(R1),R0			;GET LENGTH OF LOGICAL NAME STRING

                          05     13  00D9   273 	BEQL	10$			;IF EQL INVALID LOGICAL NAME

            3F            50     B1  00DB   274 	CMPW	R0,#LOG$C_NAMLENGTH-1	;LEGAL NAME STRING LENGTH?

                          0A     1B  00DE   275 	BLEQU	30$			;IF LEQU YES

            50       0154 8F     3C  00E0   276 10$:	MOVZWL	#SS$_IVLOGNAM,R0	;SET INVALID LOGICAL NAME

                                 05  00E5   277 	RSB				;

            50            0C     3C  00E6   278 20$:	MOVZWL	#SS$_ACCVIO,R0		;SET ACCESS VIOLATION

                                 05  00E9   279 	RSB				;

            51         04 A1     D0  00EA   280 30$:	MOVL	4(R1),R1		;GET ADDRESS OF LOGICAL NAME STRING

                                     00EE   281 	IFNORD	R0,(R1),20$		;CAN LOGICAL NAME STRING BE READ?

                     00FF 8F     BB  00F4   282 	PUSHR	#^M<R0,R1,R2,R3,R4,R5,R6,R7> ;SAVE REGISTERS

            57            01     3C  00F8   283 	MOVZWL	#SS$_NORMAL,R7		;ASSUME NORMAL COMPLETION

            56            02     D0  00FB   284 	MOVL	#LOG$C_PROCESS,R6	;SET STARTING TABLE NUMBER

            61         5F 8F     91  00FE   285 	CMPB	#^A/_/,(R1)		;LOGICAL NAME STRING START WITH UNDERSCORE?

                          32     13  0102   286 	BEQL	60$			;IF EQL YES

            53            56     D0  0104   287 40$:	MOVL	R6,R3			;SET NAME TABLE NUMBER

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   8

01              TRANSLATE LOGICAL NAME                                                                                           (1)



                          FF5F   30  0107   288 	BSBW	LOG$LOCKR		;LOCK NAME TABLE FOR READ

         14 AE            56     E0  010A   289 	BBS	R6,20(SP),50$		;IF SET, NAME TABLE SEARCH DISABLED

                          14         010E       

            50            6E     7D  010F   290 	MOVQ	(SP),R0			;RETRIEVE LOGICAL NAME STRING PARAMETERS

            52   00000000'EF46   D0  0112   291 	MOVL	L^LOG$AL_LOGTBL[R6],R2	;GET ADDRESS OF NAME TABLE LISTHEAD

            53            03     9A  011A   292 	MOVZBL	#PSL$C_USER,R3		;SET SEARCH ACCESS MODE

                          FF6A   30  011D   293 	BSBW	LOG$SEARCHLOG		;SEARCH FOR LOGICAL NAME

            20            50     E8  0120   294 	BLBS	R0,70$			;IF LBS MATCH FOUND

            53            56     D0  0123   295 50$:	MOVL	R6,R3			;SET NAME TABLE NUMBER

                          FF4C   30  0126   296 	BSBW	LOG$UNLOCK		;UNLOCK NAME TABLE

            D8            56     F4  0129   297 	SOBGEQ	R6,40$			;ANY MORE TABLES TO SEARCH?

            56            02     D0  012C   298 	MOVL	#LOG$C_PROCESS,R6	;RESET NAME TABLE NUMBER

            50            6E     7D  012F   299 	MOVQ	(SP),R0			;RETRIEVE LOGICAL NAME STRING PARAMETERS

                          50     D6  0132   300 	INCL	R0			;BIAS STRING PARAMETERS FOR ADJUSTMENT

                          51     D7  0134   301 	DECL	R1			;

            57       0629 8F     3C  0136   302 60$:	MOVZWL	#SS$_NOTRAN,R7		;SET NO TRANSLATION

                          54     7C  013B   303 	CLRQ	R4			;CLEAR TABLE NUMBER AND ACCESS MODE

                          50     D7  013D   304 	DECL	R0			;DECREMENT NUMBER OF CHARACTERS

                          51     D6  013F   305 	INCL	R1			;INCREMENT STRING ADDRESS

                          14     11  0141   306 	BRB	80$			;

            54         0B A1     9A  0143   307 70$:	MOVZBL	LOG$B_TABLE(R1),R4	;GET TRANSLATION TABLE NUMBER

            55         0E A1     9A  0147   308 	MOVZBL	LOG$B_AMOD(R1),R5	;GET ASSIGNMENT ACCESS MODE

            50         14 A1     9A  014B   309 	MOVZBL	LOG$C_LENGTH(R1),R0	;GET SIZE OF LOGICAL NAME

            51         15 A140   9E  014F   310 	MOVAB	LOG$C_LENGTH+1(R1)[R0],R1 ;GET ADDRESS OF EQUIVALENCE STRING

            50            81     9A  0154   311 	MOVZBL	(R1)+,R0		;GET LENGTH OF EQUIVALENCE STRING

            6E       0214 8F     3C  0157   312 80$:	MOVZWL	#SS$_RESULTOVF,(SP)	;ASSUME RESULT OVERFLOW

         04 AE            50     D0  015C   313 	MOVL	R0,4(SP)		;SAVE LENGTH OF RESULT STRING

            52         08 AE     7D  0160   314 	MOVQ	8(SP),R2		;RETRIEVE RESULTANT STRING BUFFER PARAMETERS

         08 AE            54     7D  0164   315 	MOVQ	R4,8(SP)		;SAVE TABLE NUMBER AND ACCESS MODE

            52            50     D1  0168   316 	CMPL	R0,R2			;EQUIVALENCE STRING TOO LARGE?

                          07     14  016B   317 	BGTR	90$			;IF GTR YES

            61            50     28  016D   318 	MOVC	R0,(R1),(R3)		;MOVE EQUIVALENCE STRING TO RESULTANT STRING

                          63         0170       

            6E            57     D0  0171   319 	MOVL	R7,(SP)			;SET COMPLETION STATUS

            53            56     D0  0174   320 90$:	MOVL	R6,R3			;SET NUMBER OF TABLE TO UNLOCK

            54         10 AE     D0  0177   321 	MOVL	16(SP),R4		;RETRIEVE CURRENT PROCESS PCB ADDRESS

                          FEF7   30  017B   322 	BSBW	LOG$UNLOCK		;UNLOCK NAME TABLE

                                     017E   323 

                           00000002  017E   324 	.IF NE CA$_MEASURE		;CHECK FOR MEASUREMENT ENABLED

                 00000000'EF     D6  017E   325 	INCL	PMS$GL_LOGNAM		;IF YES COUNT TRANSLATIONS

                                     0184   326 	.ENDC

                                     0184   327 

                     00FF 8F     BA  0184   328 	POPR	#^M<R0,R1,R2,R3,R4,R5,R6,R7> ;RESTORE REGISTERS R0 THRU R6

                                 05  0188   329 	RSB				;

                                     0189   330  

                                     0189   331 	.END

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 00000000            PCB$L_WTIME      0000002C            PSL$M_IV       = 00000020            

CA$_MEASURE    = 00000002            PCB$T_LNAME      0000006C            PSL$M_PRVMOD   = 00C00000            

CA$_MEASURE_IOT= 00000004            PCB$V_ASTPEN   = 00000011            PSL$M_SAFBITS  = 000037FF            

CA$_SIMULATOR  = 00000001            PCB$V_BATCH    = 0000000E            PSL$M_TBIT     = 00000010            

CTL$GQ_ALLOCREG  ********   X   03   PCB$V_DELPEN   = 00000001            PSL$M_TP       = 40000000            

EXE$DEALLOCATE   ********   X   03   PCB$V_FORCPEN  = 00000002            PSL$S_CURMOD   = 00000002            

EXE$DEAPAGED     ********   X   03   PCB$V_HIBER    = 00000013            PSL$S_IPL      = 00000005            

GBL...         = 00000000            PCB$V_INQUAN   = 00000003            PSL$S_PRVMOD   = 00000002            

LOG$AL_LOGTBL    ********   X   03   PCB$V_LOGIN    = 00000014            PSL$V_CM       = 0000001F            

LOG$AL_MUTEX     ********   X   03   PCB$V_NETWRK   = 00000015            PSL$V_CURMOD   = 00000018            

LOG$B_AMOD       0000000E            PCB$V_NOACNT   = 0000000F            PSL$V_DV       = 00000007            

LOG$B_TABLE      0000000B            PCB$V_NODELET  = 00000017            PSL$V_FPD      = 0000001B            

LOG$B_TYPE       0000000A            PCB$V_PHDRES   = 00000012            PSL$V_FU       = 00000006            

LOG$C_GROUP    = 00000001            PCB$V_PSWAPM   = 00000004            PSL$V_IPL      = 00000010            

LOG$C_LENGTH     00000014            PCB$V_PWRAST   = 00000016            PSL$V_IS       = 0000001A            

LOG$C_NAMLENGTH= 00000040            PCB$V_RES      = 00000000            PSL$V_IV       = 00000005            

LOG$C_PROCESS  = 00000002            PCB$V_RESPEN   = 00000005            PSL$V_PRVMOD   = 00000016            

LOG$C_SYSTEM   = 00000000            PCB$V_SSFEXC   = 00000006            PSL$V_TBIT     = 00000004            

LOG$DELETE       00000000 RG    03   PCB$V_SSFEXCE  = 00000007            PSL$V_TP       = 0000001E            

LOG$INSLOGN      00000022 RG    03   PCB$V_SSFEXCS  = 00000008            SCH$LOCKR        ********   X   03   

LOG$K_LENGTH     00000014            PCB$V_SSFEXCU  = 00000009            SCH$LOCKW        ********   X   03   

LOG$LOCKR        00000069 RG    03   PCB$V_SSRWAIT  = 0000000A            SCH$UNLOCK       ********   X   03   

LOG$LOCKW        0000006F RG    03   PCB$V_SUSPEN   = 0000000B            SS$_ABORT      = 0000002C            

LOG$L_LTBL       00000004            PCB$V_SWPVBN   = 00000010            SS$_ACCONFLICT = 00000800            

LOG$L_LTFL       00000000            PCB$V_WAKEPEN  = 0000000C            SS$_ACCVIO     = 0000000C            

LOG$L_MBXUCB     00000010            PCB$V_WALL     = 0000000D            SS$_ACPVAFUL   = 000002FC            

LOG$SEARCHLOG    0000008A RG    03   PCB$W_APTCNT     00000034            SS$_ARTRES     = 00000474            

LOG$TRNSLOGNAME  000000D6 RG    03   PCB$W_ASTCNT     0000003C            SS$_ASTFLT     = 0000040C            

LOG$T_NAME       00000014            PCB$W_BIOCNT     0000003E            SS$_BADATTRIB  = 00000034            

LOG$UNLOCK       00000075 RG    03   PCB$W_BIOLM      00000040            SS$_BADCHKSUM  = 00000808            

LOG$W_GROUP      0000000C            PCB$W_BYTCNT     00000042            SS$_BADESCAPE  = 0000003C            

LOG$W_SIZE       00000008            PCB$W_BYTLM      00000068            SS$_BADFILEHDR = 00000810            

PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            SS$_BADFILENAME= 00000818            

PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            SS$_BADFILEVER = 00000820            

PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            SS$_BADIMGHDR  = 00000044            

PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            SS$_BADIRECTORY= 00000828            

PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            SS$_BADPARAM   = 00000014            

PCB$B_WEFC       00000032            PCB$W_MEM        00000020            SS$_BADSTACK   = 000002B4            

PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            SS$_BEGOFFILE  = 00000938            

PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            SS$_BLOCKCNTERR= 00000940            

PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            SS$_BREAK      = 00000414            

PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            SS$_BUFBYTALI  = 0000030C            

PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            SS$_BUFFEROVF  = 00000601            

PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            SS$_BUGCHECK   = 000002A4            

PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            SS$_CANCEL     = 00000830            

PCB$L_EFCU       00000054            PMS$GL_LOGNAM    ********   X   03   SS$_CHANINTLK  = 0000004C            

PCB$L_EFWM       0000004C            PSL$C_EXEC     = 00000001            SS$_CLIFRCEXT  = 00000980            

PCB$L_OWNER      0000001C            PSL$C_KERNEL   = 00000000            SS$_CMODSUPR   = 0000041C            

PCB$L_PHD        00000064            PSL$C_SUPER    = 00000002            SS$_CMODUSER   = 00000424            

PCB$L_PHYPCB     00000018            PSL$C_USER     = 00000003            SS$_COMPAT     = 0000042C            

PCB$L_PID        00000060            PSL$M_CM       = 80000000            SS$_CONTINUE   = 00000001            

PCB$L_PQB        0000004C            PSL$M_CURMOD   = 03000000            SS$_CONTROLC   = 00000651            

PCB$L_SQBL       00000004            PSL$M_DV       = 00000080            SS$_CONTROLO   = 00000609            

PCB$L_SQFL       00000000            PSL$M_FPD      = 08000000            SS$_CONTROLY   = 00000611            

PCB$L_STS        00000028            PSL$M_FU       = 00000040            SS$_CREATED    = 00000619            

PCB$L_UIC        00000020            PSL$M_IPL      = 001F0000            SS$_CTRLERR    = 00000054            

PCB$L_WSSWP      00000024            PSL$M_IS       = 04000000            SS$_DATACHECK  = 0000005C            

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (1)



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

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

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

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

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

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

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

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

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

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

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

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

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

SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            

SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            

SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_FCPREADERR = 00000888            SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_FCPREWNDERR= 00000890            SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            UCB$B_AMOD       00000053            

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            UCB$B_CEX        00000077            

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            UCB$B_CM1        0000004A            

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            UCB$B_CM2        0000004B            

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            UCB$B_DEVCLASS   00000038            

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            UCB$B_DEVTYPE    00000039            

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            UCB$B_DIPL       00000052            

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            UCB$B_DX_SCTCNT  000000A6            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            UCB$B_ERTCNT     00000070            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            UCB$B_ERTMAX     00000071            

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            UCB$B_ESCAPE     0000004B            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            UCB$B_FEX        00000076            

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            

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



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

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

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

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

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

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

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

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

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

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

UCB$L_ASTQBL     00000010            UCB$M_TIM      = 00000001            UCB$W_FUNC       0000007E            

UCB$L_ASTQFL     0000000C            UCB$M_TIMOUT   = 00000040            UCB$W_MB_SEED    FFFFFFFC            

UCB$L_CPID       0000005C            UCB$M_TT_NOTIF = 00000004            UCB$W_MSGCNT     00000016            

UCB$L_CRB        00000020            UCB$M_TT_TIMO  = 00000002            UCB$W_MSGMAX     00000014            

UCB$L_DDB        00000024            UCB$M_UNLOAD   = 00001000            UCB$W_NT_CHAN    0000007C            

UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            UCB$W_OFFSET     0000008A            

UCB$L_DEVDEPEND  0000003C            UCB$S_LNKPRI   = 00000002            UCB$W_REFC       00000050            

UCB$L_DPC        00000080            UCB$S_LTYPE    = 00000002            UCB$W_SIZE       00000008            

UCB$L_DUETIM     0000005C            UCB$T_PARTNER    0000000C            UCB$W_SRCADDR    0000001A            

UCB$L_DX_BFPNT   0000009C            UCB$V_BACKP    = 00000005            UCB$W_STS        00000058            

UCB$L_DX_BUF     00000098            UCB$V_BSY      = 00000008            UCB$W_UNIT       00000048            

UCB$L_DX_RXDB    000000A0            UCB$V_CANCEL   = 00000003            UCB$W_VPROT      0000001A            

UCB$L_EMB        00000078            UCB$V_DEADMO   = 0000000A            

UCB$L_FIRST      00000014            UCB$V_DELMBX   = 00000001            

UCB$L_FPC        0000000C            UCB$V_DIAGBUF  = 00000001            

UCB$L_FQBL       00000004            UCB$V_DX_WRITE = 00000003            

UCB$L_FQFL       00000000            UCB$V_ECC      = 00000000            

UCB$L_FR3        00000010            UCB$V_ERLOGIP  = 00000002            

UCB$L_FR4        00000014            UCB$V_INT      = 00000001            

UCB$L_IOQBL      00000044            UCB$V_INTTYPE  = 00000007            

UCB$L_IOQFL      00000040            UCB$V_JOB      = 00000000            

UCB$L_IRP        0000004C            UCB$V_LNKPRI   = 00000006            

UCB$L_LINK       0000002C            UCB$V_LTYPE    = 00000000            

UCB$L_LOGADR     00000064            UCB$V_MOUNTING = 00000009            

UCB$L_MAXBLOCK   00000084            UCB$V_MSGACK   = 00000004            

UCB$L_MEDIA      0000008C            UCB$V_MSGFLO   = 00000003            

UCB$L_NT_DATSSB  00000074            UCB$V_NOCNVRT  = 00000002            

UCB$L_NT_INTSSB  00000078            UCB$V_NT_BFROVF= 00000002            

UCB$L_OPCNT      00000060            UCB$V_NT_BREAK = 00000005            

UCB$L_OWNUIC     0000001C            UCB$V_NT_NAME  = 00000004            

UCB$L_PID        00000028            UCB$V_ONLINE   = 00000004            

UCB$L_RQBL       00000004            UCB$V_POWER    = 00000005            

UCB$L_RQFL       00000000            UCB$V_PRMMBX   = 00000000            

UCB$L_SVAPTE     00000068            UCB$V_SEGFLO   = 00000002            

UCB$L_SVPN       00000064            UCB$V_TIM      = 00000000            

UCB$L_TTCHAR     0000003C            UCB$V_TIMOUT   = 00000006            

UCB$L_VCB        00000030            UCB$V_TT_NOTIF = 00000002            

UCB$M_BACKP    = 00000020            UCB$V_TT_TIMO  = 00000001            

UCB$M_BSY      = 00000100            UCB$V_UNLOAD   = 0000000C            

UCB$M_CANCEL   = 00000008            UCB$V_VALID    = 0000000B            

UCB$M_DEADMO   = 00000400            UCB$W_BCNT       0000006E            

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            

LOGNAMSUB       - LOGICAL NAME RELATED SUBROUTINES               21-AUG-1978 19:57:51   VAX-11 MACRO X0.3-11               Page  12

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





THERE WERE NO ERRORS OR WARNINGS.

12072. BYTES LEFT IN FREE MEMORY POOL.

3706. BYTES OF RECLAIMED MEMORY.

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

5 MLB DIR RDS - 752 GETS TO DEFINE 16 MACROS. 56 INTER. FILE WRITES. 

