From 16476af75a2b6426ea7ec0cc841a5e509d5743b4 Mon Sep 17 00:00:00 2001 From: Whitney Armstrong <warmstrong@anl.gov> Date: Wed, 5 Oct 2022 12:21:09 -0500 Subject: [PATCH] Let's not bother running rpcgen anymore new file: daVarRpc.h new file: daVarRpc_clnt.c new file: daVarRpc_svc.c new file: daVarRpc_xdr.c modified: ../Makefile --- CTP/daVarRpc.h | 164 +++++++++++++++++++++++++++++++++++++++ CTP/daVarRpc_clnt.c | 103 +++++++++++++++++++++++++ CTP/daVarRpc_svc.c | 103 +++++++++++++++++++++++++ CTP/daVarRpc_xdr.c | 181 ++++++++++++++++++++++++++++++++++++++++++++ Makefile | 3 +- 5 files changed, 553 insertions(+), 1 deletion(-) create mode 100644 CTP/daVarRpc.h create mode 100644 CTP/daVarRpc_clnt.c create mode 100644 CTP/daVarRpc_svc.c create mode 100644 CTP/daVarRpc_xdr.c diff --git a/CTP/daVarRpc.h b/CTP/daVarRpc.h new file mode 100644 index 0000000..9f012ce --- /dev/null +++ b/CTP/daVarRpc.h @@ -0,0 +1,164 @@ +/* + * Please do not edit this file. + * It was generated using rpcgen. + */ + +#ifndef _DAVARRPC_H_RPCGEN +#define _DAVARRPC_H_RPCGEN + +#include <rpc/rpc.h> + + +#ifdef __cplusplus +extern "C" { +#endif + +#include <time.h> +#define _xdr_result xdr_result +#define _xdr_argument xdr_argument +#define DAVARINT_RPC 1 +#define DAVARFLOAT_RPC 2 +#define DAVARDOUBLE_RPC 3 +#define DAVARSTRING_RPC 4 +#define DAVARERROR_RPC 999 + +typedef char *PNAME; + +typedef struct { + u_int NAMELIST_len; + PNAME *NAMELIST_val; +} NAMELIST; + +struct any { + int valtype; + union { + struct { + u_int i_len; + int *i_val; + } i; + struct { + u_int r_len; + float *r_val; + } r; + struct { + u_int d_len; + double *d_val; + } d; + char *s; + int error; + } any_u; +}; +typedef struct any any; + +struct wany { + PNAME name; + any *val; +}; +typedef struct wany wany; + +typedef struct { + u_int RVALLIST_len; + any *RVALLIST_val; +} RVALLIST; + +typedef struct { + u_int WVALLIST_len; + wany *WVALLIST_val; +} WVALLIST; + +typedef struct { + u_int ERRLIST_len; + int *ERRLIST_val; +} ERRLIST; + +struct TESTNAMELIST { + char *test_condition; + int max_time_wait; + int max_event_wait; + int prog; + int vers; + NAMELIST *NAMELISTP; +}; +typedef struct TESTNAMELIST TESTNAMELIST; + +#define DAVARSVR 0x2c0daFF8 +#define DAVARVERS 1 + +#if defined(__STDC__) || defined(__cplusplus) +#define DAVAR_ACKMESSAGE 101 +extern int * davar_ackmessage_1(char **, CLIENT *); +extern int * davar_ackmessage_1_svc(char **, struct svc_req *); +#define DAVAR_GETLIST 102 +extern NAMELIST * davar_getlist_1(char **, CLIENT *); +extern NAMELIST * davar_getlist_1_svc(char **, struct svc_req *); +#define DAVAR_READMULTIPLE 103 +extern RVALLIST * davar_readmultiple_1(NAMELIST *, CLIENT *); +extern RVALLIST * davar_readmultiple_1_svc(NAMELIST *, struct svc_req *); +#define DAVAR_WRITEMULTIPLE 104 +extern ERRLIST * davar_writemultiple_1(WVALLIST *, CLIENT *); +extern ERRLIST * davar_writemultiple_1_svc(WVALLIST *, struct svc_req *); +#define DAVAR_READMULTIPLE_TEST 105 +extern int * davar_readmultiple_test_1(TESTNAMELIST *, CLIENT *); +extern int * davar_readmultiple_test_1_svc(TESTNAMELIST *, struct svc_req *); +#define DAVAR_READMULTIPLE_TEST_CB 106 +extern int * davar_readmultiple_test_cb_1(RVALLIST *, CLIENT *); +extern int * davar_readmultiple_test_cb_1_svc(RVALLIST *, struct svc_req *); +#define DAVAR_READPATTERNMATCH 107 +extern WVALLIST * davar_readpatternmatch_1(char **, CLIENT *); +extern WVALLIST * davar_readpatternmatch_1_svc(char **, struct svc_req *); +extern int davarsvr_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); + +#else /* K&R C */ +#define DAVAR_ACKMESSAGE 101 +extern int * davar_ackmessage_1(); +extern int * davar_ackmessage_1_svc(); +#define DAVAR_GETLIST 102 +extern NAMELIST * davar_getlist_1(); +extern NAMELIST * davar_getlist_1_svc(); +#define DAVAR_READMULTIPLE 103 +extern RVALLIST * davar_readmultiple_1(); +extern RVALLIST * davar_readmultiple_1_svc(); +#define DAVAR_WRITEMULTIPLE 104 +extern ERRLIST * davar_writemultiple_1(); +extern ERRLIST * davar_writemultiple_1_svc(); +#define DAVAR_READMULTIPLE_TEST 105 +extern int * davar_readmultiple_test_1(); +extern int * davar_readmultiple_test_1_svc(); +#define DAVAR_READMULTIPLE_TEST_CB 106 +extern int * davar_readmultiple_test_cb_1(); +extern int * davar_readmultiple_test_cb_1_svc(); +#define DAVAR_READPATTERNMATCH 107 +extern WVALLIST * davar_readpatternmatch_1(); +extern WVALLIST * davar_readpatternmatch_1_svc(); +extern int davarsvr_1_freeresult (); +#endif /* K&R C */ + +/* the xdr functions */ + +#if defined(__STDC__) || defined(__cplusplus) +extern bool_t xdr_PNAME (XDR *, PNAME*); +extern bool_t xdr_NAMELIST (XDR *, NAMELIST*); +extern bool_t xdr_any (XDR *, any*); +extern bool_t xdr_wany (XDR *, wany*); +extern bool_t xdr_RVALLIST (XDR *, RVALLIST*); +extern bool_t xdr_WVALLIST (XDR *, WVALLIST*); +extern bool_t xdr_ERRLIST (XDR *, ERRLIST*); +extern bool_t xdr_TESTNAMELIST (XDR *, TESTNAMELIST*); + +#else /* K&R C */ +extern bool_t xdr_PNAME (); +extern bool_t xdr_NAMELIST (); +extern bool_t xdr_any (); +extern bool_t xdr_wany (); +extern bool_t xdr_RVALLIST (); +extern bool_t xdr_WVALLIST (); +extern bool_t xdr_ERRLIST (); +extern bool_t xdr_TESTNAMELIST (); + +#endif /* K&R C */ + +#ifdef __cplusplus +} +#endif + +#endif /* !_DAVARRPC_H_RPCGEN */ diff --git a/CTP/daVarRpc_clnt.c b/CTP/daVarRpc_clnt.c new file mode 100644 index 0000000..fb29406 --- /dev/null +++ b/CTP/daVarRpc_clnt.c @@ -0,0 +1,103 @@ +/* + * Please do not edit this file. + * It was generated using rpcgen. + */ + +#include <memory.h> /* for memset */ +#include "daVarRpc.h" +#include <time.h> +#define _xdr_result xdr_result +#define _xdr_argument xdr_argument + +/* Default timeout can be changed using clnt_control() */ +static struct timeval TIMEOUT = { 25, 0 }; + +int * +davar_ackmessage_1(char **argp, CLIENT *clnt) +{ + static int clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_ACKMESSAGE, + (xdrproc_t) xdr_wrapstring, (caddr_t) argp, + (xdrproc_t) xdr_int, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} + +NAMELIST * +davar_getlist_1(char **argp, CLIENT *clnt) +{ + static NAMELIST clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_GETLIST, + (xdrproc_t) xdr_wrapstring, (caddr_t) argp, + (xdrproc_t) xdr_NAMELIST, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} + +RVALLIST * +davar_readmultiple_1(NAMELIST *argp, CLIENT *clnt) +{ + static RVALLIST clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_READMULTIPLE, + (xdrproc_t) xdr_NAMELIST, (caddr_t) argp, + (xdrproc_t) xdr_RVALLIST, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} + +ERRLIST * +davar_writemultiple_1(WVALLIST *argp, CLIENT *clnt) +{ + static ERRLIST clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_WRITEMULTIPLE, + (xdrproc_t) xdr_WVALLIST, (caddr_t) argp, + (xdrproc_t) xdr_ERRLIST, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} + +int * +davar_readmultiple_test_1(TESTNAMELIST *argp, CLIENT *clnt) +{ + static int clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_READMULTIPLE_TEST, + (xdrproc_t) xdr_TESTNAMELIST, (caddr_t) argp, + (xdrproc_t) xdr_int, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} + +WVALLIST * +davar_readpatternmatch_1(char **argp, CLIENT *clnt) +{ + static WVALLIST clnt_res; + + memset((char *)&clnt_res, 0, sizeof(clnt_res)); + if (clnt_call (clnt, DAVAR_READPATTERNMATCH, + (xdrproc_t) xdr_wrapstring, (caddr_t) argp, + (xdrproc_t) xdr_WVALLIST, (caddr_t) &clnt_res, + TIMEOUT) != RPC_SUCCESS) { + return (NULL); + } + return (&clnt_res); +} diff --git a/CTP/daVarRpc_svc.c b/CTP/daVarRpc_svc.c new file mode 100644 index 0000000..d0a56db --- /dev/null +++ b/CTP/daVarRpc_svc.c @@ -0,0 +1,103 @@ +/* + * Please do not edit this file. + * It was generated using rpcgen. + */ + +#include "daVarRpc.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) +#endif +#include <time.h> +#define _xdr_result xdr_result +#define _xdr_argument xdr_argument + +void +davarsvr_1(struct svc_req *rqstp, register SVCXPRT *transp) +{ + union { + char *davar_ackmessage_1_arg; + char *davar_getlist_1_arg; + NAMELIST davar_readmultiple_1_arg; + WVALLIST davar_writemultiple_1_arg; + TESTNAMELIST davar_readmultiple_test_1_arg; + RVALLIST davar_readmultiple_test_cb_1_arg; + char *davar_readpatternmatch_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 DAVAR_ACKMESSAGE: + _xdr_argument = (xdrproc_t) xdr_wrapstring; + _xdr_result = (xdrproc_t) xdr_int; + local = (char *(*)(char *, struct svc_req *)) davar_ackmessage_1_svc; + break; + + case DAVAR_GETLIST: + _xdr_argument = (xdrproc_t) xdr_wrapstring; + _xdr_result = (xdrproc_t) xdr_NAMELIST; + local = (char *(*)(char *, struct svc_req *)) davar_getlist_1_svc; + break; + + case DAVAR_READMULTIPLE: + _xdr_argument = (xdrproc_t) xdr_NAMELIST; + _xdr_result = (xdrproc_t) xdr_RVALLIST; + local = (char *(*)(char *, struct svc_req *)) davar_readmultiple_1_svc; + break; + + case DAVAR_WRITEMULTIPLE: + _xdr_argument = (xdrproc_t) xdr_WVALLIST; + _xdr_result = (xdrproc_t) xdr_ERRLIST; + local = (char *(*)(char *, struct svc_req *)) davar_writemultiple_1_svc; + break; + + case DAVAR_READMULTIPLE_TEST: + _xdr_argument = (xdrproc_t) xdr_TESTNAMELIST; + _xdr_result = (xdrproc_t) xdr_int; + local = (char *(*)(char *, struct svc_req *)) davar_readmultiple_test_1_svc; + break; + + case DAVAR_READMULTIPLE_TEST_CB: + _xdr_argument = (xdrproc_t) xdr_RVALLIST; + _xdr_result = (xdrproc_t) xdr_int; + local = (char *(*)(char *, struct svc_req *)) davar_readmultiple_test_cb_1_svc; + break; + + case DAVAR_READPATTERNMATCH: + _xdr_argument = (xdrproc_t) xdr_wrapstring; + _xdr_result = (xdrproc_t) xdr_WVALLIST; + local = (char *(*)(char *, struct svc_req *)) davar_readpatternmatch_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; +} diff --git a/CTP/daVarRpc_xdr.c b/CTP/daVarRpc_xdr.c new file mode 100644 index 0000000..6c2a0e3 --- /dev/null +++ b/CTP/daVarRpc_xdr.c @@ -0,0 +1,181 @@ +/* + * Please do not edit this file. + * It was generated using rpcgen. + */ + +#include "daVarRpc.h" +#include <time.h> +#define _xdr_result xdr_result +#define _xdr_argument xdr_argument + +bool_t +xdr_PNAME (XDR *xdrs, PNAME *objp) +{ + register int32_t *buf; + + if (!xdr_string (xdrs, objp, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_NAMELIST (XDR *xdrs, NAMELIST *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->NAMELIST_val, (u_int *) &objp->NAMELIST_len, ~0, + sizeof (PNAME), (xdrproc_t) xdr_PNAME)) + return FALSE; + return TRUE; +} + +bool_t +xdr_any (XDR *xdrs, any *objp) +{ + register int32_t *buf; + + if (!xdr_int (xdrs, &objp->valtype)) + return FALSE; + switch (objp->valtype) { + case DAVARINT_RPC: + if (!xdr_array (xdrs, (char **)&objp->any_u.i.i_val, (u_int *) &objp->any_u.i.i_len, ~0, + sizeof (int), (xdrproc_t) xdr_int)) + return FALSE; + break; + case DAVARFLOAT_RPC: + if (!xdr_array (xdrs, (char **)&objp->any_u.r.r_val, (u_int *) &objp->any_u.r.r_len, ~0, + sizeof (float), (xdrproc_t) xdr_float)) + return FALSE; + break; + case DAVARDOUBLE_RPC: + if (!xdr_array (xdrs, (char **)&objp->any_u.d.d_val, (u_int *) &objp->any_u.d.d_len, ~0, + sizeof (double), (xdrproc_t) xdr_double)) + return FALSE; + break; + case DAVARSTRING_RPC: + if (!xdr_string (xdrs, &objp->any_u.s, ~0)) + return FALSE; + break; + case DAVARERROR_RPC: + if (!xdr_int (xdrs, &objp->any_u.error)) + return FALSE; + break; + default: + break; + } + return TRUE; +} + +bool_t +xdr_wany (XDR *xdrs, wany *objp) +{ + register int32_t *buf; + + if (!xdr_PNAME (xdrs, &objp->name)) + return FALSE; + if (!xdr_pointer (xdrs, (char **)&objp->val, sizeof (any), (xdrproc_t) xdr_any)) + return FALSE; + return TRUE; +} + +bool_t +xdr_RVALLIST (XDR *xdrs, RVALLIST *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->RVALLIST_val, (u_int *) &objp->RVALLIST_len, ~0, + sizeof (any), (xdrproc_t) xdr_any)) + return FALSE; + return TRUE; +} + +bool_t +xdr_WVALLIST (XDR *xdrs, WVALLIST *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->WVALLIST_val, (u_int *) &objp->WVALLIST_len, ~0, + sizeof (wany), (xdrproc_t) xdr_wany)) + return FALSE; + return TRUE; +} + +bool_t +xdr_ERRLIST (XDR *xdrs, ERRLIST *objp) +{ + register int32_t *buf; + + if (!xdr_array (xdrs, (char **)&objp->ERRLIST_val, (u_int *) &objp->ERRLIST_len, ~0, + sizeof (int), (xdrproc_t) xdr_int)) + return FALSE; + return TRUE; +} + +bool_t +xdr_TESTNAMELIST (XDR *xdrs, TESTNAMELIST *objp) +{ + register int32_t *buf; + + + if (xdrs->x_op == XDR_ENCODE) { + if (!xdr_string (xdrs, &objp->test_condition, ~0)) + return FALSE; + buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->max_time_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->max_event_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->prog)) + return FALSE; + if (!xdr_int (xdrs, &objp->vers)) + return FALSE; + + } else { + IXDR_PUT_LONG(buf, objp->max_time_wait); + IXDR_PUT_LONG(buf, objp->max_event_wait); + IXDR_PUT_LONG(buf, objp->prog); + IXDR_PUT_LONG(buf, objp->vers); + } + if (!xdr_pointer (xdrs, (char **)&objp->NAMELISTP, sizeof (NAMELIST), (xdrproc_t) xdr_NAMELIST)) + return FALSE; + return TRUE; + } else if (xdrs->x_op == XDR_DECODE) { + if (!xdr_string (xdrs, &objp->test_condition, ~0)) + return FALSE; + buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->max_time_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->max_event_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->prog)) + return FALSE; + if (!xdr_int (xdrs, &objp->vers)) + return FALSE; + + } else { + objp->max_time_wait = IXDR_GET_LONG(buf); + objp->max_event_wait = IXDR_GET_LONG(buf); + objp->prog = IXDR_GET_LONG(buf); + objp->vers = IXDR_GET_LONG(buf); + } + if (!xdr_pointer (xdrs, (char **)&objp->NAMELISTP, sizeof (NAMELIST), (xdrproc_t) xdr_NAMELIST)) + return FALSE; + return TRUE; + } + + if (!xdr_string (xdrs, &objp->test_condition, ~0)) + return FALSE; + if (!xdr_int (xdrs, &objp->max_time_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->max_event_wait)) + return FALSE; + if (!xdr_int (xdrs, &objp->prog)) + return FALSE; + if (!xdr_int (xdrs, &objp->vers)) + return FALSE; + if (!xdr_pointer (xdrs, (char **)&objp->NAMELISTP, sizeof (NAMELIST), (xdrproc_t) xdr_NAMELIST)) + return FALSE; + return TRUE; +} diff --git a/Makefile b/Makefile index 5dbb92c..b577087 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,8 @@ ifeq ($(MYOS),Linux) # CERN_ROOT = /usr/lib/cernlib/2006 # 64 bit, standard Fedora distributuion # CERN_ROOT = /usr/lib64/cernlib/2006 - FFLAGSA=-O -w -ffixed-line-length-132 -ff2c -fno-automatic -fdefault-real-8 -fallow-argument-mismatch + FFLAGSA=-O -w -ffixed-line-length-132 -ff2c -fno-automatic -fdefault-real-8 + #-fallow-argument-mismatch INCLUDES=-I. FFLAGS= $(INCLUDES) $(FFLAGSA) FFLAG1=$(FFLAGS) -c -- GitLab