00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _GATEWAY_PROT_H_RPCGEN
00023 #define _GATEWAY_PROT_H_RPCGEN
00024
00025 #include <rpc/rpc.h>
00026
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032
00033 enum bamboo_stat {
00034 BAMBOO_OK = 0,
00035 BAMBOO_CAP = 1,
00036 BAMBOO_AGAIN = 2,
00037 };
00038 typedef enum bamboo_stat bamboo_stat;
00039
00040 typedef char bamboo_key[20];
00041
00042 typedef struct {
00043 u_int bamboo_value_len;
00044 char *bamboo_value_val;
00045 } bamboo_value;
00046
00047 typedef struct {
00048 u_int bamboo_placemark_len;
00049 char *bamboo_placemark_val;
00050 } bamboo_placemark;
00051
00052 struct bamboo_put_args {
00053 char *application;
00054 char *client_library;
00055 bamboo_key key;
00056 bamboo_value value;
00057 int ttl_sec;
00058 };
00059 typedef struct bamboo_put_args bamboo_put_args;
00060
00061 struct bamboo_get_args {
00062 char *application;
00063 char *client_library;
00064 bamboo_key key;
00065 int maxvals;
00066 bamboo_placemark placemark;
00067 };
00068 typedef struct bamboo_get_args bamboo_get_args;
00069
00070 struct bamboo_get_res {
00071 struct {
00072 u_int values_len;
00073 bamboo_value *values_val;
00074 } values;
00075 bamboo_placemark placemark;
00076 };
00077 typedef struct bamboo_get_res bamboo_get_res;
00078
00079 #define BAMBOO_DHT_GATEWAY_PROGRAM 708655600
00080 #define BAMBOO_DHT_GATEWAY_VERSION 2
00081
00082 #if defined(__STDC__) || defined(__cplusplus)
00083 #define BAMBOO_DHT_PROC_NULL 1
00084 extern void * bamboo_dht_proc_null_2(void *, CLIENT *);
00085 extern void * bamboo_dht_proc_null_2_svc(void *, struct svc_req *);
00086 #define BAMBOO_DHT_PROC_PUT 2
00087 extern bamboo_stat * bamboo_dht_proc_put_2(bamboo_put_args *, CLIENT *);
00088 extern bamboo_stat * bamboo_dht_proc_put_2_svc(bamboo_put_args *, struct svc_req *);
00089 #define BAMBOO_DHT_PROC_GET 3
00090 extern bamboo_get_res * bamboo_dht_proc_get_2(bamboo_get_args *, CLIENT *);
00091 extern bamboo_get_res * bamboo_dht_proc_get_2_svc(bamboo_get_args *, struct svc_req *);
00092 extern int bamboo_dht_gateway_program_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
00093
00094 #else
00095 #define BAMBOO_DHT_PROC_NULL 1
00096 extern void * bamboo_dht_proc_null_2();
00097 extern void * bamboo_dht_proc_null_2_svc();
00098 #define BAMBOO_DHT_PROC_PUT 2
00099 extern bamboo_stat * bamboo_dht_proc_put_2();
00100 extern bamboo_stat * bamboo_dht_proc_put_2_svc();
00101 #define BAMBOO_DHT_PROC_GET 3
00102 extern bamboo_get_res * bamboo_dht_proc_get_2();
00103 extern bamboo_get_res * bamboo_dht_proc_get_2_svc();
00104 extern int bamboo_dht_gateway_program_2_freeresult ();
00105 #endif
00106
00107
00108
00109 #if defined(__STDC__) || defined(__cplusplus)
00110 extern bool_t xdr_bamboo_stat (XDR *, bamboo_stat*);
00111 extern bool_t xdr_bamboo_key (XDR *, bamboo_key);
00112 extern bool_t xdr_bamboo_value (XDR *, bamboo_value*);
00113 extern bool_t xdr_bamboo_placemark (XDR *, bamboo_placemark*);
00114 extern bool_t xdr_bamboo_put_args (XDR *, bamboo_put_args*);
00115 extern bool_t xdr_bamboo_get_args (XDR *, bamboo_get_args*);
00116 extern bool_t xdr_bamboo_get_res (XDR *, bamboo_get_res*);
00117
00118 #else
00119 extern bool_t xdr_bamboo_stat ();
00120 extern bool_t xdr_bamboo_key ();
00121 extern bool_t xdr_bamboo_value ();
00122 extern bool_t xdr_bamboo_placemark ();
00123 extern bool_t xdr_bamboo_put_args ();
00124 extern bool_t xdr_bamboo_get_args ();
00125 extern bool_t xdr_bamboo_get_res ();
00126
00127 #endif
00128
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132
00133 #endif