VMS Help
LBR Routines, LBR$REPLACE_KEY
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The LBR$REPLACE_KEY routine inserts a key in an index by changing
the pointer associated with an existing key or by inserting a new
key.
Format
LBR$REPLACE_KEY library_index ,key_name ,oldrfa ,newrfa
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.
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.
key_name
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Library key (for libraries with ASCII keys). The key_name
argument is the address of a string descriptor for the key.
key_name
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
Library key (for libraries with binary keys). The key_name
argument is the address of an unsigned longword value for the
key.
oldrfa
OpenVMS usage:vector_longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
Old record file address (RFA). The oldrfa argument is the address
of a 2-longword array containing the original RFA (returned by
LBR$LOOKUP_KEY) of the module header associated with the key you
are replacing.
newrfa
OpenVMS usage:vector_longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
New RFA. The newrfa argument is the address of a 2-longword array
containing the RFA (returned by LBR$PUT_RECORD) of the module
header associated with the new key.
If LBR$REPLACE_KEY does not find the key in the current index,
it calls the LBR$INSERT_KEY routine to insert the key. If
LBR$REPLACE_KEY does find the key, it modifies the key entry
in the index so that it points to the new module header.
4 - Condition Values Returned
|
LBR$_ILLCTL Specified library control index not valid.
LBR$_INVRFA Specified RFA not valid.
LBR$_LIBNOTOPN Specified library not open.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.