The user-written FILEIO routine is used to handle TPU file operations. The name of this routine can be either your own file I/O routine or the name of the TPU file I/O routine (TPU$FILEIO). Format FILEIO code ,stream ,data
1 – Returns
OpenVMS usage:cond_value type: longword (usigned) access: write only mechanism: by reference Longword condition value. Most utility routines return a condition value in R0. Condition values that this routine can return are listed under Condition Values Returned.
2 – Arguments
code OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference Item code specifying a TPU function. The code argument is the address of a longword containing an item code from TPU, which specifies a function to perform. stream OpenVMS usage:unspecified type: longword (unsigned) access: modify mechanism: by reference File description. The stream argument is the address of a data structure containing four longwords. This data structure is used to describe the file to be manipulated. data OpenVMS usage:item_list_3 type: longword (unsigned) access: modify mechanism: by reference Stream data. The data argument is either the address of an item list or the address of a descriptor. NOTE The value of this parameter depends on which item code you specify.
3 – Description
The bound procedure value of this routine is specified in the item list built by the callback routine. This routine is called to perform file operations. Instead of using your own file I/O routine, you can call TPU$FILEIO and pass it the parameters for any file operation you do not want to handle. Note, however, that TPU$FILEIO must handle all I/O requests for any file it opens. Also, if it does not open the file, it cannot handle any I/O requests for the file. In other words, you cannot mix the file operations between your own file I/O routine and the one supplied by TPU.
4 – Condition Values Returned
The condition values returned are determined by the user and should indicate success or failure of the operation.