VMS Help  —  EDT Routines, WORKIO
    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.
Close Help