Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (s and S) SPT_WRITEUPDATEX(2)
Specifying write_count for entry-sequenced files
For entry-sequenced files, the value of write_count must match
exactly the write_count value specified when the record was ori-
ginally inserted into the file.
Changing the primary-key of a key-sequenced record
An update to a record in a key-sequenced file cannot alter the
value of the primary-key field. To change the primary-key field,
you must delete the old record (SPT_WRITEUPDATEX() with
write_count = 0 [zero]) and insert a new record with the key
field changed (SPT_WRITEX()).
Current-state indicators after SPT_WRITEUPDATEX()
After a successful SPT_WRITEUPDATEX() call, the current-
state indicators remain unchanged.
The buffer and count transferred can be in the user stack or in an extended data
segment. The buffer and count transferred cannot be in the user code space.
If the buffer or count transferred is in a selectable extended data segment, the
segment must be in use at the time of the call. Flat segments allocated by a pro-
cess are always accessible to the process.
Use on files opened for nowait I/O
If the buffer is 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 is canceled by a
call to the SPT_CANCEL() function or the Guardian CANCELREQ
procedure.
You must not modify the buffer before the I/O completes with a call to
AWAITIOX. This also applies to other processes that might be sharing
the segment. It is the applications responsibility to ensure this.
If you initiated the I/O with SPT_WRITEUPDATEX(), the I/O must be
completed with a call to the Guardian AWAITIOX procedure.
The extended segment containing the buffer need not be in use at the
time of the call to AWAITIOX.
Nowait I/O initiated with SPT_WRITEUPDATEX() can be canceled
with a call to the SPT_CANCEL( ) function or the Guardian CANCEL-
REQ procedure. The I/O is canceled if the file is closed before the I/O
completes or AWAITIOX is called with a positive time limit and specific
file number and the request times out.
Bounds checking
If the extended address of the buffer is odd, bounds checking rounds the address
to the next lower word boundary and checks an extra byte as well. The odd
address is used for the transfer.
527186-023 Hewlett-Packard Company 7463