94129864ccb748c31f5afd1807bce7fd1fb4a54a
[libguestfs.git] / src / guestfs_protocol.h
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #ifndef _GUESTFS_PROTOCOL_H_RPCGEN
7 #define _GUESTFS_PROTOCOL_H_RPCGEN
8
9 #include <rpc/rpc.h>
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16
17 typedef char *str;
18
19 struct guestfs_lvm_int_pv {
20         char *pv_name;
21         char pv_uuid[32];
22         char *pv_fmt;
23         quad_t pv_size;
24         quad_t dev_size;
25         quad_t pv_free;
26         quad_t pv_used;
27         char *pv_attr;
28         quad_t pv_pe_count;
29         quad_t pv_pe_alloc_count;
30         char *pv_tags;
31         quad_t pe_start;
32         quad_t pv_mda_count;
33         quad_t pv_mda_free;
34 };
35 typedef struct guestfs_lvm_int_pv guestfs_lvm_int_pv;
36
37 typedef struct {
38         u_int guestfs_lvm_int_pv_list_len;
39         guestfs_lvm_int_pv *guestfs_lvm_int_pv_list_val;
40 } guestfs_lvm_int_pv_list;
41
42 struct guestfs_lvm_int_vg {
43         char *vg_name;
44         char vg_uuid[32];
45         char *vg_fmt;
46         char *vg_attr;
47         quad_t vg_size;
48         quad_t vg_free;
49         char *vg_sysid;
50         quad_t vg_extent_size;
51         quad_t vg_extent_count;
52         quad_t vg_free_count;
53         quad_t max_lv;
54         quad_t max_pv;
55         quad_t pv_count;
56         quad_t lv_count;
57         quad_t snap_count;
58         quad_t vg_seqno;
59         char *vg_tags;
60         quad_t vg_mda_count;
61         quad_t vg_mda_free;
62 };
63 typedef struct guestfs_lvm_int_vg guestfs_lvm_int_vg;
64
65 typedef struct {
66         u_int guestfs_lvm_int_vg_list_len;
67         guestfs_lvm_int_vg *guestfs_lvm_int_vg_list_val;
68 } guestfs_lvm_int_vg_list;
69
70 struct guestfs_lvm_int_lv {
71         char *lv_name;
72         char lv_uuid[32];
73         char *lv_attr;
74         quad_t lv_major;
75         quad_t lv_minor;
76         quad_t lv_kernel_major;
77         quad_t lv_kernel_minor;
78         quad_t lv_size;
79         quad_t seg_count;
80         char *origin;
81         float snap_percent;
82         float copy_percent;
83         char *move_pv;
84         char *lv_tags;
85         char *mirror_log;
86         char *modules;
87 };
88 typedef struct guestfs_lvm_int_lv guestfs_lvm_int_lv;
89
90 typedef struct {
91         u_int guestfs_lvm_int_lv_list_len;
92         guestfs_lvm_int_lv *guestfs_lvm_int_lv_list_val;
93 } guestfs_lvm_int_lv_list;
94
95 struct guestfs_mount_args {
96         char *device;
97         char *mountpoint;
98 };
99 typedef struct guestfs_mount_args guestfs_mount_args;
100
101 struct guestfs_touch_args {
102         char *path;
103 };
104 typedef struct guestfs_touch_args guestfs_touch_args;
105
106 struct guestfs_cat_args {
107         char *path;
108 };
109 typedef struct guestfs_cat_args guestfs_cat_args;
110
111 struct guestfs_cat_ret {
112         char *content;
113 };
114 typedef struct guestfs_cat_ret guestfs_cat_ret;
115
116 struct guestfs_ll_args {
117         char *directory;
118 };
119 typedef struct guestfs_ll_args guestfs_ll_args;
120
121 struct guestfs_ll_ret {
122         char *listing;
123 };
124 typedef struct guestfs_ll_ret guestfs_ll_ret;
125
126 struct guestfs_ls_args {
127         char *directory;
128 };
129 typedef struct guestfs_ls_args guestfs_ls_args;
130
131 struct guestfs_ls_ret {
132         struct {
133                 u_int listing_len;
134                 str *listing_val;
135         } listing;
136 };
137 typedef struct guestfs_ls_ret guestfs_ls_ret;
138
139 struct guestfs_list_devices_ret {
140         struct {
141                 u_int devices_len;
142                 str *devices_val;
143         } devices;
144 };
145 typedef struct guestfs_list_devices_ret guestfs_list_devices_ret;
146
147 struct guestfs_list_partitions_ret {
148         struct {
149                 u_int partitions_len;
150                 str *partitions_val;
151         } partitions;
152 };
153 typedef struct guestfs_list_partitions_ret guestfs_list_partitions_ret;
154
155 struct guestfs_pvs_ret {
156         struct {
157                 u_int physvols_len;
158                 str *physvols_val;
159         } physvols;
160 };
161 typedef struct guestfs_pvs_ret guestfs_pvs_ret;
162
163 struct guestfs_vgs_ret {
164         struct {
165                 u_int volgroups_len;
166                 str *volgroups_val;
167         } volgroups;
168 };
169 typedef struct guestfs_vgs_ret guestfs_vgs_ret;
170
171 struct guestfs_lvs_ret {
172         struct {
173                 u_int logvols_len;
174                 str *logvols_val;
175         } logvols;
176 };
177 typedef struct guestfs_lvs_ret guestfs_lvs_ret;
178
179 struct guestfs_pvs_full_ret {
180         guestfs_lvm_int_pv_list physvols;
181 };
182 typedef struct guestfs_pvs_full_ret guestfs_pvs_full_ret;
183
184 struct guestfs_vgs_full_ret {
185         guestfs_lvm_int_vg_list volgroups;
186 };
187 typedef struct guestfs_vgs_full_ret guestfs_vgs_full_ret;
188
189 struct guestfs_lvs_full_ret {
190         guestfs_lvm_int_lv_list logvols;
191 };
192 typedef struct guestfs_lvs_full_ret guestfs_lvs_full_ret;
193
194 struct guestfs_read_lines_args {
195         char *path;
196 };
197 typedef struct guestfs_read_lines_args guestfs_read_lines_args;
198
199 struct guestfs_read_lines_ret {
200         struct {
201                 u_int lines_len;
202                 str *lines_val;
203         } lines;
204 };
205 typedef struct guestfs_read_lines_ret guestfs_read_lines_ret;
206
207 struct guestfs_aug_init_args {
208         char *root;
209         int flags;
210 };
211 typedef struct guestfs_aug_init_args guestfs_aug_init_args;
212
213 struct guestfs_aug_defvar_args {
214         char *name;
215         str *expr;
216 };
217 typedef struct guestfs_aug_defvar_args guestfs_aug_defvar_args;
218
219 struct guestfs_aug_defvar_ret {
220         int nrnodes;
221 };
222 typedef struct guestfs_aug_defvar_ret guestfs_aug_defvar_ret;
223
224 struct guestfs_aug_defnode_args {
225         char *name;
226         char *expr;
227         char *val;
228 };
229 typedef struct guestfs_aug_defnode_args guestfs_aug_defnode_args;
230
231 struct guestfs_aug_defnode_ret {
232         int nrnodes;
233         bool_t created;
234 };
235 typedef struct guestfs_aug_defnode_ret guestfs_aug_defnode_ret;
236
237 struct guestfs_aug_get_args {
238         char *path;
239 };
240 typedef struct guestfs_aug_get_args guestfs_aug_get_args;
241
242 struct guestfs_aug_get_ret {
243         char *val;
244 };
245 typedef struct guestfs_aug_get_ret guestfs_aug_get_ret;
246
247 struct guestfs_aug_set_args {
248         char *path;
249         char *val;
250 };
251 typedef struct guestfs_aug_set_args guestfs_aug_set_args;
252
253 struct guestfs_aug_insert_args {
254         char *path;
255         char *label;
256         bool_t before;
257 };
258 typedef struct guestfs_aug_insert_args guestfs_aug_insert_args;
259
260 struct guestfs_aug_rm_args {
261         char *path;
262 };
263 typedef struct guestfs_aug_rm_args guestfs_aug_rm_args;
264
265 struct guestfs_aug_rm_ret {
266         int nrnodes;
267 };
268 typedef struct guestfs_aug_rm_ret guestfs_aug_rm_ret;
269
270 struct guestfs_aug_mv_args {
271         char *src;
272         char *dest;
273 };
274 typedef struct guestfs_aug_mv_args guestfs_aug_mv_args;
275
276 struct guestfs_aug_match_args {
277         char *path;
278 };
279 typedef struct guestfs_aug_match_args guestfs_aug_match_args;
280
281 struct guestfs_aug_match_ret {
282         struct {
283                 u_int matches_len;
284                 str *matches_val;
285         } matches;
286 };
287 typedef struct guestfs_aug_match_ret guestfs_aug_match_ret;
288
289 enum guestfs_procedure {
290         GUESTFS_PROC_MOUNT = 1,
291         GUESTFS_PROC_SYNC = 2,
292         GUESTFS_PROC_TOUCH = 3,
293         GUESTFS_PROC_CAT = 4,
294         GUESTFS_PROC_LL = 5,
295         GUESTFS_PROC_LS = 6,
296         GUESTFS_PROC_LIST_DEVICES = 7,
297         GUESTFS_PROC_LIST_PARTITIONS = 8,
298         GUESTFS_PROC_PVS = 9,
299         GUESTFS_PROC_VGS = 10,
300         GUESTFS_PROC_LVS = 11,
301         GUESTFS_PROC_PVS_FULL = 12,
302         GUESTFS_PROC_VGS_FULL = 13,
303         GUESTFS_PROC_LVS_FULL = 14,
304         GUESTFS_PROC_READ_LINES = 15,
305         GUESTFS_PROC_AUG_INIT = 16,
306         GUESTFS_PROC_AUG_CLOSE = 26,
307         GUESTFS_PROC_AUG_DEFVAR = 17,
308         GUESTFS_PROC_AUG_DEFNODE = 18,
309         GUESTFS_PROC_AUG_GET = 19,
310         GUESTFS_PROC_AUG_SET = 20,
311         GUESTFS_PROC_AUG_INSERT = 21,
312         GUESTFS_PROC_AUG_RM = 22,
313         GUESTFS_PROC_AUG_MV = 23,
314         GUESTFS_PROC_AUG_MATCH = 24,
315         GUESTFS_PROC_AUG_SAVE = 25,
316         GUESTFS_PROC_AUG_LOAD = 27,
317         GUESTFS_PROC_dummy = 27 + 1,
318 };
319 typedef enum guestfs_procedure guestfs_procedure;
320 #define GUESTFS_MESSAGE_MAX 4194304
321 #define GUESTFS_PROGRAM 0x2000F5F5
322 #define GUESTFS_PROTOCOL_VERSION 1
323
324 enum guestfs_message_direction {
325         GUESTFS_DIRECTION_CALL = 0,
326         GUESTFS_DIRECTION_REPLY = 1,
327 };
328 typedef enum guestfs_message_direction guestfs_message_direction;
329
330 enum guestfs_message_status {
331         GUESTFS_STATUS_OK = 0,
332         GUESTFS_STATUS_ERROR = 1,
333 };
334 typedef enum guestfs_message_status guestfs_message_status;
335 #define GUESTFS_ERROR_LEN 256
336
337 struct guestfs_message_error {
338         char *error;
339 };
340 typedef struct guestfs_message_error guestfs_message_error;
341
342 struct guestfs_message_header {
343         u_int prog;
344         u_int vers;
345         guestfs_procedure proc;
346         guestfs_message_direction direction;
347         u_int serial;
348         guestfs_message_status status;
349 };
350 typedef struct guestfs_message_header guestfs_message_header;
351
352 /* the xdr functions */
353
354 #if defined(__STDC__) || defined(__cplusplus)
355 extern  bool_t xdr_str (XDR *, str*);
356 extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
357 extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
358 extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
359 extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
360 extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
361 extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
362 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
363 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
364 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
365 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
366 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
367 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
368 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
369 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
370 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
371 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
372 extern  bool_t xdr_guestfs_pvs_ret (XDR *, guestfs_pvs_ret*);
373 extern  bool_t xdr_guestfs_vgs_ret (XDR *, guestfs_vgs_ret*);
374 extern  bool_t xdr_guestfs_lvs_ret (XDR *, guestfs_lvs_ret*);
375 extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
376 extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
377 extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
378 extern  bool_t xdr_guestfs_read_lines_args (XDR *, guestfs_read_lines_args*);
379 extern  bool_t xdr_guestfs_read_lines_ret (XDR *, guestfs_read_lines_ret*);
380 extern  bool_t xdr_guestfs_aug_init_args (XDR *, guestfs_aug_init_args*);
381 extern  bool_t xdr_guestfs_aug_defvar_args (XDR *, guestfs_aug_defvar_args*);
382 extern  bool_t xdr_guestfs_aug_defvar_ret (XDR *, guestfs_aug_defvar_ret*);
383 extern  bool_t xdr_guestfs_aug_defnode_args (XDR *, guestfs_aug_defnode_args*);
384 extern  bool_t xdr_guestfs_aug_defnode_ret (XDR *, guestfs_aug_defnode_ret*);
385 extern  bool_t xdr_guestfs_aug_get_args (XDR *, guestfs_aug_get_args*);
386 extern  bool_t xdr_guestfs_aug_get_ret (XDR *, guestfs_aug_get_ret*);
387 extern  bool_t xdr_guestfs_aug_set_args (XDR *, guestfs_aug_set_args*);
388 extern  bool_t xdr_guestfs_aug_insert_args (XDR *, guestfs_aug_insert_args*);
389 extern  bool_t xdr_guestfs_aug_rm_args (XDR *, guestfs_aug_rm_args*);
390 extern  bool_t xdr_guestfs_aug_rm_ret (XDR *, guestfs_aug_rm_ret*);
391 extern  bool_t xdr_guestfs_aug_mv_args (XDR *, guestfs_aug_mv_args*);
392 extern  bool_t xdr_guestfs_aug_match_args (XDR *, guestfs_aug_match_args*);
393 extern  bool_t xdr_guestfs_aug_match_ret (XDR *, guestfs_aug_match_ret*);
394 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
395 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
396 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
397 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
398 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
399
400 #else /* K&R C */
401 extern bool_t xdr_str ();
402 extern bool_t xdr_guestfs_lvm_int_pv ();
403 extern bool_t xdr_guestfs_lvm_int_pv_list ();
404 extern bool_t xdr_guestfs_lvm_int_vg ();
405 extern bool_t xdr_guestfs_lvm_int_vg_list ();
406 extern bool_t xdr_guestfs_lvm_int_lv ();
407 extern bool_t xdr_guestfs_lvm_int_lv_list ();
408 extern bool_t xdr_guestfs_mount_args ();
409 extern bool_t xdr_guestfs_touch_args ();
410 extern bool_t xdr_guestfs_cat_args ();
411 extern bool_t xdr_guestfs_cat_ret ();
412 extern bool_t xdr_guestfs_ll_args ();
413 extern bool_t xdr_guestfs_ll_ret ();
414 extern bool_t xdr_guestfs_ls_args ();
415 extern bool_t xdr_guestfs_ls_ret ();
416 extern bool_t xdr_guestfs_list_devices_ret ();
417 extern bool_t xdr_guestfs_list_partitions_ret ();
418 extern bool_t xdr_guestfs_pvs_ret ();
419 extern bool_t xdr_guestfs_vgs_ret ();
420 extern bool_t xdr_guestfs_lvs_ret ();
421 extern bool_t xdr_guestfs_pvs_full_ret ();
422 extern bool_t xdr_guestfs_vgs_full_ret ();
423 extern bool_t xdr_guestfs_lvs_full_ret ();
424 extern bool_t xdr_guestfs_read_lines_args ();
425 extern bool_t xdr_guestfs_read_lines_ret ();
426 extern bool_t xdr_guestfs_aug_init_args ();
427 extern bool_t xdr_guestfs_aug_defvar_args ();
428 extern bool_t xdr_guestfs_aug_defvar_ret ();
429 extern bool_t xdr_guestfs_aug_defnode_args ();
430 extern bool_t xdr_guestfs_aug_defnode_ret ();
431 extern bool_t xdr_guestfs_aug_get_args ();
432 extern bool_t xdr_guestfs_aug_get_ret ();
433 extern bool_t xdr_guestfs_aug_set_args ();
434 extern bool_t xdr_guestfs_aug_insert_args ();
435 extern bool_t xdr_guestfs_aug_rm_args ();
436 extern bool_t xdr_guestfs_aug_rm_ret ();
437 extern bool_t xdr_guestfs_aug_mv_args ();
438 extern bool_t xdr_guestfs_aug_match_args ();
439 extern bool_t xdr_guestfs_aug_match_ret ();
440 extern bool_t xdr_guestfs_procedure ();
441 extern bool_t xdr_guestfs_message_direction ();
442 extern bool_t xdr_guestfs_message_status ();
443 extern bool_t xdr_guestfs_message_error ();
444 extern bool_t xdr_guestfs_message_header ();
445
446 #endif /* K&R C */
447
448 #ifdef __cplusplus
449 }
450 #endif
451
452 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */