DCE Application Programming Guide
Sample Application Listings
HP NonStop DCE Application Programming Guide—429551-003
A-19
The Server File
if (argc < 2 )
{
max_threads = rpc_c_listen_max_calls_default;
}
else
max_threads = atol(argv[1]);
init_serviceability( argv[0] ); /* (B5) */
/* Get server configuration information */ /* (A3) */
dce_server_inq_server( &server_conf, &status );
ERR_CHK(status, "Could not retrieve server configuration.");
/* Register with DCE */ /* (A4) */
register_data.ifhandle = infpls_v1_0_s_ifspec;
register_data.epv = NULL;
register_data.num_types = 0;
register_data.types = NULL;
dce_server_register( 0,
server_conf,
®ister_data,
server_handle,
&status );
ERR_CHK(status, "Could not register with DCE.");
dce_svc_printf(INF_S_STARTUP_MSG); /* (B6) */
TRY {
rpc_server_listen( max_threads, /* (5) */
&status);
ERR_CHK(status,"Could not listen"); /* (b) */
}
FINALLY {
dce_svc_unregister( inf_svc_handle, /* (B7) */
&status );
dce_server_unregister( server_handle, /* (A5) */
&status );
} ENDTRY;
} /* End of Server Control Routine */
/************************* Server Operations *************************/
error_status_t get_system_info(
rpc_binding_handle_t binding, /* binding handle is not used */
sys_info_t *system_info_p)
{
struct utsname *info_p;
info_p=rpc_ss_allocate (sizeof (struct utsname));
if (info_p==NULL)
{
return (-1);
}
Figure A-11. The Server File in a Release 1.1 Port (page2of3)