rpc_register(3ncs) [ultrix man page]
rpc_register(3ncs) rpc_register(3ncs) Name rpc_register - register an interface (server only) Syntax #include <idl/c/rpc.h> void rpc_$register(ifspec, epv, status) rpc_$if_spec_t *ifspec; rpc_$epv_t epv; status_$t *status; Arguments ifspec The interface being registered. epv The entry point vector (EPV) for the operations in the interface. The EPV is always defined in the server stub that is generated by the NIDL compiler from an interface definition. 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 an interface with the RPC runtime library. After an interface is registered, the RPC runtime library will pass requests for that interface to the server. You can call several times with the same interface (for example, from various subroutines of the same server), but each call must specify the same EPV. Each registration increments a reference count for the registered interface; an equal number of routines are then required to unregister the interface. Examples The following statement registers the bank interface with the bank server host's RPC runtime library: rpc_$register (&bank_$if_spec, bank_$server_epv, &status); Diagnostics This section lists status codes for errors returned by this routine in rpc_$op_rng_error The requested operation does not correspond to a valid operation in the requested interface. rpc_$too_many_ifs The maximum number of interfaces is already registered with the RPC runtime library; the server must unregister some interface before it registers an additional interface. 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. rpc_$illegal_register You are trying to register an interface that is already registered and you are using an EPV different from the one used when the interface was first registered. An interface can be multiply registered, but you must use the same EPV in each routine. rpc_$bad_pkt The server or client has received an ill-formed packet. Files See Also intro(3ncs), rpc_register_mgr(3ncs), rpc_register_object(3ncs), rpc_unregister(3ncs) rpc_register(3ncs)
Check Out this Related Man Page
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)