Open System Services System Calls Reference Manual (G06.28+)

System Functions (s and S) SPT_WRITEX(2)
Nowait I/O and SPT_WRITEX() calls
If a nowait SPT_WRITE () call is executed, count_written has
no meaning and can be omitted. The count of the number of
bytes written is obtained when the I/O operation completes
through the count-transferred parameter of the Guardian
AWAITIOX procedure.
The SPT_WRITEX() function must complete with a
corresponding call to the Guardian AWAITIOX procedure when
used with a le that is opened nowait.
You should not change the contents of the data buffer between
the initiation and completion of a nowait write operation. This
is because a retry can copy the data again from the user buffer
and cause the wrong data to be written. You should avoid shar-
ing a buffer between a write and another I/O operation because
this creates the possibility of changing the contents of the write
buffer before the write is completed.
Disk File Considerations
Large data transfers for unstructured files using default mode
Default mode allows I/O sizes for unstructured les to be as
large as 56KB (57,344), excepting writes to audited les, if the
unstructured buffer size (or block size) is 4KB (4096). Default
mode here refers to the mode of the le if SPT_SETMODE()
function 141 is not invoked.
For an unstructured le with an unstructured buffer size other
than 4KB, DP2 automatically adjusts the unstructured buffer
size to 4KB, if possible, when an I/O larger than 4KB is
attempted. However, this adjustment is not possible for les that
have extents with an odd number of pages; in such cases, an I/O
over 4KB is not possible. Note that the switch to a different
unstructured buffer size will have a transient performance
impact, so HP recommends that the size be initially set to 4KB,
which is the default. Transfer sizes over 4KB are not supported
in default mode for unstructured access to structured les.
Large data transfers using SPT_SETMODE(141)
Large data transfers (more than 4096 bytes) can be done for les
opened with unstructured access, regardless of unstructured
buffer size, by using SPT_SETMODE() function 141. When
SPT_SETMODE(141) is used to enable large data transfers, it
is permitted to specify up to 56K (57344) bytes for the
write_count parameter. See the description of SETMODE func-
tions in the Guardian Procedure Calls Reference Manual.
File is locked
If a call to SPT_WRITEX() is made and the le is locked
through a le number other than that supplied in the call, the call
is rejected with Guardian le-system error 73 (file is
locked).
527186-005 Hewlett-Packard Company 7357