Specifications

FDT completion routine, 5–1
FDT completion routines, 5–5 to 5–7
FDT processing
calling sequence, 5–2 to 5–3
FDT routine, 1–2, 1–9 to 1–10
allocating system buffer in, 5–8
context, 5–2
creating, 5–1 to 5–9
for buffered I/O, 5–7 to 5–9
for direct I/O, 5–4, 5–7
register usage, 5–2
system-provided, 5–3 to 5–9
upper-level, 4–5, 5–1, 5–2 to 5–3
FDT support routine, 5–1
FDT_ACT macro, 4–5
FDT_BUF macro, 4–5
FDT_INI macro, 4–5
Feedback on documentation, sending to Digital, iii
Fork block, 1–4, 1–7, 8–1
Fork context, 1–7
Forking
from interrupt service routine, 7–3
Fork process, 1–7, 6–1
context, 6–1, 6–2
creation by driver, 8–1
creation by IOC$INITIATE, 6–1, 8–3
suspending, 6–4
Full duplex device driver, 5–5
H
Hardware I/O mailboxes
commands, 2–6
defined, 2–1
using, 2–7
Hardware interface registers
defined, 2–1
I
I/O adapter, 1–5
I/O database, 1–4 to 1–6, 10–10
creation, 4–1
I/O function
analyzing, 6–2
indicating a buffered, 4–4
indicating as legal to a device, 4–4
legal, 4–4
I/O function code
converting to device-specific function code, 6–3
defining device-specific, 4–9
system-defined, 4–6, 4–9
I/O postprocessing, 8–1 to 8–3
device-dependent, 5–8, 8–2 to 8–3
device-independent, 5–8
for buffered I/O, 5–8 to 5–9
I/O postprocessing queue, 8–3
I/O preprocessing
completing, 4–5
device-dependent, 5–1 to 5–9
I/O request
aborting, 8–5 to 8–6
restarting after power failure, 6–4
retrying, 8–5
returning completion status of to process, 8–2
synchronizing simultaneous processing of
multiple, 5–5
with no parameters, 5–4
with one parameter, 5–4
IDB$L_OWNER, 6–3, 7–2
IDB (interrupt dispatch block), 1–5
address, 6–3
Interface registers
defined, 2–1
Interrupt
dismissing, 8–1
Interrupt context, 1–7
Interrupt enable bit, 6–3
Interrupt expected bit
See UCB$V_INT
Interrupt service routine, 1–3, 7–1
for solicited interrupt, 7–1
for unsolicited interrupt, 7–3
functions, 7–1
preemption of device timeout handling, 8–4
synchronization requirements, 7–2
Interrupt stack, 6–1
Interval clock
role in device timeouts, 1–3
IO$_AVAILABLE function, 5–3
IO$_PACKACK function, 5–3
IO$_UNLOAD function, 5–3
IOC$ALLOCATE_CRAM, 2–4, 2–5, A–10 to A–11
IOC$ALLOC_CNT_RES, 3–3 to 3–5, A–2 to A–5
IOC$ALLOC_CRAB, A–6 to A–7
IOC$ALLOC_CRCTX, 3–2, A–8 to A–9
IOC$CANCEL_CNT_RES, 3–4, A–4, A–12 to
A–13
IOC$CRAM_CMD, 2–4, 2–6, A–14 to A–16
IOC$CRAM_IO, 2–4, 2–7, A–17 to A–18
IOC$CRAM_QUEUE, A–19 to A–20
IOC$CRAM_WAIT, A–21 to A–22
IOC$DEALLOCATE_CRAM, 2–4, A–27
IOC$DEALLOC_CNT_RES, 3–6, A–23 to A–24
IOC$DEALLOC_CRAB, A–25
IOC$DEALLOC_CRCTX, 3–6, A–26
IOC$INITIATE, 8–3
IOC$LOAD_MAP, 3–5
IOC$MAP_IO, A–28
IOC$RELCHAN, 8–2
IOC$REQCOM, 8–3
Index–3