/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _GLUSTERFS4_XDR_H_RPCGEN
#define _GLUSTERFS4_XDR_H_RPCGEN

#include <rpc/rpc.h>


#ifdef __cplusplus
extern "C" {
#endif

#include <glusterfs/glusterfs-fops.h>

struct gf_statfs {
	u_quad_t bsize;
	u_quad_t frsize;
	u_quad_t blocks;
	u_quad_t bfree;
	u_quad_t bavail;
	u_quad_t files;
	u_quad_t ffree;
	u_quad_t favail;
	u_quad_t fsid;
	u_quad_t flag;
	u_quad_t namemax;
};
typedef struct gf_statfs gf_statfs;

struct gf_iatt {
	char ia_gfid[16];
	u_quad_t ia_ino;
	u_quad_t ia_dev;
	u_int mode;
	u_int ia_nlink;
	u_int ia_uid;
	u_int ia_gid;
	u_quad_t ia_rdev;
	u_quad_t ia_size;
	u_int ia_blksize;
	u_quad_t ia_blocks;
	u_int ia_atime;
	u_int ia_atime_nsec;
	u_int ia_mtime;
	u_int ia_mtime_nsec;
	u_int ia_ctime;
	u_int ia_ctime_nsec;
};
typedef struct gf_iatt gf_iatt;

struct gfx_iattx {
	char ia_gfid[16];
	u_quad_t ia_flags;
	u_quad_t ia_ino;
	u_quad_t ia_dev;
	u_quad_t ia_rdev;
	u_quad_t ia_size;
	u_quad_t ia_blocks;
	u_quad_t ia_attributes;
	u_quad_t ia_attributes_mask;
	quad_t ia_atime;
	quad_t ia_mtime;
	quad_t ia_ctime;
	quad_t ia_btime;
	u_int ia_atime_nsec;
	u_int ia_mtime_nsec;
	u_int ia_ctime_nsec;
	u_int ia_btime_nsec;
	u_int ia_nlink;
	u_int ia_uid;
	u_int ia_gid;
	u_int ia_blksize;
	u_int mode;
};
typedef struct gfx_iattx gfx_iattx;

struct gfx_mdata_iatt {
	quad_t ia_atime;
	quad_t ia_mtime;
	quad_t ia_ctime;
	u_int ia_atime_nsec;
	u_int ia_mtime_nsec;
	u_int ia_ctime_nsec;
};
typedef struct gfx_mdata_iatt gfx_mdata_iatt;

struct gfx_value {
	int type;
	union {
		quad_t value_int;
		u_quad_t value_uint;
		double value_dbl;
		struct {
			u_int val_string_len;
			char *val_string_val;
		} val_string;
		gfx_iattx iatt;
		char uuid[16];
		struct {
			u_int other_len;
			char *other_val;
		} other;
		gfx_mdata_iatt mdata_iatt;
	} gfx_value_u;
};
typedef struct gfx_value gfx_value;

struct gf_proto_flock {
	u_int type;
	u_int whence;
	u_quad_t start;
	u_quad_t len;
	u_int pid;
	struct {
		u_int lk_owner_len;
		char *lk_owner_val;
	} lk_owner;
};
typedef struct gf_proto_flock gf_proto_flock;

struct gf_proto_lease {
	u_int cmd;
	u_int lease_type;
	char lease_id[16];
	u_int lease_flags;
};
typedef struct gf_proto_lease gf_proto_lease;

struct gfs3_cbk_cache_invalidation_req {
	char *gfid;
	u_int event_type;
	u_int flags;
	u_int expire_time_attr;
	gf_iatt stat;
	gf_iatt parent_stat;
	gf_iatt oldparent_stat;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs3_cbk_cache_invalidation_req gfs3_cbk_cache_invalidation_req;

struct auth_glusterfs_params_v3 {
	int pid;
	u_int uid;
	u_int gid;
	u_int flags;
	u_int ctime_nsec;
	u_quad_t ctime_sec;
	struct {
		u_int groups_len;
		u_int *groups_val;
	} groups;
	struct {
		u_int lk_owner_len;
		char *lk_owner_val;
	} lk_owner;
};
typedef struct auth_glusterfs_params_v3 auth_glusterfs_params_v3;

struct gfx_dict_pair {
	struct {
		u_int key_len;
		char *key_val;
	} key;
	gfx_value value;
};
typedef struct gfx_dict_pair gfx_dict_pair;

struct gfx_dict {
	u_int xdr_size;
	int count;
	struct {
		u_int pairs_len;
		gfx_dict_pair *pairs_val;
	} pairs;
};
typedef struct gfx_dict gfx_dict;

struct gfx_common_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
};
typedef struct gfx_common_rsp gfx_common_rsp;

struct gfx_common_iatt_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx stat;
};
typedef struct gfx_common_iatt_rsp gfx_common_iatt_rsp;

struct gfx_common_2iatt_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx prestat;
	gfx_iattx poststat;
};
typedef struct gfx_common_2iatt_rsp gfx_common_2iatt_rsp;

struct gfx_common_3iatt_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx stat;
	gfx_iattx preparent;
	gfx_iattx postparent;
};
typedef struct gfx_common_3iatt_rsp gfx_common_3iatt_rsp;

struct gfx_fsetattr_req {
	char gfid[16];
	quad_t fd;
	gfx_iattx stbuf;
	int valid;
	gfx_dict xdata;
};
typedef struct gfx_fsetattr_req gfx_fsetattr_req;

struct gfx_rchecksum_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_int len;
	u_int flags;
	gfx_dict xdata;
};
typedef struct gfx_rchecksum_req gfx_rchecksum_req;

struct gfx_icreate_req {
	char gfid[16];
	u_int mode;
	gfx_dict xdata;
};
typedef struct gfx_icreate_req gfx_icreate_req;

struct gfx_put_req {
	char pargfid[16];
	char *bname;
	u_int mode;
	u_int umask;
	u_int flag;
	u_quad_t offset;
	u_int size;
	gfx_dict xattr;
	gfx_dict xdata;
};
typedef struct gfx_put_req gfx_put_req;

struct gfx_namelink_req {
	char pargfid[16];
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_namelink_req gfx_namelink_req;

struct gfx_stat_req {
	char gfid[16];
	gfx_dict xdata;
};
typedef struct gfx_stat_req gfx_stat_req;

struct gfx_readlink_req {
	char gfid[16];
	u_int size;
	gfx_dict xdata;
};
typedef struct gfx_readlink_req gfx_readlink_req;

struct gfx_readlink_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx buf;
	char *path;
};
typedef struct gfx_readlink_rsp gfx_readlink_rsp;

struct gfx_mknod_req {
	char pargfid[16];
	u_quad_t dev;
	u_int mode;
	u_int umask;
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_mknod_req gfx_mknod_req;

struct gfx_mkdir_req {
	char pargfid[16];
	u_int mode;
	u_int umask;
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_mkdir_req gfx_mkdir_req;

struct gfx_unlink_req {
	char pargfid[16];
	char *bname;
	u_int xflags;
	gfx_dict xdata;
};
typedef struct gfx_unlink_req gfx_unlink_req;

struct gfx_rmdir_req {
	char pargfid[16];
	int xflags;
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_rmdir_req gfx_rmdir_req;

struct gfx_symlink_req {
	char pargfid[16];
	char *bname;
	u_int umask;
	char *linkname;
	gfx_dict xdata;
};
typedef struct gfx_symlink_req gfx_symlink_req;

struct gfx_rename_req {
	char oldgfid[16];
	char newgfid[16];
	char *oldbname;
	char *newbname;
	gfx_dict xdata;
};
typedef struct gfx_rename_req gfx_rename_req;

struct gfx_rename_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx stat;
	gfx_iattx preoldparent;
	gfx_iattx postoldparent;
	gfx_iattx prenewparent;
	gfx_iattx postnewparent;
};
typedef struct gfx_rename_rsp gfx_rename_rsp;

struct gfx_link_req {
	char oldgfid[16];
	char newgfid[16];
	char *newbname;
	gfx_dict xdata;
};
typedef struct gfx_link_req gfx_link_req;

struct gfx_truncate_req {
	char gfid[16];
	u_quad_t offset;
	gfx_dict xdata;
};
typedef struct gfx_truncate_req gfx_truncate_req;

struct gfx_open_req {
	char gfid[16];
	u_int flags;
	gfx_dict xdata;
};
typedef struct gfx_open_req gfx_open_req;

struct gfx_open_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	quad_t fd;
};
typedef struct gfx_open_rsp gfx_open_rsp;

struct gfx_opendir_req {
	char gfid[16];
	gfx_dict xdata;
};
typedef struct gfx_opendir_req gfx_opendir_req;

struct gfx_read_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_int size;
	u_int flag;
	gfx_dict xdata;
};
typedef struct gfx_read_req gfx_read_req;

struct gfx_read_rsp {
	int op_ret;
	int op_errno;
	gfx_iattx stat;
	u_int size;
	gfx_dict xdata;
};
typedef struct gfx_read_rsp gfx_read_rsp;

struct gfx_lookup_req {
	char gfid[16];
	char pargfid[16];
	u_int flags;
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_lookup_req gfx_lookup_req;

struct gfx_write_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_int size;
	u_int flag;
	gfx_dict xdata;
};
typedef struct gfx_write_req gfx_write_req;

struct gfx_statfs_req {
	char gfid[16];
	gfx_dict xdata;
};
typedef struct gfx_statfs_req gfx_statfs_req;

struct gfx_statfs_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gf_statfs statfs;
};
typedef struct gfx_statfs_rsp gfx_statfs_rsp;

struct gfx_lk_req {
	char gfid[16];
	int64_t fd;
	u_int cmd;
	u_int type;
	gf_proto_flock flock;
	gfx_dict xdata;
};
typedef struct gfx_lk_req gfx_lk_req;

struct gfx_lk_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gf_proto_flock flock;
};
typedef struct gfx_lk_rsp gfx_lk_rsp;

struct gfx_lease_req {
	char gfid[16];
	gf_proto_lease lease;
	gfx_dict xdata;
};
typedef struct gfx_lease_req gfx_lease_req;

struct gfx_lease_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gf_proto_lease lease;
};
typedef struct gfx_lease_rsp gfx_lease_rsp;

struct gfx_recall_lease_req {
	char gfid[16];
	u_int lease_type;
	char tid[16];
	gfx_dict xdata;
};
typedef struct gfx_recall_lease_req gfx_recall_lease_req;

struct gfx_inodelk_req {
	char gfid[16];
	u_int cmd;
	u_int type;
	gf_proto_flock flock;
	char *volume;
	gfx_dict xdata;
};
typedef struct gfx_inodelk_req gfx_inodelk_req;

struct gfx_finodelk_req {
	char gfid[16];
	quad_t fd;
	u_int cmd;
	u_int type;
	gf_proto_flock flock;
	char *volume;
	gfx_dict xdata;
};
typedef struct gfx_finodelk_req gfx_finodelk_req;

