这篇教程C++ svcerr_systemerr函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中svcerr_systemerr函数的典型用法代码示例。如果您正苦于以下问题:C++ svcerr_systemerr函数的具体用法?C++ svcerr_systemerr怎么用?C++ svcerr_systemerr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了svcerr_systemerr函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: server_program_1static voidserver_program_1(struct svc_req *rqstp, register SVCXPRT *transp){ rpc_gss_rawcred_t *rcred; rpc_gss_ucred_t *ucred; int i, num; if (rqstp->rq_cred.oa_flavor != RPCSEC_GSS) { svcerr_weakauth(transp); return; } if (!rpc_gss_getcred(rqstp, &rcred, &ucred, NULL)) { svcerr_systemerr(transp); return; } printf("svc=%d, mech=%s, uid=%d, gid=%d, gids={", rcred->service, rcred->mechanism, ucred->uid, ucred->gid); for (i = 0; i < ucred->gidlen; i++) { if (i > 0) printf(","); printf("%d", ucred->gidlist[i]); } printf("}/n"); switch (rqstp->rq_proc) { case 0: if (!svc_getargs(transp, (xdrproc_t) xdr_void, 0)) { svcerr_decode(transp); goto out; } if (!svc_sendreply(transp, (xdrproc_t) xdr_void, 0)) { svcerr_systemerr(transp); } goto out; case 1: if (!svc_getargs(transp, (xdrproc_t) xdr_int, (char *) &num)) { svcerr_decode(transp); goto out; } num += 100; if (!svc_sendreply(transp, (xdrproc_t) xdr_int, (char *) &num)) { svcerr_systemerr(transp); } goto out; default: svcerr_noproc(transp); goto out; }out: return;}
开发者ID:coyizumi,项目名称:cs111,代码行数:57,
示例2: rfs4_minorvers_mismatchbool_trfs4_minorvers_mismatch(struct svc_req *req, SVCXPRT *xprt, void *args){ COMPOUND4args *argsp; COMPOUND4res res_buf, *resp; if (req->rq_vers != 4) return (FALSE); argsp = (COMPOUND4args *)args; if (argsp->minorversion <= NFS4_MAX_MINOR_VERSION) return (FALSE); resp = &res_buf; /* * Form a reply tag by copying over the reqeuest tag. */ resp->tag.utf8string_val = kmem_alloc(argsp->tag.utf8string_len, KM_SLEEP); resp->tag.utf8string_len = argsp->tag.utf8string_len; bcopy(argsp->tag.utf8string_val, resp->tag.utf8string_val, resp->tag.utf8string_len); resp->array_len = 0; resp->array = NULL; resp->status = NFS4ERR_MINOR_VERS_MISMATCH; if (!svc_sendreply(xprt, xdr_COMPOUND4res_srv, (char *)resp)) { DTRACE_PROBE2(nfss__e__minorvers_mismatch, SVCXPRT *, xprt, char *, resp); svcerr_systemerr(xprt); } rfs4_compound_free(resp); return (TRUE);}
开发者ID:MatiasNAmendola,项目名称:AuroraUX-SunOS,代码行数:35,
示例3: scsi_prog_1static voidscsi_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { send_cdb_params send_cdb_1_arg; char *reset_1_arg; } argument; char *result; xdrproc_t xdr_argument, xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply(transp, (xdrproc_t) xdr_void, (char *)NULL); return; case SEND_CDB: xdr_argument = (xdrproc_t) xdr_send_cdb_params; xdr_result = (xdrproc_t) xdr_send_cdb_retval; local = (char *(*)(char *, struct svc_req *)) send_cdb_1_svc; break; case RESET: xdr_argument = (xdrproc_t) xdr_wrapstring; xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) reset_1_svc; break; default: svcerr_noproc(transp); return; } if (USE_CHILDREN) { pid_t pid; pid = fork(); if (pid > 0) return; if (pid < 0) { perror("fork"); return; } } (void) memset((char *)&argument, 0, sizeof (argument)); if (!svc_getargs(transp, xdr_argument, (caddr_t) &argument)) { svcerr_decode(transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, xdr_result, result)) { svcerr_systemerr(transp); } if (!svc_freeargs(transp, xdr_argument, (caddr_t) &argument)) { fprintf(stderr, "unable to free arguments"); exit(1); } if (USE_CHILDREN) _exit(0); else return;}
开发者ID:LFenske,项目名称:LFscsi,代码行数:60,
示例4: centro_prog_1/* Función: centro_prog_1 Entrada: rqstp: Apuntador a la structura svc_req transp: Apuntador al registro SVCXPRT Salida: N/A Función que gestiona las funciones del RPC del lado del servidor*/static void centro_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { datos solicitar_desafio_1_arg; datos respodnder_desafio_1_arg; char *solicitar_tiempo_1_arg; char *solicitar_gasolina_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case SOLICITAR_DESAFIO: _xdr_argument = (xdrproc_t) xdr_datos; _xdr_result = (xdrproc_t) xdr_wrapstring; local = (char *(*)(char *, struct svc_req *)) solicitar_desafio_1_svc; break; case RESPODNDER_DESAFIO: _xdr_argument = (xdrproc_t) xdr_datos; _xdr_result = (xdrproc_t) xdr_wrapstring; local = (char *(*)(char *, struct svc_req *)) respodnder_desafio_1_svc; break; case SOLICITAR_TIEMPO: _xdr_argument = (xdrproc_t) xdr_wrapstring; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) solicitar_tiempo_1_svc; break; case SOLICITAR_GASOLINA: _xdr_argument = (xdrproc_t) xdr_wrapstring; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) solicitar_gasolina_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:ale7714,项目名称:redes-proyecto2,代码行数:68,
示例5: autofs_mount_succeededvoidautofs_mount_succeeded(am_node *mp){ SVCXPRT *transp = mp->am_transp; struct stat stb; if (transp) { /* this was a mount request */ mntres res; res.status = 0; if (!svc_sendreply(transp, (XDRPROC_T_TYPE) xdr_mntres, (SVC_IN_ARG_TYPE) &res)) svcerr_systemerr(transp); dlog("Quick reply sent for %s", mp->am_mnt->mf_mount); XFREE(transp); mp->am_transp = NULL; } /* * Store dev and rdev -- but not for symlinks */ if (!mp->am_link) { if (!lstat(mp->am_mnt->mf_real_mount, &stb)) { mp->am_dev = stb.st_dev; mp->am_rdev = stb.st_rdev; } /* don't expire the entries -- the kernel will do it for us */ mp->am_flags |= AMF_NOTIMEOUT; } plog(XLOG_INFO, "autofs: mounting %s succeeded", mp->am_path);}
开发者ID:AzerTyQsdF,项目名称:osx,代码行数:35,
示例6: rdictprog_1static voidrdictprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { char *insertw_1_arg; char *deletew_1_arg; char *lookupw_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case INITW: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) initw_1_svc; break; case INSERTW: _xdr_argument = (xdrproc_t) xdr_wrapstring; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) insertw_1_svc; break; case DELETEW: _xdr_argument = (xdrproc_t) xdr_wrapstring; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) deletew_1_svc; break; case LOOKUPW: _xdr_argument = (xdrproc_t) xdr_wrapstring; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) lookupw_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:Antonhansel,项目名称:CS435,代码行数:60,
示例7: autofs_mount_succeededvoidautofs_mount_succeeded(am_node *mp){ SVCXPRT *transp = mp->am_transp; struct stat stb; char *space_hack; if (transp) { /* this was a mount request */ mntres res; res.status = 0; if (!svc_sendreply(transp, (XDRPROC_T_TYPE) xdr_mntres, (SVC_IN_ARG_TYPE) &res)) svcerr_systemerr(transp); dlog("Quick reply sent for %s", mp->am_al->al_mnt->mf_mount); XFREE(transp); mp->am_transp = NULL; } space_hack = autofs_strdup_space_hack(mp->am_path); if (!lstat(space_hack, &stb)) { mp->am_dev = stb.st_dev; mp->am_rdev = stb.st_rdev; } XFREE(space_hack); /* don't expire the entries -- the kernel will do it for us */ mp->am_flags |= AMF_NOTIMEOUT; plog(XLOG_INFO, "autofs: mounting %s succeeded", mp->am_path);}
开发者ID:ryo,项目名称:netbsd-src,代码行数:33,
示例8: cps_containsint *is_alive_6_svc( unsigned *id, struct svc_req *rqstp){ static int alive; SVCXPRT * const xprt = rqstp->rq_xprt; int error = 0; alive = cps_contains((pid_t) *id); if (ulogIsDebug()) { udebug("LDM %u is %s", *id, alive ? "alive" : "dead"); } if (!svc_sendreply(xprt, (xdrproc_t) xdr_bool, (caddr_t) &alive)) { svcerr_systemerr(xprt); error = 1; } if (!svc_freeargs(xprt, xdr_u_int, (caddr_t)id)) { uerror("Couldn't free arguments"); error = 1; } svc_destroy(xprt); exit(error); /*NOTREACHED*/ return NULL ;}
开发者ID:khallock,项目名称:LDM,代码行数:33,
示例9: serverprog_1static voidserverprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { int get_1_arg; Message put_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case get: _xdr_argument = (xdrproc_t) xdr_int; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) get_1_svc; break; case put: _xdr_argument = (xdrproc_t) xdr_Message; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) put_1_svc; break; case initialize: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) initialize_1_svc; break; case teardown: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) teardown_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:hne3,项目名称:OS,代码行数:59,
示例10: l2tp_event_prog_1voidl2tp_event_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { l2tp_session_ppp_updown_ind_1_argument l2tp_session_ppp_updown_ind_1_arg; l2tp_session_ppp_status_ind_1_argument l2tp_session_ppp_status_ind_1_arg; l2tp_session_ppp_accm_ind_1_argument l2tp_session_ppp_accm_ind_1_arg; } argument; union { } result; bool_t retval; xdrproc_t _xdr_argument, _xdr_result; bool_t (*local)(char *, void *, struct svc_req *); if (l2tp_api_rpc_check_request(transp) < 0) return; switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case L2TP_SESSION_PPP_UPDOWN_IND: _xdr_argument = (xdrproc_t) xdr_l2tp_session_ppp_updown_ind_1_argument; _xdr_result = (xdrproc_t) xdr_void; local = (bool_t (*) (char *, void *, struct svc_req *))_l2tp_session_ppp_updown_ind_1; break; case L2TP_SESSION_PPP_STATUS_IND: _xdr_argument = (xdrproc_t) xdr_l2tp_session_ppp_status_ind_1_argument; _xdr_result = (xdrproc_t) xdr_void; local = (bool_t (*) (char *, void *, struct svc_req *))_l2tp_session_ppp_status_ind_1; break; case L2TP_SESSION_PPP_ACCM_IND: _xdr_argument = (xdrproc_t) xdr_l2tp_session_ppp_accm_ind_1_argument; _xdr_result = (xdrproc_t) xdr_void; local = (bool_t (*) (char *, void *, struct svc_req *))_l2tp_session_ppp_accm_ind_1; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); if (retval > 0 && !svc_sendreply(transp, (xdrproc_t) _xdr_result, (char *)&result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { syslog (LOG_ERR, "%s", "unable to free arguments"); exit (1); } if (!l2tp_event_prog_1_freeresult (transp, _xdr_result, (caddr_t) &result)) syslog (LOG_ERR, "%s", "unable to free results"); return;}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:59,
示例11: notifymeprog_5/* * The RPC dispatch routine for this program. * Registered as a callback by svc_register() below. * Note that only NULLPROC and NOTIFICATION rpc procs are * handled by this program. */static voidnotifymeprog_5(struct svc_req *rqstp, SVCXPRT *transp){ prod_info notice; switch (rqstp->rq_proc) { case NULLPROC: (void)svc_sendreply(transp, (xdrproc_t)xdr_void, (caddr_t)NULL); return; case NOTIFICATION: (void) memset((char*)¬ice, 0, sizeof(notice)); if (!svc_getargs(transp, (xdrproc_t)xdr_prod_info, (caddr_t)¬ice)) { svcerr_decode(transp); return; } (void)exitIfDone(0); /* * Update the request filter with the timestamp * we just recieved. * N.B.: There can still be duplicates after * a reconnect. */ clss.from = notice.arrival; timestamp_incr(&clss.from); /* * your code here, example just logs it */ log_info_q("%s", s_prod_info(NULL, 0, ¬ice, log_is_enabled_debug)); if(!svc_sendreply(transp, (xdrproc_t)xdr_ldm_replyt, (caddr_t) &reply)) { svcerr_systemerr(transp); } (void)exitIfDone(0); if(!svc_freeargs(transp, xdr_prod_info, (caddr_t) ¬ice)) { log_error_q("unable to free arguments"); exit(1); } /* no break */ default: svcerr_noproc(transp); return; }}
开发者ID:Unidata,项目名称:LDM,代码行数:64,
示例12: numeradorcliente_1static voidnumeradorcliente_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { int devolveridcliente_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case OBTENERIDCLIENTE: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_retorno; local = (char *(*)(char *, struct svc_req *)) obteneridcliente_1_svc; break; case DEVOLVERIDCLIENTE: _xdr_argument = (xdrproc_t) xdr_int; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) devolveridcliente_1_svc; break; case RESETEARCLIENTES: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) resetearclientes_1_svc; break; case LISTADOCLIENTES: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_retorno; local = (char *(*)(char *, struct svc_req *)) listadoclientes_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:franciscoSoler,项目名称:nebla,代码行数:58,
示例13: calcula_1static voidcalcula_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { int start_servers_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case START_SERVERS: _xdr_argument = (xdrproc_t) xdr_int; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) start_servers_1_svc; break; case PASS_TOKEN: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) pass_token_1_svc; break; case P: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) p_1_svc; break; case V: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) v_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:matheusdarosa,项目名称:CBCAST,代码行数:58,
示例14: storcli_program_1voidstorcli_program_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { storcli_write_arg_t storcli_write_1_arg; storcli_read_arg_t storcli_read_1_arg; storcli_truncate_arg_t storcli_truncate_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case STORCLI_NULL: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) storcli_null_1_svc; break; case STORCLI_WRITE: _xdr_argument = (xdrproc_t) xdr_storcli_write_arg_t; _xdr_result = (xdrproc_t) xdr_storcli_status_ret_t; local = (char *(*)(char *, struct svc_req *)) storcli_write_1_svc; break; case STORCLI_READ: _xdr_argument = (xdrproc_t) xdr_storcli_read_arg_t; _xdr_result = (xdrproc_t) xdr_storcli_read_ret_t; local = (char *(*)(char *, struct svc_req *)) storcli_read_1_svc; break; case STORCLI_TRUNCATE: _xdr_argument = (xdrproc_t) xdr_storcli_truncate_arg_t; _xdr_result = (xdrproc_t) xdr_storcli_status_ret_t; local = (char *(*)(char *, struct svc_req *)) storcli_truncate_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:Chethan-Casey,项目名称:rozofs,代码行数:56,
示例15: bank_1static voidbank_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { usr_pass init_1_arg; usr_pass verify_1_arg; double balance_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case INIT: _xdr_argument = (xdrproc_t) xdr_usr_pass; _xdr_result = (xdrproc_t) xdr_double; local = (char *(*)(char *, struct svc_req *)) init_1_svc; break; case VERIFY: _xdr_argument = (xdrproc_t) xdr_usr_pass; _xdr_result = (xdrproc_t) xdr_double; local = (char *(*)(char *, struct svc_req *)) verify_1_svc; break; case BALANCE: _xdr_argument = (xdrproc_t) xdr_double; _xdr_result = (xdrproc_t) xdr_double; local = (char *(*)(char *, struct svc_req *)) balance_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:AmeyRuikar,项目名称:RPC,代码行数:54,
示例16: geom_prog_1static voidgeom_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { rectangle surface_rectangle_1_arg; coordonnees creer_rectangle_1_arg; param_inclus inclus_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case SURFACE_RECTANGLE: _xdr_argument = (xdrproc_t) xdr_rectangle; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) surface_rectangle_1_svc; break; case CREER_RECTANGLE: _xdr_argument = (xdrproc_t) xdr_coordonnees; _xdr_result = (xdrproc_t) xdr_rectangle; local = (char *(*)(char *, struct svc_req *)) creer_rectangle_1_svc; break; case INCLUS: _xdr_argument = (xdrproc_t) xdr_param_inclus; _xdr_result = (xdrproc_t) xdr_booleen; local = (char *(*)(char *, struct svc_req *)) inclus_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:Doelia,项目名称:M1-Semestre1,代码行数:54,
示例17: ldmprog_7voidldmprog_7(struct svc_req *rqstp, register SVCXPRT *transp){ union { char subscribe_7_arg; VcmtpFileId request_product_7_arg; MissedProduct deliver_product_7_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case SUBSCRIBE: _xdr_argument = (xdrproc_t) xdr_char; _xdr_result = (xdrproc_t) xdr_SubscriptionReply; local = (char *(*)(char *, struct svc_req *)) subscribe_7_svc; break; case REQUEST_PRODUCT: _xdr_argument = (xdrproc_t) xdr_VcmtpFileId; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) request_product_7_svc; break; case DELIVER_PRODUCT: _xdr_argument = (xdrproc_t) xdr_MissedProduct; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) deliver_product_7_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:rmlawton,项目名称:LDM,代码行数:54,
示例18: smoker_prog_1static voidsmoker_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { struct smoker_id smoker_start_1_arg; struct smoker_info smoker_proc_1_arg; struct smoker_id smoker_exit_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case SMOKER_START: _xdr_argument = (xdrproc_t) xdr_smoker_id; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) smoker_start_1_svc; break; case SMOKER_PROC: _xdr_argument = (xdrproc_t) xdr_smoker_info; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) smoker_proc_1_svc; break; case SMOKER_EXIT: _xdr_argument = (xdrproc_t) xdr_smoker_id; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) smoker_exit_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:wesrupert,项目名称:eecs338,代码行数:54,
示例19: calccompprog_1static voidcalccompprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { complexe add_1_arg; complexe mul_1_arg; complexe init_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case ADD: _xdr_argument = (xdrproc_t) xdr_complexe; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) add_1_svc; break; case MUL: _xdr_argument = (xdrproc_t) xdr_complexe; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) mul_1_svc; break; case INIT: _xdr_argument = (xdrproc_t) xdr_complexe; _xdr_result = (xdrproc_t) xdr_void; local = (char *(*)(char *, struct svc_req *)) init_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:jianfeipan,项目名称:TB,代码行数:54,
示例20: train_1static voidtrain_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { seat is_seat_taken_1_arg; seat reserve_seat_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case is_wagon_full: _xdr_argument = (xdrproc_t) xdr_void; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) is_wagon_full_1_svc; break; case is_seat_taken: _xdr_argument = (xdrproc_t) xdr_seat; _xdr_result = (xdrproc_t) xdr_available; local = (char *(*)(char *, struct svc_req *)) is_seat_taken_1_svc; break; case reserve_seat: _xdr_argument = (xdrproc_t) xdr_seat; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) reserve_seat_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:ccruzp,项目名称:Redes,代码行数:53,
示例21: bootparamprog_1static voidbootparamprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { bp_whoami_arg bootparamproc_whoami_1_arg; bp_getfile_arg bootparamproc_getfile_1_arg; } argument; char *result; bool_t (*xdr_argument)(), (*xdr_result)(); char *(*local)(); _rpcsvcdirty = 1; switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply(transp, xdr_void, (char *)NULL); _rpcsvcdirty = 0; return; case BOOTPARAMPROC_WHOAMI: xdr_argument = xdr_bp_whoami_arg; xdr_result = xdr_bp_whoami_res; local = (char *(*)()) bootparamproc_whoami_1; break; case BOOTPARAMPROC_GETFILE: xdr_argument = xdr_bp_getfile_arg; xdr_result = xdr_bp_getfile_res; local = (char *(*)()) bootparamproc_getfile_1; break; default: svcerr_noproc(transp); _rpcsvcdirty = 0; return; } (void) memset((char *)&argument, 0, sizeof (argument)); if (!svc_getargs(transp, xdr_argument, (caddr_t)&argument)) { svcerr_decode(transp); _rpcsvcdirty = 0; return; } result = (*local)(&argument, rqstp); if (result != NULL && !svc_sendreply(transp, xdr_result, result)) { svcerr_systemerr(transp); } if (!svc_freeargs(transp, xdr_argument, (caddr_t)&argument)) { msgout("unable to free arguments"); exit(EXIT_FAILURE); } _rpcsvcdirty = 0;}
开发者ID:andreiw,项目名称:polaris,代码行数:51,
示例22: down6_blkdata/*ARGSUSED1*/void *blkdata_6_svc( datapkt *argp, struct svc_req *rqstp){ int error = down6_blkdata(argp); if (error && DOWN6_UNWANTED != error && DOWN6_PQ_BIG != error) { (void) svcerr_systemerr(rqstp->rq_xprt); svc_destroy(rqstp->rq_xprt); exit(error); } return NULL ; /* don't reply */}
开发者ID:khallock,项目名称:LDM,代码行数:15,
示例23: rcp_service//****************************************////*** Dispatch Function ***////****************************************//void rcp_service(register struct svc_req *rqstp, register SVCXPRT *transp){ char *result; xdrproc_t xdr_argument; xdrproc_t xdr_result; char *(*proc)(int , SVCXPRT *); int test_status = 1; switch (rqstp->rq_proc) { case PROCSIMPLEPING: { //printf("** in PROCPONG dispatch Func./n"); xdr_argument = (xdrproc_t)xdr_int; xdr_result = (xdrproc_t)xdr_int; proc = (char *(*)(int, SVCXPRT *))simplePing; break; } } memset((char *)&argument, (int)0, sizeof(argument)); if (svc_getargs(transp, xdr_argument, (char *)&argument) == FALSE) { svcerr_decode(transp); return; } result = (char *)(*proc)(argument, transp); if ((result != NULL) && (svc_sendreply(transp, xdr_result, result) == FALSE)) { svcerr_systemerr(transp); } if (svc_freeargs(transp, xdr_argument, (char *)&argument) == FALSE) { //Test has failed test_status = 1; } else { //Test succeeds test_status = 0; } //This last printf gives the result status to the tests suite //normally should be 0: test has passed or 1: test has failed printf("%d/n", test_status); exit (test_status);}
开发者ID:shubmit,项目名称:shub-ltp,代码行数:53,
示例24: osdprog_1static voidosdprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { data_arg date_write_1_arg; data_req date_read_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case DATE_WRITE: _xdr_argument = (xdrproc_t) xdr_data_arg; _xdr_result = (xdrproc_t) xdr_int; local = (char *(*)(char *, struct svc_req *)) date_write_1_svc; break; case DATE_READ: _xdr_argument = (xdrproc_t) xdr_data_req; _xdr_result = (xdrproc_t) xdr_data_arg; local = (char *(*)(char *, struct svc_req *)) date_read_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } free(result); return;}
开发者ID:carriercomm,项目名称:DPDK-Graph,代码行数:49,
示例25: imgprog_1static voidimgprog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { argimg moyfiltr_prog_1_1_arg; argimg medfiltr_prog_2_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case MoyFiltr_prog_1: _xdr_argument = (xdrproc_t) xdr_argimg; _xdr_result = (xdrproc_t) xdr_argimg; local = (char *(*)(char *, struct svc_req *)) moyfiltr_prog_1_1_svc; break; case MedFiltr_prog_2: _xdr_argument = (xdrproc_t) xdr_argimg; _xdr_result = (xdrproc_t) xdr_argimg; local = (char *(*)(char *, struct svc_req *)) medfiltr_prog_2_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:Ayasouk,项目名称:bug,代码行数:47,
示例26: credentials_prog_1static voidcredentials_prog_1(struct svc_req *rqstp, register SVCXPRT *transp){ union { cred_in registerproc_1_arg; cred_in loginproc_1_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case REGISTERPROC: _xdr_argument = (xdrproc_t) xdr_cred_in; _xdr_result = (xdrproc_t) xdr_cred_out; local = (char *(*)(char *, struct svc_req *)) registerproc_1_svc; break; case LOGINPROC: _xdr_argument = (xdrproc_t) xdr_cred_in; _xdr_result = (xdrproc_t) xdr_cred_out; local = (char *(*)(char *, struct svc_req *)) loginproc_1_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:2015ht12465,项目名称:myRPC,代码行数:47,
示例27: nlm_prog_0voidnlm_prog_0(struct svc_req *rqstp, SVCXPRT *transp){ union { struct nlm_sm_status nlm_sm_notify_0_arg; } argument; char result; bool_t retval; xdrproc_t xdr_argument, xdr_result; bool_t (*local)(char *, void *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply(rqstp, (xdrproc_t) xdr_void, (char *)NULL); svc_freereq(rqstp); return; case NLM_SM_NOTIFY: xdr_argument = (xdrproc_t) xdr_nlm_sm_status; xdr_result = (xdrproc_t) xdr_void; local = (bool_t (*) (char *, void *, struct svc_req *))nlm_sm_notify_0_svc; break; default: svcerr_noproc(rqstp); svc_freereq(rqstp); return; } (void) memset((char *)&argument, 0, sizeof (argument)); if (!svc_getargs(rqstp, xdr_argument, (char *)(caddr_t) &argument)) { svcerr_decode(rqstp); svc_freereq(rqstp); return; } retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp); if (retval > 0 && !svc_sendreply(rqstp, xdr_result, (char *)&result)) { svcerr_systemerr(rqstp); } if (!svc_freeargs(rqstp, xdr_argument, (char *)(caddr_t) &argument)) { printf("unable to free arguments"); //exit(1); } svc_freereq(rqstp); return;}
开发者ID:eyberg,项目名称:rumpkernel-netbsd-src,代码行数:47,
示例28: finance_3static voidfinance_3(struct svc_req *rqstp, register SVCXPRT *transp){ union { float updaterate_3_arg; float convert_x2y_3_arg; } argument; char *result; xdrproc_t _xdr_argument, _xdr_result; char *(*local)(char *, struct svc_req *); switch (rqstp->rq_proc) { case NULLPROC: (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL); return; case updateRate: _xdr_argument = (xdrproc_t) xdr_float; _xdr_result = (xdrproc_t) xdr_float; local = (char *(*)(char *, struct svc_req *)) updaterate_3_svc; break; case convert_x2y: _xdr_argument = (xdrproc_t) xdr_float; _xdr_result = (xdrproc_t) xdr_float; local = (char *(*)(char *, struct svc_req *)) convert_x2y_3_svc; break; default: svcerr_noproc (transp); return; } memset ((char *)&argument, 0, sizeof (argument)); if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { svcerr_decode (transp); return; } result = (*local)((char *)&argument, rqstp); if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) { svcerr_systemerr (transp); } if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { fprintf (stderr, "%s", "unable to free arguments"); exit (1); } return;}
开发者ID:QuentinBarrand,项目名称:ENSIIE-IMAR-exercices,代码行数:47,
注:本文中的svcerr_systemerr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ svctcp_create函数代码示例 C++ svcerr_noproc函数代码示例 |