summaryrefslogtreecommitdiffstats
path: root/src/guestfs_protocol.h
blob: 55faa85e1ea3b46f3fdc2401e7c7ddf4f1e17196 (plain)
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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _GUESTFS_PROTOCOL_H_RPCGEN
#define _GUESTFS_PROTOCOL_H_RPCGEN

#include <rpc/rpc.h>


#ifdef __cplusplus
extern "C" {
#endif


typedef char *str;

struct guestfs_lvm_int_pv {
	char *pv_name;
	char pv_uuid[32];
	char *pv_fmt;
	quad_t pv_size;
	quad_t dev_size;
	quad_t pv_free;
	quad_t pv_used;
	char *pv_attr;
	quad_t pv_pe_count;
	quad_t pv_pe_alloc_count;
	char *pv_tags;
	quad_t pe_start;
	quad_t pv_mda_count;
	quad_t pv_mda_free;
};
typedef struct guestfs_lvm_int_pv guestfs_lvm_int_pv;

typedef struct {
	u_int guestfs_lvm_int_pv_list_len;
	guestfs_lvm_int_pv *guestfs_lvm_int_pv_list_val;
} guestfs_lvm_int_pv_list;

struct guestfs_lvm_int_vg {
	char *vg_name;
	char vg_uuid[32];
	char *vg_fmt;
	char *vg_attr;
	quad_t vg_size;
	quad_t vg_free;
	char *vg_sysid;
	quad_t vg_extent_size;
	quad_t vg_extent_count;
	quad_t vg_free_count;
	quad_t max_lv;
	quad_t max_pv;
	quad_t pv_count;
	quad_t lv_count;
	quad_t snap_count;
	quad_t vg_seqno;
	char *vg_tags;
	quad_t vg_mda_count;
	quad_t vg_mda_free;
};
typedef struct guestfs_lvm_int_vg guestfs_lvm_int_vg;

typedef struct {
	u_int guestfs_lvm_int_vg_list_len;
	guestfs_lvm_int_vg *guestfs_lvm_int_vg_list_val;
} guestfs_lvm_int_vg_list;

struct guestfs_lvm_int_lv {
	char *lv_name;
	char lv_uuid[32];
	char *lv_attr;
	quad_t lv_major;
	quad_t lv_minor;
	quad_t lv_kernel_major;
	quad_t lv_kernel_minor;
	quad_t lv_size;
	quad_t seg_count;
	char *origin;
	float snap_percent;
	float copy_percent;
	char *move_pv;
	char *lv_tags;
	char *mirror_log;
	char *modules;
};
typedef struct guestfs_lvm_int_lv guestfs_lvm_int_lv;

typedef struct {
	u_int guestfs_lvm_int_lv_list_len;
	guestfs_lvm_int_lv *guestfs_lvm_int_lv_list_val;
} guestfs_lvm_int_lv_list;

struct guestfs_mount_args {
	char *device;
	char *mountpoint;
};
typedef struct guestfs_mount_args guestfs_mount_args;

struct guestfs_touch_args {
	char *path;
};
typedef struct guestfs_touch_args guestfs_touch_args;

struct guestfs_cat_args {
	char *path;
};
typedef struct guestfs_cat_args guestfs_cat_args;

struct guestfs_cat_ret {
	char *content;
};
typedef struct guestfs_cat_ret guestfs_cat_ret;

struct guestfs_ll_args {
	char *directory;
};
typedef struct guestfs_ll_args guestfs_ll_args;

struct guestfs_ll_ret {
	char *listing;
};
typedef struct guestfs_ll_ret guestfs_ll_ret;

struct guestfs_ls_args {
	char *directory;
};
typedef struct guestfs_ls_args guestfs_ls_args;

struct guestfs_ls_ret {
	struct {
		u_int listing_len;
		str *listing_val;
	} listing;
};
typedef struct guestfs_ls_ret guestfs_ls_ret;

struct guestfs_list_devices_ret {
	struct {
		u_int devices_len;
		str *devices_val;
	} devices;
};
typedef struct guestfs_list_devices_ret guestfs_list_devices_ret;

struct guestfs_list_partitions_ret {
	struct {
		u_int partitions_len;
		str *partitions_val;
	} partitions;
};
typedef struct guestfs_list_partitions_ret guestfs_list_partitions_ret;

struct guestfs_pvs_full_ret {
	guestfs_lvm_int_pv_list physvols;
};
typedef struct guestfs_pvs_full_ret guestfs_pvs_full_ret;

struct guestfs_vgs_full_ret {
	guestfs_lvm_int_vg_list volgroups;
};
typedef struct guestfs_vgs_full_ret guestfs_vgs_full_ret;

struct guestfs_lvs_full_ret {
	guestfs_lvm_int_lv_list logvols;
};
typedef struct guestfs_lvs_full_ret guestfs_lvs_full_ret;

enum guestfs_procedure {
	GUESTFS_PROC_MOUNT = 1,
	GUESTFS_PROC_SYNC = 2,
	GUESTFS_PROC_TOUCH = 3,
	GUESTFS_PROC_CAT = 4,
	GUESTFS_PROC_LL = 5,
	GUESTFS_PROC_LS = 6,
	GUESTFS_PROC_LIST_DEVICES = 7,
	GUESTFS_PROC_LIST_PARTITIONS = 8,
	GUESTFS_PROC_PVS_FULL = 12,
	GUESTFS_PROC_VGS_FULL = 13,
	GUESTFS_PROC_LVS_FULL = 14,
	GUESTFS_PROC_dummy = 14 + 1,
};
typedef enum guestfs_procedure guestfs_procedure;
#define GUESTFS_MESSAGE_MAX 4194304
#define GUESTFS_PROGRAM 0x2000F5F5
#define GUESTFS_PROTOCOL_VERSION 1

enum guestfs_message_direction {
	GUESTFS_DIRECTION_CALL = 0,
	GUESTFS_DIRECTION_REPLY = 1,
};
typedef enum guestfs_message_direction guestfs_message_direction;

enum guestfs_message_status {
	GUESTFS_STATUS_OK = 0,
	GUESTFS_STATUS_ERROR = 1,
};
typedef enum guestfs_message_status guestfs_message_status;
#define GUESTFS_ERROR_LEN 256

struct guestfs_message_error {
	char *error;
};
typedef struct guestfs_message_error guestfs_message_error;

struct guestfs_message_header {
	u_int prog;
	u_int vers;
	guestfs_procedure proc;
	guestfs_message_direction direction;
	u_int serial;
	guestfs_message_status status;
};
typedef struct guestfs_message_header guestfs_message_header;

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_str (XDR *, str*);
extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);

