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.