The user-supplied WORKIO routine is called by EDT when it needs temporary storage for the file being edited. Call it by specifying it as an argument in the EDT$EDIT routine. It cannot be called independently. Format WORKIO code ,recordno ,record
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by immediate value Longword value returned as a status code. It is generally a success code, because all OpenVMS RMS errors should be signaled. The signal should include the file name and both longwords of the RMS status. Any errors detected within work I/O can be indicated by setting status to an error code, which will be returned by the EDT$EDIT routine. The condition value is returned in R0.
2 – Arguments
code OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference A code from EDT that specifies the operation to be performed. The code argument is the address of a longword integer containing this argument. The valid function codes are as follows: Function Code Description EDT$K_OPEN_IN_ Open the work file for both input and output. OUT Neither the record nor recordno argument is used. EDT$K_GET Read a record. The recordno argument is the number of the record to be read. The record argument gives the location where the record is to be stored. EDT$K_PUT Write a record. The recordno argument is the number of the record to be written. The record argument tells the location of the record to be written. EDT$K_CLOSE_DEL Close the work file. After a successful close, the file is deleted. Neither the record nor recordno argument is used. recordno OpenVMS usage:longword_signed type: longword integer (signed) access: read only mechanism: by reference Number of the record to be read or written. The recordno argument is the address of a longword integer containing this argument. EDT always writes a record before reading that record. This argument is not used for open or close calls. record OpenVMS usage:char_string type: character string access: modify mechanism: by descriptor Location of the record to be read or written. This argument always refers to a 512-byte string during GET and PUT calls. This argument is not used for open or close calls.
3 – Description
Work file records are addressed only by number and are always 512 bytes long. If you do not need to intercept work file I/O, you can use the entry point EDT$WORKIO for this argument or you can omit it.
4 – Condition Value Returned
SS$_NORMAL Normal successful completion.