Guardian Procedure Calls Reference Manual
tag
input
INT(32):value
is for nowait I/O only. tag is a value you define that uniquely identifies the operation associated
with this WRITE[X].
NOTE: The system stores this tag value until the I/O operation completes. The system then
returns the tag information to the program in the tag parameter of the call to AWAITIO[X],
thus indicating that the operation completed. If WRITEX is used, you must call AWAITIOX to
complete the I/O. If WRITE is used, you can use either AWAITIO or AWAITIOX to complete
the I/O.
Condition Code Settings
indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).< (CCL)
< (CCL) is returned following successful insertion or update of a record in a file with one or more
insertion-ordered alternate keys if a duplicate key value was created for at least one insertion-ordered
alternate key. A call to FILE_GETINFO_ or FILEINFO shows that error 551 occurred; this error is
advisory only and does not indicate an unsuccessful write operation.
indicates that the WRITE[X] is successful.= (CCE)
indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).> (CCG)
Considerations
• Waited I/O and WRITE[X]
If a waited WRITE[X] is executed, the count-written parameter indicates the number of
bytes actually written.
• Nowait I/O and WRITE[X]
If a nowait WRITE[X] 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-written-transferred parameter of the AWAITIO[X] procedure.
The WRITE[X] procedure must complete with a corresponding call to the AWAITIO[X] procedure
when used with a file that is opened nowait. If WRITEX is used, you must call AWAITIOX to
complete the I/O. If WRITE is used, you can use either AWAITIO or AWAITIOX to complete
the I/O. WARNING.
WARNING! When using nowait file I/O, data corruption might occur if the WRITE buffer
is modified before the AWAITIOX that 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
I/O operation because this creates the possibility of changing the contents of the write buffer
before the write is completed
• Performing concurrent large no-wait I/O operations on NSAA systems
In H06.28/J06.17 RVUs with specific SPRs and later RVUs, reads and writes of up to 27,648
bytes can be performed on structured opens of format 2 legacy key-sequenced files and
enhanced key-sequenced files that have increased limits. (For a list of the required
H06.28/J06.17 SPRs, see SPR Requirements for Increased Enscribe Limits for the
H06.28/J06.17 Release (page 31).)
1492 Guardian Procedure Calls (W-Z)