您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ svc_freeargs函数代码示例

51自学网 2021-06-03 08:33:57
  C++
这篇教程C++ svc_freeargs函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中svc_freeargs函数的典型用法代码示例。如果您正苦于以下问题:C++ svc_freeargs函数的具体用法?C++ svc_freeargs怎么用?C++ svc_freeargs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了svc_freeargs函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ypoldnext

voidypoldnext(SVCXPRT *transp){	bool dbmop_ok = TRUE;	struct yprequest req;	struct ypresponse resp;	char *fun = "ypoldnext";	DBM *fdb;	memset((void *) &req, 0, sizeof (req));	memset((void *) &resp, 0, sizeof (resp));	if (!svc_getargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		svcerr_decode(transp);		return;	}	if (req.yp_reqtype != YPNEXT_REQTYPE) {		resp.ypnext_resp_status = (unsigned)YP_BADARGS;		dbmop_ok = FALSE;	}	if (dbmop_ok &&		((fdb = ypset_current_map(req.ypnext_req_map,					req.ypnext_req_domain,					&resp.ypnext_resp_status)) != NULL &&		yp_map_access(transp, &resp.ypnext_resp_status, fdb))) {		resp.ypnext_resp_keydat = dbm_nextkey(fdb);		if (resp.ypnext_resp_keyptr != NULL) {			resp.ypnext_resp_valdat =			dbm_fetch(fdb, resp.ypnext_resp_keydat);			if (resp.ypnext_resp_valptr != NULL) {				resp.ypnext_resp_status = YP_TRUE;			} else {				resp.ypnext_resp_status = (unsigned)YP_BADDB;			}		} else {			resp.ypnext_resp_status = (unsigned)YP_NOMORE;		}	}	resp.yp_resptype = YPNEXT_RESPTYPE;	if (!svc_sendreply(transp,				(xdrproc_t)_xdr_ypresponse,				(caddr_t)&resp)) {		RESPOND_ERR;	}	if (!svc_freeargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		FREE_ERR;	}}
开发者ID:andreiw,项目名称:polaris,代码行数:60,


示例2: scsi_prog_1

static 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,


示例3: rdictprog_1

static 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,


示例4: ypnext

/* * This implements the yp "get next" function. */voidypnext(SVCXPRT *transp){	struct ypreq_key req;	struct ypresp_key_val resp;	char *fun = "ypnext";	DBM *fdb;	memset(&req, 0, sizeof (req));	memset(&resp, 0, sizeof (resp));	if (!svc_getargs(transp, (xdrproc_t)xdr_ypreq_key, (char *)&req)) {		svcerr_decode(transp);		return;	}	if ((fdb = ypset_current_map(req.map, req.domain,					&resp.status)) != NULL &&		yp_map_access(transp, &resp.status, fdb)) {		ypfilter(fdb, &req.keydat,			&resp.keydat, &resp.valdat, &resp.status, FALSE);	}	if (!svc_sendreply(transp,				(xdrproc_t)xdr_ypresp_key_val,				(char *)&resp)) {		RESPOND_ERR;	}	if (!svc_freeargs(transp,				(xdrproc_t)xdr_ypreq_key,				(char *)&req)) {		FREE_ERR;	}}
开发者ID:andreiw,项目名称:polaris,代码行数:38,


示例5: cps_contains

int *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,


示例6: 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,


示例7: umount

/* * Remove an entry from mounted list */static voidumount(struct svc_req *rqstp){	char *host, *path, *remove_path;	char rpath[MAXPATHLEN];	struct nd_hostservlist *clnames = NULL;	SVCXPRT *transp;	struct netbuf *nb;	transp = rqstp->rq_xprt;	path = NULL;	if (!svc_getargs(transp, xdr_dirpath, (caddr_t)&path)) {		svcerr_decode(transp);		return;	}	errno = 0;	if (!svc_sendreply(transp, xdr_void, (char *)NULL))		log_cant_reply(transp);	getclientsnames(transp, &nb, &clnames);	if (clnames == NULL) {		/*		 * Without the hostname we can't do audit or delete		 * this host from the mount entries.		 */		svc_freeargs(transp, xdr_dirpath, (caddr_t)&path);		return;	}	host = clnames->h_hostservs[0].h_host;	if (verbose)		syslog(LOG_NOTICE, "UNMOUNT: %s unmounted %s", host, path);	audit_mountd_umount(host, path);	remove_path = rpath;	/* assume we will use the cannonical path */	if (realpath(path, rpath) == NULL) {		if (verbose)			syslog(LOG_WARNING, "UNMOUNT: realpath: %s: %m ", path);		remove_path = path;	/* use path provided instead */	}	mntlist_delete(host, remove_path);	/* remove from mount list */	svc_freeargs(transp, xdr_dirpath, (caddr_t)&path);	netdir_free(clnames, ND_HOSTSERVLIST);}
开发者ID:andreiw,项目名称:polaris,代码行数:50,


