Guardian Procedure Calls Reference Manual
NOTE: The system stores the tag value until the I/O operation completes. It then returns the
tag information to the program in either the tag parameter of the call to FILE_AWAITIO64_
or the tag field of the completion-info parameter of the call to FILE_COMPLETEL_, thus
indicating that the operation finished.
Returned Value
INT
A file-system error code that indicates the outcome of the call.
22
• The segment is in use at the time of the call or the segment in use is invalid.
• 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.
Considerations
• EpTAL callers must set toggle
EpTAL callers must set the toggle _64BIT_CALLS before sourcing the FILE_WRITEUPDATE64_
procedure section from EXTDECS.
• Familar semantics
Unless otherwise described, the semantic behavior of FILE_WRITEUPDATE64_ is the same as
that of WRITEREADX.
• I/O counts with unstructured files
Unstructured files are transparently blocked using one of the four valid blocksizes (512, 1024,
2048, or 4096 bytes; 4096 is the default). This transparent blocksize, known as BUFFERSIZE,
is the transfer size used against an unstructured file. While BUFFERSIZE does not change the
maximum unstructured transfer (4096 bytes), multiple I/O operations might be performed to
satisfy a user's request depending on the BUFFERSIZE chosen. For example, if BUFFERSIZE is
512 bytes, and a request is made to write 4096 bytes, at least eight transfers, each 512 bytes
long, will be made. More than eight transfers happen, in this case, if the requested transfer
does not start on a BUFFERSIZE boundary.
DP2 performance with unstructured files is best when requested transfers begin on BUFFERSIZE
boundaries and are integral multiples of BUFFERSIZE.
Because the maximum blocksize for DP2 structured files is also 4096 bytes, this is also the
maximum structured transfer size for DP2.
• Deleting locked records
Deleting a locked record implicitly unlocks that record unless the file is audited, in which case
the lock is not removed until the transaction terminates.
• Waited FILE_WRITEUPDATE64_
If a waited FILE_WRITEUPDATE64_ is executed, the count-written parameter indicates
the number of bytes actually written.
• Nowait FILE_WRITEUPDATE64_
If a nowait FILE_WRITEUPDATE64_ is executed, count-written has no meaning and can
be omitted. The count of the number of bytes written is obtained through the
count-transferred parameter of the FILE_AWAITIO64_ procedure when the I/O
completes.
If FILE_WRITEUPDATE64_ is called on a file opened for nowait I/O, then the operation must
be completed by calling either FILE_AWAITIO64_ or FILE_COMPLETEL_. For files audited by
538 Guardian Procedure Calls (F)