⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rdict_svc.c

📁 &#61599 Douglas Comer
💻 C
字号:
/* * Please do not edit this file. * It was generated using rpcgen. */#include "rdict.h"#include <stdio.h>#include <stdlib.h>#include <rpc/pmap_clnt.h>#include <string.h>#include <memory.h>#include <sys/socket.h>#include <netinet/in.h>#ifndef SIG_PF#define SIG_PF void(*)(int)#endifstatic 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, _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);	}	return;}intmain (int argc, char **argv){	register SVCXPRT *transp;	pmap_unset (RDICTPROG, RDICTVERS);	transp = svcudp_create(RPC_ANYSOCK);	if (transp == NULL) {		fprintf (stderr, "cannot create udp service.");		exit(1);	}	if (!svc_register(transp, RDICTPROG, RDICTVERS, rdictprog_1, IPPROTO_UDP)) {		fprintf (stderr, "unable to register (RDICTPROG, RDICTVERS, udp).");		exit(1);	}	transp = svctcp_create(RPC_ANYSOCK, 0, 0);	if (transp == NULL) {		fprintf (stderr, "cannot create tcp service.");		exit(1);	}	if (!svc_register(transp, RDICTPROG, RDICTVERS, rdictprog_1, IPPROTO_TCP)) {		fprintf (stderr, "unable to register (RDICTPROG, RDICTVERS, tcp).");		exit(1);	}	svc_run ();	fprintf (stderr, "svc_run returned");	exit (1);	/* NOTREACHED */}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -