COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      62  COM$DELATTNAST - DELIVER ATTENTION ASTS

   (3)     100  COM$FLUSHATTNS - FLUSH ATTENTION AST LIST

   (4)     143  COM$POST - POST I.O COMPLETION INDEPENDENT OF U

   (5)     174  COM$SETATTNAST - SET UP ATTENTION AST

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   1

X04                                                                                                                              (1)



                                     0000     1 	.TITLE	COMDRVSUB - COMMUNUCATION DRIVERS SUBROUTINES

                                     0000     2 	.IDENT	/X04/

                                     0000     3 ;

                                     0000     4 ; COPYRIGHT (C) 1977

                                     0000     5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     6 ;

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

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

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

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

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

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

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

                                     0000    14 ;

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

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

                                     0000    17 ; EQUIPMENT CORPORATION.

                                     0000    18 ;

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

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

                                     0000    21 ;

                                     0000    22 ;++

                                     0000    23 ; FACILITY:

                                     0000    24 ;

                                     0000    25 ;	STARLET I/O DRIVERS

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;

                                     0000    29 ;	THIS MODULE CONTAINS SUBROUTINES FOR THE TERMINAL,MAILBOX AND DMC11 DRIVERS.

                                     0000    30 ;

                                     0000    31 ; AUTHOR:

                                     0000    32 ;

                                     0000    33 ;	R.HEINEN 8-SEPT-1977

                                     0000    34 ;--

                                     0000    35 ;

                                     0000    36 ; EXTERNAL SYMBOLS

                                     0000    37 ;

                                     0000    38 	$ACBDEF				; DEFINE AST CONTROL BLOCK

                                     0000    39 	$CCBDEF				; DEFINE CCB

                                     0000    40 	$DYNDEF				; DEFINE DYNAMIC MEMORY BLOCKS

                                     0000    41 	$IPLDEF				; DEFINE IPL LEVELS

                                     0000    42 	$IRPDEF				; DEFINE I/O PACKET

                                     0000    43 	$PCBDEF				; DEFINE PCB

                                     0000    44 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000    45 	$PRIDEF				; DEFINE NEW PRIORITIES

                                     0000    46 	$PRVDEF				; DEFINE PRIVELEGE BITS

                                     0000    47 	$PSLDEF				; DEFINE PSL

                                     0000    48 	$RSNDEF				; DEFINE RESOURCES

                                     0000    49 	$UCBDEF				; DEFINE UCB

                                     0000    50 ;

                                     0000    51 ; LOCAL DEFINITIONS

                                     0000    52 ;

                           00000000  0000    53 P1= 0

                           00000004  0000    54 P2= 4

                           00000008  0000    55 P3= 8

                           0000000C  0000    56 P4= 12

                           00000010  0000    57 P5= 16

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   2

X04                                                                                                                              (1)



                           00000014  0000    58 P6= 20

                                     0000    59  

                                 00000000    60 	.PSECT	WIONONPAGED

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   3

X04             COM$DELATTNAST - DELIVER ATTENTION ASTS                                                                          (2)



                                     0000    62 	.SBTTL	COM$DELATTNAST - DELIVER ATTENTION ASTS

                                     0000    63 ;++

                                     0000    64 ; COM$DELATTNAST - DELIVER ATTENION ASTS

                                     0000    65 ;

                                     0000    66 ; FUNCTIONAL DESCRIPTION:

                                     0000    67 ;

                                     0000    68 ; THIS ROUTINE IS USED BY THE TERMINAL AND MAILBOX DRIVERS TO DELIVER 

                                     0000    69 ; ALL OF THE ASTS AWAITING ATTENTION. THE CONTROL BLOCKS ARE USED AS FORK BLOCKS

                                     0000    70 ; TO IPL$_QUEUEAST.

                                     0000    71 ;

                                     0000    72 ; INPUTS:

                                     0000    73 ;

                                     0000    74 ;	R4 = ADDRESS OF LIST HEAD OF AST CONTROL BLOCKS

                                     0000    75 ;	R5 = UCB OF UNIT

                                     0000    76 ;

                                     0000    77 ; OUTPUTS:

                                     0000    78 ;

                                     0000    79 ;	R2,R3,R4,R5 ARE PRESERVED.

                                     0000    80 ;--

                                     0000    81 COM$DELATTNAST::			; DELIVER ATTENTION ASTS

                          38     BB  0000    82 	PUSHR	#^M<R3,R4,R5>		;

            55         04 BE     D0  0002    83 10$:	MOVL	@4(SP),R5		; GET NEXT ENTRY

                          22     13  0006    84 	BEQL	50$			; IF EQL THEN NONE

         04 BE            65     D0  0008    85 	MOVL	(R5),@4(SP)		; CLOSE LIST

                       F3 AF     9F  000C    86 	PUSHAB	B^10$			; SET UP RETURN ADDRESS

                                     000F    87 	FORK				; CREATE FORK PROCESS

                                     0012    88 ;

                                     0012    89 ; AST QUEUE FORK PROCESS

                                     0012    90 ;

         10 A5         18 A5     7D  0012    91 	MOVQ	ACB$L_KAST(R5),ACB$L_AST(R5); REARRANGE ENTRIES

         0B A5         20 A5     90  0017    92 	MOVB	ACB$L_KAST+8(R5),ACB$B_RMOD(R5);

         0C A5         24 A5     D0  001C    93 	MOVL	ACB$L_KAST+12(R5),ACB$L_PID(R5);

                       18 A5     D4  0021    94 	CLRL	ACB$L_KAST(R5)		;

            52            01     9A  0024    95 	MOVZBL	#PRI$_IOCOM,R2		; SET UP PRIORITY INCREMENT

                          FFD6'  31  0027    96 	BRW	SCH$QAST		; QUEUE THE AST

                          38     BA  002A    97 50$:	POPR	#^M<R3,R4,R5>		;

                                 05  002C    98 	RSB

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   4

X04             COM$FLUSHATTNS - FLUSH ATTENTION AST LIST                                                                        (3)



                                     002D   100 	.SBTTL	COM$FLUSHATTNS - FLUSH ATTENTION AST LIST

                                     002D   101 ;++

                                     002D   102 ; COM$FLUSHATTNS - FLUNS ATTENTION AST LIST

                                     002D   103 ;

                                     002D   104 ; THIS ROUTINE IS USED BY THE TERMINAL AND MAILBOX DRIVERS TO FLUSH

                                     002D   105 ; AN ATTENTION AST LIST. THIS IS DONE AT CANCEL I/O TIME AND WHEN A

                                     002D   106 ; QIO SPECIFIES A 0 AST ADDRESS ON A SET ATTENTION AST FUNCTION.

                                     002D   107 ;

                                     002D   108 ;

                                     002D   109 ; INPUTS:

                                     002D   110 ;

                                     002D   111 ;	R4 = PCB ADDRESS 

                                     002D   112 ;	R5 = UCB ADDRESS OF RELATED UNIT

                                     002D   113 ;	R6 = CHANNEL NUMBER

                                     002D   114 ;	R7 = LIST HEAD

                                     002D   115 ;

                                     002D   116 ; OUTPUTS:

                                     002D   117 ;

                                     002D   118 ;	R0 = SS$_NORMAL

                                     002D   119 ;	R1,R2,R7 ARE DISTROYED.

                                     002D   120 ;

                                     002D   121 ;--

                                     002D   122 COM$FLUSHATTNS::			; FLUSH ATTENTION AST LIST

                                     002D   123 	DSBINT	UCB$B_DIPL(R5)		; DISABLE INTERRUPTS

            50            67     D0  0034   124 10$:	MOVL	(R7),R0			; GET LIST ENTRY

                          25     13  0037   125 	BEQL	50$			; IF EQL THEN DONE

         24 A0         60 A4     D1  0039   126 	CMPL	PCB$L_PID(R4),ACB$L_KAST+12(R0); PID MATCH?

                          19     12  003E   127 	BNEQ	40$			; IF NEQ THEN NO

         22 A0            56     B1  0040   128 	CMPW	R6,ACB$L_KAST+10(R0)	; CHANNEL MATCH?

                          13     12  0044   129 	BNEQ	40$			; IF NEQ THEN NO

            67            60     D0  0046   130 	MOVL	(R0),(R7)		; CLOSE UP LIST TO REMOVE ENTRY

                                     0049   131 	ENBINT				; REENABLE INTERRUPTS

                       3C A4     B6  004C   132 	INCW	PCB$W_ASTCNT(R4)	; RESTORE AST QUOTA

                          53     DD  004F   133 	PUSHL	R3			; SAVE R3

                          FFAC'  30  0051   134 	BSBW	EXE$DEANONPAGED		; DEALLOCATE THE BLOCK

                          53   8ED0  0054   135 	POPL	R3			; RESTORE R3

                          D4     11  0057   136 	BRB	COM$FLUSHATTNS		; CONTINUE

            57            50     D0  0059   137 40$:	MOVL	R0,R7			; LOOK TO NEXT ENTRY

                          D6     11  005C   138 	BRB	10$			; CONTINUE

                                     005E   139 50$:	ENBINT				; REENABLE INTERRUPTS

            50         00'8F     9A  0061   140 	MOVZBL	#SS$_NORMAL,R0		; SET NORMAL RETURN

                                 05  0065   141 	RSB

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   5

