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. index_number OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference Number of the library index. The index_number argument is the address of a longword containing the index number. This is the index number associated with the keys you want to use as input to the user-supplied routine. routine_name OpenVMS usage:procedure type: procedure value access: read only mechanism: by reference User-supplied routine called for each of the specified index keys. The routine_name argument is the address of the procedure value for this user-supplied routine. LBR$GET_INDEX passes two arguments to the routine on OpenVMS Alpha; and passes three arguments to the routine on OpenVMS Integrity servers: o A key name. - For libraries with ASCII keys, the key_name argument is the address of a string descriptor pointing to the key. Note that the string and the string descriptor passed to the routine are valid only for the duration of that call. The string must be copied privately if you need it again for more processing. - For libraries with binary keys, the key_name argument is the address of an unsigned longword containing the key number. o The record file address (RFA) of the module's header for this key name. The RFA argument is the address of a 2-longword array that contains the RFA. o The key's type whose bits are as follows: Flag Bits Description LBR$M_SYM_WEAK = 1 UNIX-style weak symbol attributes LBR$M_SYM_GROUP = 2 Group symbol attribute This parameter is passed only on OpenVMS Integrity servers. The user routine must return a value to indicate success or failure. If the user routine returns a false value (low bit = 0), LBR$GET_INDEX stops searching the index and returns the status value of the user-specified routine to the calling program. The routine cannot contain calls to either LBR$DELETE_KEY or LBR$INSERT_KEY. match_desc OpenVMS usage:char_string type: character string access: read only mechanism: by descriptor Key matching identifier. The match_desc argument is the address of a string descriptor pointing to a string used to identify which keys result in calls to the user-supplied routine. Wildcard characters are allowed in this string. If you omit this argument, the routine is called for every key in the index. The match_desc argument is valid only for libraries that have ASCII keys. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value If present and non-zero, this argument specifies the type, or all types, of the key provided. The flag bits are: Flag Bits Description LBR$M_SYM_WEAK = 0x1 UNIX-style weak symbol attribute LBR$M_SYM_GROUP = 0x2 Group symbol attribute LBR$M_SYM_ALL = All symbols 0x80000000 The user routine will be provided the key's type through an additional third parameter.