#else /* K&R C */
extern bool_t xdr_str ();
extern bool_t xdr_guestfs_lvm_int_pv ();
extern bool_t xdr_guestfs_lvm_int_pv_list ();
extern bool_t xdr_guestfs_lvm_int_vg ();
extern bool_t xdr_guestfs_lvm_int_vg_list ();
extern bool_t xdr_guestfs_lvm_int_lv ();
extern bool_t xdr_guestfs_lvm_int_lv_list ();
extern bool_t xdr_guestfs_mount_args ();
extern bool_t xdr_guestfs_touch_args ();
extern bool_t xdr_guestfs_cat_args ();
extern bool_t xdr_guestfs_cat_ret ();
extern bool_t xdr_guestfs_ll_args ();
extern bool_t xdr_guestfs_ll_ret ();
extern bool_t xdr_guestfs_ls_args ();
extern bool_t xdr_guestfs_ls_ret ();
extern bool_t xdr_guestfs_list_devices_ret ();
extern bool_t xdr_guestfs_list_partitions_ret ();
extern bool_t xdr_guestfs_pvs_full_ret ();
extern bool_t xdr_guestfs_vgs_full_ret ();
extern bool_t xdr_guestfs_lvs_full_ret ();
extern bool_t xdr_guestfs_procedure ();
extern bool_t xdr_guestfs_message_direction ();
extern bool_t xdr_guestfs_message_status ();
extern bool_t xdr_guestfs_message_error ();
extern bool_t xdr_guestfs_message_header ();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */