Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3ncs)

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

See Also

intro(3ncs)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026