[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]
Technical Reference: Communications, Volume 1
lb_$lookup_range Library Routine
Purpose
Looks up information in a Global Location Broker (GLB)
or Local Location Broker (LLB) database.
Syntax
void lb_$lookup_range ( object, object_type, object_interface, location, lookup_handle)
void lb_$lookup_range ( location_length, max_results, num_results, results, status)
uuid_$t *object;
uuid_$t *object_type;
uuid_$t *object_interface;
socket_$addr_t *location;
unsigned long location_length;
lb_$lookup_handle_t *lookup_handle;
unsigned long max_results;
unsigned long *num_results;
lb_$entry_t results [ ];
status_$t *status;
Description
The lb_$lookup_range routine
returns database entries that contain matching object, obj_type, and obj_interface identifiers.
A value of uuid_$nil in any of these input parameters
acts as a wildcard and matches all values in the corresponding entry field.
You can include wild cards in any combination of these parameters.
The lb_$lookup_interface routine
cannot return more than the number of matching entries specified by the max_results parameter at one time. The lookup_handle parameter directs this routine to do sequential lookup
calls to find all matching entries.
Notes:
- The Location Broker does not prevent modification
of the database between lookup calls, which can cause the locations of entries
relative to a value of the lookup_handle parameter
value to change. If multiple calls are made to find all matching results in
the database, the returned information may skip or duplicate entries from
the database.
- The results of a single lookup call can possibly
skip or duplicate entries. This can occur if the size of the results exceeds
the size of a remote procedure call (RPC) packet (64KB).
Parameters
Input
object |
Points to the Universal Unique Identifier (UUID) of the object being
looked up. |
object_type |
Points to the UUID of the type being looked up. |
object_interface |
Points to the UUID of the interface being looked up. |
location |
Points to the location of the database to be searched. If the value
of the location_length parameter is 0, the GLB database
is searched. Otherwise, the LLB database at the host specified by the socket
address is searched. If the LLB database is searched, the port number in the
socket address is ignored, and the lookup request is sent to the LLB port. |
location_length |
Specifies the length, in bytes, of the socket address indicated by
the location parameter. A value of 0 indicates that
the GLB database is to be searched. |
max_results |
Specifies the maximum number of matching entries that can be returned
by a single call. This should be the number of elements in the results array. |
Input/Output
lookup_handle |
Specifies a location in the database. On input, the value of the lookup_handle parameter indicates the location in the
database where the search begins. An input value of lb_$default_lookup_handle specifies that the search starts at the beginning of the database. |
|
On return, the lookup_handle parameter indicates
the next unsearched part of the database (that is, the point at which the
next search should begin). A return value of lb_$default_lookup_handle indicates that the search reached the end of the database. Any other
value indicates that the search found the number of matching entries specified
by the max_results parameter before it reached the
end of the database. |
Output
num_results |
Points to the number of entries that were returned in the results parameter array. |
results |
Specifies the array that contains the matching GLB database entries,
up to the number specified in the max_results parameter.
If the array contains any entries for servers on the local network, those
entries appear first. |
status |
Points to the completion status. |
Examples
To look up information in the GLB database about the change_if interface to the proc_db2
object (which is of the proc_db type), enter:
lb_$lookup_range (&proc_db2_id, &proc_db_id, &change_if_id,
glb, 0, &lookup_handle, 10, &num_results, results, &st);
The name glb is defined
elsewhere as a null pointer. The results parameter
is a 10-element array of the lb_$entry_t type.
Related Information
Remote Procedure Call (RPC)
Runtime Library (NCS) in AIX 5L Version 5.2 Communications Programming Concepts.
[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]