summaryrefslogtreecommitdiffstats
path: root/rpc/xdr/src/rpc-common-xdr.x
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/xdr/src/rpc-common-xdr.x')
-rw-r--r--rpc/xdr/src/rpc-common-xdr.x23
1 files changed, 23 insertions, 0 deletions
diff --git a/rpc/xdr/src/rpc-common-xdr.x b/rpc/xdr/src/rpc-common-xdr.x
index 7ccfbb11a51..1af7c8041ed 100644
--- a/rpc/xdr/src/rpc-common-xdr.x
+++ b/rpc/xdr/src/rpc-common-xdr.x
@@ -17,6 +17,7 @@
* not captured in any section specific file */
%#include "xdr-common.h"
+%#include "glusterfs-fops.h"
struct auth_glusterfs_parms_v2 {
int pid;
@@ -64,3 +65,25 @@ struct gf_common_rsp {
int op_errno;
opaque xdata<>; /* Extra data */
} ;
+
+
+union gfx_value switch (gf_dict_data_type_t type) {
+ case GF_DATA_TYPE_INT:
+ hyper value_int;
+ case GF_DATA_TYPE_UINT:
+ unsigned hyper value_uint;
+ case GF_DATA_TYPE_DOUBLE:
+ double value_dbl;
+ case GF_DATA_TYPE_STR:
+ opaque val_string<>;
+};
+
+struct gfx_dict_pair {
+ opaque key<>;
+ gfx_value value;
+};
+
+struct gfx_dict {
+ unsigned int count;
+ gfx_dict_pair pairs<>;
+};