X04             COM$POST - POST I.O COMPLETION INDEPENDENT OF U                                                                  (4)



                                     0066   143 	.SBTTL	COM$POST - POST I.O COMPLETION INDEPENDENT OF UNIT STATUS

                                     0066   144 ;++

                                     0066   145 ; COM$POST - POST I/O COMPLETION INDEPENDENT OF UNIT STATUS

                                     0066   146 ;

                                     0066   147 ; FUNCTIONAL DESCRIPTION:

                                     0066   148 ;

                                     0066   149 ; THIS ROUTINE IS USED BY THE TERMINAL, MAILBOX AND DMC DRIVER TO COMPLETE

                                     0066   150 ; I/O OPERATIONS INDEPENDENT OF THE STATUS OF THE UNIT. NO ATTEMPT IS MADE

                                     0066   151 ; TO DE-QUEUE ANOTHER PACKET OR CHANGE THE BUSY STATUS OF THE UNIT.

                                     0066   152 ;

                                     0066   153 ; INPUTS:

                                     0066   154 ;

                                     0066   155 ;	R3 = I/O PACKET ADDRESS

                                     0066   156 ;	R5 = UCB ADDRESS

                                     0066   157 ;

                                     0066   158 ; IMPLICIT INPUTS:

                                     0066   159 ;

                                     0066   160 ;	CALLER AT DRIVER FORK IPL OR GREATER.

                                     0066   161 ;	IRP$L_MEDIA AND IRP$L_MEDIA+4 ARE THE IOSB QUAD WORD.

                                     0066   162 ;

                                     0066   163 ; OUTPUTS:

                                     0066   164 ;

                                     0066   165 ;	R0,R1 ARE DISTROYED.

                                     0066   166 ;--

                                     0066   167 COM$POST::				; COMPLETE I/O

                       60 A5     D6  0066   168 	INCL	UCB$L_OPCNT(R5)		; INCREMENT OPERATION COUNT

   00000000'FF            63     0E  0069   169 	INSQUE	(R3),@IOC$GL_PSBL	; INSERT PACKET ON QUEUE

                          03     12  0070   170 	BNEQ	10$			; IF NEQ THEN NOT FIRST

                                     0072   171 	SOFTINT	#IPL$_IOPOST		; REQUEST FORK

                                 05  0075   172 10$:	RSB				; RETURN

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   6

X04             COM$SETATTNAST - SET UP ATTENTION AST                                                                            (5)



                                     0076   174 	.SBTTL	COM$SETATTNAST - SET UP ATTENTION AST

                                     0076   175 ;++

                                     0076   176 ; COM$SETATTNAST - SET UP ATTENTION AST

                                     0076   177 ;

                                     0076   178 ; FUNCTIONAL DESCRIPTION:

                                     0076   179 ;

                                     0076   180 ; THIS ROUTINE IS A SUBROUTINE USED BY THE TERMINAL AND MAILBOX DRIVERS

                                     0076   181 ; TO PROCESS REQUESTS FOR ENABLE OR DISABLE OF ATTENTION ASTS.

                                     0076   182 ; P1 IS THE ADDRESS OF THE AST SERVICE FOR ENABLES. P1 = 0 FOR DISABLE.

                                     0076   183 ; FOR DISABLES, THE SPECIFIED LIST IS SEARCHED AND THE ENTRY EXTRACTED AND

                                     0076   184 ; DEALLOCATED.

                                     0076   185 ; FOR ENABLES, A CONTROL BLOCK IS SET UP THAT WILL DOUBLE AS THE AST CONTROL

                                     0076   186 ; BLOCK WHEN THE AST IS DELIVERED. THE BLOCK IS FORMATTED AS FOLLOWS:

                                     0076   187 ;

                                     0076   188 ;	ACB$B_RMOD = IPR$_QUEUEAST

                                     0076   189 ;	ACB$L_KAST = AST PC

                                     0076   190 ;	ACB$L_KAST+4 = AST PARAMETER (P2)

                                     0076   191 ;	ACB$L_KAST+8 = ACCESS MODE OF REQUEST

                                     0076   192 ;	ACB$L_KAST+10 = CHANNEL NUMBER

                                     0076   193 ;	ACB$L_KAST+12 = PID OF REQUEST

                                     0076   194 ;

                                     0076   195 ; THE NEW BLOCK IS PLACED AT THE HEAD OF THE CURRENT LIST.

                                     0076   196 ;

                                     0076   197 ; IN BOTH CASES THE I/O IS COMPLETED.

                                     0076   198 ;

                                     0076   199 ; INPUTS:

                                     0076   200 ;

                                     0076   201 ;	R3 = I/O PACKET ADDRESS

                                     0076   202 ;	R4 = CURRENT PCB

                                     0076   203 ;	R5 = UCB ADDRESS

                                     0076   204 ;	R6 = ASSIGNED CCB

                                     0076   205 ;	R7 = ADDRESS OF THE CONTROL AST LIST HEAD TO CHANGE

                                     0076   206 ;	AP = ADDRESS OF THE QIO ARGLIST

                                     0076   207 ;

                                     0076   208 ; OUTPUTS:

                                     0076   209 ;

                                     0076   210 ;	R0 = STATUS OF THE I/O

                                     0076   211 ;	R3 = PACKET ADDRESS

                                     0076   212 ;	R5 = UCB ADDRESS

                                     0076   213 ;

                                     0076   214 ;	NO OTHER REGISTERS ARE PRESERVED.

                                     0076   215 ;

                                     0076   216 ; COMPLETION CODES:

                                     0076   217 ;

                                     0076   218 ;	SS$_NORMAL

                                     0076   219 ;	SS$_EXQUOTA  -- BUFFERED I/O OR AST QUOTA FAILURE

                                     0076   220 ;	SS$_INSUFMEM -- DYNAMIC MEMORY FAILURE

                                     0076   221 ;--

                                     0076   222 COM$SETATTNAST::			; SET UP ATTENTION AST

            56         28 A3     3C  0076   223 	MOVZWL	IRP$W_CHAN(R3),R6	; GET PACKET CHANNEL NUMBER

            58            6C     D0  007A   224 	MOVL	P1(AP),R8		; GET USER AST ADDRESS

                          AE     13  007D   225 	BEQL	COM$FLUSHATTNS		; IF EQL THEN DISABLE FUNCTION

                                     007F   226 ;

                                     007F   227 ; REQUEST TO ENABLE AST

                                     007F   228 ;

                                     007F   229 ; SET UP AST BLOCK

                                     007F   230 ;

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   7

X04             COM$SETATTNAST - SET UP ATTENTION AST                                                                            (5)



            50       0000'8F     3C  007F   231 	MOVZWL	#SS$_EXQUOTA,R0		; ASSUME AST QUOTA EXCEEDED

                       3C A4     B5  0084   232 	TSTW	PCB$W_ASTCNT(R4)	; AST QUOTA ALLOW CONTINUE?

                          4C     15  0087   233 	BLEQ	20$			; IF LEQ THEN NO

                       3C A4     B7  0089   234 	DECW	PCB$W_ASTCNT(R4)	; ADJUST QUOTA

            51            28     9A  008C   235 	MOVZBL	#ACB$L_KAST+16,R1	; SET SIZE OF NEEDED BLOCK

                          53     DD  008F   236 	PUSHL	R3			; SAVE PACKET ADDRESS

                          FF6C'  30  0091   237 	BSBW	EXE$ALLOCBUF		; ALLOCATE THE BUFFERED BLOCK

                          53   8ED0  0094   238 	POPL	R3			; RESTORE PACKET ADDRESS

            3B            50     E9  0097   239 	BLBC	R0,20$			; IF LOW SET THEN ALLOCATED

         0B A2            06     90  009A   240 	MOVB	#IPL$_QUEUEAST,ACB$B_RMOD(R2); INSERT FORK IPL

         18 A2            58     D0  009E   241 	MOVL	R8,ACB$L_KAST(R2)	; INSERT AST ROUTINE ADDRESS

         1C A2         04 AC     D0  00A2   242 	MOVL	P2(AP),ACB$L_KAST+4(R2)	; INSERT PARAMETER FOR AST

            50         08 AC     9A  00A7   243 	MOVZBL	P3(AP),R0		; GET REQUEST ACCESS MODE

                          FF52'  30  00AB   244 	BSBW	EXE$MAXACMODE		; MAXIMIZE ACCESS MODE

         20 A2            50     9A  00AE   245 	MOVZBL	R0,ACB$L_KAST+8(R2)	; INSERT IN CONTROL BLOCK

         20 A2         40 8F     88  00B2   246 	BISB	#ACB$M_QUOTA,ACB$L_KAST+8(R2); INSERT TARGET ACCESS MODE

         22 A2            56     B0  00B7   247 	MOVW	R6,ACB$L_KAST+10(R2)	; SAVE CHANNEL

         24 A2         60 A4     D0  00BB   248 	MOVL	PCB$L_PID(R4),ACB$L_KAST+12(R2); INSERT PID ADDRESS OF REQUESTOR

                                     00C0   249 ;

                                     00C0   250 ; LOCK OUT INTERRUPTS TO ENTER BLOCK ON UCB

                                     00C0   251 ;

                                     00C0   252 	DSBINT	UCB$B_DIPL(R5)		; LOCK OUT INTERRUPTS

            62            67     D0  00C7   253 	MOVL	(R7),(R2)		;  MERGE WITH CURRENT ENTRY

            67            52     D0  00CA   254 	MOVL	R2,(R7)			; INSERT NEW ENTRY VALUE

                                     00CD   255 	ENBINT				; LOWER IPL

            50         00'8F     9A  00D0   256 	MOVZBL	#SS$_NORMAL,R0		; SET NORMAL RETURN

                                 05  00D4   257 	RSB				; RETURN VIA EXE$FINISHIOC

                          FF28'  31  00D5   258 20$:	BRW	EXE$ABORTIO		; ABORT THE I/O

                                     00D8   259 ;

                                     00D8   260 	.END

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (5)



ACB$B_RMOD       0000000B            DYN$C_RVT      = 0000000E            IRP$S_FCODE    = 00000006            

ACB$B_TYPE       0000000A            DYN$C_SFT      = 00000024            IRP$S_FMOD     = 0000000A            

ACB$L_AST        00000010            DYN$C_SSB      = 0000001D            IRP$S_MODE     = 00000002            

ACB$L_ASTPRM     00000014            DYN$C_TQE      = 0000000F            IRP$V_BUFIO    = 00000000            

ACB$L_ASTQBL     00000004            DYN$C_TYPAHD   = 00000014            IRP$V_CHAINED  = 00000005            

ACB$L_ASTQFL     00000000            DYN$C_UCB      = 00000010            IRP$V_COMPLX   = 00000003            

ACB$L_KAST       00000018            DYN$C_VCB      = 00000011            IRP$V_DIAGBUF  = 00000007            

ACB$L_PID        0000000C            DYN$C_WCB      = 00000012            IRP$V_FCODE    = 00000000            

ACB$M_QUOTA    = 00000040            EXE$ABORTIO      ********   X   03   IRP$V_FMOD     = 00000006            

ACB$S_MODE     = 00000002            EXE$ALLOCBUF     ********   X   03   IRP$V_FUNC     = 00000001            

ACB$V_KAST     = 00000007            EXE$DEANONPAGED  ********   X   03   IRP$V_MODE     = 00000000            

ACB$V_MODE     = 00000000            EXE$FORK         ********   X   03   IRP$V_PAGIO    = 00000002            

ACB$V_QUOTA    = 00000006            EXE$MAXACMODE    ********   X   03   IRP$V_PHYSIO   = 00000008            

ACB$W_SIZE       00000008            GBL...         = 00000000            IRP$V_PRIVIO   = 00000009            

BIT...         = 00000000            IOC$GL_PSBL      ********   X   03   IRP$V_SWAPIO   = 00000006            

CCB$B_AMOD       00000009            IPL$_ASTDEL    = 00000002            IRP$V_VIRTUAL  = 00000004            

CCB$B_STS        00000008            IPL$_HWCLK     = 00000018            IRP$W_ABCNT      0000003C            

CCB$C_LENGTH     00000010            IPL$_IOPOST    = 00000004            IRP$W_BCNT       00000032            

CCB$K_LENGTH     00000010            IPL$_MAILBOX   = 0000000B            IRP$W_BOFF       00000030            

CCB$L_DIRP       0000000C            IPL$_POWER     = 0000001F            IRP$W_CHAN       00000028            

CCB$L_UCB        00000000            IPL$_QUEUEAST  = 00000006            IRP$W_FUNC       00000020            

CCB$L_WIND       00000004            IPL$_SCHED     = 00000003            IRP$W_OBCNT      0000003E            

CCB$W_IOC        0000000A            IPL$_SYNCH     = 00000007            IRP$W_SIZE       00000008            

COM$DELATTNAST   00000000 RG    03   IPL$_TIMER     = 00000007            IRP$W_STS        0000002A            

COM$FLUSHATTNS   0000002D RG    03   IRP$B_CARCON     00000038            IRP$W_TT_PRMPT   0000003C            

COM$POST         00000066 RG    03   IRP$B_EFN        00000022            P1             = 00000000            

COM$SETATTNAST   00000076 RG    03   IRP$B_PRI        00000023            P2             = 00000004            

DYN$C_ACB      = 00000002            IRP$B_RMOD       0000000B            P3             = 00000008            

DYN$C_ADP      = 00000001            IRP$B_TYPE       0000000A            P4             = 0000000C            

DYN$C_AQB      = 00000003            IRP$C_LENGTH     0000004C            P5             = 00000010            

DYN$C_BRDCST   = 0000001A            IRP$K_LENGTH     0000004C            P6             = 00000014            

DYN$C_BUFIO    = 00000013            IRP$L_AST        00000010            PCB$B_ASTACT     0000000C            

DYN$C_CEB      = 00000004            IRP$L_ASTPRM     00000014            PCB$B_ASTEN      0000000D            

DYN$C_CIR      = 0000001E            IRP$L_DIAGBUF    00000044            PCB$B_PRI        0000000B            

DYN$C_CRB      = 00000005            IRP$L_IOQBL      00000004            PCB$B_PRIB       00000033            

DYN$C_CXB      = 0000001B            IRP$L_IOQFL      00000000            PCB$B_TYPE       0000000A            

DYN$C_DDB      = 00000006            IRP$L_IOSB       00000024            PCB$B_WEFC       00000032            

