Specifications

Operating System Routines
EXE$WRITECHK, EXE$WRITECHKR
EXE$WRITECHK, EXE$WRITECHKR
Verify that a process has read access to the pages in the buffer specified in a
$QIO request.
Module
SYSQIOFDT
Input
Location Contents
R0 Virtual address of buffer
R1 Size of transfer in bytes
R3 Address of IRP
Output
Location Contents
R0 Virtual address of buffer (EXE$WRITECHK), SS$_
NORMAL (EXE$WRITECHKR), or error status
R1 Size of transfer in bytes
R2 0, indicating a write function
IRP$W_STS IRP$V_FUNC clear, indicating a write function
IRP$L_BCNT Size of transfer in bytes
Synchronization
EXE$WRITECHK and EXE$WRITECHKR are called by a driver FDT routine at
IPL$_ASTDEL.
Description
A driver uses either of these routines to check the read accessibility of a
user-specified buffer. A driver typically calls EXE$WRITECHKR instead of
EXE$WRITECHK when it must regain control before the request is aborted in
the event the buffer is inaccessible.
EXE$WRITECHK calls EXE$WRITECHKR.
EXE$WRITECHKR performs the following tasks:
Moves the transfer byte count into IRP$L_BCNT. If the byte count is negative,
it returns SS$_BADPARAM status to its caller.
Determines if the specified buffer is read accessible for a write I/O function,
with one of the following results:
If the buffer allows read access, EXE$WRITECHKR returns SS$_
NORMAL to its caller.
3–63