Copyright Digital Equipment Corp. All rights reserved.

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 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.