VMS Help  —  LBR Routines, LBR$INI_CONTROL
    The LBR$INI_CONTROL routine initializes a control structure,
    called a library control index, to identify the library for use
    by other LBR routines.

    Format

      LBR$INI_CONTROL  library_index ,func [,type] [,namblk]

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:       write only
    mechanism:     by reference
    Library control index returned by the LBR$INI_CONTROL routine.
    The library_index argument is the address of a longword that is
    to receive the index.

 func

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Library function to be performed. The func argument is the
    address of the longword that contains the library function.
    Valid functions are LBR$C_CREATE, LBR$C_READ, and LBR$C_UPDATE.
    Each programming language provides an appropriate mechanism for
    accessing these symbols.

 type

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Library type. The type argument is the address of the longword
    containing the library type. Valid library types include the
    following:

    o  LBR$C_TYP_EOBJ (Alpha object)

    o  LBR$C_TYP_ESHSTB (Alpha shareable image)

    o  LBR$C_TYP_MLB (macro)

    o  LBR$C_TYP_HLP (help)

    o  LBR$C_TYP_TXT (text)

    o  LBR$C_TYP_UNK (unknown)

    o  LBR$C_TYP_NCS (NCS library)

    o  For user-developed libraries, a type in the range of LBR$C_
       TYP_USRLW through LBR$C_TYP_USRHI.

 namblk

    OpenVMS usage:nam
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    OpenVMS RMS name block (NAM). The namblk argument is the address
    of a variable-length data structure containing an RMS NAM block.
    The LBR$OPEN routine fills in the information in the NAM block
    so it can be used later to open the library. If the NAM block
    has this file identification in it from previous use, the
    LBR$OPEN routine uses the open-by-NAM block option. This argument
    is optional and should be used if the library will be opened
    many times during a single run of the program. For a detailed
    description of RMS NAM blocks, see the OpenVMS Record Management
    Services Reference Manual.

3  –  Description

    Except for the LBR$OUTPUT_HELP routine, you must call LBR$INI_
    CONTROL before calling any other LBR routine. After you
    initialize the library control index, you must open the library
    or create a new one using the LBR$OPEN routine. You can then call
    other LBR routines that you need. After you finish working with a
    library, close it with the LBR$CLOSE routine.

    LBR$INI_CONTROL initializes a library by filling the longword
    referenced by the library_index argument with the control index
    of the library. Upon completion of the call, the index can be
    used to refer to the current library in all future routine calls.
    Therefore, your program must not alter this value.

    You can have up to 16 libraries open simultaneously in your
    program.

4  –  Condition Values Returned

    LBR$_NORMAL        Library control index initialized
                       successfully.
    LBR$_ILLFUNC       Requested function not valid.
    LBR$_ILLTYP        Specified library type not valid.
    LBR$_TOOMNYLIB     Error. An attempt was made to allocate more
                       than 16 control indexes.
Close Help