lb_register(3ncs) [ultrix man page]
lb_register(3ncs) lb_register(3ncs) Name lb_register - register an object and an interface with the Location Broker Syntax #include <idl/c/lb.h> void lb_$register(object, obj_type, obj_interface, flags, annotation, location, location_length, entry, status) uuid_$t *object; uuid_$t *obj_type; uuid_$t *obj_interface; lb_$server_flag_t flags; unsigned char annotation[64]; socket_$addr_t *location; unsigned long location_length; lb_$entry_t *entry; status_$t *status; Arguments object The UUID of the object being registered. obj_type The UUID of the type of the object being registered. obj_interface The UUID of the interface being registered. flags Must be either lb_$server_flag_local (specifying registration with only the LLB at the local host) or 0 (specifying registration with both the LLB and the GLB). annotation A character array used only for informational purposes. This field can contain a textual description of the object and the interface. For proper display by the tool, the annotation should be terminated by a null character. location The socket address of the server that exports the interface to the object. location_length The length, in bytes, of the socket address specified by the location field. entry A copy of the entry that was entered in the Location Broker database. status The completion status. If the completion status returned in is equal to status_$ok , then the routine that supplied it was successful. Description The routine registers with the Location Broker an interface to an object and the location of a server that exports that interface. This routine replaces any existing entry in the Location Broker database that matches object, obj_type, obj_interface, and both the address fam- ily and host in location; if no such entry exists, the routine adds a new entry to the database. If the flags parameter is the entry is registered only in the LLB database at the host where the call is issued. Otherwise, the flag should be 0 to register with both the LLB and the GLB databases. Examples The following statement registers the interface to the object identified by : lb_$register (&bank_id, &bank_$uuid, &bank_$if_spec.id, 0, BankName, &saddr, slen, &entry, &status); Diagnostics This section lists status codes for errors returned by this routine in lb_$database_invalid The format of the Location Broker database is out of date. The database may have been created by an old version of the Location Broker; in this case, delete the out-of-date database and reregister any entries that it contained. The LLB or GLB that was accessed may be running out-of-date software; in this case, update all Location Brokers to the current software version. lb_$database_busy The Location Broker database is currently in use in an incompatible manner. lb_$update_failed The Location Broker was unable to register the entry. lb_$cant_access The Location Broker cannot access the database. Among the possible reasons: 1. The database does not exist, and the Location Broker cannot create it. 2. The database exists, but the Location Broker cannot access it. 3. The GLB entry table is full. lb_$server_unavailable The Location Broker Client Agent cannot reach the requested GLB or LLB. A communications failure occurred or the bro- ker was not running. Files See Also intro(3ncs), lb_unregister(3ncs) lb_register(3ncs)
Check Out this Related Man Page
lb_lookup_interface(3ncs) lb_lookup_interface(3ncs) Name lb_lookup_interface - look up information about an interface in the Global Location Broker database Syntax #include <idl/c/lb.h> void lb_$lookup_interface(obj_interface, lookup_handle, max_num_results, num_results, results, status) uuid_$t *obj_interface; lb_$lookup_handle_t *lookup_handle; unsigned long max_num_results; unsigned long * num_results; lb_$entry_t results[ ]; status_$t *status; Arguments obj_interface The UUID of the interface being looked up. lookup_handle A location in the database. On input, the lookup_handle indicates the location in the database where the search begins. An input value of lb_$default_lookup_handle specifies that the search will start at the beginning of the data- base. On return, the lookup_handle 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 return value indicates that the search found at most max_num_results matching entries before it reached the end of the database. max_num_results The maximum number of entries that can be returned by a single routine. This should be the number of elements in the results array. num_results The number of entries that were returned in the results array. results An array that contains the matching GLB database entries, up to the number specified by the max_num_results parameter. If the array contains any entries for servers on the local network, those entries appear first. status The completion status. Description The routine returns GLB database entries whose obj_interface fields match the specified interface. It returns information about objects that can be accessed through that interface. The routine cannot return more than max_num_results matching entries at a time. The lookup_handle parameter enables you to find all match- ing entries by doing sequential lookups. If you use a sequence of lookup routines to find entries in the database, it is possible that the returned results will skip or duplicate entries. This is because the Location Broker does not prevent modification of the database between lookups, and such modification can change the locations of entries relative to a lookup_handle value. It is also possible that the results of a single lookup routine will skip or duplicate entries. This can occur if the size of the results exceeds the size of an RPC packet (64K bytes). Examples The following statement looks up information in the GLB database about a matrix multiplication interface: lb_$lookup_interface (&matrix_id, &lookup_handle, max_results, &num_results, &matrix_results, &st); Diagnostics This section lists status codes for errors returned by this routine. lb_$database_invalid The format of the Location Broker database is out of date. The database may have been created by an old version of the Location Broker; in this case, delete the out-of-date database and reregister any entries that it contained. The LLB or GLB that was accessed may be running out-of-date software; in this case, update all Location Brokers to the current software version. lb_$database_busy The Location Broker database is currently in use in an incompatible manner. lb_$not_registered The Location Broker does not have any entries that match the criteria specified in the lookup or unregister routine. The requested object, type, interface, or combination thereof is not registered in the specified database. If you are using an or routine specifying an LLB, check that you have specified the correct LLB. lb_$cant_access The Location Broker cannot access the database. Among the possible reasons: 1. The database does not exist. 2. The database exists, but the Location Broker cannot access it. lb_$server_unavailable The Location Broker Client Agent cannot reach the requested GLB or LLB. A communications failure occurred or the bro- ker was not running. Files See Also intro(3ncs), lb_lookup_object(3ncs), lb_lookup_range(3ncs), lb_lookup_type(3ncs) lb_lookup_interface(3ncs)