Specifications
Operating System Routines
IOC$REQDATAP, IOC$REQDATAPNW
If IOC$REQDATAP or IOC$REQDATAPNW locates a free data path, it writes
the data path number into CRB$L_INTD+VEC$B_DATAPATH, updates the data
path bit map (ADP$W_DPBITMAP), and returns successfully to its caller. If the
bit map has been corrupted, the routine issues an INCONSTATE bugcheck.
If IOC$REQDATAP cannot allocate a data path, it saves process context by
placing the contents of R3, R4, and the PC into the UCB fork block and the UCB
into the data-path wait queue (ADP$L_DPQBL). It then returns to its caller’s
caller. By contrast, if IOC$REQDATAPNW cannot allocate a data path, it returns
immediately to its caller with the low bit in R0 clear, indicating an error.
When called from a driver executing in a VAX system that does not provide
buffered data paths, IOC$REQDATAP and IOC$REQDATAPNW return control
after examining the data path bit map in the ADP.
3–134