Specifications

Writing FDT Routines
5.2 Upper-Level FDT Action Routines
Table 5–1 (Cont.) System-Provided Upper-Level FDT Action Routines
FDT Routine Function Completion Routine Used
ACP_STD$MOUNT Initiates ACP mount function processing Calls EXE_STD$ABORTIO,
EXE_STD$QIODRVPKT, or
EXE_STD$FINISHIO
ACP_STD$READBLK Processes a read block ACP function Calls EXE_STD$ABORTIO,
EXE_STD$QIODRVPKT, or
EXE_STD$FINISHIO
ACP_STD$WRITEBLK Processes a write block ACP function Calls EXE_STD$ABORTIO,
EXE_STD$QIODRVPKT, or
EXE_STD$FINISHIO
EXE$ILLIOFUNC Processes I/O functions not supported by
the driver
Calls EXE_STD$ABORTIO
EXE_
STD$LCLDSKVALID
Processes an IO$_PACKACK, IO$_
AVAILABLE, or IO$_UNLOAD function on
a local disk
EXE_STD$FINISHIO or EXE_
STD$QIODRVPKT
EXE_STD$MODIFY Processes a logical-read/write or physical-
read/write function for a read and write
direct I/O operation to a user-specified
buffer
Calls EXE_STD$ABORTIO if
an error occurs (for instance, if
the user I/O buffers cannot be
accessed or cannot be locked in
memory); otherwise, calls EXE_
STD$QIODRVPKT
EXE_STD$ONEPARM Processes a nontransfer I/O function code
that has one parameter associated with it
Calls EXE_STD$QIODRVPKT
EXE_STD$READ Processes a logical-read or physical-read
function for a direct I/O operation
Calls EXE_STD$ABORTIO if
an error occurs (for instance,
if the user I/O buffers cannot
be accessed or locked in
memory); otherwise, calls EXE_
STD$QIODRVPKT
EXE_STD$SENSEMODE Processes the sense-device-mode and
sense-device-characteristics functions by
reading fields of the UCB
Calls EXE_STD$FINISHIO
EXE_STD$SETCHAR
1
Processes the set-device-mode and set-
device-characteristics functions
Calls EXE_STD$FINISHIO
EXE_STD$SETMODE
1
Processes the set-device-mode and set-
device-characteristics functions by creating
a driver fork process
Calls EXE_STD$ABORTIO if
an error occurs; otherwise, calls
EXE_STD$QIODRVPKT
EXE_STD$WRITE Processes a logical-write or physical-write
function for a direct I/O operation
Calls EXE_STD$ABORTIO if
an error occurs (for instance,
if the user I/O buffers cannot
be accessed or locked in
memory); otherwise, calls EXE_
STD$QIODRVPKT
EXE_STD$ZEROPARM Processes a nontransfer I/O function code
that has no associated parameters
Calls EXE_STD$QIODRVPKT
1
If setting device characteristics requires no device activity or requires no synchronization with fork processing, the
driver’s FDT entry can specify EXE_STD$SETCHAR; otherwise, it must specify EXE_STD$SETMODE.
Driver FDT processing selects an I/O completion path based on the following
factors:
Whether it needs to call another FDT routine to perform additional function-
specific processing.
5–4