DCE for the HP e3000 (B3821-90003)

68 Chapter7
Programming with RPC 1.2.1 on MPE/iX
*/
rpc_server_listen(rpc_c_listen_max_calls_default,
&st); /* error status for this call */
if (st != rpc_s_ok) {
dce_error_inq_text(st, dce_err_string, (int *)&_ignore);
PRINT_FUNC(PRINT_HANDLE, "Listen returned with error: %s\n",
dce_err_string);
} else
PRINT_FUNC(PRINT_HANDLE, "Stopped listening...\n");
/************************************************************************
* IMPORTANT NOTE: We will probably never reach here. If you interrupt
* the server with an asynchronous signal, such as a ^C (or SIGINT) from
* the keyboard or a "kill <PID>" (a SIGTERM signal), it will cause the
* process to exit; it will not reach here. See the lookup sample
* application for code that is able to properly clean up after the
* listen call.
************************************************************************/
PRINT_FUNC(PRINT_HANDLE, "Unregistering endpoints and interface...\n");
/* rpc_ep_unregister() --
*
* Unregister the interface and endpoints with the RPC runtime. The
* first parameter is the interface specification from the IDL compiler.
* The second parameter is the binding vector registered with this
* interface. The third parameter is the object UUID vector (NULL since
* this application does not support multiple objects). The final
* parameter is the DCE error status.
*/
rpc_ep_unregister(sleeper_v1_0_s_ifspec, /* IDL-generated ifspec */
bvec, /* this server's bindings */
NULL, /* no object UUIDs supported */
&_ignore); /* ignore any errors */
/* rpc_binding_vector_free() --
* Free a binding vector that is no longer needed. Since it was