VMS Help  —  LBR Routines, LBR$SEARCH  Description
    The LBR$SEARCH routine searches the library index for symbols
    with the given RFA and calls the supplied routine with those
    symbols.

    Use LBR$SEARCH to find index keys that point to the same module
    header. Generally, in index number 1 (the module name table),
    just one key points to any particular module; thus, you would
    probably use this routine only to search library indexes where
    more than one key points to a module. For example, you might call
    LBR$SEARCH to find all the symbols in the symbol index that are
    associated with an object module in an object library.

    If LBR$SEARCH finds an index key associated with the specified
    RFA, it calls a user-supplied routine with two arguments:

    o  The key argument, which is the address of either of the
       following items:

       -  A string descriptor for the key name (libraries with ASCII
          key names)

       -  An unsigned longword for the key value (libraries with
          binary keys)

    o  The RFA argument, which is the address of a 2-longword array
       containing the RFA of the module header

    o  The key's type, whose flag bits are as follows:

       Flag Bits               Description

       LBR$M_SYM_WEAK = 1      UNIX-style weak symbol attribute
       LBR$M_SYM_GROUP = 2     Group symbol attribute

    The user routine must return a value to indicate success or
    failure. If the specified user routine returns a false value
    (low bit = 0), then the index search terminates.

    Note that the key found by LBR$SEARCH is valid only during the
    call to the user-supplied routine. If you want to use the key
    later, you must copy it.
Close Help