Derek Atkins' rpc backend patch.

This patch adds _most_ of the RPC generated files into the repository
because it appears many recent versions of rpcgen for Linux and NetBSD
do not support the -M (Multi-Thread Safe) output of code.  Bug reports
have been submitted, but I'd like to support RPC in the next two years
before this is fixed.

So, this adds the files gncRpc.h, gncRpc_clnt.c, and gncRpc_svc.c.
The file gncRpc_xdr.c is still generated on the fly.  This
unfortunately means that any changes to the .x files mean you must
regenerate at least the .h file and possibly the other .c files, too.

This patch also modifies the .cvsignore to allow those three files
into the repository.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3823 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2001-03-22 23:19:15 +00:00
parent 02dc666108
commit 5a52a9c524
6 changed files with 883 additions and 14 deletions

View File

@ -4,7 +4,4 @@
*.la
Makefile
Makefile.in
gncRpc.h
gncRpc_clnt.c
gncRpc_xdr.c
gncRpc_svc.c

View File

@ -45,26 +45,27 @@ INCLUDES = -I.. -I/usr/lib/glib/include
LDFLAGS = -lpthread
RPCGEN=rpcgen -M
#RPCGEN=rpcgen -M
RPCGEN=rpcgen
RPCGEN_SRCS = gncAccount.x gncCommodity.x gncKVP.x gncGUID.x \
gncPrice.x gncQuery.x gncRpc.x gncSplit.x gncTxn.x
gncRpc.h: $(RPCGEN_SRCS)
$(RM) $@
$(RPCGEN) -h -o $@ gncRpc.x
#gncRpc.h: $(RPCGEN_SRCS)
# $(RM) $@
# $(RPCGEN) -h -o $@ gncRpc.x
gncRpc_xdr.c: $(RPCGEN_SRCS)
$(RM) $@
$(RPCGEN) -c -o $@ gncRpc.x
gncRpc_clnt.c: $(RPCGEN_SRCS)
$(RM) $@
$(RPCGEN) -l -o $@ gncRpc.x
#gncRpc_clnt.c: $(RPCGEN_SRCS)
# $(RM) $@
# $(RPCGEN) -l -o $@ gncRpc.x
gncRpc_svc.c: $(RPCGEN_SRCS)
$(RM) $@
$(RPCGEN) -m -o $@ gncRpc.x
#gncRpc_svc.c: $(RPCGEN_SRCS)
# $(RM) $@
# $(RPCGEN) -m -o $@ gncRpc.x
#gncRpc_server_stubs.c: $(RPCGEN_SRCS)
# $(RPCGEN) -Ss -o $@ gncRpc.x

View File

@ -61,7 +61,10 @@ Things to do:
- better way to kill the server (currently can only 'kill' it or ^C it)
- test whether rpcgen supports '-M'.. For now, supply the stubs as a
part of the release and let anyone who changes the .x files also
change the stubs and header. Only the xdr routines are built on the
build host, because that doesn't depend on the -M flag at all.
Derek Atkins <warlord@MIT.EDU>

569
src/engine/rpc/gncRpc.h Normal file
View File