struct gfx_flush_req {
	char gfid[16];
	quad_t fd;
	gfx_dict xdata;
};
typedef struct gfx_flush_req gfx_flush_req;

struct gfx_fsync_req {
	char gfid[16];
	quad_t fd;
	u_int data;
	gfx_dict xdata;
};
typedef struct gfx_fsync_req gfx_fsync_req;

struct gfx_setxattr_req {
	char gfid[16];
	u_int flags;
	gfx_dict dict;
	gfx_dict xdata;
};
typedef struct gfx_setxattr_req gfx_setxattr_req;

struct gfx_fsetxattr_req {
	char gfid[16];
	int64_t fd;
	u_int flags;
	gfx_dict dict;
	gfx_dict xdata;
};
typedef struct gfx_fsetxattr_req gfx_fsetxattr_req;

struct gfx_xattrop_req {
	char gfid[16];
	u_int flags;
	gfx_dict dict;
	gfx_dict xdata;
};
typedef struct gfx_xattrop_req gfx_xattrop_req;

struct gfx_common_dict_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_dict dict;
	gfx_iattx prestat;
	gfx_iattx poststat;
};
typedef struct gfx_common_dict_rsp gfx_common_dict_rsp;

struct gfx_fxattrop_req {
	char gfid[16];
	quad_t fd;
	u_int flags;
	gfx_dict dict;
	gfx_dict xdata;
};
typedef struct gfx_fxattrop_req gfx_fxattrop_req;

struct gfx_getxattr_req {
	char gfid[16];
	u_int namelen;
	char *name;
	gfx_dict xdata;
};
typedef struct gfx_getxattr_req gfx_getxattr_req;

struct gfx_fgetxattr_req {
	char gfid[16];
	quad_t fd;
	u_int namelen;
	char *name;
	gfx_dict xdata;
};
typedef struct gfx_fgetxattr_req gfx_fgetxattr_req;

struct gfx_removexattr_req {
	char gfid[16];
	char *name;
	gfx_dict xdata;
};
typedef struct gfx_removexattr_req gfx_removexattr_req;

struct gfx_fremovexattr_req {
	char gfid[16];
	quad_t fd;
	char *name;
	gfx_dict xdata;
};
typedef struct gfx_fremovexattr_req gfx_fremovexattr_req;

struct gfx_fsyncdir_req {
	char gfid[16];
	quad_t fd;
	int data;
	gfx_dict xdata;
};
typedef struct gfx_fsyncdir_req gfx_fsyncdir_req;

struct gfx_readdir_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_int size;
	gfx_dict xdata;
};
typedef struct gfx_readdir_req gfx_readdir_req;

struct gfx_readdirp_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_int size;
	gfx_dict xdata;
};
typedef struct gfx_readdirp_req gfx_readdirp_req;

struct gfx_access_req {
	char gfid[16];
	u_int mask;
	gfx_dict xdata;
};
typedef struct gfx_access_req gfx_access_req;

struct gfx_create_req {
	char pargfid[16];
	u_int flags;
	u_int mode;
	u_int umask;
	char *bname;
	gfx_dict xdata;
};
typedef struct gfx_create_req gfx_create_req;

struct gfx_create_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_iattx stat;
	u_quad_t fd;
	gfx_iattx preparent;
	gfx_iattx postparent;
};
typedef struct gfx_create_rsp gfx_create_rsp;

struct gfx_ftruncate_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	gfx_dict xdata;
};
typedef struct gfx_ftruncate_req gfx_ftruncate_req;

struct gfx_fstat_req {
	char gfid[16];
	quad_t fd;
	gfx_dict xdata;
};
typedef struct gfx_fstat_req gfx_fstat_req;

struct gfx_entrylk_req {
	char gfid[16];
	u_int cmd;
	u_int type;
	u_quad_t namelen;
	char *name;
	char *volume;
	gfx_dict xdata;
};
typedef struct gfx_entrylk_req gfx_entrylk_req;

struct gfx_fentrylk_req {
	char gfid[16];
	quad_t fd;
	u_int cmd;
	u_int type;
	u_quad_t namelen;
	char *name;
	char *volume;
	gfx_dict xdata;
};
typedef struct gfx_fentrylk_req gfx_fentrylk_req;

struct gfx_setattr_req {
	char gfid[16];
	gfx_iattx stbuf;
	int valid;
	gfx_dict xdata;
};
typedef struct gfx_setattr_req gfx_setattr_req;

struct gfx_fallocate_req {
	char gfid[16];
	quad_t fd;
	u_int flags;
	u_quad_t offset;
	u_quad_t size;
	gfx_dict xdata;
};
typedef struct gfx_fallocate_req gfx_fallocate_req;

struct gfx_discard_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_quad_t size;
	gfx_dict xdata;
};
typedef struct gfx_discard_req gfx_discard_req;

struct gfx_zerofill_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	u_quad_t size;
	gfx_dict xdata;
};
typedef struct gfx_zerofill_req gfx_zerofill_req;

struct gfx_rchecksum_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	u_int flags;
	u_int weak_checksum;
	struct {
		u_int strong_checksum_len;
		char *strong_checksum_val;
	} strong_checksum;
};
typedef struct gfx_rchecksum_rsp gfx_rchecksum_rsp;

struct gfx_ipc_req {
	int op;
	gfx_dict xdata;
};
typedef struct gfx_ipc_req gfx_ipc_req;

struct gfx_seek_req {
	char gfid[16];
	quad_t fd;
	u_quad_t offset;
	int what;
	gfx_dict xdata;
};
typedef struct gfx_seek_req gfx_seek_req;

struct gfx_seek_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	u_quad_t offset;
};
typedef struct gfx_seek_rsp gfx_seek_rsp;

struct gfx_setvolume_req {
	gfx_dict dict;
};
typedef struct gfx_setvolume_req gfx_setvolume_req;

struct gfx_copy_file_range_req {
	char gfid1[16];
	char gfid2[16];
	quad_t fd_in;
	quad_t fd_out;
	u_quad_t off_in;
	u_quad_t off_out;
	u_int size;
	u_int flag;
	gfx_dict xdata;
};
typedef struct gfx_copy_file_range_req gfx_copy_file_range_req;

struct gfx_setvolume_rsp {
	int op_ret;
	int op_errno;
	gfx_dict dict;
};
typedef struct gfx_setvolume_rsp gfx_setvolume_rsp;

struct gfx_getspec_req {
	u_int flags;
	char *key;
	gfx_dict xdata;
};
typedef struct gfx_getspec_req gfx_getspec_req;

struct gfx_getspec_rsp {
	int op_ret;
	int op_errno;
	char *spec;
	gfx_dict xdata;
};
typedef struct gfx_getspec_rsp gfx_getspec_rsp;

struct gfx_notify_req {
	u_int flags;
	char *buf;
	gfx_dict xdata;
};
typedef struct gfx_notify_req gfx_notify_req;

struct gfx_notify_rsp {
	int op_ret;
	int op_errno;
	u_int flags;
	char *buf;
	gfx_dict xdata;
};
typedef struct gfx_notify_rsp gfx_notify_rsp;

struct gfx_releasedir_req {
	char gfid[16];
	quad_t fd;
	gfx_dict xdata;
};
typedef struct gfx_releasedir_req gfx_releasedir_req;

struct gfx_release_req {
	char gfid[16];
	quad_t fd;
	gfx_dict xdata;
};
typedef struct gfx_release_req gfx_release_req;

struct gfx_dirlist {
	u_quad_t d_ino;
	u_quad_t d_off;
	u_int d_len;
	u_int d_type;
	char *name;
	struct gfx_dirlist *nextentry;
};
typedef struct gfx_dirlist gfx_dirlist;

struct gfx_readdir_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_dirlist *reply;
};
typedef struct gfx_readdir_rsp gfx_readdir_rsp;

struct gfx_dirplist {
	u_quad_t d_ino;
	u_quad_t d_off;
	u_int d_len;
	u_int d_type;
	char *name;
	gfx_iattx stat;
	gfx_dict dict;
	struct gfx_dirplist *nextentry;
};
typedef struct gfx_dirplist gfx_dirplist;

struct gfx_readdirp_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfx_dirplist *reply;
};
typedef struct gfx_readdirp_rsp gfx_readdirp_rsp;

struct gfx_set_lk_ver_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	int lk_ver;
};
typedef struct gfx_set_lk_ver_rsp gfx_set_lk_ver_rsp;

struct gfx_set_lk_ver_req {
	char *uid;
	int lk_ver;
};
typedef struct gfx_set_lk_ver_req gfx_set_lk_ver_req;

struct gfx_event_notify_req {
	int op;
	gfx_dict dict;
};
typedef struct gfx_event_notify_req gfx_event_notify_req;

struct gfx_getsnap_name_uuid_req {
	gfx_dict dict;
};
typedef struct gfx_getsnap_name_uuid_req gfx_getsnap_name_uuid_req;

struct gfx_getsnap_name_uuid_rsp {
	int op_ret;
	int op_errno;
	gfx_dict dict;
	char *op_errstr;
};
typedef struct gfx_getsnap_name_uuid_rsp gfx_getsnap_name_uuid_rsp;

struct gfs3_locklist {
	gf_proto_flock flock;
	char *client_uid;
	u_int lk_flags;
	struct gfs3_locklist *nextentry;
};
typedef struct gfs3_locklist gfs3_locklist;

struct gfx_getactivelk_rsp {
	int op_ret;
	int op_errno;
	gfx_dict xdata;
	gfs3_locklist *reply;
};
typedef struct gfx_getactivelk_rsp gfx_getactivelk_rsp;

struct gfx_getactivelk_req {
	char gfid[16];
	gfx_dict xdata;
};
typedef struct gfx_getactivelk_req gfx_getactivelk_req;

struct gfx_setactivelk_req {
	char gfid[16];
	gfs3_locklist *request;
	gfx_dict xdata;
};
typedef struct gfx_setactivelk_req gfx_setactivelk_req;

