NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      48  NULL DEVICE FUNCTION DECISION TABLE

   (1)      68  NULL DEVICE FUNCTION DECISION TABLE ROUTINES

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	NLDRIVER - NULL DEVICE DRIVER

                                     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 8-AUG-77

                                     0000    24 ;

                                     0000    25 ; NULL DEVICE DRIVER

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	$IODEF				;DEFINE I/O FUNCTION CODES

                                     0000    31 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    32  

                                     0000    33 ;

                                     0000    34 ; LOCAL DATA

                                     0000    35 ;

                                     0000    36 ; DRIVER DISPATCH TABLE

                                     0000    37 ;

                                     0000    38  

                                 00000000    39 	.PSECT	WIONONPAGED

                                     0000    40 NL$DDT::				;ADDRESS OF DRIVER DISPATCH TABLE

                           00000000  0000    41 	.LONG	0			;START I/O OPERATION

                           00000000  0004    42 	.LONG	0			;UNSOLICITED INTERRUPT

                           00000018' 0008    43 	.LONG	FUNCTABLE		;FUNCTION DECISION TABLE ADDRESS

                           00000000  000C    44 	.LONG	0			;CANCEL I/O ENTRY POINT

                           00000000  0010    45 	.LONG	0			;ADDRESS OF REGISTER DUMP ROUTINE

                           00000000  0014    46 	.LONG	0			;DIAGNOSTIC AND ERROR BUFFER SIZES

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   2

01              NULL DEVICE FUNCTION DECISION TABLE                                                                              (1)



                                     0018    48 	.SBTTL	NULL DEVICE FUNCTION DECISION TABLE

                                     0018    49 ;+

                                     0018    50 ; NULL DEVICE FUNCTION DECISION TABLE

                                     0018    51 ;-

                                     0018    52  

                                     0018    53 FUNCTABLE:				;FUNCTION DECISION TABLE

                                     0018    54 	FUNCTAB	,-			;LEGAL FUNCTIONS

                                     0018    55 		<READLBLK,-		;READ LOGICAL BLOCK

                                     0018    56 		 READVBLK,-		;READ VIRTUAL BLOCK

                                     0018    57 		 WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     0018    58 		 WRITEVBLK>		;WRITE VIRTUAL BLOCK

                                     0020    59 	FUNCTAB	,-			;BUFFERED I/O FUNCTIONS

                                     0020    60 		<>			;NO BUFFERED I/O FUNCTIONS

                                     0028    61 	FUNCTAB	READ,-			;READ FUNCTIONS

                                     0028    62 		<READLBLK,-		;READ LOGICAL BLOCK

                                     0028    63 		 READVBLK>		;READ VIRTUAL BLOCK

                                     0034    64 	FUNCTAB	WRITE,-			;WRITE FUNCTIONS

                                     0034    65 		<WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     0034    66 		 WRITEVBLK>		;WRITE VIRTUAL BLOCK

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   3

01              NULL DEVICE FUNCTION DECISION TABLE ROUTINES                                                                     (1)



                                     0040    68 	.SBTTL	NULL DEVICE FUNCTION DECISION TABLE ROUTINES

                                     0040    69 ;+

                                     0040    70 ; READ - READ FUNCTIONS

                                     0040    71 ; WRITE - WRITE FUNCTIONS

                                     0040    72 ;

                                     0040    73 ; THE NULL DEVICE IS A SPECIAL DEVICE IN THAT ALL WRITES ARE DISCARDED AND ALL

                                     0040    74 ; READS RETURN AN END OF FILE STATUS. THERE IS NO ACTUAL DRIVER, BUT RATHER ALL

                                     0040    75 ; PROCESSING IS DONE BY FUNCTION DECISION TABLE ROUTINES.

                                     0040    76 ;

                                     0040    77 ; INPUTS:

                                     0040    78 ;

                                     0040    79 ;	R0 = SCRATCH.

                                     0040    80 ;	R1 = SCRATCH.

                                     0040    81 ;	R2 = SCRATCH.

                                     0040    82 ;	R3 = ADDRESS OF I/O REQUEST PACKET.

                                     0040    83 ;	R4 = CURRENT PROCESS PCB ADDRESS.

                                     0040    84 ;	R5 = ASSIGNED DEVICE UCB ADDRESS.

                                     0040    85 ;	R6 = ADDRESS OF CCB.

                                     0040    86 ;	R7 = I/O FUNCTION CODE BIT NUMBER.

                                     0040    87 ;	R8 = FUNCTION DECISION TABLE DISPATCH ADDRESS.

                                     0040    88 ;	R9 = SCRATCH.

                                     0040    89 ;	R10 = SCRATCH.

                                     0040    90 ;	R11 = SCRATCH.

                                     0040    91 ;	AP = ADDRESS OF FIRST FUNCTION DEPENDENT PARAMETER.

                                     0040    92 ;

                                     0040    93 ; OUTPUTS:

                                     0040    94 ;

                                     0040    95 ;	IF THE FUNCTION IS A READ, THEN SS$_ENDOFFILE IS RETURNED.

                                     0040    96 ;

                                     0040    97 ;	IF THE FUNCTION IS A WRITE, THEN SS$_NORMAL IS RETURNED.

                                     0040    98 ;-

                                     0040    99  

                                     0040   100 	.ENABL	LSB

                                 00000000   101 	.PSECT	Y$EXEPAGED

            50       0870 8F     3C  0000   102 READ:	MOVZWL	#SS$_ENDOFFILE,R0	;SET END OF FILE STATUS

                          03     11  0005   103 	BRB	10$			;

            50            01     3C  0007   104 WRITE:	MOVZWL	#SS$_NORMAL,R0		;SET NORMAL COMPLETION

                 00000000'EF     17  000A   105 10$:	JMP	EXE$FINISHIOC		;FINISH I/O OPERATION

                                     0010   106 	.DSABL	LSB

                                     0010   107  

                                     0010   108 	.END

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   4

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 00000000            IO$V_ENABLMBX  = 00000007            IO$_SKIPFILE   = 00000025            

EXE$FINISHIOC    ********   X   04   IO$V_FCODE     = 00000000            IO$_SKIPRECORD = 00000026            

FUNCTABLE        00000018 R     03   IO$V_HANGUP    = 00000009            IO$_SPACEFILE  = 00000002            

GBL...         = 00000000            IO$V_INHERLOG  = 0000000B            IO$_SPACERECORD= 00000009            

IO$M_ABORT     = 00000100            IO$V_INHEXTGAP = 0000000C            IO$_STARTSPNDL = 00000019            

IO$M_ACCESS    = 00000040            IO$V_INHRETRY  = 0000000F            IO$_UNLOAD     = 00000001            

IO$M_ATTNAST   = 00000100            IO$V_INHSEEK   = 0000000C            IO$_VIRTUAL    = 0000003F            

IO$M_BINARY    = 00000040            IO$V_INTERRUPT = 00000006            IO$_WRITECHECK = 0000000A            

IO$M_CANCTRLO  = 00000040            IO$V_MOUNT     = 00000009            IO$_WRITECHECKH= 00000018            

IO$M_COMMOD    = 00000040            IO$V_NOECHO    = 00000006            IO$_WRITEHEAD  = 0000000D            

IO$M_CREATE    = 00000080            IO$V_NOFILTR   = 00000009            IO$_WRITELBLK  = 00000020            

IO$M_CTRLCAST  = 00000100            IO$V_NOFORMAT  = 00000008            IO$_WRITEMARK  = 0000001C            

IO$M_CTRLYAST  = 00000080            IO$V_NOW       = 00000006            IO$_WRITEOF    = 00000028            

IO$M_CVTLOW    = 00000100            IO$V_NOWAIT    = 00000007            IO$_WRITEPBLK  = 0000000B            

IO$M_DATACHECK = 00004000            IO$V_PACKED    = 00000007            IO$_WRITETRACKD= 0000000F            

IO$M_DELETE    = 00000100            IO$V_PURGE     = 0000000B            IO$_WRITEVBLK  = 00000030            

IO$M_DMOUNT    = 00000400            IO$V_READATTN  = 00000007            MASKH          = 00010001            

IO$M_DSABLMBX  = 00000400            IO$V_REVERSE   = 00000006            MASKL          = 00000000            

IO$M_ENABLMBX  = 00000080            IO$V_SHUTDOWN  = 00000007            NL$DDT           00000000 RG    03   

IO$M_FCODE     = 0000003F            IO$V_STARTUP   = 00000006            READ             00000000 R     04   

IO$M_HANGUP    = 00000200            IO$V_SYNCH     = 00000009            SS$_ABORT      = 0000002C            

IO$M_INHERLOG  = 00000800            IO$V_TIMED     = 00000007            SS$_ACCONFLICT = 00000800            

IO$M_INHEXTGAP = 00001000            IO$V_TRMNOECHO = 0000000C            SS$_ACCVIO     = 0000000C            

IO$M_INHRETRY  = 00008000            IO$V_WRTATTN   = 00000008            SS$_ARITH      = 00000404            

IO$M_INHSEEK   = 00001000            IO$_ACCESS     = 00000032            SS$_ASTFLT     = 0000040C            

IO$M_INTERRUPT = 00000040            IO$_ACPCONTROL = 00000038            SS$_BADATTRIB  = 00000034            

IO$M_MOUNT     = 00000200            IO$_CREATE     = 00000033            SS$_BADCHKSUM  = 00000808            

IO$M_NOECHO    = 00000040            IO$_DEACCESS   = 00000034            SS$_BADESCAPE  = 0000003C            

IO$M_NOFILTR   = 00000200            IO$_DELETE     = 00000035            SS$_BADFILEHDR = 00000810            

IO$M_NOFORMAT  = 00000100            IO$_DIAGNOSE   = 0000001D            SS$_BADFILENAME= 00000818            

IO$M_NOW       = 00000040            IO$_DRVCLR     = 00000004            SS$_BADFILEVER = 00000820            

IO$M_NOWAIT    = 00000080            IO$_ERASETAPE  = 00000006            SS$_BADIMGHDR  = 00000044            

IO$M_PACKED    = 00000080            IO$_LOGICAL    = 0000002F            SS$_BADIRECTORY= 00000828            

IO$M_PURGE     = 00000800            IO$_MODIFY     = 00000036            SS$_BADPARAM   = 00000014            

IO$M_READATTN  = 00000080            IO$_MOUNT      = 00000039            SS$_BADSTACK   = 000002B4            

IO$M_REVERSE   = 00000040            IO$_NOP        = 00000000            SS$_BEGOFFILE  = 00000938            

IO$M_SHUTDOWN  = 00000080            IO$_OFFSET     = 00000006            SS$_BLOCKCNTERR= 00000940            

IO$M_STARTUP   = 00000040            IO$_PACKACK    = 00000008            SS$_BREAK      = 00000414            

IO$M_SYNCH     = 00000200            IO$_PHYSICAL   = 0000001F            SS$_BUFFEROVF  = 00000601            

IO$M_TIMED     = 00000080            IO$_READHEAD   = 0000000E            SS$_BUGCHECK   = 000002A4            

IO$M_TRMNOECHO = 00001000            IO$_READLBLK   = 00000021            SS$_CANCEL     = 00000830            

IO$M_WRTATTN   = 00000100            IO$_READPBLK   = 0000000C            SS$_CHANINTLK  = 0000004C            

IO$S_FCODE     = 00000006            IO$_READPRESET = 00000019            SS$_CLIFRCEXT  = 00000980            

IO$V_ABORT     = 00000008            IO$_READPROMPT = 00000037            SS$_CMODSUPR   = 0000041C            

IO$V_ACCESS    = 00000006            IO$_READTRACKD = 00000010            SS$_CMODUSER   = 00000424            

IO$V_ATTNAST   = 00000008            IO$_READVBLK   = 00000031            SS$_COMPAT     = 0000042C            

IO$V_BINARY    = 00000006            IO$_RECAL      = 00000003            SS$_CONTINUE   = 00000001            

IO$V_CANCTRLO  = 00000006            IO$_RELEASE    = 00000005            SS$_CONTROLC   = 00000651            

IO$V_COMMOD    = 00000006            IO$_RETCENTER  = 00000007            SS$_CONTROLO   = 00000609            

IO$V_CREATE    = 00000007            IO$_REWIND     = 00000024            SS$_CONTROLY   = 00000611            

IO$V_CTRLCAST  = 00000008            IO$_REWINDOFF  = 00000022            SS$_CREATED    = 00000619            

IO$V_CTRLYAST  = 00000007            IO$_SEARCH     = 00000009            SS$_CTRLERR    = 00000054            

IO$V_CVTLOW    = 00000008            IO$_SEEK       = 00000002            SS$_DATACHECK  = 0000005C            

IO$V_DATACHECK = 0000000E            IO$_SENSECHAR  = 0000001B            SS$_DATAOVERUN = 00000838            

IO$V_DELETE    = 00000008            IO$_SENSEMODE  = 00000027            SS$_DEBUG      = 0000046C            

IO$V_DMOUNT    = 0000000A            IO$_SETCHAR    = 0000001A            SS$_DEVACTIVE  = 000002C4            

IO$V_DSABLMBX  = 0000000A            IO$_SETMODE    = 00000023            SS$_DEVALLOC   = 00000840            

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   5

SYMBOL TABLE                                                                                                                     (1)



SS$_DEVALRALLOC= 00000641            SS$_IVDEVNAM   = 00000144            SS$_RESIGNAL   = 00000918            

SS$_DEVASSIGN  = 00000848            SS$_IVGSDNAM   = 0000014C            SS$_RESULTOVF  = 00000214            

SS$_DEVFOREIGN = 00000064            SS$_IVLOGNAM   = 00000154            SS$_ROPRAND    = 00000454            

SS$_DEVICEFULL = 00000850            SS$_IVLOGTAB   = 0000015C            SS$_SECTBLFUL  = 0000021C            

SS$_DEVMOUNT   = 0000006C            SS$_IVPROTECT  = 000002F4            SS$_SSFAIL     = 0000045C            

SS$_DEVNOTALLOC= 00000858            SS$_IVQUOTAL   = 00000164            SS$_SUPERSEDE  = 00000631            

SS$_DEVNOTMBX  = 00000074            SS$_IVSECFLG   = 0000016C            SS$_TAPEPOSLOST= 00000224            

SS$_DEVNOTMOUNT= 0000007C            SS$_IVSECIDCTL = 000002E4            SS$_TBIT       = 00000464            

SS$_DEVOFFLINE = 00000084            SS$_IVSSRQ     = 00000174            SS$_TIMEOUT    = 0000022C            

SS$_DIRFULL    = 00000860            SS$_IVSTSFLG   = 0000017C            SS$_TOOMANYVER = 00000990            

SS$_DRVERR     = 0000008C            SS$_IVTIME     = 00000184            SS$_TOOMUCHDATA= 0000029C            

SS$_DUPFILENAME= 00000868            SS$_LENVIO     = 0000018C            SS$_UNASEFC    = 00000234            

SS$_DUPLNAM    = 00000094            SS$_LKWSETFUL  = 00000194            SS$_UNSAFE     = 0000023C            

SS$_ENDOFFILE  = 00000870            SS$_MBFULL     = 000008D8            SS$_UNWIND     = 00000920            

SS$_ENDOFTAPE  = 00000878            SS$_MBTOOSML   = 0000019C            SS$_UNWINDING  = 00000928            

SS$_ENDOFUSRLBL= 00000970            SS$_MCHECK     = 000002BC            SS$_VASFULL    = 00000244            

SS$_EXQUOTA    = 0000001C            SS$_MEDOFL     = 000001A4            SS$_VECINUSE   = 0000024C            

SS$_EXTIDXFILE = 00000880            SS$_MSGNOTFND  = 00000621            SS$_VOLINV     = 00000254            

SS$_FCPREADERR = 00000888            SS$_MUSTCLOSEFL= 00000948            SS$_WAITUSRLBL = 00000950            

SS$_FCPREPSTN  = 00000988            SS$_NODATA     = 000001AC            SS$_WASCLR     = 00000001            

SS$_FCPREWNDERR= 00000890            SS$_NOHANDLER  = 000008F8            SS$_WASECC     = 00000639            

SS$_FCPSPACERR = 00000898            SS$_NOHOMEBLK  = 000008E0            SS$_WASSET     = 00000009            

SS$_FCPWRITERR = 000008A0            SS$_NOIOCHAN   = 000001B4            SS$_WRITLCK    = 0000025C            

SS$_FILACCERR  = 0000009C            SS$_NOLINKS    = 0000027C            WRITE            00000007 R     04   

SS$_FILALRACC  = 000000A4            SS$_NOLOGNAM   = 000001BC            

SS$_FILELOCKED = 000008A8            SS$_NOMBX      = 00000274            

SS$_FILENUMCHK = 000008B0            SS$_NOMOREFILES= 00000930            

SS$_FILESEQCHK = 000008B8            SS$_NONEXDRV   = 000001C4            

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

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

SS$_FILNOTCNTG = 000002AC            SS$_NOPRIV     = 00000024            

SS$_FILNOTEXP  = 000000B4            SS$_NORMAL     = 00000001            

SS$_FORMAT     = 000000BC            SS$_NOSIGNAL   = 00000900            

SS$_GPTFULL    = 000000C4            SS$_NOSOLICIT  = 00000284            

SS$_GSDFULL    = 000000CC            SS$_NOSUCHDEV  = 00000908            

SS$_GSDNOTXXX  = 000000D4            SS$_NOSUCHFILE = 00000910            

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

SS$_HEADERFULL = 000008C8            SS$_NOSUCHSEC  = 00000978            

SS$_IDXFILEFULL= 000008D0            SS$_NOTAPEOP   = 00000264            

SS$_ILLBLKNUM  = 000000DC            SS$_NOTFILEDEV = 000001CC            

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

SS$_ILLEFC     = 000000EC            SS$_NOTLABELMT = 000001DC            

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

SS$_ILLLBLAST  = 00000968            SS$_NOTRAN     = 00000629            

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

SS$_ILLSEQOP   = 000002DC            SS$_OPCCUS     = 00000434            

SS$_ILLSER     = 00000104            SS$_OPCDEC     = 0000043C            

SS$_ILLUSRLBLRD= 00000958            SS$_OPINCOMPL  = 000002D4            

SS$_ILLUSRLBLWT= 00000960            SS$_PAGOWNVIO  = 000001EC            

SS$_INCVOLLABEL= 0000010C            SS$_PAGRDERR   = 00000444            

SS$_INSFARG    = 00000114            SS$_PARITY     = 000001F4            

SS$_INSFMEM    = 00000124            SS$_PARTESCAPE = 000001FC            

SS$_INSFRAME   = 0000012C            SS$_PFMBSY     = 00000204            

SS$_INSFWSL    = 0000011C            SS$_PSTFULL    = 0000020C            

SS$_IVADDR     = 00000134            SS$_RADRMOD    = 0000044C            

SS$_IVCHAN     = 0000013C            SS$_REJECT     = 00000294            

SS$_IVCHNLSEC  = 0000026C            SS$_REMOTE     = 00000649            

NLDRIVER        - NULL DEVICE DRIVER                             21-AUG-1978 23:56:34   VAX-11 MACRO X0.3-11               Page   6

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

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

Y$EXEPAGED       00000010      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

16366. BYTES LEFT IN FREE MEMORY POOL.

3390. BYTES OF RECLAIMED MEMORY.

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

3 MLB DIR RDS - 453 GETS TO DEFINE 11 MACROS. 39 INTER. FILE WRITES. 