@ -0,0 +1,569 @@
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#ifndef _GNCRPC_H_RPCGEN
#define _GNCRPC_H_RPCGEN
#include <rpc/rpc.h>
#include <pthread.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef char gncGUID[16];
struct gnc_guidlist {
gncGUID *guid;
struct gnc_guidlist *next;
};
typedef struct gnc_guidlist gnc_guidlist;
struct gnc_vers_list {
gncGUID *guid;
int vers;
struct gnc_vers_list *next;
};
typedef struct gnc_vers_list gnc_vers_list;
struct gncTimespec {
int64_t tv_sec;
int tv_nsec;
};
typedef struct gncTimespec gncTimespec;
#include "kvp_frame.h"
struct gncNumeric {
int64_t num;
int64_t denom;
};
typedef struct gncNumeric gncNumeric;
struct gnc_kvp_valuelist {
struct gnc_kvp_value *val;
struct gnc_kvp_valuelist *next;
};
typedef struct gnc_kvp_valuelist gnc_kvp_valuelist;
struct gnc_kvp_value {
enum_t type;
union {
int64_t int64;
double dbl;
gncNumeric numeric;
char *str;
gncGUID guid;
struct {
u_int binary_len;
char *binary_val;
} binary;
gnc_kvp_valuelist *glist;
struct gnc_kvp_frame *frame;
} gnc_kvp_value_u;
};
typedef struct gnc_kvp_value gnc_kvp_value;
struct gnc_kvp {
char *key;
gnc_kvp_value *value;
};
typedef struct gnc_kvp gnc_kvp;
struct gnc_kvp_frame {
gnc_kvp *data;
struct gnc_kvp_frame *next;
};
typedef struct gnc_kvp_frame gnc_kvp_frame;
struct gncCommodity {
char *fullname;
char *namespace;
char *mnemonic;
char *printname;
char *exchange_code;
int fraction;
};
typedef struct gncCommodity gncCommodity;
struct gnc_commoditylist {
gncCommodity *commodity;
struct gnc_commoditylist *next;
};
typedef struct gnc_commoditylist gnc_commoditylist;
struct gncCommodityPtr {
char *namespace;
char *mnemonic;
};
typedef struct gncCommodityPtr gncCommodityPtr;
#include "Account.h"
struct gncAccount {
gncGUID guid;
char *name;
char *code;
char *desc;
gnc_kvp_frame *kvp_data;
enum_t type;
gncCommodityPtr currency;
gncCommodityPtr security;
gncGUID *parent;
int vers;
gncNumeric balance;
gncNumeric cleared_balance;
gncNumeric reconciled_balance;
gncNumeric share_balance;
gncNumeric share_cleared_balance;
gncNumeric share_reconciled_balance;
bool_t core_dirty;
bool_t do_free;
};
typedef struct gncAccount gncAccount;
struct gnc_acctlist {
gncAccount *acct;
struct gnc_acctlist *next;
};
typedef struct gnc_acctlist gnc_acctlist;
#include "Query.h"
struct gncDatePredicateData {
enum_t term_type;
int sense;
int usestart;
gncTimespec start;
int useend;
gncTimespec end;
};
typedef struct gncDatePredicateData gncDatePredicateData;
struct gncAmountPredicateData {
enum_t term_type;
int sense;
enum_t how;
enum_t amt_sgn;
double amount;
};
typedef struct gncAmountPredicateData gncAmountPredicateData;
struct gncAccountPredicateData {
enum_t term_type;
int sense;
enum_t how;
gnc_guidlist *acct_guids;
};
typedef struct gncAccountPredicateData gncAccountPredicateData;
struct gncStringPredicateData {
enum_t term_type;
int sense;
int case_sens;
int use_regexp;
char *matchstring;
};
typedef struct gncStringPredicateData gncStringPredicateData;
struct gncClearedPredicateData {
enum_t term_type;
int sense;
enum_t how;
};
typedef struct gncClearedPredicateData gncClearedPredicateData;
struct gncBalancePredicateData {
enum_t term_type;
int sense;
enum_t how;
};
typedef struct gncBalancePredicateData gncBalancePredicateData;
struct gncMiscPredicateData {
enum_t term_type;
int sense;
int how;
int data;
};
typedef struct gncMiscPredicateData gncMiscPredicateData;
struct gncPredicateData {
enum_t type;
union {
gncDatePredicateData date;
gncAmountPredicateData amount;
gncAccountPredicateData acct;
gncStringPredicateData str;
gncClearedPredicateData cleared;
gncBalancePredicateData balance;
gncMiscPredicateData misc;
} gncPredicateData_u;
};
typedef struct gncPredicateData gncPredicateData;
struct gncQueryTerm {
gncPredicateData data;
int *p;
};
typedef struct gncQueryTerm gncQueryTerm;
struct gncQTList {
gncQueryTerm *qt;
struct gncQTList *next;
};
typedef struct gncQTList gncQTList;
struct gncQTOrlist {
gncQTList *andlist;
struct gncQTOrlist *next;
};
typedef struct gncQTOrlist gncQTOrlist;
struct gncQuery {
gncQTOrlist *terms;
enum_t primary_sort;
enum_t secondary_sort;
enum_t tertiary_sort;
bool_t primary_increasing;
bool_t secondary_increasing;
bool_t tertiary_increasing;
int max_splits;
int changed;
enum_t last_run_type;
int *acct_group;
int *split_list;
int *xtn_list;
};
typedef struct gncQuery gncQuery;
struct gncSplit {
gncGUID guid;
gncGUID acct_guid;
gncGUID txn_guid;
char *memo;
char *action;
gnc_kvp_frame *kvp_data;
char reconciled;
gncTimespec date_reconciled;
gncNumeric value;
gncNumeric damount;
};
typedef struct gncSplit gncSplit;
struct gnc_splitlist {
gncSplit *split;
struct gnc_splitlist *next;
};
typedef struct gnc_splitlist gnc_splitlist;
struct gncTransaction {
gncGUID guid;
gncTimespec date_entered;
gncTimespec date_posted;
char *num;
char *desc;
gnc_kvp_frame *kvp_data;
gncCommodityPtr common_currency;
int vers;
gnc_splitlist *splits;
bool_t do_free;
};
typedef struct gncTransaction gncTransaction;
struct gnc_txnlist {
gncTransaction *txn;
struct gnc_txnlist *next;
};
typedef struct gnc_txnlist gnc_txnlist;
typedef char gncrpc_ptr[8];
struct gncrpc_book_begin_args {
gncrpc_ptr book;
gncrpc_ptr backend;
char *book_id;
bool_t ignore_lock;
bool_t create;
};
typedef struct gncrpc_book_begin_args gncrpc_book_begin_args;
struct gncrpc_book_load_ret {
int error;
gnc_commoditylist *commodities;
gnc_acctlist *acctlist;
};
typedef struct gncrpc_book_load_ret gncrpc_book_load_ret;
struct gncrpc_backend_guid {
gncrpc_ptr backend;
gncGUID guid;
};
typedef struct gncrpc_backend_guid gncrpc_backend_guid;
struct gncrpc_backend_txn {
gncrpc_ptr backend;
gncTransaction txn;
};
typedef struct gncrpc_backend_txn gncrpc_backend_txn;
struct gncrpc_commit_acct_args {
gncrpc_ptr backend;
gncAccount acct;
gncCommodity *currency;
gncCommodity *security;
};
typedef struct gncrpc_commit_acct_args gncrpc_commit_acct_args;
struct gncrpc_commit_txn_args {
gncrpc_ptr backend;
gncTransaction new;
};
typedef struct gncrpc_commit_txn_args gncrpc_commit_txn_args;
struct gncrpc_sync1_args {
gncrpc_ptr backend;
gnc_commoditylist *commodities;
gnc_vers_list *acctlist;
gnc_vers_list *txnlist;
};
typedef struct gncrpc_sync1_args gncrpc_sync1_args;
struct gncrpc_sync1_ret {
int error;
gnc_vers_list *send_acctlist;
gnc_vers_list *send_txnlist;
gnc_acctlist *acctlist;
gnc_txnlist *txnlist;
gnc_commoditylist *commodities;
};
typedef struct gncrpc_sync1_ret gncrpc_sync1_ret;
struct gncrpc_sync2_args {
gncrpc_ptr backend;
gnc_acctlist *acctlist;
gnc_txnlist *txnlist;
};
typedef struct gncrpc_sync2_args gncrpc_sync2_args;
struct gncrpc_query_args {
gncrpc_ptr backend;
gncGUID *group_parent_guid;
gncQuery *query;
};
typedef struct gncrpc_query_args gncrpc_query_args;
struct gncrpc_query_ret {
int error;
gnc_vers_list *txnlist;
};
typedef struct gncrpc_query_ret gncrpc_query_ret;
struct gncrpc_get_txns_args {
gncrpc_ptr backend;
gnc_vers_list *guids;
};
typedef struct gncrpc_get_txns_args gncrpc_get_txns_args;
struct gncrpc_get_txns_ret {
int error;
gnc_txnlist *txnlist;
};
typedef struct gncrpc_get_txns_ret gncrpc_get_txns_ret;
#define GNCRPC_PROG 729284
#define GNCRPC_VERS 1
#if defined(__STDC__) || defined(__cplusplus)
#define gncrpc_version 0
extern enum clnt_stat gncrpc_version_1(void *, int *, CLIENT *);
extern bool_t gncrpc_version_1_svc(void *, int *, struct svc_req *);
#define gncrpc_book_begin 1
extern enum clnt_stat gncrpc_book_begin_1(gncrpc_book_begin_args *, int *, CLIENT *);
extern bool_t gncrpc_book_begin_1_svc(gncrpc_book_begin_args *, int *, struct svc_req *);
#define gncrpc_book_load 2
extern enum clnt_stat gncrpc_book_load_1(char *, gncrpc_book_load_ret *, CLIENT *);
extern bool_t gncrpc_book_load_1_svc(char *, gncrpc_book_load_ret *, struct svc_req *);
#define gncrpc_book_end 3
extern enum clnt_stat gncrpc_book_end_1(char *, int *, CLIENT *);
extern bool_t gncrpc_book_end_1_svc(char *, int *, struct svc_req *);
#define gncrpc_account_begin_edit 4
extern enum clnt_stat gncrpc_account_begin_edit_1(gncrpc_backend_guid *, int *, CLIENT *);
extern bool_t gncrpc_account_begin_edit_1_svc(gncrpc_backend_guid *, int *, struct svc_req *);
#define gncrpc_account_commit_edit 5
extern enum clnt_stat gncrpc_account_commit_edit_1(gncrpc_commit_acct_args *, int *, CLIENT *);
extern bool_t gncrpc_account_commit_edit_1_svc(gncrpc_commit_acct_args *, int *, struct svc_req *);
#define gncrpc_account_rollback_edit 6
extern enum clnt_stat gncrpc_account_rollback_edit_1(gncrpc_backend_guid *, int *, CLIENT *);
extern bool_t gncrpc_account_rollback_edit_1_svc(gncrpc_backend_guid *, int *, struct svc_req *);
#define gncrpc_txn_begin_edit 7
extern enum clnt_stat gncrpc_txn_begin_edit_1(gncrpc_backend_guid *, int *, CLIENT *);
extern bool_t gncrpc_txn_begin_edit_1_svc(gncrpc_backend_guid *, int *, struct svc_req *);
#define gncrpc_txn_commit_edit 8
extern enum clnt_stat gncrpc_txn_commit_edit_1(gncrpc_commit_txn_args *, int *, CLIENT *);
extern bool_t gncrpc_txn_commit_edit_1_svc(gncrpc_commit_txn_args *, int *, struct svc_req *);
#define gncrpc_txn_rollback_edit 9
extern enum clnt_stat gncrpc_txn_rollback_edit_1(gncrpc_backend_guid *, int *, CLIENT *);
extern bool_t gncrpc_txn_rollback_edit_1_svc(gncrpc_backend_guid *, int *, struct svc_req *);
#define gncrpc_run_query 10
extern enum clnt_stat gncrpc_run_query_1(gncrpc_query_args *, gncrpc_query_ret *, CLIENT *);
extern bool_t gncrpc_run_query_1_svc(gncrpc_query_args *, gncrpc_query_ret *, struct svc_req *);
#define gncrpc_sync1 11
extern enum clnt_stat gncrpc_sync1_1(gncrpc_sync1_args *, gncrpc_sync1_ret *, CLIENT *);
extern bool_t gncrpc_sync1_1_svc(gncrpc_sync1_args *, gncrpc_sync1_ret *, struct svc_req *);
#define gncrpc_sync2 12
extern enum clnt_stat gncrpc_sync2_1(gncrpc_sync2_args *, int *, CLIENT *);
extern bool_t gncrpc_sync2_1_svc(gncrpc_sync2_args *, int *, struct svc_req *);
#define gncrpc_get_txns 13
extern enum clnt_stat gncrpc_get_txns_1(gncrpc_get_txns_args *, gncrpc_get_txns_ret *, CLIENT *);
extern bool_t gncrpc_get_txns_1_svc(gncrpc_get_txns_args *, gncrpc_get_txns_ret *, struct svc_req *);
extern int gncrpc_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#else /* K&R C */
#define gncrpc_version 0
extern enum clnt_stat gncrpc_version_1();
extern bool_t gncrpc_version_1_svc();
#define gncrpc_book_begin 1
extern enum clnt_stat gncrpc_book_begin_1();
extern bool_t gncrpc_book_begin_1_svc();
#define gncrpc_book_load 2
extern enum clnt_stat gncrpc_book_load_1();
extern bool_t gncrpc_book_load_1_svc();
#define gncrpc_book_end 3
extern enum clnt_stat gncrpc_book_end_1();
extern bool_t gncrpc_book_end_1_svc();
#define gncrpc_account_begin_edit 4
extern enum clnt_stat gncrpc_account_begin_edit_1();
extern bool_t gncrpc_account_begin_edit_1_svc();
#define gncrpc_account_commit_edit 5
extern enum clnt_stat gncrpc_account_commit_edit_1();
extern bool_t gncrpc_account_commit_edit_1_svc();
#define gncrpc_account_rollback_edit 6
extern enum clnt_stat gncrpc_account_rollback_edit_1();
extern bool_t gncrpc_account_rollback_edit_1_svc();
#define gncrpc_txn_begin_edit 7
extern enum clnt_stat gncrpc_txn_begin_edit_1();
extern bool_t gncrpc_txn_begin_edit_1_svc();
#define gncrpc_txn_commit_edit 8
extern enum clnt_stat gncrpc_txn_commit_edit_1();
extern bool_t gncrpc_txn_commit_edit_1_svc();
#define gncrpc_txn_rollback_edit 9
extern enum clnt_stat gncrpc_txn_rollback_edit_1();
extern bool_t gncrpc_txn_rollback_edit_1_svc();
#define gncrpc_run_query 10
extern enum clnt_stat gncrpc_run_query_1();
extern bool_t gncrpc_run_query_1_svc();
#define gncrpc_sync1 11
extern enum clnt_stat gncrpc_sync1_1();
extern bool_t gncrpc_sync1_1_svc();
#define gncrpc_sync2 12
extern enum clnt_stat gncrpc_sync2_1();
extern bool_t gncrpc_sync2_1_svc();
#define gncrpc_get_txns 13
extern enum clnt_stat gncrpc_get_txns_1();
extern bool_t gncrpc_get_txns_1_svc();
extern int gncrpc_prog_1_freeresult ();
#endif /* K&R C */
/* the xdr functions */
#if defined(__STDC__) || defined(__cplusplus)
extern bool_t xdr_gncGUID (XDR *, gncGUID);
extern bool_t xdr_gnc_guidlist (XDR *, gnc_guidlist*);
extern bool_t xdr_gnc_vers_list (XDR *, gnc_vers_list*);
extern bool_t xdr_gncTimespec (XDR *, gncTimespec*);
extern bool_t xdr_gncNumeric (XDR *, gncNumeric*);
extern bool_t xdr_gnc_kvp_valuelist (XDR *, gnc_kvp_valuelist*);
extern bool_t xdr_gnc_kvp_value (XDR *, gnc_kvp_value*);
extern bool_t xdr_gnc_kvp (XDR *, gnc_kvp*);
extern bool_t xdr_gnc_kvp_frame (XDR *, gnc_kvp_frame*);
extern bool_t xdr_gncCommodity (XDR *, gncCommodity*);
extern bool_t xdr_gnc_commoditylist (XDR *, gnc_commoditylist*);
extern bool_t xdr_gncCommodityPtr (XDR *, gncCommodityPtr*);
extern bool_t xdr_gncAccount (XDR *, gncAccount*);
extern bool_t xdr_gnc_acctlist (XDR *, gnc_acctlist*);
extern bool_t xdr_gncDatePredicateData (XDR *, gncDatePredicateData*);
extern bool_t xdr_gncAmountPredicateData (XDR *, gncAmountPredicateData*);
extern bool_t xdr_gncAccountPredicateData (XDR *, gncAccountPredicateData*);
extern bool_t xdr_gncStringPredicateData (XDR *, gncStringPredicateData*);
extern bool_t xdr_gncClearedPredicateData (XDR *, gncClearedPredicateData*);
extern bool_t xdr_gncBalancePredicateData (XDR *, gncBalancePredicateData*);
extern bool_t xdr_gncMiscPredicateData (XDR *, gncMiscPredicateData*);
extern bool_t xdr_gncPredicateData (XDR *, gncPredicateData*);
extern bool_t xdr_gncQueryTerm (XDR *, gncQueryTerm*);
extern bool_t xdr_gncQTList (XDR *, gncQTList*);
extern bool_t xdr_gncQTOrlist (XDR *, gncQTOrlist*);
extern bool_t xdr_gncQuery (XDR *, gncQuery*);
extern bool_t xdr_gncSplit (XDR *, gncSplit*);
extern bool_t xdr_gnc_splitlist (XDR *, gnc_splitlist*);
extern bool_t xdr_gncTransaction (XDR *, gncTransaction*);
extern bool_t xdr_gnc_txnlist (XDR *, gnc_txnlist*);
extern bool_t xdr_gncrpc_ptr (XDR *, gncrpc_ptr);
extern bool_t xdr_gncrpc_book_begin_args (XDR *, gncrpc_book_begin_args*);
extern bool_t xdr_gncrpc_book_load_ret (XDR *, gncrpc_book_load_ret*);
extern bool_t xdr_gncrpc_backend_guid (XDR *, gncrpc_backend_guid*);
extern bool_t xdr_gncrpc_backend_txn (XDR *, gncrpc_backend_txn*);
extern bool_t xdr_gncrpc_commit_acct_args (XDR *, gncrpc_commit_acct_args*);
extern bool_t xdr_gncrpc_commit_txn_args (XDR *, gncrpc_commit_txn_args*);
extern bool_t xdr_gncrpc_sync1_args (XDR *, gncrpc_sync1_args*);
extern bool_t xdr_gncrpc_sync1_ret (XDR *, gncrpc_sync1_ret*);
extern bool_t xdr_gncrpc_sync2_args (XDR *, gncrpc_sync2_args*);
extern bool_t xdr_gncrpc_query_args (XDR *, gncrpc_query_args*);
extern bool_t xdr_gncrpc_query_ret (XDR *, gncrpc_query_ret*);
extern bool_t xdr_gncrpc_get_txns_args (XDR *, gncrpc_get_txns_args*);
extern bool_t xdr_gncrpc_get_txns_ret (XDR *, gncrpc_get_txns_ret*);
#else /* K&R C */
extern bool_t xdr_gncGUID ();
extern bool_t xdr_gnc_guidlist ();
extern bool_t xdr_gnc_vers_list ();
extern bool_t xdr_gncTimespec ();
extern bool_t xdr_gncNumeric ();
extern bool_t xdr_gnc_kvp_valuelist ();
extern bool_t xdr_gnc_kvp_value ();
extern bool_t xdr_gnc_kvp ();
extern bool_t xdr_gnc_kvp_frame ();
extern bool_t xdr_gncCommodity ();
extern bool_t xdr_gnc_commoditylist ();
extern bool_t xdr_gncCommodityPtr ();
extern bool_t xdr_gncAccount ();
extern bool_t xdr_gnc_acctlist ();
extern bool_t xdr_gncDatePredicateData ();
extern bool_t xdr_gncAmountPredicateData ();
extern bool_t xdr_gncAccountPredicateData ();
extern bool_t xdr_gncStringPredicateData ();
extern bool_t xdr_gncClearedPredicateData ();
extern bool_t xdr_gncBalancePredicateData ();
extern bool_t xdr_gncMiscPredicateData ();
extern bool_t xdr_gncPredicateData ();
extern bool_t xdr_gncQueryTerm ();
extern bool_t xdr_gncQTList ();
extern bool_t xdr_gncQTOrlist ();
extern bool_t xdr_gncQuery ();
extern bool_t xdr_gncSplit ();
extern bool_t xdr_gnc_splitlist ();
extern bool_t xdr_gncTransaction ();
extern bool_t xdr_gnc_txnlist ();
extern bool_t xdr_gncrpc_ptr ();
extern bool_t xdr_gncrpc_book_begin_args ();
extern bool_t xdr_gncrpc_book_load_ret ();
extern bool_t xdr_gncrpc_backend_guid ();
extern bool_t xdr_gncrpc_backend_txn ();
extern bool_t xdr_gncrpc_commit_acct_args ();
extern bool_t xdr_gncrpc_commit_txn_args ();
extern bool_t xdr_gncrpc_sync1_args ();
extern bool_t xdr_gncrpc_sync1_ret ();
extern bool_t xdr_gncrpc_sync2_args ();
extern bool_t xdr_gncrpc_query_args ();
extern bool_t xdr_gncrpc_query_ret ();
extern bool_t xdr_gncrpc_get_txns_args ();
extern bool_t xdr_gncrpc_get_txns_ret ();
#endif /* K&R C */
#ifdef __cplusplus
}
#endif
#endif /* !_GNCRPC_H_RPCGEN */