DYN$C_FCB      = 00000007            IRP$L_IOST1      00000034            PCB$C_LENGTH     0000007C            

DYN$C_FRK      = 00000008            IRP$L_IOST2      00000038            PCB$K_LENGTH     0000007C            

DYN$C_GSD      = 00000015            IRP$L_MEDIA      00000034            PCB$L_ASTQBL     00000014            

DYN$C_IDB      = 00000009            IRP$L_PID        0000000C            PCB$L_ASTQFL     00000010            

DYN$C_IRP      = 0000000A            IRP$L_SEGVBN     00000040            PCB$L_EFC2P      00000058            

DYN$C_JPB      = 0000001F            IRP$L_SEQNUM     00000048            PCB$L_EFC3P      0000005C            

DYN$C_KFH      = 00000026            IRP$L_SVAPTE     0000002C            PCB$L_EFCS       00000050            

DYN$C_KFI      = 00000018            IRP$L_TT_TERM    00000038            PCB$L_EFCU       00000054            

DYN$C_LOG      = 0000000B            IRP$L_UCB        0000001C            PCB$L_EFWM       0000004C            

DYN$C_MTL      = 00000019            IRP$L_WIND       00000018            PCB$L_OWNER      0000001C            

DYN$C_MVL      = 00000016            IRP$M_BUFIO    = 00000001            PCB$L_PHD        00000064            

DYN$C_NDB      = 0000001C            IRP$M_CHAINED  = 00000020            PCB$L_PHYPCB     00000018            

DYN$C_NET      = 00000017            IRP$M_COMPLX   = 00000008            PCB$L_PID        00000060            

DYN$C_PBH      = 00000020            IRP$M_DIAGBUF  = 00000080            PCB$L_PQB        0000004C            

DYN$C_PCB      = 0000000C            IRP$M_FUNC     = 00000002            PCB$L_SQBL       00000004            

DYN$C_PDB      = 00000021            IRP$M_PAGIO    = 00000004            PCB$L_SQFL       00000000            

DYN$C_PFL      = 00000023            IRP$M_PHYSIO   = 00000100            PCB$L_STS        00000028            

DYN$C_PIB      = 00000022            IRP$M_PRIVIO   = 00000200            PCB$L_UIC        00000020            

DYN$C_PQB      = 0000000D            IRP$M_SWAPIO   = 00000040            PCB$L_WSSWP      00000024            

DYN$C_PTR      = 00000025            IRP$M_VIRTUAL  = 00000010            PCB$L_WTIME      0000002C            

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page   9

SYMBOL TABLE                                                                                                                     (5)



PCB$T_LNAME      0000006C            PR$_RXCS       = 00000020            PSL$C_KERNEL   = 00000000            

PCB$V_ASTPEN   = 00000011            PR$_RXDB       = 00000021            PSL$C_SUPER    = 00000002            

PCB$V_BATCH    = 0000000E            PR$_SBIER      = 00000034            PSL$C_USER     = 00000003            

PCB$V_DELPEN   = 00000001            PR$_SBIFS      = 00000030            PSL$M_CM       = 80000000            

PCB$V_FORCPEN  = 00000002            PR$_SBIMT      = 00000033            PSL$M_CURMOD   = 03000000            

PCB$V_HIBER    = 00000013            PR$_SBIQC      = 00000036            PSL$M_DV       = 00000080            

PCB$V_INQUAN   = 00000003            PR$_SBIS       = 00000031            PSL$M_FPD      = 08000000            

PCB$V_LOGIN    = 00000014            PR$_SBISC      = 00000032            PSL$M_FU       = 00000040            

PCB$V_NOACNT   = 0000000F            PR$_SBITA      = 00000035            PSL$M_IPL      = 001F0000            

PCB$V_PHDRES   = 00000012            PR$_SBR        = 0000000C            PSL$M_IS       = 04000000            

PCB$V_PSWAPM   = 00000004            PR$_SCBB       = 00000011            PSL$M_IV       = 00000020            

PCB$V_RES      = 00000000            PR$_SID        = 0000003E            PSL$M_PRVMOD   = 00C00000            

PCB$V_RESPEN   = 00000005            PR$_SIRR       = 00000014            PSL$M_SAFBITS  = 000037FF            

PCB$V_SSFEXC   = 00000006            PR$_SISR       = 00000015            PSL$M_TBIT     = 00000010            

PCB$V_SSFEXCE  = 00000007            PR$_SLR        = 0000000D            PSL$M_TP       = 40000000            

PCB$V_SSFEXCS  = 00000008            PR$_SSP        = 00000002            PSL$S_CURMOD   = 00000002            

PCB$V_SSFEXCU  = 00000009            PR$_TBIA       = 00000039            PSL$S_IPL      = 00000005            

PCB$V_SSRWAIT  = 0000000A            PR$_TBIS       = 0000003A            PSL$S_PRVMOD   = 00000002            

