rrpc_shutdown(3ncs)
Name
rrpc_shutdown − shut down a server
Syntax
#include <idl/c/rrpc.h>
void rrpc_$shutdown(handle, status)
handle_t handle;
status_$t *status;
Arguments
handle
A remote procedure call (RPC) 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 rrpc_$shutdown routine shuts down a server, if the server allows it. A server can use the rpc_$allow_remote_shutdown routine to allow or disallow remote shutdown.
Diagnostics
This section lists status codes for errors returned by this rrpc_$ routine in status.all.
rrpc_$shutdown_not_allowd
You send an rrpc_shutdown request to a server that has not issued an rpc_allow_remote_shutdown call.
Restrictions
On the client side, because of the way the rrpc_ calls are defined and implemented in the run-time library libnck.a, you must explicitly call into the entry point vector table for the rrpc_ interface to send an rrpc_ request across the network. The following is an example of a call that works as desired:
(*rrpc_$client_epv.rrpc_$shutdown)(handle, &status);
The server side stub routine calls the entry point rrpc_$shutdown on behalf of the client. The results of the call are then passed back to the client.
Before making the shutdown call, the server must have previously executed the following call:
rpc_$allow_remote_shutdown((unsigned long) TRUE,NULL,&status);
If the server has not allowed remote shutdown, the rrpc_$shutdown call returns an operation not implemented status code.
Files
/usr/include/idl/c/rrpc.h
/usr/include/idl/rrpc.idl
See Also
intro(3ncs), rpc_allow_remote_shutdown(3ncs), rpc_shutdown(3ncs)