View File

@ -0,0 +1,136 @@
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#include <memory.h> /* for memset */
#include "gncRpc.h"
/* Default timeout can be changed using clnt_control() */
static struct timeval TIMEOUT = { 25, 0 };
enum clnt_stat
gncrpc_version_1(void *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_version,
(xdrproc_t) xdr_void, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_book_begin_1(gncrpc_book_begin_args *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_book_begin,
(xdrproc_t) xdr_gncrpc_book_begin_args, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_book_load_1(char *argp, gncrpc_book_load_ret *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_book_load,
(xdrproc_t) xdr_gncrpc_ptr, (caddr_t) argp,
(xdrproc_t) xdr_gncrpc_book_load_ret, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_book_end_1(char *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_book_end,
(xdrproc_t) xdr_gncrpc_ptr, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_account_begin_edit_1(gncrpc_backend_guid *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_account_begin_edit,
(xdrproc_t) xdr_gncrpc_backend_guid, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_account_commit_edit_1(gncrpc_commit_acct_args *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_account_commit_edit,
(xdrproc_t) xdr_gncrpc_commit_acct_args, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_account_rollback_edit_1(gncrpc_backend_guid *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_account_rollback_edit,
(xdrproc_t) xdr_gncrpc_backend_guid, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_txn_begin_edit_1(gncrpc_backend_guid *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_txn_begin_edit,
(xdrproc_t) xdr_gncrpc_backend_guid, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_txn_commit_edit_1(gncrpc_commit_txn_args *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_txn_commit_edit,
(xdrproc_t) xdr_gncrpc_commit_txn_args, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_txn_rollback_edit_1(gncrpc_backend_guid *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_txn_rollback_edit,
(xdrproc_t) xdr_gncrpc_backend_guid, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_run_query_1(gncrpc_query_args *argp, gncrpc_query_ret *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_run_query,
(xdrproc_t) xdr_gncrpc_query_args, (caddr_t) argp,
(xdrproc_t) xdr_gncrpc_query_ret, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_sync1_1(gncrpc_sync1_args *argp, gncrpc_sync1_ret *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_sync1,
(xdrproc_t) xdr_gncrpc_sync1_args, (caddr_t) argp,
(xdrproc_t) xdr_gncrpc_sync1_ret, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_sync2_1(gncrpc_sync2_args *argp, int *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_sync2,
(xdrproc_t) xdr_gncrpc_sync2_args, (caddr_t) argp,
(xdrproc_t) xdr_int, (caddr_t) clnt_res,
TIMEOUT));
}
enum clnt_stat
gncrpc_get_txns_1(gncrpc_get_txns_args *argp, gncrpc_get_txns_ret *clnt_res, CLIENT *clnt)
{
return (clnt_call(clnt, gncrpc_get_txns,
(xdrproc_t) xdr_gncrpc_get_txns_args, (caddr_t) argp,
(xdrproc_t) xdr_gncrpc_get_txns_ret, (caddr_t) clnt_res,
TIMEOUT));
}

163
src/engine/rpc/gncRpc_svc.c Normal file
View File

@ -0,0 +1,163 @@
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#include "gncRpc.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
void
gncrpc_prog_1(struct svc_req *rqstp, register SVCXPRT *transp)
{
union {
gncrpc_book_begin_args gncrpc_book_begin_1_arg;
gncrpc_ptr gncrpc_book_load_1_arg;
gncrpc_ptr gncrpc_book_end_1_arg;
gncrpc_backend_guid gncrpc_account_begin_edit_1_arg;
gncrpc_commit_acct_args gncrpc_account_commit_edit_1_arg;
gncrpc_backend_guid gncrpc_account_rollback_edit_1_arg;
gncrpc_backend_guid gncrpc_txn_begin_edit_1_arg;
gncrpc_commit_txn_args gncrpc_txn_commit_edit_1_arg;
gncrpc_backend_guid gncrpc_txn_rollback_edit_1_arg;
gncrpc_query_args gncrpc_run_query_1_arg;
gncrpc_sync1_args gncrpc_sync1_1_arg;
gncrpc_sync2_args gncrpc_sync2_1_arg;
gncrpc_get_txns_args gncrpc_get_txns_1_arg;
} argument;
union {
int gncrpc_version_1_res;
int gncrpc_book_begin_1_res;
gncrpc_book_load_ret gncrpc_book_load_1_res;
int gncrpc_book_end_1_res;
int gncrpc_account_begin_edit_1_res;
int gncrpc_account_commit_edit_1_res;
int gncrpc_account_rollback_edit_1_res;
int gncrpc_txn_begin_edit_1_res;
int gncrpc_txn_commit_edit_1_res;
int gncrpc_txn_rollback_edit_1_res;
gncrpc_query_ret gncrpc_run_query_1_res;
gncrpc_sync1_ret gncrpc_sync1_1_res;
int gncrpc_sync2_1_res;
gncrpc_get_txns_ret gncrpc_get_txns_1_res;
} result;
bool_t retval;
xdrproc_t _xdr_argument, _xdr_result;
bool_t (*local)(char *, void *, struct svc_req *);
switch (rqstp->rq_proc) {
case gncrpc_version:
_xdr_argument = (xdrproc_t) xdr_void;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_version_1_svc;
break;
case gncrpc_book_begin:
_xdr_argument = (xdrproc_t) xdr_gncrpc_book_begin_args;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_book_begin_1_svc;
break;
case gncrpc_book_load:
_xdr_argument = (xdrproc_t) xdr_gncrpc_ptr;
_xdr_result = (xdrproc_t) xdr_gncrpc_book_load_ret;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_book_load_1_svc;
break;
case gncrpc_book_end:
_xdr_argument = (xdrproc_t) xdr_gncrpc_ptr;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_book_end_1_svc;
break;
case gncrpc_account_begin_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_backend_guid;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_account_begin_edit_1_svc;
break;
case gncrpc_account_commit_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_commit_acct_args;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_account_commit_edit_1_svc;
break;
case gncrpc_account_rollback_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_backend_guid;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_account_rollback_edit_1_svc;
break;
case gncrpc_txn_begin_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_backend_guid;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_txn_begin_edit_1_svc;
break;
case gncrpc_txn_commit_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_commit_txn_args;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_txn_commit_edit_1_svc;
break;
case gncrpc_txn_rollback_edit:
_xdr_argument = (xdrproc_t) xdr_gncrpc_backend_guid;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_txn_rollback_edit_1_svc;
break;
case gncrpc_run_query:
_xdr_argument = (xdrproc_t) xdr_gncrpc_query_args;
_xdr_result = (xdrproc_t) xdr_gncrpc_query_ret;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_run_query_1_svc;
break;
case gncrpc_sync1:
_xdr_argument = (xdrproc_t) xdr_gncrpc_sync1_args;
_xdr_result = (xdrproc_t) xdr_gncrpc_sync1_ret;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_sync1_1_svc;
break;
case gncrpc_sync2:
_xdr_argument = (xdrproc_t) xdr_gncrpc_sync2_args;
_xdr_result = (xdrproc_t) xdr_int;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_sync2_1_svc;
break;
case gncrpc_get_txns:
_xdr_argument = (xdrproc_t) xdr_gncrpc_get_txns_args;
_xdr_result = (xdrproc_t) xdr_gncrpc_get_txns_ret;
local = (bool_t (*) (char *, void *, struct svc_req *))gncrpc_get_txns_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;
}
retval = (bool_t) (*local)((char *)&argument, (void *)&result, rqstp);
if (retval > 0 && !svc_sendreply(transp, _xdr_result, (char *)&result)) {
svcerr_systemerr (transp);
}
if (!svc_freeargs (transp, _xdr_argument, (caddr_t) &argument)) {
fprintf (stderr, "unable to free arguments");
exit (1);
}
if (!gncrpc_prog_1_freeresult (transp, _xdr_result, (caddr_t) &result))
fprintf (stderr, "unable to free results");
return;
}