Guardian Procedure Calls Reference Manual

Returned Value
INT
A file-system error code that indicates the outcome of the call.
FEBOUNDSERR22
The address of a parameter refers to the selectable segment area but no selectable segment is
in use at the time of the call.
The address of a parameter is extended, but it is an absolute address and the caller is not
privileged.
The file system cannot use the user's segment when needed.
FEFILEFULL45
FILE_WRITE64_ was passed a filenum for an unstructured open of the primary partition of an
enhanced key-sequenced file. For more information on enhanced key-sequenced files, see the
Enscribe Programmer's Guide.
Considerations
EpTAL callers must set toggle
EpTAL callers must set the toggle _64BIT_CALLS before sourcing the FILE_WRITE64_ procedure
section from EXTDECS.
Familar semantics
Unless otherwise described, the semantic behavior of FILE_WRITE64_ is the same as that of
WRITEX.
Waited I/O and FILE_WRITE64_
If a waited FILE_WRITE64_ is executed, the count-written parameter indicates the number
of bytes actually written.
Nowait I/O and FILE_WRITE64_
If a nowait FILE_WRITE64_ is executed, count-written has no meaning and can be omitted.
The count of the number of bytes read is obtained through the count-transferred
parameter of the FILE_AWAITIO64_ procedure or the count-transferred field of the
completion-info parameter of the call to FILE_COMPLETEL_ when the I/O operation
completes.
If FILE_WRITE64_ is called on a file opened for nowait I/O, then the operation must be
completed by calling either FILE_AWAITIO64_ or FILE_COMPLETEL_.
WARNING! When using nowait file I/O, data corruption might occur if the write buffer is
modified before FILE_AWAITIO64_ or FILE_COMPLETEL_ completes the call. The buffer space
must not be freed or reused while the I/O is in progress.
Do 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. Avoid sharing a buffer between a write and another
526 Guardian Procedure Calls (F)