Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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)
Man Page