rpc_alloc_handle(3ncs) rpc_alloc_handle(3ncs)
Name
rpc_alloc_handle - create an RPC handle (client only)
Syntax
#include <idl/c/rpc.h>
handle_t rpc_$alloc_handle(object, family, status)
uuid_$t *object;
unsigned long family;
status_$t *status;
Arguments
object The UUID of the object to be accessed. If there is no specific object, specify uuid_$nil.
family The address family to use in communications to access the object. Currently, only socket_$ internet is supported.
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 creates an unbound RPC handle that identifies a particular object but not a particular server or host.
If a remote procedure call is made using the unbound handle, it will effect a broadcast to all Local Location Brokers (LLBs) on the local
network. If the call's interface and the object identified by the handle are both registered with any LLB, that LLB forwards the request
to the registering server. The client RPC runtime library returns the first response that it receives and binds the handle to the first
responding server.
Examples
The following statement allocates a handle that identifies the Acme company's payroll database object:
h = rpc_$alloc_handle (&acme_pay_id, socket_$internet, &status);
Diagnostics
This section lists status codes for errors returned by this routine in
rpc_$comm_failure The client was unable to get a response from the server.
rpc_$unk_if The requested interface is not known. It is not registered in the server, the version number of the registered inter-
face is different from the version number specified in the request, or the UUID in the request does not match the UUID
of the registered interface.
rpc_$cant_create_sock
The RPC runtime library was unable to create a socket.
rpc_$cant_bind_sock The RPC runtime library created a socket but was unable to bind it to a socket address.
rpc_$wrong_boot_time
The server boot time value maintained by the client does not correspond to the current server boot time. The server
was probably rebooted while the client program was running.
rpc_$not_in_call An internal error.
rpc_$you_crashed This error can occur if a server has crashed and restarted. A client RPC runtime library sends the error to the server
if the client makes a remote procedure call before the server crashes, then receives a response after the server
restarts.
rpc_$proto_error An internal protocol error.
Files
See Also
intro(3ncs), rpc_free_handle(3ncs), rpc_set_binding(3ncs)
rpc_alloc_handle(3ncs)