VMS Help
LBR Routines, LBR$DELETE_KEY
*Conan The Librarian
|
The LBR$DELETE_KEY routine removes a key from the current library
index.
Format
LBR$DELETE_KEY library_index, key_name[, txtrfa] [, flags]
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.
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.
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.