Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
PUT_FILE_WRITEREAD_(2) OSS System Calls Reference Manual
Location of write_buffer, read_buffer, and count_read
The buffers and count transferred can be in the user stack or in an extended data
segment. The write_buffer, read_buffer, and count_read cannot be in the user
code space.
If the write_buffer, read_buffer, and count_read are in a selectable extended data
segment, the segment must be in use at the time of the call. Flat segments allo-
cated by a process are always accessible to the process.
Use on files opened for nowait I/O
• If the buffers are in an extended data segment, you cannot deallocate or
reduce the size of the extended data segment before the I/O completes
with a call to the Guardian AWAITIOX procedure or FILE_COMPLETE
procedure or is canceled by a call to the PUT_CANCEL( ) function or
the Guardian CANCELREQ procedure.
• The extended data segment containing the buffers should not be in use at
the time of the call to AWAITIOX or FILE_COMPLETE procedure.
• You can call PUT_CANCEL() or the Guardian CANCELREQ to can-
cel nowait I/O initiated with PUT_FILE_WRITEREAD_(). The I/O is
canceled if the file is closed before the I/O completes or if you call the
Guardian AWAITIOX procedure or FILE_COMPLETE procedure with
a positive time limit and specific file number and the request times out.
Bounds checking
If the extended address of write_buffer or read_buffer is odd, bounds checking
rounds the address to the next lower word boundary and also checks an extra
byte. The odd address is used for the transfer.
RETURN VALUES
The PUT_FILE_WRITEREAD_() function returns 0 (zero) upon successful completion. Oth-
erwise, this function returns a nonzero Guardian file-system error number that indicates the out-
come of the operation.
For information about Guardian file-system error numbers, see the Guardian Procedure Errors
and Messages Manual.
ERRORS
None. This function does not set the errno variable.
RELATED INFORMATION
Functions: PUT_CANCEL(2), PUT_CONTROL(2), PUT_FILE_CLOSE_(2),
PUT_FILE_OPEN_(2), PUT_LOCKFILE(2), PUT_LOCKREC(2),
PUT_READLOCKX(2), PUT_READUPDATELOCKX(2), PUT_READUPDATEX(2),
PUT_READX(2), PUT_SETMODE(2), PUT_UNLOCKFILE(2), PUT_UNLOCKREC(2),
PUT_WRITEREADX(2), PUT_WRITEUPDATEUNLOCKX(2),
PUT_WRITEUPDATEX(2), PUT_WRITEX(2).
5−214 Hewlett-Packard Company 527186-023