VMS Help  —  LBR Routines, LBR$SET_MODULE
    The LBR$SET_MODULE routine reads, and optionally updates, the
    module header associated with a given record's file address
    (RFA).

    Format

      LBR$SET_MODULE  library_index ,rfa [,bufdesc] [,buflen]

                      [,updatedesc]

1  –  Returns

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

    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

 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.

 rfa

    OpenVMS usage:vector_longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Record's file address (RFA) associated with the module header.
    The rfa argument is the address of a 2-longword array containing
    the RFA returned by LBR$PUT_RECORD or LBR$LOOKUP_KEY.

 bufdesc

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor
    Buffer that receives the module header. The bufdesc argument
    is the address of a string descriptor pointing to the buffer
    that receives the module header. The buffer must be the size
    specified by the symbol MHD$B_USRDAT plus the value of the
    CRE$L_UHDMAX create option. The MHD$ and CRE$ symbols are
    defined in the modules $MHDDEF and $CREDEF, which are stored
    in SYS$LIBRARY:STARLET.MLB.

 buflen

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       write only
    mechanism:    by reference
    Length of the module header. The buflen argument is the address
    of a longword receiving the length of the returned module header.

 updatedesc

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor
    Additional information to be stored with the module header.
    The updatedesc argument is the address of a string descriptor
    pointing to additional data that the Librarian stores with
    the module header. If you include this argument, the Librarian
    updates the module header with the additional information.

3  –  Description

    If you specify bufdesc, the LBR routine returns the module header
    into the buffer. If you specify buflen, the routine also returns
    the buffer's length. If you specify updatedesc, the routine
    updates the header information.

    You define the maximum length of the update information (by
    specifying a value for CRE$L_UHDMAX) when you create the library.
    The Librarian zero-fills the information if it is less than the
    maximum length or truncates it if it exceeds the maximum length.

4  –  Condition Values Returned

    LBR$_HDRTRUNC      Buffer supplied to hold the module header was
                       too small.
    LBR$_ILLCTL        Specified library control index not valid.
    LBR$_ILLOP         Error. The updatedesc argument was supplied
                       and the library was a Version 1.0 library or
                       the library was opened only for read access.
    LBR$_INVRFA        Specified RFA does not point to a valid module
                       header.
    LBR$_LIBNOTOPN     Specified library not open.
Close Help