VMS Help  —  LBR Routines, LBR$DELETE_KEY
    The LBR$DELETE_KEY routine removes a key from the current library
    index.

    Format

      LBR$DELETE_KEY  library_index, key_name[, txtrfa] [, flags]

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. 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 a longword that
    contains the index.

 key_name

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    The key to be deleted from the library index. For libraries with
    binary keys, the key_name argument is the address of an unsigned
    longword containing the key number.

    For libraries with ASCII keys, the key_name argument is the
    address of the string descriptor pointing to the key with the
    following argument characteristics:

    Argument
    Characteristics Entry

    OpenVMS usage   char_string
    type            character string
    access          read only
    mechanism       by descriptor

 txtrfa

    OpenVMS usage:vector_longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    The txtrfa argument is the address of the 2-longword array that
    contains the record file address (RFA). If present and if the
    flags argument is not present, the routine scans for all types of
    the key for the specified txtrfa and delete those entries.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    If present, this argument indicates that a particular type of the
    key or all types of the key is to be deleted. The flags bits are
    as follows:

    Flag Bits            Description

    LBR$M_SYM_WEAK =     UNIX-style weak symbol attribute
    0x1
    LBR$M_SYM_GROUP =    Group symbol attribute
    0x2
    LBR$M_SYM_ALL =      All symbols
    0x80000000

    If the txtrfa argument is not present or if its value is zero,
    the type indicated by flags is deleted. If txtrfa specifies a
    nonzero value, the entry of the type indicated, with the txtrfa
    supplied, is removed. Note that only one type or all types can be
    specified.

3  –  Description

    If LBR$DELETE_KEY finds the key specified by key_name in the
    current index, it deletes the key. Note that if you want to
    delete a library module, you must first use LBR$DELETE_KEY to
    delete all the keys that point to it, then use LBR$DELETE_DATA to
    delete the module's header and associated data. You cannot call
    LBR$DELETE_KEY from within the user-supplied routine specified in
    LBR$SEARCH or LBR$GET_INDEX.

4  –  Condition Values Returned

    LBR$_ILLCTL        Specified library control index not valid.
    LBR$_KEYNOTFND     Specified key not found.
    LBR$_LIBNOTOPN     Specified library not open.
    LBR$_UPDIRTRAV     Specified index update not valid in a user-
                       supplied routine specified in LBR$SEARCH or
                       LBR$GET_INDEX.
Close Help