VMS Help  —  LBR Routines, LBR$PUT_RECORD
    The LBR$PUT_RECORD routine writes a data record beginning at the
    next free location in the library.

    Format

      LBR$PUT_RECORD  library_index ,bufdes ,txtrfa [, mod_size]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    0

    Longword condition value. Most utility routines return a
    condition value. Condition values that this routine can return
    are listed under Condition Values Returned.

2  –  Arguments

 library_index

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Library control index returned by the LBR$INI_CONTROL routine.
    The library_index argument is the address of the longword that
    contains the index.

 bufdes

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor
    Record to be written to the library. The bufdes argument is the
    address of a string descriptor pointing to the buffer containing
    the output record. On Integrity servers and Alpha libraries, the
    symbolic maximum record size is ELBR$_MAXRECSIZ.

 txtrfa

    OpenVMS usage:vector_longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Record's file address (RFA) of the module header. The txtrfa
    argument is the address of a 2-longword array receiving the
    RFA of the newly created module header upon the first call to
    LBR$PUT_RECORD.

 mod_size

    OpenVMS usage:byte_count
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    The value from mod_size is read on the first call to this routine
    and ignored otherwise. The value specifies the size of the module
    to be entered so that contiguous space is allocated within the
    library for that module. This argument is ignored for non-ELF
    object libraries and for data-reduced ELF object libraries.
    The LBR$PUT_END routine is still required to terminate the byte
    stream and close off the module.

3  –  Description

    If this is the first call to LBR$PUT_RECORD, this routine first
    writes a module header and returns its RFA to the 2-longword
    array pointed to by txtrfa. LBR$PUT_RECORD then writes the
    supplied data record to the library. On subsequent calls to
    LBR$PUT_RECORD, this routine writes the data record beginning
    at the next free location in the library (after the previous
    record). The last record written for the module should be
    followed by a call to LBR$PUT_END.

4  –  Condition Values Returned

    LBR$_ILLCTL        Specified library control index not valid.
    LBR$_LIBNOTOPN     Specified library not open.
Close Help