rpc_register_mgr(3ncs)rpc_register_mgr(3ncs)Namerpc_register_mgr - register a manager (server only)
Syntax
#include <idl/c/rpc.h>
void rpc_$register_mgr(type, ifspec, sepv, mepv, status)
uuid_$t *type;
rpc_$if_spec_t *ifspec;
rpc_$generic_epv_t sepv;
rpc_$mgr_epv_t mepv;
status_$t *status;
Arguments
type The UUID of the type being registered.
ifspec The interface being registered.
sepv The generic EPV, a vector of pointers to server
stub procedures.
mepv The manager EPV, a vector of pointers to manager
procedures.
status The completion status. If the completion status
returned in is equal to status_$ok , then the rou‐
tine that supplied it was successful.
Description
The routine registers the set of manager procedures that implement a
specified interface for a specified type.
Servers can invoke this routine several times with the same interface
(ifspec) and generic EPV (sepv) but with a different object type (type)
and manager EPV (mepv) on each invocation. This technique allows a
server to export several implementations of the same interface.
Servers that export several versions of the same interface (but not
different implementations for different types) must also use not Such
servers should supply uuid_$nil as the type to
If a server uses to register a manager for a specific interface and a
specific type that is not nil, the server must use to register an
object.
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_$unk_if The requested interface is not known. It is not
registered in the server, the version number of the
registered interface 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_$too_many_ifs The maximum number of interfaces is already regis‐
tered 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 differ‐
ent from the one used when the interface was first
registered. An interface can be multiply regis‐
tered, but you must use the same EPV in each rou‐
tine.
FilesSee Alsointro(3ncs), rpc_register(3ncs), rpc_register_object(3ncs), rpc_unreg‐
ister(3ncs)rpc_register_mgr(3ncs)