示例8: serverprog_1

static 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,


示例9: l2tp_event_prog_1

voidl2tp_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,


示例10: 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*)&notice, 0, sizeof(notice));                if (!svc_getargs(transp, (xdrproc_t)xdr_prod_info,                    (caddr_t)&notice))                {                        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, &notice,                        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) &notice)) {                        log_error_q("unable to free arguments");                        exit(1);                }                /* no break */        default:                svcerr_noproc(transp);                return;        }}
开发者ID:Unidata,项目名称:LDM,代码行数:64,


示例11: numeradorcliente_1

static 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,


示例12: universal

static voiduniversal (struct svc_req *rqstp, SVCXPRT *transp_l){  int prog, proc;  char *outdata;  char xdrbuf[UDPMSGSIZE];  struct proglst_ *pl;  char *buf = NULL;  /*   * enforce "procnum 0 is echo" convention   */  if (rqstp->rq_proc == NULLPROC)    {      if (svc_sendreply (transp_l, (xdrproc_t)xdr_void, (char *) NULL) == FALSE)	{	  write (STDERR_FILENO, "xxx/n", 4);	  exit (1);	}      return;    }  prog = rqstp->rq_prog;  proc = rqstp->rq_proc;  for (pl = proglst; pl != NULL; pl = pl->p_nxt)    if (pl->p_prognum == prog && pl->p_procnum == proc)      {	/* decode arguments into a CLEAN buffer */	memset (xdrbuf, 0, sizeof (xdrbuf));	/* required ! */	if (!svc_getargs (transp_l, pl->p_inproc, xdrbuf))	  {	    svcerr_decode (transp_l);	    return;	  }	outdata = (*(pl->p_progname)) (xdrbuf);	if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void)	  /* there was an error */	  return;	if (!svc_sendreply (transp_l, pl->p_outproc, outdata))	  {	    (void) asprintf (&buf,			       _("trouble replying to prog %d/n"),			       pl->p_prognum);	    exit (1);	  }	/* free the decoded arguments */	(void) svc_freeargs (transp_l, pl->p_inproc, xdrbuf);	return;      }  (void) asprintf (&buf, _("never registered prog %d/n"), prog);#ifdef USE_IN_LIBIO  if (_IO_fwide (stderr, 0) > 0)    __fwprintf (stderr, L"%s", buf);  else#endif    fputs (buf, stderr);  free (buf);  exit (1);}
开发者ID:jameshilliard,项目名称:WECB-BH-GPL,代码行数:58,


示例13: calcula_1

static 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: universal

static voiduniversal (struct svc_req *rqstp, SVCXPRT *transp_l){  int prog, proc;  char *outdata;  char xdrbuf[UDPMSGSIZE];  struct proglst_ *pl;  char *buf = NULL;  /*   * enforce "procnum 0 is echo" convention   */  if (rqstp->rq_proc == NULLPROC)    {      if (INTUSE(svc_sendreply) (transp_l, (xdrproc_t)INTUSE(xdr_void),				 (char *) NULL) == FALSE)	{	  __write (STDERR_FILENO, "xxx/n", 4);	  exit (1);	}      return;    }  prog = rqstp->rq_prog;  proc = rqstp->rq_proc;  for (pl = proglst; pl != NULL; pl = pl->p_nxt)    if (pl->p_prognum == prog && pl->p_procnum == proc)      {	/* decode arguments into a CLEAN buffer */	__bzero (xdrbuf, sizeof (xdrbuf));	/* required ! */	if (!svc_getargs (transp_l, pl->p_inproc, xdrbuf))	  {	    INTUSE(svcerr_decode) (transp_l);	    return;	  }	outdata = (*(pl->p_progname)) (xdrbuf);	if (outdata == NULL && pl->p_outproc != (xdrproc_t)INTUSE(xdr_void))	  /* there was an error */	  return;	if (!INTUSE(svc_sendreply) (transp_l, pl->p_outproc, outdata))	  {	    if (__asprintf (&buf, _("trouble replying to prog %d/n"),			    pl->p_prognum) < 0)	      buf = NULL;	    goto err_out2;	  }	/* free the decoded arguments */	(void) svc_freeargs (transp_l, pl->p_inproc, xdrbuf);	return;      }  if (__asprintf (&buf, _("never registered prog %d/n"), prog) < 0)    buf = NULL; err_out2:  if (buf == NULL)    exit (1);  __fxprintf (NULL, "%s", buf);  free (buf);  exit (1);}
开发者ID:OSLL,项目名称:elfperf,代码行数:58,


示例15: storcli_program_1

voidstorcli_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,


示例16: ypoldget

voidypoldget(SVCXPRT *transp){	struct yprequest req;	struct ypresp_val resp;	pid_t pid = -1;	char *fun = "ypoldget";	DBM *fdb;	memset((void *) &req, 0, sizeof (req));	if (!svc_getargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		svcerr_decode(transp);		return;	}	if (!svc_sendreply(transp, xdr_void, 0)) {		RESPOND_ERR;	}	if (req.yp_reqtype == YPGET_REQTYPE) {		if (((fdb = ypset_current_map(req.ypget_req_map,						req.ypget_req_domain,						&resp.status)) == NULL) ||			(yp_map_access(transp, &resp.status, fdb))) {			pid = vfork();		}		if (pid == -1) {			FORK_ERR;		} else if (pid == 0) {			ypclr_current_map();			if (execl(ypxfr_proc, "ypxfr", "-d",					req.ypget_req_domain, "-h",					req.ypget_req_owner,					req.ypget_req_map, NULL)) {				EXEC_ERR;			}			_exit(1);		}	}	if (!svc_freeargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		RESPOND_ERR;	}}
开发者ID:andreiw,项目名称:polaris,代码行数:55,


示例17: calccompprog_1

static 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,


示例18: geom_prog_1

static 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,


示例19: bank_1

static 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,


示例20: smoker_prog_1

static 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,


示例21: ldmprog_7

voidldmprog_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,


示例22: train_1

static 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,


示例23: bootparamprog_1

static 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,


示例24: ypoldpush

voidypoldpush(SVCXPRT *transp){	struct yprequest req;	struct ypresp_val resp;	pid_t pid = -1;	char *fun = "ypoldpush";	DBM *fdb;	memset((void *) &req, 0, sizeof (req));	if (!svc_getargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		svcerr_decode(transp);		return;	}	if (((fdb = ypset_current_map(req.yppush_req_map,					req.yppush_req_domain,					&resp.status)) != NULL) &&		(yp_map_access(transp, &resp.status, fdb))) {		pid = vfork();	}	if (pid == -1) {		FORK_ERR;	} else if (pid == 0) {		ypclr_current_map();		if (execl(yppush_proc, "yppush", "-d", req.yppush_req_domain,				req.yppush_req_map, NULL)) {			EXEC_ERR;		}		_exit(1);	}	if (!svc_sendreply(transp,				(xdrproc_t)xdr_void,				(caddr_t)NULL)) {		RESPOND_ERR;	}	if (!svc_freeargs(transp,				(xdrproc_t)_xdr_yprequest,				(caddr_t)&req)) {		FREE_ERR;	}}
开发者ID:andreiw,项目名称:polaris,代码行数:50,


示例25: 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,


示例26: universal

static voiduniversal (struct svc_req *rqstp, SVCXPRT *transp){  int prog, proc;  char *outdata;  char xdrbuf[UDPMSGSIZE];  struct proglst *pl;  /*   * enforce "procnum 0 is echo" convention   */  if (rqstp->rq_proc == NULLPROC)    {      if (svc_sendreply (transp, (xdrproc_t)xdr_void, (char *) NULL) == FALSE)	{	  (void) fprintf (stderr, "xxx/n");	  exit (1);	}      return;    }  prog = rqstp->rq_prog;  proc = rqstp->rq_proc;  for (pl = proglst; pl != NULL; pl = pl->p_nxt)    if (pl->p_prognum == prog && pl->p_procnum == proc)      {	/* decode arguments into a CLEAN buffer */	__bzero (xdrbuf, sizeof (xdrbuf));	/* required ! */	if (!svc_getargs (transp, pl->p_inproc, xdrbuf))	  {	    svcerr_decode (transp);	    return;	  }	outdata = (*(pl->p_progname)) (xdrbuf);	if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void)	  /* there was an error */	  return;	if (!svc_sendreply (transp, pl->p_outproc, outdata))	  {	    (void) fprintf (stderr,			    _ ("trouble replying to prog %d/n"),			    pl->p_prognum);	    exit (1);	  }	/* free the decoded arguments */	(void) svc_freeargs (transp, pl->p_inproc, xdrbuf);	return;      }  (void) fprintf (stderr, _ ("never registered prog %d/n"), prog);  exit (1);}
开发者ID:ArmstrongJ,项目名称:MiNTLib,代码行数:50,


示例27: osdprog_1

static 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,


示例28: feed_or_notify

/** * Notifies a downstream LDM of subscribed-to data-products. * <p> * This function will not normally return unless the request necessitates a * reply (e.g., RECLASS). */fornme_reply_t *notifyme_6_svc(        prod_class_t* want,        struct svc_req* rqstp){    SVCXPRT* const xprt = rqstp->rq_xprt;    fornme_reply_t* reply = feed_or_notify(xprt, want, 1, 0);    if (!svc_freeargs(xprt, xdr_prod_class, (caddr_t)want)) {        uerror("Couldn't free arguments");        svc_destroy(xprt);        exit(1);    }    return reply;}
开发者ID:khallock,项目名称:LDM,代码行数:21,



注:本文中的svc_freeargs函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ svc_plugin_send函数代码示例
C++ svc_destroy函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。