Specifications

Data Structures
1.11 Interrupt Dispatch Block (IDB)
Table 1–13 (Cont.) Contents of Interrupt Dispatch Block
Field Name Contents
IDB$L_ADP* Address of the adapter’s ADP. The SYSGEN CONNECT command must
specify the nexus number of the I/O adapter used by a device. The driver-
loading procedure writes the address of the ADP for the specified I/O adapter
into the IDB$L_ADP field.
IDB$L_UCBLST* List of UCB addresses. The size of this field is the maximum number of
units supported by the controller, as defined in the DPT. The maximum
specified in the DPT can be overridden at driver load time. The driver-
loading procedure writes a UCB address into this field every time the
routine creates a new UCB associated with the controller.
1.12 I/O Request Packet (IRP)
When a user process queues a valid I/O request by issuing a $QIO or $QIOW
system service, the service creates an I/O request packet (IRP). The IRP contains
a description of the request and receives the status of the I/O processing as it
proceeds.
The I/O request packet is illustrated in Figure 1–15 and described in Table 1–14.
Note that the standard IRP contains space for fields required by multiprocessing
and the class drivers. Under no circumstances should a driver not supplied by
Digital use these fields.
Figure 1–15 I/O Request Packet (IRP)
IRP$L_IOQFL 0
IRP$L_IOQBL 4
IRP$W_SIZE*IRP$B_TYPE*IRP$B_RMOD* 8
IRP$L_PID* 12
IRP$L_AST* 16
IRP$L_ASTPRM* 20
IRP$L_WIND* 24
IRP$L_UCB* 28
IRP$W_FUNCIRP$B_EFN*IRP$B_PRI* 32
IRP$L_IOSB* 36
IRP$W_CHAN*IRP$W_STS 40
IRP$L_SVAPTE 44
IRP$W_BOFF
(continued on next page)
1–44