508bc4e3a23c0c39081c4d601e777f6592fce1d0
[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 struct guestfs_aug_ls_args {
290         char *path;
291 };
292 typedef struct guestfs_aug_ls_args guestfs_aug_ls_args;
293
294 struct guestfs_aug_ls_ret {
295         struct {
296                 u_int matches_len;
297                 str *matches_val;
298         } matches;
299 };
300 typedef struct guestfs_aug_ls_ret guestfs_aug_ls_ret;
301
302 struct guestfs_rm_args {
303         char *path;
304 };
305 typedef struct guestfs_rm_args guestfs_rm_args;
306
307 struct guestfs_rmdir_args {
308         char *path;
309 };
310 typedef struct guestfs_rmdir_args guestfs_rmdir_args;
311
312 struct guestfs_rm_rf_args {
313         char *path;
314 };
315 typedef struct guestfs_rm_rf_args guestfs_rm_rf_args;
316
317 struct guestfs_mkdir_args {
318         char *path;
319 };
320 typedef struct guestfs_mkdir_args guestfs_mkdir_args;
321
322 struct guestfs_mkdir_p_args {
323         char *path;
324 };
325 typedef struct guestfs_mkdir_p_args guestfs_mkdir_p_args;
326
327 struct guestfs_chmod_args {
328         int mode;
329         char *path;
330 };
331 typedef struct guestfs_chmod_args guestfs_chmod_args;
332
333 struct guestfs_chown_args {
334         int owner;
335         int group;
336         char *path;
337 };
338 typedef struct guestfs_chown_args guestfs_chown_args;
339
340 enum guestfs_procedure {
341         GUESTFS_PROC_MOUNT = 1,
342         GUESTFS_PROC_SYNC = 2,
343         GUESTFS_PROC_TOUCH = 3,
344         GUESTFS_PROC_CAT = 4,
345         GUESTFS_PROC_LL = 5,
346         GUESTFS_PROC_LS = 6,
347         GUESTFS_PROC_LIST_DEVICES = 7,
348         GUESTFS_PROC_LIST_PARTITIONS = 8,
349         GUESTFS_PROC_PVS = 9,
350         GUESTFS_PROC_VGS = 10,
351         GUESTFS_PROC_LVS = 11,
352         GUESTFS_PROC_PVS_FULL = 12,
353         GUESTFS_PROC_VGS_FULL = 13,
354         GUESTFS_PROC_LVS_FULL = 14,
355         GUESTFS_PROC_READ_LINES = 15,
356         GUESTFS_PROC_AUG_INIT = 16,
357         GUESTFS_PROC_AUG_CLOSE = 26,
358         GUESTFS_PROC_AUG_DEFVAR = 17,
359         GUESTFS_PROC_AUG_DEFNODE = 18,
360         GUESTFS_PROC_AUG_GET = 19,
361         GUESTFS_PROC_AUG_SET = 20,
362         GUESTFS_PROC_AUG_INSERT = 21,
363         GUESTFS_PROC_AUG_RM = 22,
364         GUESTFS_PROC_AUG_MV = 23,
365         GUESTFS_PROC_AUG_MATCH = 24,
366         GUESTFS_PROC_AUG_SAVE = 25,
367         GUESTFS_PROC_AUG_LOAD = 27,
368         GUESTFS_PROC_AUG_LS = 28,
369         GUESTFS_PROC_RM = 29,
370         GUESTFS_PROC_RMDIR = 30,
371         GUESTFS_PROC_RM_RF = 31,
372         GUESTFS_PROC_MKDIR = 32,
373         GUESTFS_PROC_MKDIR_P = 33,
374         GUESTFS_PROC_CHMOD = 34,
375         GUESTFS_PROC_CHOWN = 35,
376         GUESTFS_PROC_dummy = 35 + 1,
377 };
378 typedef enum guestfs_procedure guestfs_procedure;
379 #define GUESTFS_MESSAGE_MAX 4194304
380 #define GUESTFS_PROGRAM 0x2000F5F5
381 #define GUESTFS_PROTOCOL_VERSION 1
382
383 enum guestfs_message_direction {
384         GUESTFS_DIRECTION_CALL = 0,
385         GUESTFS_DIRECTION_REPLY = 1,
386 };
387 typedef enum guestfs_message_direction guestfs_message_direction;
388
389 enum guestfs_message_status {
390         GUESTFS_STATUS_OK = 0,
391         GUESTFS_STATUS_ERROR = 1,
392 };
393 typedef enum guestfs_message_status guestfs_message_status;
394 #define GUESTFS_ERROR_LEN 256
395
396 struct guestfs_message_error {
397         char *error;
398 };
399 typedef struct guestfs_message_error guestfs_message_error;
400
401 struct guestfs_message_header {
402         u_int prog;
403         u_int vers;
404         guestfs_procedure proc;
405         guestfs_message_direction direction;
406         u_int serial;
407         guestfs_message_status status;
408 };
409 typedef struct guestfs_message_header guestfs_message_header;
410
411 /* the xdr functions */
412
413 #if defined(__STDC__) || defined(__cplusplus)
414 extern  bool_t xdr_str (XDR *, str*);
415 extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
416 extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
417 extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
418 extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
419 extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
420 extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
421 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
422 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
423 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
424 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
425 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
426 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
427 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
428 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
429 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
430 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
431 extern  bool_t xdr_guestfs_pvs_ret (XDR *, guestfs_pvs_ret*);
432 extern  bool_t xdr_guestfs_vgs_ret (XDR *, guestfs_vgs_ret*);
433 extern  bool_t xdr_guestfs_lvs_ret (XDR *, guestfs_lvs_ret*);
434 extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
435 extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
436 extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
437 extern  bool_t xdr_guestfs_read_lines_args (XDR *, guestfs_read_lines_args*);
438 extern  bool_t xdr_guestfs_read_lines_ret (XDR *, guestfs_read_lines_ret*);
439 extern  bool_t xdr_guestfs_aug_init_args (XDR *, guestfs_aug_init_args*);
440 extern  bool_t xdr_guestfs_aug_defvar_args (XDR *, guestfs_aug_defvar_args*);
441 extern  bool_t xdr_guestfs_aug_defvar_ret (XDR *, guestfs_aug_defvar_ret*);
442 extern  bool_t xdr_guestfs_aug_defnode_args (XDR *, guestfs_aug_defnode_args*);
443 extern  bool_t xdr_guestfs_aug_defnode_ret (XDR *, guestfs_aug_defnode_ret*);
444 extern  bool_t xdr_guestfs_aug_get_args (XDR *, guestfs_aug_get_args*);
445 extern  bool_t xdr_guestfs_aug_get_ret (XDR *, guestfs_aug_get_ret*);
446 extern  bool_t xdr_guestfs_aug_set_args (XDR *, guestfs_aug_set_args*);
447 extern  bool_t xdr_guestfs_aug_insert_args (XDR *, guestfs_aug_insert_args*);
448 extern  bool_t xdr_guestfs_aug_rm_args (XDR *, guestfs_aug_rm_args*);
449 extern  bool_t xdr_guestfs_aug_rm_ret (XDR *, guestfs_aug_rm_ret*);
450 extern  bool_t xdr_guestfs_aug_mv_args (XDR *, guestfs_aug_mv_args*);
451 extern  bool_t xdr_guestfs_aug_match_args (XDR *, guestfs_aug_match_args*);
452 extern  bool_t xdr_guestfs_aug_match_ret (XDR *, guestfs_aug_match_ret*);
453 extern  bool_t xdr_guestfs_aug_ls_args (XDR *, guestfs_aug_ls_args*);
454 extern  bool_t xdr_guestfs_aug_ls_ret (XDR *, guestfs_aug_ls_ret*);
455 extern  bool_t xdr_guestfs_rm_args (XDR *, guestfs_rm_args*);
456 extern  bool_t xdr_guestfs_rmdir_args (XDR *, guestfs_rmdir_args*);
457 extern  bool_t xdr_guestfs_rm_rf_args (XDR *, guestfs_rm_rf_args*);
458 extern  bool_t xdr_guestfs_mkdir_args (XDR *, guestfs_mkdir_args*);
459 extern  bool_t xdr_guestfs_mkdir_p_args (XDR *, guestfs_mkdir_p_args*);
460 extern  bool_t xdr_guestfs_chmod_args (XDR *, guestfs_chmod_args*);
461 extern  bool_t xdr_guestfs_chown_args (XDR *, guestfs_chown_args*);
462 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
463 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
464 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
465 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
466 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
467
468 #else /* K&R C */
469 extern bool_t xdr_str ();
470 extern bool_t xdr_guestfs_lvm_int_pv ();
471 extern bool_t xdr_guestfs_lvm_int_pv_list ();
472 extern bool_t xdr_guestfs_lvm_int_vg ();
473 extern bool_t xdr_guestfs_lvm_int_vg_list ();
474 extern bool_t xdr_guestfs_lvm_int_lv ();
475 extern bool_t xdr_guestfs_lvm_int_lv_list ();
476 extern bool_t xdr_guestfs_mount_args ();
477 extern bool_t xdr_guestfs_touch_args ();
478 extern bool_t xdr_guestfs_cat_args ();
479 extern bool_t xdr_guestfs_cat_ret ();
480 extern bool_t xdr_guestfs_ll_args ();
481 extern bool_t xdr_guestfs_ll_ret ();
482 extern bool_t xdr_guestfs_ls_args ();
483 extern bool_t xdr_guestfs_ls_ret ();
484 extern bool_t xdr_guestfs_list_devices_ret ();
485 extern bool_t xdr_guestfs_list_partitions_ret ();
486 extern bool_t xdr_guestfs_pvs_ret ();
487 extern bool_t xdr_guestfs_vgs_ret ();
488 extern bool_t xdr_guestfs_lvs_ret ();
489 extern bool_t xdr_guestfs_pvs_full_ret ();
490 extern bool_t xdr_guestfs_vgs_full_ret ();
491 extern bool_t xdr_guestfs_lvs_full_ret ();
492 extern bool_t xdr_guestfs_read_lines_args ();
493 extern bool_t xdr_guestfs_read_lines_ret ();
494 extern bool_t xdr_guestfs_aug_init_args ();
495 extern bool_t xdr_guestfs_aug_defvar_args ();
496 extern bool_t xdr_guestfs_aug_defvar_ret ();
497 extern bool_t xdr_guestfs_aug_defnode_args ();
498 extern bool_t xdr_guestfs_aug_defnode_ret ();
499 extern bool_t xdr_guestfs_aug_get_args ();
500 extern bool_t xdr_guestfs_aug_get_ret ();
501 extern bool_t xdr_guestfs_aug_set_args ();
502 extern bool_t xdr_guestfs_aug_insert_args ();
503 extern bool_t xdr_guestfs_aug_rm_args ();
504 extern bool_t xdr_guestfs_aug_rm_ret ();
505 extern bool_t xdr_guestfs_aug_mv_args ();
506 extern bool_t xdr_guestfs_aug_match_args ();
507 extern bool_t xdr_guestfs_aug_match_ret ();
508 extern bool_t xdr_guestfs_aug_ls_args ();
509 extern bool_t xdr_guestfs_aug_ls_ret ();
510 extern bool_t xdr_guestfs_rm_args ();
511 extern bool_t xdr_guestfs_rmdir_args ();
512 extern bool_t xdr_guestfs_rm_rf_args ();
513 extern bool_t xdr_guestfs_mkdir_args ();
514 extern bool_t xdr_guestfs_mkdir_p_args ();
515 extern bool_t xdr_guestfs_chmod_args ();
516 extern bool_t xdr_guestfs_chown_args ();
517 extern bool_t xdr_guestfs_procedure ();
518 extern bool_t xdr_guestfs_message_direction ();
519 extern bool_t xdr_guestfs_message_status ();
520 extern bool_t xdr_guestfs_message_error ();
521 extern bool_t xdr_guestfs_message_header ();
522
523 #endif /* K&R C */
524
525 #ifdef __cplusplus
526 }
527 #endif
528
529 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */