rpc_inq_object(3ncs)
Name
rpc_inq_object − return the object UUID represented by an RPC handle (client or server)
Syntax
#include <idl/c/rpc.h>
void rpc_$inq_object(handle, object, status)
handle_t handle;
uuid_$t *object;
status_$t *status;
Arguments
handle An RPC handle.
object The UUID of the object identified by handle.
status The completion status. If the completion status returned in status.all is equal to status_$ok , then the routine that supplied it was successful.
Description
The rpc_$inq_object routine enables a client or server to determine the particular object that a handle represents.
If a server exports an interface through which clients can access several objects, it can use rpc_$inq_object to determine the object requested in a call. This routine requires an RPC handle as input, so the server can make the call only if the interface uses explicit handles (that is, if each operation in the interface has a handle parameter). If the interface uses an implicit handle, the handle identifier is not passed to the server.
Examples
A database server that manages multiple databases must determine the particular database to be accessed whenever it receives a remote procedure call. Each manager routine makes the following call; the routine then uses the returned UUID to identify the database to be accessed:
rpc_$inq_object (handle, &db_uuid, &status);
Diagnostics
This section lists status codes for errors returned by this rpc_$ routine in status.all.
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_$not_in_call An internal error.
rpc_$proto_error An internal protocol error.
Files
/usr/include/idl/c/rpc.h
/usr/include/idl/rpc.idl