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)










