void ippool_api_init(void) { int result; /* Register RPC interface */ ippool_rpc_xprt = svcudp_create(RPC_ANYSOCK); if (ippool_rpc_xprt == NULL) { ippool_log(LOG_ERR, "unable to register with RPC"); exit(1); } /* FIXME: is this really required? */ svc_unregister(IPPOOL_PROG, IPPOOL_VERSION); /* Note: must call this or the registration fails every other time * the daemon is started. */ (void) pmap_unset(IPPOOL_PROG, IPPOOL_VERSION); result = svc_register(ippool_rpc_xprt, IPPOOL_PROG, IPPOOL_VERSION, ippool_prog_1, IPPROTO_UDP); if (result == 0) { /* UNIX is nice and consistent about error codes ;-) */ ippool_log(LOG_ERR, "unable to register RPC program"); exit(1); } result = usl_fd_add_fd(ippool_rpc_xprt->xp_sock, ippool_api_rpc_msg, ippool_rpc_xprt); if (result < 0) { ippool_log(LOG_ERR, "unable to register RPC handler"); exit(1); } }
void l2tp_api_init(void) { int result; /* Register RPC interface */ l2tp_rpc_xprt = svcudp_create(RPC_ANYSOCK); if (l2tp_rpc_xprt == NULL) { l2tp_log(LOG_ERR, "unable to register with RPC"); exit(1); } (void) pmap_unset(L2TP_PROG, L2TP_VERSION); result = svc_register(l2tp_rpc_xprt, L2TP_PROG, L2TP_VERSION, l2tp_prog_1, IPPROTO_UDP); if (result == 0) { /* UNIX is nice and consistent about error codes ;-) */ l2tp_log(LOG_ERR, "unable to register RPC program"); exit(1); } result = usl_fd_add_fd(l2tp_rpc_xprt->xp_sock, l2tp_api_rpc_msg, l2tp_rpc_xprt); if (result < 0) { l2tp_log(LOG_ERR, "unable to register RPC handler"); exit(1); } l2tp_event_rpc_xprt = svcudp_create(RPC_ANYSOCK); if (l2tp_event_rpc_xprt == NULL) { l2tp_log(LOG_ERR, "unable to register event interface with RPC"); exit(1); } (void) pmap_unset(L2TP_EVENT_PROG, L2TP_EVENT_VERSION); result = svc_register(l2tp_event_rpc_xprt, L2TP_EVENT_PROG, L2TP_EVENT_VERSION, l2tp_event_prog_1, IPPROTO_UDP); if (result == 0) { /* UNIX is nice and consistent about error codes ;-) */ l2tp_log(LOG_ERR, "unable to register RPC program"); exit(1); } result = usl_fd_add_fd(l2tp_event_rpc_xprt->xp_sock, l2tp_api_rpc_msg, l2tp_event_rpc_xprt); if (result < 0) { l2tp_log(LOG_ERR, "unable to register event RPC handler"); exit(1); } }
void ippool_api_init(void) { int result; /* Register RPC interface */ ippool_rpc_xprt = svcudp_create(RPC_ANYSOCK); if (ippool_rpc_xprt == NULL) { ippool_log(LOG_ERR, "unable to register with RPC"); exit(1); } result = usl_fd_add_fd(ippool_rpc_xprt->xp_sock, ippool_api_rpc_msg, ippool_rpc_xprt); if (result < 0) { ippool_log(LOG_ERR, "unable to register RPC handler"); exit(1); } svc_unregister(IPPOOL_PROG, IPPOOL_VERSION); result = svc_register(ippool_rpc_xprt, IPPOOL_PROG, IPPOOL_VERSION, ippool_prog_1, IPPROTO_UDP); if (result == 0) { /* UNIX is nice and consistent about error codes ;-) */ ippool_log(LOG_ERR, "unable to register RPC program"); exit(1); } }