1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
/*
** XRPC.h -- Public include file for the XRPC interface.
*/
#ifdef OK
#undef OK
#endif
#define OK 0
#ifdef ERR
#undef ERR
#endif
#define ERR 1
#ifdef TRUE
#undef TRUE
#endif
#define TRUE 1
#ifdef FALSE
#undef FALSE
#endif
#define FALSE 0
/*****************************************************************************/
/**** Function Prototypes ****/
/*****************************************************************************/
/* xrArray.c
*/
int xr_newArray (void);
void xr_freeArray (int anum);
int xr_arrayLen (int anum);
void xr_setIntInArray (int anum, int value);
void xr_setDoubleInArray (int anum, double value);
void xr_setBoolInArray (int anum, int value);
void xr_setStringInArray (int anum, char *value);
void xr_setDatetimeInArray (int anum, char *value);
void xr_setStructInArray (int anum, int value);
void xr_setArrayInArray (int anum, int value);
void xr_getIntFromArray (int anum, int index, int *ival);
void xr_getDoubleFromArray (int anum, int index, double *dval);
void xr_getBoolFromArray (int anum, int index, int *bval);
void xr_getStringFromArray (int anum, int index, char **value);
void xr_getDatetimeFromArray (int anum, int index, char **value);
void xr_getStructFromArray (int anum, int index, int *value);
void xr_getArrayFromArray (int anum, int index, int *value);
xmlrpc_value *xr_getAElement (int anum);
void xr_setAElement (int anum, xmlrpc_value *v);
/* xrClient.c
*/
int xr_newASync (int cnum);
int xr_initClient (char *url, char *name, char *version);
int xr_closeClient (int cnum);
int xr_setClient (int cnum, char *url);
int xr_callSync (int cnum, char *name);
int xr_callASync (int cnum, char *name, void *ret_handler);
int xr_asyncWait (void);
void xr_initParam (int cnum);
void xr_setVerbose (int verbose);
void xr_setDebug (int debug);
void xr_setIntInParam (int cnum, int value);
void xr_setDoubleInParam (int cnum, double value);
void xr_setBoolInParam (int cnum, int value);
void xr_setStringInParam (int cnum, char *str);
void xr_setDatetimeInParam (int cnum, char *str);
void xr_setStructInParam (int cnum, int snum);
void xr_setArrayInParam (int cnum, int anum);
int xr_getIntFromResult (int cnum, int *value);
int xr_getDoubleFromResult (int cnum, double *value);
int xr_getBoolFromResult (int cnum, int *value);
int xr_getStringFromResult (int cnum, char **value);
int xr_getDatetimeFromResult (int cnum, char **date);
int xr_getStructFromResult (int cnum, int *snum);
int xr_getArrayFromResult (int cnum, int *anum);
char *xr_getErrMsg (int cnum);
int xr_getErrCode (int cnum);
void xr_envClean (int cnum);
void xr_freeParam (int cnum);
void xr_freeResult (int cnum);
void xr_clientCleanup (int cnum);
void xr_printClient (int cnum);
/* xrMethod.c
*/
int xr_getIntFromParam (void *data, int index);
double xr_getDoubleFromParam (void *data, int index);
char *xr_getStringFromParam (void *data, int index);
int xr_getBoolFromParam (void *data, int index);
char *xr_getDatetimeFromParam (void *data, int index);
int xr_getStructFromParam (void *data, int index);
int xr_getArrayFromParam (void *data, int index);
void xr_setIntInResult (void *data, int val);
void xr_setDoubleInResult (void *data, double val);
void xr_setBoolInResult (void *data, int val);
void xr_setStringInResult (void *data, char *val);
void xr_setDatetimeInResult (void *data, char *val);
void xr_setStructInResult (void *data, int snum);
void xr_setArrayInResult (void *data, int anum);
void xr_setShutdown (void *data, int val);
/* xrServer.c
*/
typedef void (*sighandler_t)(int);
int xr_createServer (char *path, int port, char *logfile);
int xr_addServerMethod (char *name, void *method, void *userData);
int xr_removeServerMethod (char *name);
void xr_setServerParam (char *param, void *value);
pthread_t xr_startServerThread (void);
void xr_startServer (void);
int xr_shutdownServer (void);
int xr_requestAbort (void *data);
void xr_setShutdownLevel (int level);
void xr_setSigHandler (int sig, sighandler_t handler);
/* xrStruct.c
*/
int xr_newStruct (void);
void xr_freeStruct (int snum);
void xr_printJSONStruct (int snum);
int xr_structSize (int snum);
char *xr_getStructKey (int snum, int index);
char *xr_getStructVal (int snum, int index);
void xr_setIntInStruct (int snum, char *key, int value);
void xr_setDoubleInStruct (int snum, char *key, double value);
void xr_setBoolInStruct (int snum, char *key, int value);
void xr_setStringInStruct (int snum, char *key, char *value);
void xr_setDatetimeInStruct (int snum, char *key, char *value);
void xr_setStructInStruct (int snum, char *key, int value);
void xr_setArrayInStruct (int snum, char *key, int value);
void xr_getIntFromStruct (int snum, char *key, int *value);
void xr_getDoubleFromStruct (int snum, char *key, double *value);
void xr_getBoolFromStruct (int snum, char *key, int *value);
void xr_getStringFromStruct (int snum, char *key, char **value);
void xr_getDatetimeFromStruct (int snum, char *key, char **value);
void xr_getStructFromStruct (int snum, char *key, int *value);
void xr_getArrayFromStruct (int snum, char *key, int *value);
xmlrpc_value *xr_getSParam (int snum);
void xr_setSParam (int snum, xmlrpc_value *v);
/* xrUtil.c
*/
void xr_setupSigtermHandler (xmlrpc_server_abyss_t *serverP);
void xr_svrSigtermHandler (int signalClass);
void xr_restoreSigtermHandler (void);
void xr_setupSigpipeHandlers (void);
char *xr_getPeerIpAddr (TSession * const abyssSessionP);
void xr_dieIfFailed (char *description, xmlrpc_env env);
void xr_dbgPrintParams (xmlrpc_server_abyss_parms s);
void die_on_error (xmlrpc_env *env);
void warn_on_error (xmlrpc_env *env);
/* xrValues.c
*/
void xr_initValues (void);
int xr_newValue (int type, void *v);
int xr_tmpValue (int type, void *v);
void xr_freeValue (int index);
int xr_appendStruct (int snum, char *key, int value);
int xr_appendArray (int anum, char *key, int value);
void xr_getStructValue (int snum, char *key, void *value);
void xr_getArrayValue (int anum, int index, void *value);
|