struct gfs3_recall_lease_req {
	char gfid[16];
	u_int lease_type;
	char tid[16];
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs3_recall_lease_req gfs3_recall_lease_req;

struct gfs4_inodelk_contention_req {
	char gfid[16];
	struct gf_proto_flock flock;
	u_int pid;
	char *domain;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs4_inodelk_contention_req gfs4_inodelk_contention_req;

struct gfs4_entrylk_contention_req {
	char gfid[16];
	u_int type;
	u_int pid;
	char *name;
	char *domain;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs4_entrylk_contention_req gfs4_entrylk_contention_req;

struct gf_getspec_req {
	u_int flags;
	char *key;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gf_getspec_req gf_getspec_req;

struct gf_getspec_rsp {
	int op_ret;
	int op_errno;
	char *spec;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gf_getspec_rsp gf_getspec_rsp;

struct gf_get_volume_info_req {
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_get_volume_info_req gf_get_volume_info_req;

struct gf_get_volume_info_rsp {
	int op_ret;
	int op_errno;
	char *op_errstr;
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_get_volume_info_rsp gf_get_volume_info_rsp;

struct gf_mgmt_hndsk_req {
	struct {
		u_int hndsk_len;
		char *hndsk_val;
	} hndsk;
};
typedef struct gf_mgmt_hndsk_req gf_mgmt_hndsk_req;

struct gf_mgmt_hndsk_rsp {
	int op_ret;
	int op_errno;
	struct {
		u_int hndsk_len;
		char *hndsk_val;
	} hndsk;
};
typedef struct gf_mgmt_hndsk_rsp gf_mgmt_hndsk_rsp;

struct gf_log_req {
	struct {
		u_int msg_len;
		char *msg_val;
	} msg;
};
typedef struct gf_log_req gf_log_req;

struct gf_notify_req {
	u_int flags;
	char *buf;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gf_notify_req gf_notify_req;

struct gf_notify_rsp {
	int op_ret;
	int op_errno;
	u_int flags;
	char *buf;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gf_notify_rsp gf_notify_rsp;

struct gf_event_notify_req {
	int op;
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_event_notify_req gf_event_notify_req;

struct gf_event_notify_rsp {
	int op_ret;
	int op_errno;
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_event_notify_rsp gf_event_notify_rsp;

struct gf_setvolume_req {
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_setvolume_req gf_setvolume_req;

struct gf_setvolume_rsp {
	int op_ret;
	int op_errno;
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_setvolume_rsp gf_setvolume_rsp;

struct gf_set_lk_ver_rsp {
	int op_ret;
	int op_errno;
	int lk_ver;
};
typedef struct gf_set_lk_ver_rsp gf_set_lk_ver_rsp;

struct gf_set_lk_ver_req {
	char *uid;
	int lk_ver;
};
typedef struct gf_set_lk_ver_req gf_set_lk_ver_req;

struct gf_getsnap_name_uuid_req {
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_getsnap_name_uuid_req gf_getsnap_name_uuid_req;

struct gf_getsnap_name_uuid_rsp {
	int op_ret;
	int op_errno;
	char *op_errstr;
	struct {
		u_int dict_len;
		char *dict_val;
	} dict;
};
typedef struct gf_getsnap_name_uuid_rsp gf_getsnap_name_uuid_rsp;

struct gfs3_lookup_req {
	char gfid[16];
	char pargfid[16];
	u_int flags;
	char *bname;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs3_lookup_req gfs3_lookup_req;

struct gfs3_lookup_rsp {
	int op_ret;
	int op_errno;
	gf_iatt stat;
	gf_iatt postparent;
	struct {
		u_int xdata_len;
		char *xdata_val;
	} xdata;
};
typedef struct gfs3_lookup_rsp gfs3_lookup_rsp;

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_gf_statfs (XDR *, gf_statfs*);
extern  bool_t xdr_gf_iatt (XDR *, gf_iatt*);
extern  bool_t xdr_gfx_iattx (XDR *, gfx_iattx*);
extern  bool_t xdr_gfx_mdata_iatt (XDR *, gfx_mdata_iatt*);
extern  bool_t xdr_gfx_value (XDR *, gfx_value*);
extern  bool_t xdr_gf_proto_flock (XDR *, gf_proto_flock*);
extern  bool_t xdr_gf_proto_lease (XDR *, gf_proto_lease*);
extern  bool_t xdr_gfs3_cbk_cache_invalidation_req (XDR *, gfs3_cbk_cache_invalidation_req*);
extern  bool_t xdr_auth_glusterfs_params_v3 (XDR *, auth_glusterfs_params_v3*);
extern  bool_t xdr_gfx_dict_pair (XDR *, gfx_dict_pair*);
extern  bool_t xdr_gfx_dict (XDR *, gfx_dict*);
extern  bool_t xdr_gfx_common_rsp (XDR *, gfx_common_rsp*);
extern  bool_t xdr_gfx_common_iatt_rsp (XDR *, gfx_common_iatt_rsp*);
extern  bool_t xdr_gfx_common_2iatt_rsp (XDR *, gfx_common_2iatt_rsp*);
extern  bool_t xdr_gfx_common_3iatt_rsp (XDR *, gfx_common_3iatt_rsp*);
extern  bool_t xdr_gfx_fsetattr_req (XDR *, gfx_fsetattr_req*);
extern  bool_t xdr_gfx_rchecksum_req (XDR *, gfx_rchecksum_req*);
extern  bool_t xdr_gfx_icreate_req (XDR *, gfx_icreate_req*);
extern  bool_t xdr_gfx_put_req (XDR *, gfx_put_req*);
extern  bool_t xdr_gfx_namelink_req (XDR *, gfx_namelink_req*);
extern  bool_t xdr_gfx_stat_req (XDR *, gfx_stat_req*);
extern  bool_t xdr_gfx_readlink_req (XDR *, gfx_readlink_req*);
extern  bool_t xdr_gfx_readlink_rsp (XDR *, gfx_readlink_rsp*);
extern  bool_t xdr_gfx_mknod_req (XDR *, gfx_mknod_req*);
extern  bool_t xdr_gfx_mkdir_req (XDR *, gfx_mkdir_req*);
extern  bool_t xdr_gfx_unlink_req (XDR *, gfx_unlink_req*);
extern  bool_t xdr_gfx_rmdir_req (XDR *, gfx_rmdir_req*);
extern  bool_t xdr_gfx_symlink_req (XDR *, gfx_symlink_req*);
extern  bool_t xdr_gfx_rename_req (XDR *, gfx_rename_req*);
extern  bool_t xdr_gfx_rename_rsp (XDR *, gfx_rename_rsp*);
extern  bool_t xdr_gfx_link_req (XDR *, gfx_link_req*);
extern  bool_t xdr_gfx_truncate_req (XDR *, gfx_truncate_req*);
extern  bool_t xdr_gfx_open_req (XDR *, gfx_open_req*);
extern  bool_t xdr_gfx_open_rsp (XDR *, gfx_open_rsp*);
extern  bool_t xdr_gfx_opendir_req (XDR *, gfx_opendir_req*);
extern  bool_t xdr_gfx_read_req (XDR *, gfx_read_req*);
extern  bool_t xdr_gfx_read_rsp (XDR *, gfx_read_rsp*);
extern  bool_t xdr_gfx_lookup_req (XDR *, gfx_lookup_req*);
extern  bool_t xdr_gfx_write_req (XDR *, gfx_write_req*);
extern  bool_t xdr_gfx_statfs_req (XDR *, gfx_statfs_req*);
extern  bool_t xdr_gfx_statfs_rsp (XDR *, gfx_statfs_rsp*);
extern  bool_t xdr_gfx_lk_req (XDR *, gfx_lk_req*);
extern  bool_t xdr_gfx_lk_rsp (XDR *, gfx_lk_rsp*);
extern  bool_t xdr_gfx_lease_req (XDR *, gfx_lease_req*);
extern  bool_t xdr_gfx_lease_rsp (XDR *, gfx_lease_rsp*);
extern  bool_t xdr_gfx_recall_lease_req (XDR *, gfx_recall_lease_req*);
extern  bool_t xdr_gfx_inodelk_req (XDR *, gfx_inodelk_req*);
extern  bool_t xdr_gfx_finodelk_req (XDR *, gfx_finodelk_req*);
extern  bool_t xdr_gfx_flush_req (XDR *, gfx_flush_req*);
extern  bool_t xdr_gfx_fsync_req (XDR *, gfx_fsync_req*);
extern  bool_t xdr_gfx_setxattr_req (XDR *, gfx_setxattr_req*);
extern  bool_t xdr_gfx_fsetxattr_req (XDR *, gfx_fsetxattr_req*);
extern  bool_t xdr_gfx_xattrop_req (XDR *, gfx_xattrop_req*);
extern  bool_t xdr_gfx_common_dict_rsp (XDR *, gfx_common_dict_rsp*);
extern  bool_t xdr_gfx_fxattrop_req (XDR *, gfx_fxattrop_req*);
extern  bool_t xdr_gfx_getxattr_req (XDR *, gfx_getxattr_req*);
extern  bool_t xdr_gfx_fgetxattr_req (XDR *, gfx_fgetxattr_req*);
extern  bool_t xdr_gfx_removexattr_req (XDR *, gfx_removexattr_req*);
extern  bool_t xdr_gfx_fremovexattr_req (XDR *, gfx_fremovexattr_req*);
extern  bool_t xdr_gfx_fsyncdir_req (XDR *, gfx_fsyncdir_req*);
extern  bool_t xdr_gfx_readdir_req (XDR *, gfx_readdir_req*);
extern  bool_t xdr_gfx_readdirp_req (XDR *, gfx_readdirp_req*);
extern  bool_t xdr_gfx_access_req (XDR *, gfx_access_req*);
extern  bool_t xdr_gfx_create_req (XDR *, gfx_create_req*);
extern  bool_t xdr_gfx_create_rsp (XDR *, gfx_create_rsp*);
extern  bool_t xdr_gfx_ftruncate_req (XDR *, gfx_ftruncate_req*);
extern  bool_t xdr_gfx_fstat_req (XDR *, gfx_fstat_req*);
extern  bool_t xdr_gfx_entrylk_req (XDR *, gfx_entrylk_req*);
extern  bool_t xdr_gfx_fentrylk_req (XDR *, gfx_fentrylk_req*);
extern  bool_t xdr_gfx_setattr_req (XDR *, gfx_setattr_req*);
extern  bool_t xdr_gfx_fallocate_req (XDR *, gfx_fallocate_req*);
extern  bool_t xdr_gfx_discard_req (XDR *, gfx_discard_req*);
extern  bool_t xdr_gfx_zerofill_req (XDR *, gfx_zerofill_req*);
extern  bool_t xdr_gfx_rchecksum_rsp (XDR *, gfx_rchecksum_rsp*);
extern  bool_t xdr_gfx_ipc_req (XDR *, gfx_ipc_req*);
extern  bool_t xdr_gfx_seek_req (XDR *, gfx_seek_req*);
extern  bool_t xdr_gfx_seek_rsp (XDR *, gfx_seek_rsp*);
extern  bool_t xdr_gfx_setvolume_req (XDR *, gfx_setvolume_req*);
extern  bool_t xdr_gfx_copy_file_range_req (XDR *, gfx_copy_file_range_req*);
extern  bool_t xdr_gfx_setvolume_rsp (XDR *, gfx_setvolume_rsp*);
extern  bool_t xdr_gfx_getspec_req (XDR *, gfx_getspec_req*);
extern  bool_t xdr_gfx_getspec_rsp (XDR *, gfx_getspec_rsp*);
extern  bool_t xdr_gfx_notify_req (XDR *, gfx_notify_req*);
extern  bool_t xdr_gfx_notify_rsp (XDR *, gfx_notify_rsp*);
extern  bool_t xdr_gfx_releasedir_req (XDR *, gfx_releasedir_req*);
extern  bool_t xdr_gfx_release_req (XDR *, gfx_release_req*);
extern  bool_t xdr_gfx_dirlist (XDR *, gfx_dirlist*);
extern  bool_t xdr_gfx_readdir_rsp (XDR *, gfx_readdir_rsp*);
extern  bool_t xdr_gfx_dirplist (XDR *, gfx_dirplist*);
extern  bool_t xdr_gfx_readdirp_rsp (XDR *, gfx_readdirp_rsp*);
extern  bool_t xdr_gfx_set_lk_ver_rsp (XDR *, gfx_set_lk_ver_rsp*);
extern  bool_t xdr_gfx_set_lk_ver_req (XDR *, gfx_set_lk_ver_req*);
extern  bool_t xdr_gfx_event_notify_req (XDR *, gfx_event_notify_req*);
extern  bool_t xdr_gfx_getsnap_name_uuid_req (XDR *, gfx_getsnap_name_uuid_req*);
extern  bool_t xdr_gfx_getsnap_name_uuid_rsp (XDR *, gfx_getsnap_name_uuid_rsp*);
extern  bool_t xdr_gfs3_locklist (XDR *, gfs3_locklist*);
extern  bool_t xdr_gfx_getactivelk_rsp (XDR *, gfx_getactivelk_rsp*);
extern  bool_t xdr_gfx_getactivelk_req (XDR *, gfx_getactivelk_req*);
extern  bool_t xdr_gfx_setactivelk_req (XDR *, gfx_setactivelk_req*);
extern  bool_t xdr_gfs3_recall_lease_req (XDR *, gfs3_recall_lease_req*);
extern  bool_t xdr_gfs4_inodelk_contention_req (XDR *, gfs4_inodelk_contention_req*);
extern  bool_t xdr_gfs4_entrylk_contention_req (XDR *, gfs4_entrylk_contention_req*);
extern  bool_t xdr_gf_getspec_req (XDR *, gf_getspec_req*);
extern  bool_t xdr_gf_getspec_rsp (XDR *, gf_getspec_rsp*);
extern  bool_t xdr_gf_get_volume_info_req (XDR *, gf_get_volume_info_req*);
extern  bool_t xdr_gf_get_volume_info_rsp (XDR *, gf_get_volume_info_rsp*);
extern  bool_t xdr_gf_mgmt_hndsk_req (XDR *, gf_mgmt_hndsk_req*);
extern  bool_t xdr_gf_mgmt_hndsk_rsp (XDR *, gf_mgmt_hndsk_rsp*);
extern  bool_t xdr_gf_log_req (XDR *, gf_log_req*);
extern  bool_t xdr_gf_notify_req (XDR *, gf_notify_req*);
extern  bool_t xdr_gf_notify_rsp (XDR *, gf_notify_rsp*);
extern  bool_t xdr_gf_event_notify_req (XDR *, gf_event_notify_req*);
extern  bool_t xdr_gf_event_notify_rsp (XDR *, gf_event_notify_rsp*);
extern  bool_t xdr_gf_setvolume_req (XDR *, gf_setvolume_req*);
extern  bool_t xdr_gf_setvolume_rsp (XDR *, gf_setvolume_rsp*);
extern  bool_t xdr_gf_set_lk_ver_rsp (XDR *, gf_set_lk_ver_rsp*);
extern  bool_t xdr_gf_set_lk_ver_req (XDR *, gf_set_lk_ver_req*);
extern  bool_t xdr_gf_getsnap_name_uuid_req (XDR *, gf_getsnap_name_uuid_req*);
extern  bool_t xdr_gf_getsnap_name_uuid_rsp (XDR *, gf_getsnap_name_uuid_rsp*);
extern  bool_t xdr_gfs3_lookup_req (XDR *, gfs3_lookup_req*);
extern  bool_t xdr_gfs3_lookup_rsp (XDR *, gfs3_lookup_rsp*);

#else /* K&R C */
extern bool_t xdr_gf_statfs ();
extern bool_t xdr_gf_iatt ();
extern bool_t xdr_gfx_iattx ();
extern bool_t xdr_gfx_mdata_iatt ();
extern bool_t xdr_gfx_value ();
extern bool_t xdr_gf_proto_flock ();
extern bool_t xdr_gf_proto_lease ();
extern bool_t xdr_gfs3_cbk_cache_invalidation_req ();
extern bool_t xdr_auth_glusterfs_params_v3 ();
extern bool_t xdr_gfx_dict_pair ();
extern bool_t xdr_gfx_dict ();
extern bool_t xdr_gfx_common_rsp ();
extern bool_t xdr_gfx_common_iatt_rsp ();
extern bool_t xdr_gfx_common_2iatt_rsp ();
extern bool_t xdr_gfx_common_3iatt_rsp ();
extern bool_t xdr_gfx_fsetattr_req ();
extern bool_t xdr_gfx_rchecksum_req ();
extern bool_t xdr_gfx_icreate_req ();
extern bool_t xdr_gfx_put_req ();
extern bool_t xdr_gfx_namelink_req ();
extern bool_t xdr_gfx_stat_req ();
extern bool_t xdr_gfx_readlink_req ();
extern bool_t xdr_gfx_readlink_rsp ();
extern bool_t xdr_gfx_mknod_req ();
extern bool_t xdr_gfx_mkdir_req ();
extern bool_t xdr_gfx_unlink_req ();
extern bool_t xdr_gfx_rmdir_req ();
extern bool_t xdr_gfx_symlink_req ();
extern bool_t xdr_gfx_rename_req ();
extern bool_t xdr_gfx_rename_rsp ();
extern bool_t xdr_gfx_link_req ();
extern bool_t xdr_gfx_truncate_req ();
extern bool_t xdr_gfx_open_req ();
extern bool_t xdr_gfx_open_rsp ();
extern bool_t xdr_gfx_opendir_req ();
extern bool_t xdr_gfx_read_req ();
extern bool_t xdr_gfx_read_rsp ();
extern bool_t xdr_gfx_lookup_req ();
extern bool_t xdr_gfx_write_req ();
extern bool_t xdr_gfx_statfs_req ();
extern bool_t xdr_gfx_statfs_rsp ();
extern bool_t xdr_gfx_lk_req ();
extern bool_t xdr_gfx_lk_rsp ();
extern bool_t xdr_gfx_lease_req ();
extern bool_t xdr_gfx_lease_rsp ();
extern bool_t xdr_gfx_recall_lease_req ();
extern bool_t xdr_gfx_inodelk_req ();
extern bool_t xdr_gfx_finodelk_req ();
extern bool_t xdr_gfx_flush_req ();
extern bool_t xdr_gfx_fsync_req ();
extern bool_t xdr_gfx_setxattr_req ();
extern bool_t xdr_gfx_fsetxattr_req ();
extern bool_t xdr_gfx_xattrop_req ();
extern bool_t xdr_gfx_common_dict_rsp ();
extern bool_t xdr_gfx_fxattrop_req ();
extern bool_t xdr_gfx_getxattr_req ();
extern bool_t xdr_gfx_fgetxattr_req ();
extern bool_t xdr_gfx_removexattr_req ();
extern bool_t xdr_gfx_fremovexattr_req ();
extern bool_t xdr_gfx_fsyncdir_req ();
extern bool_t xdr_gfx_readdir_req ();
extern bool_t xdr_gfx_readdirp_req ();
extern bool_t xdr_gfx_access_req ();
extern bool_t xdr_gfx_create_req ();
extern bool_t xdr_gfx_create_rsp ();
extern bool_t xdr_gfx_ftruncate_req ();
extern bool_t xdr_gfx_fstat_req ();
extern bool_t xdr_gfx_entrylk_req ();
extern bool_t xdr_gfx_fentrylk_req ();
extern bool_t xdr_gfx_setattr_req ();
extern bool_t xdr_gfx_fallocate_req ();
extern bool_t xdr_gfx_discard_req ();
extern bool_t xdr_gfx_zerofill_req ();
extern bool_t xdr_gfx_rchecksum_rsp ();
extern bool_t xdr_gfx_ipc_req ();
extern bool_t xdr_gfx_seek_req ();
extern bool_t xdr_gfx_seek_rsp ();
extern bool_t xdr_gfx_setvolume_req ();
extern bool_t xdr_gfx_copy_file_range_req ();
extern bool_t xdr_gfx_setvolume_rsp ();
extern bool_t xdr_gfx_getspec_req ();
extern bool_t xdr_gfx_getspec_rsp ();
extern bool_t xdr_gfx_notify_req ();
extern bool_t xdr_gfx_notify_rsp ();
extern bool_t xdr_gfx_releasedir_req ();
extern bool_t xdr_gfx_release_req ();
extern bool_t xdr_gfx_dirlist ();
extern bool_t xdr_gfx_readdir_rsp ();
extern bool_t xdr_gfx_dirplist ();
extern bool_t xdr_gfx_readdirp_rsp ();
extern bool_t xdr_gfx_set_lk_ver_rsp ();
extern bool_t xdr_gfx_set_lk_ver_req ();
extern bool_t xdr_gfx_event_notify_req ();
extern bool_t xdr_gfx_getsnap_name_uuid_req ();
extern bool_t xdr_gfx_getsnap_name_uuid_rsp ();
extern bool_t xdr_gfs3_locklist ();
extern bool_t xdr_gfx_getactivelk_rsp ();
extern bool_t xdr_gfx_getactivelk_req ();
extern bool_t xdr_gfx_setactivelk_req ();
extern bool_t xdr_gfs3_recall_lease_req ();
extern bool_t xdr_gfs4_inodelk_contention_req ();
extern bool_t xdr_gfs4_entrylk_contention_req ();
extern bool_t xdr_gf_getspec_req ();
extern bool_t xdr_gf_getspec_rsp ();
extern bool_t xdr_gf_get_volume_info_req ();
extern bool_t xdr_gf_get_volume_info_rsp ();
extern bool_t xdr_gf_mgmt_hndsk_req ();
extern bool_t xdr_gf_mgmt_hndsk_rsp ();
extern bool_t xdr_gf_log_req ();
extern bool_t xdr_gf_notify_req ();
extern bool_t xdr_gf_notify_rsp ();
extern bool_t xdr_gf_event_notify_req ();
extern bool_t xdr_gf_event_notify_rsp ();
extern bool_t xdr_gf_setvolume_req ();
extern bool_t xdr_gf_setvolume_rsp ();
extern bool_t xdr_gf_set_lk_ver_rsp ();
extern bool_t xdr_gf_set_lk_ver_req ();
extern bool_t xdr_gf_getsnap_name_uuid_req ();
extern bool_t xdr_gf_getsnap_name_uuid_rsp ();
extern bool_t xdr_gfs3_lookup_req ();
extern bool_t xdr_gfs3_lookup_rsp ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_GLUSTERFS4_XDR_H_RPCGEN */