PCB$V_SUSPEN   = 0000000B            PR$_TODR       = 0000001B            PSL$V_CM       = 0000001F            

PCB$V_SWPVBN   = 00000010            PR$_TXCS       = 00000022            PSL$V_CURMOD   = 00000018            

PCB$V_WAKEPEN  = 0000000C            PR$_TXDB       = 00000023            PSL$V_DV       = 00000007            

PCB$V_WALL     = 0000000D            PR$_USP        = 00000003            PSL$V_FPD      = 0000001B            

PCB$W_APTCNT     00000034            PR$_WCSA       = 0000002C            PSL$V_FU       = 00000006            

PCB$W_ASTCNT     0000003C            PR$_WCSD       = 0000002D            PSL$V_IPL      = 00000010            

PCB$W_BIOCNT     0000003E            PRI$_IOCOM     = 00000001            PSL$V_IS       = 0000001A            

PCB$W_BIOLM      00000040            PRI$_NULL      = 00000000            PSL$V_IV       = 00000005            

PCB$W_BYTCNT     00000042            PRI$_RESAVL    = 00000002            PSL$V_PRVMOD   = 00000016            

PCB$W_BYTLM      00000068            PRI$_TICOM     = 00000004            PSL$V_TBIT     = 00000004            

PCB$W_DIOCNT     00000044            PRI$_TIMER     = 00000002            PSL$V_TP       = 0000001E            

PCB$W_DIOLM      00000046            PRI$_TOCOM     = 00000003            RSN$_ASTWAIT   = 00000001            

PCB$W_FILCNT     00000048            PRV$V_ALLSPOOL = 00000004            RSN$_BRKTHRU   = 00000006            

PCB$W_GPGCNT     00000038            PRV$V_BUGCHK   = 00000017            RSN$_MAILBOX   = 00000002            

PCB$W_GRP        00000022            PRV$V_CMEXEC   = 00000001            RSN$_NPDYNMEM  = 00000003            

PCB$W_MEM        00000020            PRV$V_CMKRNL   = 00000000            RSN$_PGDYNMEM  = 00000005            

PCB$W_MTXCNT     0000000E            PRV$V_DETACH   = 00000005            RSN$_PGFILE    = 00000004            

PCB$W_PPGCNT     0000003A            PRV$V_DEVCHAR  = 00000011            SCH$QAST         ********   X   03   

PCB$W_PRCCNT     0000006A            PRV$V_DIAGNOSE = 00000006            SS$_EXQUOTA      ********   X   03   

PCB$W_SIZE       00000008            PRV$V_EXQUOTA  = 00000013            SS$_NORMAL       ********   X   03   

PCB$W_STATE      00000030            PRV$V_GROUP    = 00000008            UCB$B_AMOD       00000053            

PCB$W_TMBU       00000036            PRV$V_GRPNAM   = 00000003            UCB$B_CEX        00000077            

PCB$W_TQCNT      0000004A            PRV$V_LOG_IO   = 00000007            UCB$B_CM1        0000004A            

PR$_ACCR       = 00000029            PRV$V_NETMBX   = 00000014            UCB$B_CM2        0000004B            

PR$_ACCS       = 00000028            PRV$V_NOACNT   = 00000009            UCB$B_DEVCLASS   00000038            

PR$_ASTLVL     = 00000013            PRV$V_OPER     = 00000012            UCB$B_DEVTYPE    00000039            

PR$_ESP        = 00000001            PRV$V_PHY_IO   = 00000016            UCB$B_DIPL       00000052            

PR$_ICCS       = 00000018            PRV$V_PRMCEB   = 0000000A            UCB$B_DX_SCTCNT  FFFFFFFE            

PR$_ICR        = 0000001A            PRV$V_PRMGBL   = 00000018            UCB$B_DX_SPARE   FFFFFFFF            

PR$_IPL        = 00000012            PRV$V_PRMMBX   = 0000000B            UCB$B_ERTCNT     00000070            

PR$_ISP        = 00000004            PRV$V_PSWAPM   = 0000000C            UCB$B_ERTMAX     00000071            

PR$_KSP        = 00000000            PRV$V_SETPRI   = 0000000D            UCB$B_ESCAPE     0000004B            

PR$_MAPEN      = 00000038            PRV$V_SETPRV   = 0000000E            UCB$B_FEX        00000076            

PR$_NICR       = 00000019            PRV$V_SYSGBL   = 00000019            UCB$B_FIPL       0000000B            

PR$_P0BR       = 00000008            PRV$V_SYSNAM   = 00000002            UCB$B_LOCSRV     0000003C            

PR$_P0LR       = 00000009            PRV$V_TMPMBX   = 0000000F            UCB$B_OFFNDX     00000090            

PR$_P1BR       = 0000000A            PRV$V_VOLPRO   = 00000015            UCB$B_OFFRTC     00000091            

PR$_P1LR       = 0000000B            PRV$V_WORLD    = 00000010            UCB$B_REMSRV     0000003D            

PR$_PCBB       = 00000010            PSL$C_EXEC     = 00000001            UCB$B_SECTORS    0000003C            

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page  10

SYMBOL TABLE                                                                                                                     (5)



UCB$B_SLAVE      00000074            UCB$M_JOB      = 00000001            UCB$W_CYLINDERS  0000003E            

UCB$B_SPR        00000075            UCB$M_MOUNTING = 00000200            UCB$W_DA         00000088            

UCB$B_STATE      00000052            UCB$M_NOCNVRT  = 00000004            UCB$W_DC         0000008A            

UCB$B_TRACKS     0000003D            UCB$M_NT_BFROVF= 00000004            UCB$W_DEVBUFSIZ  0000003A            

UCB$B_TYPE       0000000A            UCB$M_NT_BREAK = 00000020            UCB$W_DEVSTS     0000005A            

UCB$B_VERTSZ     0000003F            UCB$M_NT_NAME  = 00000010            UCB$W_DSTADDR    00000018            

UCB$C_LENGTH     00000074            UCB$M_NT_NONTR = 00000040            UCB$W_DX_BCR     FFFFFFFC            

UCB$C_LOGLNK   = 00000001            UCB$M_NT_SDP   = 00000008            UCB$W_EC1        0000008C            

UCB$K_LENGTH     00000074            UCB$M_ONLINE   = 00000010            UCB$W_EC2        0000008E            

UCB$L_AMB        00000054            UCB$M_POWER    = 00000020            UCB$W_ERRCNT     00000072            

UCB$L_ASTQBL     00000010            UCB$M_PRMMBX   = 00000001            UCB$W_FUNC       00000084            

UCB$L_ASTQFL     0000000C            UCB$M_TIM      = 00000001            UCB$W_MB_SEED    FFFFFFFC            

UCB$L_CPID       0000005C            UCB$M_TIMOUT   = 00000040            UCB$W_MSGCNT     00000016            

UCB$L_CRB        00000020            UCB$M_TT_NOTIF = 00000004            UCB$W_MSGMAX     00000014            

UCB$L_DDB        00000024            UCB$M_TT_TIMO  = 00000002            UCB$W_NT_CHAN    0000007C            

UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            UCB$W_OFFSET     00000086            

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

UCB$L_DPC        0000007C            UCB$S_LTYPE    = 00000002            UCB$W_SIZE       00000008            

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

UCB$L_DX_BFPNT   FFFFFFF4            UCB$V_BACKP    = 00000005            UCB$W_STS        00000058            

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

UCB$L_DX_RXDB    FFFFFFF8            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   00000080            UCB$V_MSGACK   = 00000004            

UCB$L_MEDIA      00000088            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_NT_NONTR = 00000006            

UCB$L_RQBL       00000004            UCB$V_NT_SDP   = 00000003            

UCB$L_RQFL       00000000            UCB$V_ONLINE   = 00000004            

UCB$L_SVAPTE     00000068            UCB$V_POWER    = 00000005            

UCB$L_SVPN       00000064            UCB$V_PRMMBX   = 00000000            

UCB$L_TTCHAR     0000003C            UCB$V_SEGFLO   = 00000002            

UCB$L_VCB        00000030            UCB$V_TIM      = 00000000            

UCB$M_BSY      = 00000100            UCB$V_TIMOUT   = 00000006            

UCB$M_CANCEL   = 00000008            UCB$V_TT_NOTIF = 00000002            

UCB$M_DEADMO   = 00000400            UCB$V_TT_TIMO  = 00000001            

UCB$M_DELMBX   = 00000002            UCB$V_VALID    = 0000000B            

UCB$M_DIAGBUF  = 00000002            UCB$W_BCNT       0000006E            

UCB$M_DX_WRITE = 00000008            UCB$W_BCR        00000092            

UCB$M_ECC      = 00000001            UCB$W_BOFF       0000006C            

UCB$M_ERLOGIP  = 00000004            UCB$W_BUFQUO     00000018            

UCB$M_INT      = 00000002            UCB$W_BYTESTOGO  0000003E            

UCB$M_INTTYPE  = 00000080            UCB$W_CHARGE     0000004A            

COMDRVSUB       - COMMUNUCATION DRIVERS SUBROUTINES              21-AUG-1978 23:26:43   VAX-11 MACRO X0.3-11               Page  11

PROGRAM SECTION SYNOPSIS                                                                                                         (5)







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$            FFFFFFFF      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

WIONONPAGED      000000D8      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

12476. BYTES LEFT IN FREE MEMORY POOL.

3404. BYTES OF RECLAIMED MEMORY.

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

7 MLB DIR RDS - 789 GETS TO DEFINE 25 MACROS. 56 INTER. FILE WRITES. 

