Generated code for 'checksum' command.
[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_int_stat {
96         quad_t dev;
97         quad_t ino;
98         quad_t mode;
99         quad_t nlink;
100         quad_t uid;
101         quad_t gid;
102         quad_t rdev;
103         quad_t size;
104         quad_t blksize;
105         quad_t blocks;
106         quad_t atime;
107         quad_t mtime;
108         quad_t ctime;
109 };
110 typedef struct guestfs_int_stat guestfs_int_stat;
111
112 struct guestfs_int_statvfs {
113         quad_t bsize;
114         quad_t frsize;
115         quad_t blocks;
116         quad_t bfree;
117         quad_t bavail;
118         quad_t files;
119         quad_t ffree;
120         quad_t favail;
121         quad_t fsid;
122         quad_t flag;
123         quad_t namemax;
124 };
125 typedef struct guestfs_int_statvfs guestfs_int_statvfs;
126
127 struct guestfs_mount_args {
128         char *device;
129         char *mountpoint;
130 };
131 typedef struct guestfs_mount_args guestfs_mount_args;
132
133 struct guestfs_touch_args {
134         char *path;
135 };
136 typedef struct guestfs_touch_args guestfs_touch_args;
137
138 struct guestfs_cat_args {
139         char *path;
140 };
141 typedef struct guestfs_cat_args guestfs_cat_args;
142
143 struct guestfs_cat_ret {
144         char *content;
145 };
146 typedef struct guestfs_cat_ret guestfs_cat_ret;
147
148 struct guestfs_ll_args {
149         char *directory;
150 };
151 typedef struct guestfs_ll_args guestfs_ll_args;
152
153 struct guestfs_ll_ret {
154         char *listing;
155 };
156 typedef struct guestfs_ll_ret guestfs_ll_ret;
157
158 struct guestfs_ls_args {
159         char *directory;
160 };
161 typedef struct guestfs_ls_args guestfs_ls_args;
162
163 struct guestfs_ls_ret {
164         struct {
165                 u_int listing_len;
166                 str *listing_val;
167         } listing;
168 };
169 typedef struct guestfs_ls_ret guestfs_ls_ret;
170
171 struct guestfs_list_devices_ret {
172         struct {
173                 u_int devices_len;
174                 str *devices_val;
175         } devices;
176 };
177 typedef struct guestfs_list_devices_ret guestfs_list_devices_ret;
178
179 struct guestfs_list_partitions_ret {
180         struct {
181                 u_int partitions_len;
182                 str *partitions_val;
183         } partitions;
184 };
185 typedef struct guestfs_list_partitions_ret guestfs_list_partitions_ret;
186
187 struct guestfs_pvs_ret {
188         struct {
189                 u_int physvols_len;
190                 str *physvols_val;
191         } physvols;
192 };
193 typedef struct guestfs_pvs_ret guestfs_pvs_ret;
194
195 struct guestfs_vgs_ret {
196         struct {
197                 u_int volgroups_len;
198                 str *volgroups_val;
199         } volgroups;
200 };
201 typedef struct guestfs_vgs_ret guestfs_vgs_ret;
202
203 struct guestfs_lvs_ret {
204         struct {
205                 u_int logvols_len;
206                 str *logvols_val;
207         } logvols;
208 };
209 typedef struct guestfs_lvs_ret guestfs_lvs_ret;
210
211 struct guestfs_pvs_full_ret {
212         guestfs_lvm_int_pv_list physvols;
213 };
214 typedef struct guestfs_pvs_full_ret guestfs_pvs_full_ret;
215
216 struct guestfs_vgs_full_ret {
217         guestfs_lvm_int_vg_list volgroups;
218 };
219 typedef struct guestfs_vgs_full_ret guestfs_vgs_full_ret;
220
221 struct guestfs_lvs_full_ret {
222         guestfs_lvm_int_lv_list logvols;
223 };
224 typedef struct guestfs_lvs_full_ret guestfs_lvs_full_ret;
225
226 struct guestfs_read_lines_args {
227         char *path;
228 };
229 typedef struct guestfs_read_lines_args guestfs_read_lines_args;
230
231 struct guestfs_read_lines_ret {
232         struct {
233                 u_int lines_len;
234                 str *lines_val;
235         } lines;
236 };
237 typedef struct guestfs_read_lines_ret guestfs_read_lines_ret;
238
239 struct guestfs_aug_init_args {
240         char *root;
241         int flags;
242 };
243 typedef struct guestfs_aug_init_args guestfs_aug_init_args;
244
245 struct guestfs_aug_defvar_args {
246         char *name;
247         str *expr;
248 };
249 typedef struct guestfs_aug_defvar_args guestfs_aug_defvar_args;
250
251 struct guestfs_aug_defvar_ret {
252         int nrnodes;
253 };
254 typedef struct guestfs_aug_defvar_ret guestfs_aug_defvar_ret;
255
256 struct guestfs_aug_defnode_args {
257         char *name;
258         char *expr;
259         char *val;
260 };
261 typedef struct guestfs_aug_defnode_args guestfs_aug_defnode_args;
262
263 struct guestfs_aug_defnode_ret {
264         int nrnodes;
265         bool_t created;
266 };
267 typedef struct guestfs_aug_defnode_ret guestfs_aug_defnode_ret;
268
269 struct guestfs_aug_get_args {
270         char *path;
271 };
272 typedef struct guestfs_aug_get_args guestfs_aug_get_args;
273
274 struct guestfs_aug_get_ret {
275         char *val;
276 };
277 typedef struct guestfs_aug_get_ret guestfs_aug_get_ret;
278
279 struct guestfs_aug_set_args {
280         char *path;
281         char *val;
282 };
283 typedef struct guestfs_aug_set_args guestfs_aug_set_args;
284
285 struct guestfs_aug_insert_args {
286         char *path;
287         char *label;
288         bool_t before;
289 };
290 typedef struct guestfs_aug_insert_args guestfs_aug_insert_args;
291
292 struct guestfs_aug_rm_args {
293         char *path;
294 };
295 typedef struct guestfs_aug_rm_args guestfs_aug_rm_args;
296
297 struct guestfs_aug_rm_ret {
298         int nrnodes;
299 };
300 typedef struct guestfs_aug_rm_ret guestfs_aug_rm_ret;
301
302 struct guestfs_aug_mv_args {
303         char *src;
304         char *dest;
305 };
306 typedef struct guestfs_aug_mv_args guestfs_aug_mv_args;
307
308 struct guestfs_aug_match_args {
309         char *path;
310 };
311 typedef struct guestfs_aug_match_args guestfs_aug_match_args;
312
313 struct guestfs_aug_match_ret {
314         struct {
315                 u_int matches_len;
316                 str *matches_val;
317         } matches;
318 };
319 typedef struct guestfs_aug_match_ret guestfs_aug_match_ret;
320
321 struct guestfs_aug_ls_args {
322         char *path;
323 };
324 typedef struct guestfs_aug_ls_args guestfs_aug_ls_args;
325
326 struct guestfs_aug_ls_ret {
327         struct {
328                 u_int matches_len;
329                 str *matches_val;
330         } matches;
331 };
332 typedef struct guestfs_aug_ls_ret guestfs_aug_ls_ret;
333
334 struct guestfs_rm_args {
335         char *path;
336 };
337 typedef struct guestfs_rm_args guestfs_rm_args;
338
339 struct guestfs_rmdir_args {
340         char *path;
341 };
342 typedef struct guestfs_rmdir_args guestfs_rmdir_args;
343
344 struct guestfs_rm_rf_args {
345         char *path;
346 };
347 typedef struct guestfs_rm_rf_args guestfs_rm_rf_args;
348
349 struct guestfs_mkdir_args {
350         char *path;
351 };
352 typedef struct guestfs_mkdir_args guestfs_mkdir_args;
353
354 struct guestfs_mkdir_p_args {
355         char *path;
356 };
357 typedef struct guestfs_mkdir_p_args guestfs_mkdir_p_args;
358
359 struct guestfs_chmod_args {
360         int mode;
361         char *path;
362 };
363 typedef struct guestfs_chmod_args guestfs_chmod_args;
364
365 struct guestfs_chown_args {
366         int owner;
367         int group;
368         char *path;
369 };
370 typedef struct guestfs_chown_args guestfs_chown_args;
371
372 struct guestfs_exists_args {
373         char *path;
374 };
375 typedef struct guestfs_exists_args guestfs_exists_args;
376
377 struct guestfs_exists_ret {
378         bool_t existsflag;
379 };
380 typedef struct guestfs_exists_ret guestfs_exists_ret;
381
382 struct guestfs_is_file_args {
383         char *path;
384 };
385 typedef struct guestfs_is_file_args guestfs_is_file_args;
386
387 struct guestfs_is_file_ret {
388         bool_t fileflag;
389 };
390 typedef struct guestfs_is_file_ret guestfs_is_file_ret;
391
392 struct guestfs_is_dir_args {
393         char *path;
394 };
395 typedef struct guestfs_is_dir_args guestfs_is_dir_args;
396
397 struct guestfs_is_dir_ret {
398         bool_t dirflag;
399 };
400 typedef struct guestfs_is_dir_ret guestfs_is_dir_ret;
401
402 struct guestfs_pvcreate_args {
403         char *device;
404 };
405 typedef struct guestfs_pvcreate_args guestfs_pvcreate_args;
406
407 struct guestfs_vgcreate_args {
408         char *volgroup;
409         struct {
410                 u_int physvols_len;
411                 str *physvols_val;
412         } physvols;
413 };
414 typedef struct guestfs_vgcreate_args guestfs_vgcreate_args;
415
416 struct guestfs_lvcreate_args {
417         char *logvol;
418         char *volgroup;
419         int mbytes;
420 };
421 typedef struct guestfs_lvcreate_args guestfs_lvcreate_args;
422
423 struct guestfs_mkfs_args {
424         char *fstype;
425         char *device;
426 };
427 typedef struct guestfs_mkfs_args guestfs_mkfs_args;
428
429 struct guestfs_sfdisk_args {
430         char *device;
431         int cyls;
432         int heads;
433         int sectors;
434         struct {
435                 u_int lines_len;
436                 str *lines_val;
437         } lines;
438 };
439 typedef struct guestfs_sfdisk_args guestfs_sfdisk_args;
440
441 struct guestfs_write_file_args {
442         char *path;
443         char *content;
444         int size;
445 };
446 typedef struct guestfs_write_file_args guestfs_write_file_args;
447
448 struct guestfs_umount_args {
449         char *pathordevice;
450 };
451 typedef struct guestfs_umount_args guestfs_umount_args;
452
453 struct guestfs_mounts_ret {
454         struct {
455                 u_int devices_len;
456                 str *devices_val;
457         } devices;
458 };
459 typedef struct guestfs_mounts_ret guestfs_mounts_ret;
460
461 struct guestfs_file_args {
462         char *path;
463 };
464 typedef struct guestfs_file_args guestfs_file_args;
465
466 struct guestfs_file_ret {
467         char *description;
468 };
469 typedef struct guestfs_file_ret guestfs_file_ret;
470
471 struct guestfs_command_args {
472         struct {
473                 u_int arguments_len;
474                 str *arguments_val;
475         } arguments;
476 };
477 typedef struct guestfs_command_args guestfs_command_args;
478
479 struct guestfs_command_ret {
480         char *output;
481 };
482 typedef struct guestfs_command_ret guestfs_command_ret;
483
484 struct guestfs_command_lines_args {
485         struct {
486                 u_int arguments_len;
487                 str *arguments_val;
488         } arguments;
489 };
490 typedef struct guestfs_command_lines_args guestfs_command_lines_args;
491
492 struct guestfs_command_lines_ret {
493         struct {
494                 u_int lines_len;
495                 str *lines_val;
496         } lines;
497 };
498 typedef struct guestfs_command_lines_ret guestfs_command_lines_ret;
499
500 struct guestfs_stat_args {
501         char *path;
502 };
503 typedef struct guestfs_stat_args guestfs_stat_args;
504
505 struct guestfs_stat_ret {
506         guestfs_int_stat statbuf;
507 };
508 typedef struct guestfs_stat_ret guestfs_stat_ret;
509
510 struct guestfs_lstat_args {
511         char *path;
512 };
513 typedef struct guestfs_lstat_args guestfs_lstat_args;
514
515 struct guestfs_lstat_ret {
516         guestfs_int_stat statbuf;
517 };
518 typedef struct guestfs_lstat_ret guestfs_lstat_ret;
519
520 struct guestfs_statvfs_args {
521         char *path;
522 };
523 typedef struct guestfs_statvfs_args guestfs_statvfs_args;
524
525 struct guestfs_statvfs_ret {
526         guestfs_int_statvfs statbuf;
527 };
528 typedef struct guestfs_statvfs_ret guestfs_statvfs_ret;
529
530 struct guestfs_tune2fs_l_args {
531         char *device;
532 };
533 typedef struct guestfs_tune2fs_l_args guestfs_tune2fs_l_args;
534
535 struct guestfs_tune2fs_l_ret {
536         struct {
537                 u_int superblock_len;
538                 str *superblock_val;
539         } superblock;
540 };
541 typedef struct guestfs_tune2fs_l_ret guestfs_tune2fs_l_ret;
542
543 struct guestfs_blockdev_setro_args {
544         char *device;
545 };
546 typedef struct guestfs_blockdev_setro_args guestfs_blockdev_setro_args;
547
548 struct guestfs_blockdev_setrw_args {
549         char *device;
550 };
551 typedef struct guestfs_blockdev_setrw_args guestfs_blockdev_setrw_args;
552
553 struct guestfs_blockdev_getro_args {
554         char *device;
555 };
556 typedef struct guestfs_blockdev_getro_args guestfs_blockdev_getro_args;
557
558 struct guestfs_blockdev_getro_ret {
559         bool_t ro;
560 };
561 typedef struct guestfs_blockdev_getro_ret guestfs_blockdev_getro_ret;
562
563 struct guestfs_blockdev_getss_args {
564         char *device;
565 };
566 typedef struct guestfs_blockdev_getss_args guestfs_blockdev_getss_args;
567
568 struct guestfs_blockdev_getss_ret {
569         int sectorsize;
570 };
571 typedef struct guestfs_blockdev_getss_ret guestfs_blockdev_getss_ret;
572
573 struct guestfs_blockdev_getbsz_args {
574         char *device;
575 };
576 typedef struct guestfs_blockdev_getbsz_args guestfs_blockdev_getbsz_args;
577
578 struct guestfs_blockdev_getbsz_ret {
579         int blocksize;
580 };
581 typedef struct guestfs_blockdev_getbsz_ret guestfs_blockdev_getbsz_ret;
582
583 struct guestfs_blockdev_setbsz_args {
584         char *device;
585         int blocksize;
586 };
587 typedef struct guestfs_blockdev_setbsz_args guestfs_blockdev_setbsz_args;
588
589 struct guestfs_blockdev_getsz_args {
590         char *device;
591 };
592 typedef struct guestfs_blockdev_getsz_args guestfs_blockdev_getsz_args;
593
594 struct guestfs_blockdev_getsz_ret {
595         quad_t sizeinsectors;
596 };
597 typedef struct guestfs_blockdev_getsz_ret guestfs_blockdev_getsz_ret;
598
599 struct guestfs_blockdev_getsize64_args {
600         char *device;
601 };
602 typedef struct guestfs_blockdev_getsize64_args guestfs_blockdev_getsize64_args;
603
604 struct guestfs_blockdev_getsize64_ret {
605         quad_t sizeinbytes;
606 };
607 typedef struct guestfs_blockdev_getsize64_ret guestfs_blockdev_getsize64_ret;
608
609 struct guestfs_blockdev_flushbufs_args {
610         char *device;
611 };
612 typedef struct guestfs_blockdev_flushbufs_args guestfs_blockdev_flushbufs_args;
613
614 struct guestfs_blockdev_rereadpt_args {
615         char *device;
616 };
617 typedef struct guestfs_blockdev_rereadpt_args guestfs_blockdev_rereadpt_args;
618
619 struct guestfs_upload_args {
620         char *remotefilename;
621 };
622 typedef struct guestfs_upload_args guestfs_upload_args;
623
624 struct guestfs_download_args {
625         char *remotefilename;
626 };
627 typedef struct guestfs_download_args guestfs_download_args;
628
629 struct guestfs_checksum_args {
630         char *csumtype;
631         char *path;
632 };
633 typedef struct guestfs_checksum_args guestfs_checksum_args;
634
635 struct guestfs_checksum_ret {
636         char *checksum;
637 };
638 typedef struct guestfs_checksum_ret guestfs_checksum_ret;
639
640 enum guestfs_procedure {
641         GUESTFS_PROC_MOUNT = 1,
642         GUESTFS_PROC_SYNC = 2,
643         GUESTFS_PROC_TOUCH = 3,
644         GUESTFS_PROC_CAT = 4,
645         GUESTFS_PROC_LL = 5,
646         GUESTFS_PROC_LS = 6,
647         GUESTFS_PROC_LIST_DEVICES = 7,
648         GUESTFS_PROC_LIST_PARTITIONS = 8,
649         GUESTFS_PROC_PVS = 9,
650         GUESTFS_PROC_VGS = 10,
651         GUESTFS_PROC_LVS = 11,
652         GUESTFS_PROC_PVS_FULL = 12,
653         GUESTFS_PROC_VGS_FULL = 13,
654         GUESTFS_PROC_LVS_FULL = 14,
655         GUESTFS_PROC_READ_LINES = 15,
656         GUESTFS_PROC_AUG_INIT = 16,
657         GUESTFS_PROC_AUG_CLOSE = 26,
658         GUESTFS_PROC_AUG_DEFVAR = 17,
659         GUESTFS_PROC_AUG_DEFNODE = 18,
660         GUESTFS_PROC_AUG_GET = 19,
661         GUESTFS_PROC_AUG_SET = 20,
662         GUESTFS_PROC_AUG_INSERT = 21,
663         GUESTFS_PROC_AUG_RM = 22,
664         GUESTFS_PROC_AUG_MV = 23,
665         GUESTFS_PROC_AUG_MATCH = 24,
666         GUESTFS_PROC_AUG_SAVE = 25,
667         GUESTFS_PROC_AUG_LOAD = 27,
668         GUESTFS_PROC_AUG_LS = 28,
669         GUESTFS_PROC_RM = 29,
670         GUESTFS_PROC_RMDIR = 30,
671         GUESTFS_PROC_RM_RF = 31,
672         GUESTFS_PROC_MKDIR = 32,
673         GUESTFS_PROC_MKDIR_P = 33,
674         GUESTFS_PROC_CHMOD = 34,
675         GUESTFS_PROC_CHOWN = 35,
676         GUESTFS_PROC_EXISTS = 36,
677         GUESTFS_PROC_IS_FILE = 37,
678         GUESTFS_PROC_IS_DIR = 38,
679         GUESTFS_PROC_PVCREATE = 39,
680         GUESTFS_PROC_VGCREATE = 40,
681         GUESTFS_PROC_LVCREATE = 41,
682         GUESTFS_PROC_MKFS = 42,
683         GUESTFS_PROC_SFDISK = 43,
684         GUESTFS_PROC_WRITE_FILE = 44,
685         GUESTFS_PROC_UMOUNT = 45,
686         GUESTFS_PROC_MOUNTS = 46,
687         GUESTFS_PROC_UMOUNT_ALL = 47,
688         GUESTFS_PROC_LVM_REMOVE_ALL = 48,
689         GUESTFS_PROC_FILE = 49,
690         GUESTFS_PROC_COMMAND = 50,
691         GUESTFS_PROC_COMMAND_LINES = 51,
692         GUESTFS_PROC_STAT = 52,
693         GUESTFS_PROC_LSTAT = 53,
694         GUESTFS_PROC_STATVFS = 54,
695         GUESTFS_PROC_TUNE2FS_L = 55,
696         GUESTFS_PROC_BLOCKDEV_SETRO = 56,
697         GUESTFS_PROC_BLOCKDEV_SETRW = 57,
698         GUESTFS_PROC_BLOCKDEV_GETRO = 58,
699         GUESTFS_PROC_BLOCKDEV_GETSS = 59,
700         GUESTFS_PROC_BLOCKDEV_GETBSZ = 60,
701         GUESTFS_PROC_BLOCKDEV_SETBSZ = 61,
702         GUESTFS_PROC_BLOCKDEV_GETSZ = 62,
703         GUESTFS_PROC_BLOCKDEV_GETSIZE64 = 63,
704         GUESTFS_PROC_BLOCKDEV_FLUSHBUFS = 64,
705         GUESTFS_PROC_BLOCKDEV_REREADPT = 65,
706         GUESTFS_PROC_UPLOAD = 66,
707         GUESTFS_PROC_DOWNLOAD = 67,
708         GUESTFS_PROC_CHECKSUM = 68,
709         GUESTFS_PROC_NR_PROCS = 68 + 1,
710 };
711 typedef enum guestfs_procedure guestfs_procedure;
712 #define GUESTFS_MESSAGE_MAX 4194304
713 #define GUESTFS_PROGRAM 0x2000F5F5
714 #define GUESTFS_PROTOCOL_VERSION 1
715 #define GUESTFS_LAUNCH_FLAG 0xf5f55ff5
716 #define GUESTFS_CANCEL_FLAG 0xffffeeee
717
718 enum guestfs_message_direction {
719         GUESTFS_DIRECTION_CALL = 0,
720         GUESTFS_DIRECTION_REPLY = 1,
721 };
722 typedef enum guestfs_message_direction guestfs_message_direction;
723
724 enum guestfs_message_status {
725         GUESTFS_STATUS_OK = 0,
726         GUESTFS_STATUS_ERROR = 1,
727 };
728 typedef enum guestfs_message_status guestfs_message_status;
729 #define GUESTFS_ERROR_LEN 256
730
731 struct guestfs_message_error {
732         char *error_message;
733 };
734 typedef struct guestfs_message_error guestfs_message_error;
735
736 struct guestfs_message_header {
737         u_int prog;
738         u_int vers;
739         guestfs_procedure proc;
740         guestfs_message_direction direction;
741         u_int serial;
742         guestfs_message_status status;
743 };
744 typedef struct guestfs_message_header guestfs_message_header;
745 #define GUESTFS_MAX_CHUNK_SIZE 8192
746
747 struct guestfs_chunk {
748         int cancel;
749         struct {
750                 u_int data_len;
751                 char *data_val;
752         } data;
753 };
754 typedef struct guestfs_chunk guestfs_chunk;
755
756 /* the xdr functions */
757
758 #if defined(__STDC__) || defined(__cplusplus)
759 extern  bool_t xdr_str (XDR *, str*);
760 extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
761 extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
762 extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
763 extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
764 extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
765 extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
766 extern  bool_t xdr_guestfs_int_stat (XDR *, guestfs_int_stat*);
767 extern  bool_t xdr_guestfs_int_statvfs (XDR *, guestfs_int_statvfs*);
768 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
769 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
770 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
771 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
772 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
773 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
774 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
775 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
776 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
777 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
778 extern  bool_t xdr_guestfs_pvs_ret (XDR *, guestfs_pvs_ret*);
779 extern  bool_t xdr_guestfs_vgs_ret (XDR *, guestfs_vgs_ret*);
780 extern  bool_t xdr_guestfs_lvs_ret (XDR *, guestfs_lvs_ret*);
781 extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
782 extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
783 extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
784 extern  bool_t xdr_guestfs_read_lines_args (XDR *, guestfs_read_lines_args*);
785 extern  bool_t xdr_guestfs_read_lines_ret (XDR *, guestfs_read_lines_ret*);
786 extern  bool_t xdr_guestfs_aug_init_args (XDR *, guestfs_aug_init_args*);
787 extern  bool_t xdr_guestfs_aug_defvar_args (XDR *, guestfs_aug_defvar_args*);
788 extern  bool_t xdr_guestfs_aug_defvar_ret (XDR *, guestfs_aug_defvar_ret*);
789 extern  bool_t xdr_guestfs_aug_defnode_args (XDR *, guestfs_aug_defnode_args*);
790 extern  bool_t xdr_guestfs_aug_defnode_ret (XDR *, guestfs_aug_defnode_ret*);
791 extern  bool_t xdr_guestfs_aug_get_args (XDR *, guestfs_aug_get_args*);
792 extern  bool_t xdr_guestfs_aug_get_ret (XDR *, guestfs_aug_get_ret*);
793 extern  bool_t xdr_guestfs_aug_set_args (XDR *, guestfs_aug_set_args*);
794 extern  bool_t xdr_guestfs_aug_insert_args (XDR *, guestfs_aug_insert_args*);
795 extern  bool_t xdr_guestfs_aug_rm_args (XDR *, guestfs_aug_rm_args*);
796 extern  bool_t xdr_guestfs_aug_rm_ret (XDR *, guestfs_aug_rm_ret*);
797 extern  bool_t xdr_guestfs_aug_mv_args (XDR *, guestfs_aug_mv_args*);
798 extern  bool_t xdr_guestfs_aug_match_args (XDR *, guestfs_aug_match_args*);
799 extern  bool_t xdr_guestfs_aug_match_ret (XDR *, guestfs_aug_match_ret*);
800 extern  bool_t xdr_guestfs_aug_ls_args (XDR *, guestfs_aug_ls_args*);
801 extern  bool_t xdr_guestfs_aug_ls_ret (XDR *, guestfs_aug_ls_ret*);
802 extern  bool_t xdr_guestfs_rm_args (XDR *, guestfs_rm_args*);
803 extern  bool_t xdr_guestfs_rmdir_args (XDR *, guestfs_rmdir_args*);
804 extern  bool_t xdr_guestfs_rm_rf_args (XDR *, guestfs_rm_rf_args*);
805 extern  bool_t xdr_guestfs_mkdir_args (XDR *, guestfs_mkdir_args*);
806 extern  bool_t xdr_guestfs_mkdir_p_args (XDR *, guestfs_mkdir_p_args*);
807 extern  bool_t xdr_guestfs_chmod_args (XDR *, guestfs_chmod_args*);
808 extern  bool_t xdr_guestfs_chown_args (XDR *, guestfs_chown_args*);
809 extern  bool_t xdr_guestfs_exists_args (XDR *, guestfs_exists_args*);
810 extern  bool_t xdr_guestfs_exists_ret (XDR *, guestfs_exists_ret*);
811 extern  bool_t xdr_guestfs_is_file_args (XDR *, guestfs_is_file_args*);
812 extern  bool_t xdr_guestfs_is_file_ret (XDR *, guestfs_is_file_ret*);
813 extern  bool_t xdr_guestfs_is_dir_args (XDR *, guestfs_is_dir_args*);
814 extern  bool_t xdr_guestfs_is_dir_ret (XDR *, guestfs_is_dir_ret*);
815 extern  bool_t xdr_guestfs_pvcreate_args (XDR *, guestfs_pvcreate_args*);
816 extern  bool_t xdr_guestfs_vgcreate_args (XDR *, guestfs_vgcreate_args*);
817 extern  bool_t xdr_guestfs_lvcreate_args (XDR *, guestfs_lvcreate_args*);
818 extern  bool_t xdr_guestfs_mkfs_args (XDR *, guestfs_mkfs_args*);
819 extern  bool_t xdr_guestfs_sfdisk_args (XDR *, guestfs_sfdisk_args*);
820 extern  bool_t xdr_guestfs_write_file_args (XDR *, guestfs_write_file_args*);
821 extern  bool_t xdr_guestfs_umount_args (XDR *, guestfs_umount_args*);
822 extern  bool_t xdr_guestfs_mounts_ret (XDR *, guestfs_mounts_ret*);
823 extern  bool_t xdr_guestfs_file_args (XDR *, guestfs_file_args*);
824 extern  bool_t xdr_guestfs_file_ret (XDR *, guestfs_file_ret*);
825 extern  bool_t xdr_guestfs_command_args (XDR *, guestfs_command_args*);
826 extern  bool_t xdr_guestfs_command_ret (XDR *, guestfs_command_ret*);
827 extern  bool_t xdr_guestfs_command_lines_args (XDR *, guestfs_command_lines_args*);
828 extern  bool_t xdr_guestfs_command_lines_ret (XDR *, guestfs_command_lines_ret*);
829 extern  bool_t xdr_guestfs_stat_args (XDR *, guestfs_stat_args*);
830 extern  bool_t xdr_guestfs_stat_ret (XDR *, guestfs_stat_ret*);
831 extern  bool_t xdr_guestfs_lstat_args (XDR *, guestfs_lstat_args*);
832 extern  bool_t xdr_guestfs_lstat_ret (XDR *, guestfs_lstat_ret*);
833 extern  bool_t xdr_guestfs_statvfs_args (XDR *, guestfs_statvfs_args*);
834 extern  bool_t xdr_guestfs_statvfs_ret (XDR *, guestfs_statvfs_ret*);
835 extern  bool_t xdr_guestfs_tune2fs_l_args (XDR *, guestfs_tune2fs_l_args*);
836 extern  bool_t xdr_guestfs_tune2fs_l_ret (XDR *, guestfs_tune2fs_l_ret*);
837 extern  bool_t xdr_guestfs_blockdev_setro_args (XDR *, guestfs_blockdev_setro_args*);
838 extern  bool_t xdr_guestfs_blockdev_setrw_args (XDR *, guestfs_blockdev_setrw_args*);
839 extern  bool_t xdr_guestfs_blockdev_getro_args (XDR *, guestfs_blockdev_getro_args*);
840 extern  bool_t xdr_guestfs_blockdev_getro_ret (XDR *, guestfs_blockdev_getro_ret*);
841 extern  bool_t xdr_guestfs_blockdev_getss_args (XDR *, guestfs_blockdev_getss_args*);
842 extern  bool_t xdr_guestfs_blockdev_getss_ret (XDR *, guestfs_blockdev_getss_ret*);
843 extern  bool_t xdr_guestfs_blockdev_getbsz_args (XDR *, guestfs_blockdev_getbsz_args*);
844 extern  bool_t xdr_guestfs_blockdev_getbsz_ret (XDR *, guestfs_blockdev_getbsz_ret*);
845 extern  bool_t xdr_guestfs_blockdev_setbsz_args (XDR *, guestfs_blockdev_setbsz_args*);
846 extern  bool_t xdr_guestfs_blockdev_getsz_args (XDR *, guestfs_blockdev_getsz_args*);
847 extern  bool_t xdr_guestfs_blockdev_getsz_ret (XDR *, guestfs_blockdev_getsz_ret*);
848 extern  bool_t xdr_guestfs_blockdev_getsize64_args (XDR *, guestfs_blockdev_getsize64_args*);
849 extern  bool_t xdr_guestfs_blockdev_getsize64_ret (XDR *, guestfs_blockdev_getsize64_ret*);
850 extern  bool_t xdr_guestfs_blockdev_flushbufs_args (XDR *, guestfs_blockdev_flushbufs_args*);
851 extern  bool_t xdr_guestfs_blockdev_rereadpt_args (XDR *, guestfs_blockdev_rereadpt_args*);
852 extern  bool_t xdr_guestfs_upload_args (XDR *, guestfs_upload_args*);
853 extern  bool_t xdr_guestfs_download_args (XDR *, guestfs_download_args*);
854 extern  bool_t xdr_guestfs_checksum_args (XDR *, guestfs_checksum_args*);
855 extern  bool_t xdr_guestfs_checksum_ret (XDR *, guestfs_checksum_ret*);
856 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
857 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
858 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
859 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
860 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
861 extern  bool_t xdr_guestfs_chunk (XDR *, guestfs_chunk*);
862
863 #else /* K&R C */
864 extern bool_t xdr_str ();
865 extern bool_t xdr_guestfs_lvm_int_pv ();
866 extern bool_t xdr_guestfs_lvm_int_pv_list ();
867 extern bool_t xdr_guestfs_lvm_int_vg ();
868 extern bool_t xdr_guestfs_lvm_int_vg_list ();
869 extern bool_t xdr_guestfs_lvm_int_lv ();
870 extern bool_t xdr_guestfs_lvm_int_lv_list ();
871 extern bool_t xdr_guestfs_int_stat ();
872 extern bool_t xdr_guestfs_int_statvfs ();
873 extern bool_t xdr_guestfs_mount_args ();
874 extern bool_t xdr_guestfs_touch_args ();
875 extern bool_t xdr_guestfs_cat_args ();
876 extern bool_t xdr_guestfs_cat_ret ();
877 extern bool_t xdr_guestfs_ll_args ();
878 extern bool_t xdr_guestfs_ll_ret ();
879 extern bool_t xdr_guestfs_ls_args ();
880 extern bool_t xdr_guestfs_ls_ret ();
881 extern bool_t xdr_guestfs_list_devices_ret ();
882 extern bool_t xdr_guestfs_list_partitions_ret ();
883 extern bool_t xdr_guestfs_pvs_ret ();
884 extern bool_t xdr_guestfs_vgs_ret ();
885 extern bool_t xdr_guestfs_lvs_ret ();
886 extern bool_t xdr_guestfs_pvs_full_ret ();
887 extern bool_t xdr_guestfs_vgs_full_ret ();
888 extern bool_t xdr_guestfs_lvs_full_ret ();
889 extern bool_t xdr_guestfs_read_lines_args ();
890 extern bool_t xdr_guestfs_read_lines_ret ();
891 extern bool_t xdr_guestfs_aug_init_args ();
892 extern bool_t xdr_guestfs_aug_defvar_args ();
893 extern bool_t xdr_guestfs_aug_defvar_ret ();
894 extern bool_t xdr_guestfs_aug_defnode_args ();
895 extern bool_t xdr_guestfs_aug_defnode_ret ();
896 extern bool_t xdr_guestfs_aug_get_args ();
897 extern bool_t xdr_guestfs_aug_get_ret ();
898 extern bool_t xdr_guestfs_aug_set_args ();
899 extern bool_t xdr_guestfs_aug_insert_args ();
900 extern bool_t xdr_guestfs_aug_rm_args ();
901 extern bool_t xdr_guestfs_aug_rm_ret ();
902 extern bool_t xdr_guestfs_aug_mv_args ();
903 extern bool_t xdr_guestfs_aug_match_args ();
904 extern bool_t xdr_guestfs_aug_match_ret ();
905 extern bool_t xdr_guestfs_aug_ls_args ();
906 extern bool_t xdr_guestfs_aug_ls_ret ();
907 extern bool_t xdr_guestfs_rm_args ();
908 extern bool_t xdr_guestfs_rmdir_args ();
909 extern bool_t xdr_guestfs_rm_rf_args ();
910 extern bool_t xdr_guestfs_mkdir_args ();
911 extern bool_t xdr_guestfs_mkdir_p_args ();
912 extern bool_t xdr_guestfs_chmod_args ();
913 extern bool_t xdr_guestfs_chown_args ();
914 extern bool_t xdr_guestfs_exists_args ();
915 extern bool_t xdr_guestfs_exists_ret ();
916 extern bool_t xdr_guestfs_is_file_args ();
917 extern bool_t xdr_guestfs_is_file_ret ();
918 extern bool_t xdr_guestfs_is_dir_args ();
919 extern bool_t xdr_guestfs_is_dir_ret ();
920 extern bool_t xdr_guestfs_pvcreate_args ();
921 extern bool_t xdr_guestfs_vgcreate_args ();
922 extern bool_t xdr_guestfs_lvcreate_args ();
923 extern bool_t xdr_guestfs_mkfs_args ();
924 extern bool_t xdr_guestfs_sfdisk_args ();
925 extern bool_t xdr_guestfs_write_file_args ();
926 extern bool_t xdr_guestfs_umount_args ();
927 extern bool_t xdr_guestfs_mounts_ret ();
928 extern bool_t xdr_guestfs_file_args ();
929 extern bool_t xdr_guestfs_file_ret ();
930 extern bool_t xdr_guestfs_command_args ();
931 extern bool_t xdr_guestfs_command_ret ();
932 extern bool_t xdr_guestfs_command_lines_args ();
933 extern bool_t xdr_guestfs_command_lines_ret ();
934 extern bool_t xdr_guestfs_stat_args ();
935 extern bool_t xdr_guestfs_stat_ret ();
936 extern bool_t xdr_guestfs_lstat_args ();
937 extern bool_t xdr_guestfs_lstat_ret ();
938 extern bool_t xdr_guestfs_statvfs_args ();
939 extern bool_t xdr_guestfs_statvfs_ret ();
940 extern bool_t xdr_guestfs_tune2fs_l_args ();
941 extern bool_t xdr_guestfs_tune2fs_l_ret ();
942 extern bool_t xdr_guestfs_blockdev_setro_args ();
943 extern bool_t xdr_guestfs_blockdev_setrw_args ();
944 extern bool_t xdr_guestfs_blockdev_getro_args ();
945 extern bool_t xdr_guestfs_blockdev_getro_ret ();
946 extern bool_t xdr_guestfs_blockdev_getss_args ();
947 extern bool_t xdr_guestfs_blockdev_getss_ret ();
948 extern bool_t xdr_guestfs_blockdev_getbsz_args ();
949 extern bool_t xdr_guestfs_blockdev_getbsz_ret ();
950 extern bool_t xdr_guestfs_blockdev_setbsz_args ();
951 extern bool_t xdr_guestfs_blockdev_getsz_args ();
952 extern bool_t xdr_guestfs_blockdev_getsz_ret ();
953 extern bool_t xdr_guestfs_blockdev_getsize64_args ();
954 extern bool_t xdr_guestfs_blockdev_getsize64_ret ();
955 extern bool_t xdr_guestfs_blockdev_flushbufs_args ();
956 extern bool_t xdr_guestfs_blockdev_rereadpt_args ();
957 extern bool_t xdr_guestfs_upload_args ();
958 extern bool_t xdr_guestfs_download_args ();
959 extern bool_t xdr_guestfs_checksum_args ();
960 extern bool_t xdr_guestfs_checksum_ret ();
961 extern bool_t xdr_guestfs_procedure ();
962 extern bool_t xdr_guestfs_message_direction ();
963 extern bool_t xdr_guestfs_message_status ();
964 extern bool_t xdr_guestfs_message_error ();
965 extern bool_t xdr_guestfs_message_header ();
966 extern bool_t xdr_guestfs_chunk ();
967
968 #endif /* K&R C */
969
970 #ifdef __cplusplus
971 }
972 #endif
973
974 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */