};
typedef struct guestfs_statvfs_ret guestfs_statvfs_ret;
+struct guestfs_tune2fs_l_args {
+ char *device;
+};
+typedef struct guestfs_tune2fs_l_args guestfs_tune2fs_l_args;
+
+struct guestfs_tune2fs_l_ret {
+ struct {
+ u_int superblock_len;
+ str *superblock_val;
+ } superblock;
+};
+typedef struct guestfs_tune2fs_l_ret guestfs_tune2fs_l_ret;
+
+struct guestfs_blockdev_setro_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_setro_args guestfs_blockdev_setro_args;
+
+struct guestfs_blockdev_setrw_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_setrw_args guestfs_blockdev_setrw_args;
+
+struct guestfs_blockdev_getro_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_getro_args guestfs_blockdev_getro_args;
+
+struct guestfs_blockdev_getro_ret {
+ bool_t ro;
+};
+typedef struct guestfs_blockdev_getro_ret guestfs_blockdev_getro_ret;
+
+struct guestfs_blockdev_getss_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_getss_args guestfs_blockdev_getss_args;
+
+struct guestfs_blockdev_getss_ret {
+ int sectorsize;
+};
+typedef struct guestfs_blockdev_getss_ret guestfs_blockdev_getss_ret;
+
+struct guestfs_blockdev_getbsz_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_getbsz_args guestfs_blockdev_getbsz_args;
+
+struct guestfs_blockdev_getbsz_ret {
+ int blocksize;
+};
+typedef struct guestfs_blockdev_getbsz_ret guestfs_blockdev_getbsz_ret;
+
+struct guestfs_blockdev_setbsz_args {
+ char *device;
+ int blocksize;
+};
+typedef struct guestfs_blockdev_setbsz_args guestfs_blockdev_setbsz_args;
+
+struct guestfs_blockdev_getsz_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_getsz_args guestfs_blockdev_getsz_args;
+
+struct guestfs_blockdev_getsz_ret {
+ quad_t sizeinsectors;
+};
+typedef struct guestfs_blockdev_getsz_ret guestfs_blockdev_getsz_ret;
+
+struct guestfs_blockdev_getsize64_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_getsize64_args guestfs_blockdev_getsize64_args;
+
+struct guestfs_blockdev_getsize64_ret {
+ quad_t sizeinbytes;
+};
+typedef struct guestfs_blockdev_getsize64_ret guestfs_blockdev_getsize64_ret;
+
+struct guestfs_blockdev_flushbufs_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_flushbufs_args guestfs_blockdev_flushbufs_args;
+
+struct guestfs_blockdev_rereadpt_args {
+ char *device;
+};
+typedef struct guestfs_blockdev_rereadpt_args guestfs_blockdev_rereadpt_args;
+
+struct guestfs_upload_args {
+ char *remotefilename;
+};
+typedef struct guestfs_upload_args guestfs_upload_args;
+
+struct guestfs_download_args {
+ char *remotefilename;
+};
+typedef struct guestfs_download_args guestfs_download_args;
+
+struct guestfs_checksum_args {
+ char *csumtype;
+ char *path;
+};
+typedef struct guestfs_checksum_args guestfs_checksum_args;
+
+struct guestfs_checksum_ret {
+ char *checksum;
+};
+typedef struct guestfs_checksum_ret guestfs_checksum_ret;
+
+struct guestfs_tar_in_args {
+ char *directory;
+};
+typedef struct guestfs_tar_in_args guestfs_tar_in_args;
+
+struct guestfs_tar_out_args {
+ char *directory;
+};
+typedef struct guestfs_tar_out_args guestfs_tar_out_args;
+
+struct guestfs_tgz_in_args {
+ char *directory;
+};
+typedef struct guestfs_tgz_in_args guestfs_tgz_in_args;
+
+struct guestfs_tgz_out_args {
+ char *directory;
+};
+typedef struct guestfs_tgz_out_args guestfs_tgz_out_args;
+
+struct guestfs_mount_ro_args {
+ char *device;
+ char *mountpoint;
+};
+typedef struct guestfs_mount_ro_args guestfs_mount_ro_args;
+
+struct guestfs_mount_options_args {
+ char *options;
+ char *device;
+ char *mountpoint;
+};
+typedef struct guestfs_mount_options_args guestfs_mount_options_args;
+
+struct guestfs_mount_vfs_args {
+ char *options;
+ char *vfstype;
+ char *device;
+ char *mountpoint;
+};
+typedef struct guestfs_mount_vfs_args guestfs_mount_vfs_args;
+
+struct guestfs_debug_args {
+ char *subcmd;
+ struct {
+ u_int extraargs_len;
+ str *extraargs_val;
+ } extraargs;
+};
+typedef struct guestfs_debug_args guestfs_debug_args;
+
+struct guestfs_debug_ret {
+ char *result;
+};
+typedef struct guestfs_debug_ret guestfs_debug_ret;
+
+struct guestfs_lvremove_args {
+ char *device;
+};
+typedef struct guestfs_lvremove_args guestfs_lvremove_args;
+
+struct guestfs_vgremove_args {
+ char *vgname;
+};
+typedef struct guestfs_vgremove_args guestfs_vgremove_args;
+
+struct guestfs_pvremove_args {
+ char *device;
+};
+typedef struct guestfs_pvremove_args guestfs_pvremove_args;
+
+struct guestfs_set_e2label_args {
+ char *device;
+ char *label;
+};
+typedef struct guestfs_set_e2label_args guestfs_set_e2label_args;
+
+struct guestfs_get_e2label_args {
+ char *device;
+};
+typedef struct guestfs_get_e2label_args guestfs_get_e2label_args;
+
+struct guestfs_get_e2label_ret {
+ char *label;
+};
+typedef struct guestfs_get_e2label_ret guestfs_get_e2label_ret;
+
+struct guestfs_set_e2uuid_args {
+ char *device;
+ char *uuid;
+};
+typedef struct guestfs_set_e2uuid_args guestfs_set_e2uuid_args;
+
+struct guestfs_get_e2uuid_args {
+ char *device;
+};
+typedef struct guestfs_get_e2uuid_args guestfs_get_e2uuid_args;
+
+struct guestfs_get_e2uuid_ret {
+ char *uuid;
+};
+typedef struct guestfs_get_e2uuid_ret guestfs_get_e2uuid_ret;
+
enum guestfs_procedure {
GUESTFS_PROC_MOUNT = 1,
GUESTFS_PROC_SYNC = 2,
GUESTFS_PROC_STAT = 52,
GUESTFS_PROC_LSTAT = 53,
GUESTFS_PROC_STATVFS = 54,
- GUESTFS_PROC_dummy = 54 + 1,
+ GUESTFS_PROC_TUNE2FS_L = 55,
+ GUESTFS_PROC_BLOCKDEV_SETRO = 56,
+ GUESTFS_PROC_BLOCKDEV_SETRW = 57,
+ GUESTFS_PROC_BLOCKDEV_GETRO = 58,
+ GUESTFS_PROC_BLOCKDEV_GETSS = 59,
+ GUESTFS_PROC_BLOCKDEV_GETBSZ = 60,
+ GUESTFS_PROC_BLOCKDEV_SETBSZ = 61,
+ GUESTFS_PROC_BLOCKDEV_GETSZ = 62,
+ GUESTFS_PROC_BLOCKDEV_GETSIZE64 = 63,
+ GUESTFS_PROC_BLOCKDEV_FLUSHBUFS = 64,
+ GUESTFS_PROC_BLOCKDEV_REREADPT = 65,
+ GUESTFS_PROC_UPLOAD = 66,
+ GUESTFS_PROC_DOWNLOAD = 67,
+ GUESTFS_PROC_CHECKSUM = 68,
+ GUESTFS_PROC_TAR_IN = 69,
+ GUESTFS_PROC_TAR_OUT = 70,
+ GUESTFS_PROC_TGZ_IN = 71,
+ GUESTFS_PROC_TGZ_OUT = 72,
+ GUESTFS_PROC_MOUNT_RO = 73,
+ GUESTFS_PROC_MOUNT_OPTIONS = 74,
+ GUESTFS_PROC_MOUNT_VFS = 75,
+ GUESTFS_PROC_DEBUG = 76,
+ GUESTFS_PROC_LVREMOVE = 77,
+ GUESTFS_PROC_VGREMOVE = 78,
+ GUESTFS_PROC_PVREMOVE = 79,
+ GUESTFS_PROC_SET_E2LABEL = 80,
+ GUESTFS_PROC_GET_E2LABEL = 81,
+ GUESTFS_PROC_SET_E2UUID = 82,
+ GUESTFS_PROC_GET_E2UUID = 83,
+ GUESTFS_PROC_NR_PROCS = 83 + 1,
};
typedef enum guestfs_procedure guestfs_procedure;
#define GUESTFS_MESSAGE_MAX 4194304
#define GUESTFS_PROGRAM 0x2000F5F5
#define GUESTFS_PROTOCOL_VERSION 1
+#define GUESTFS_LAUNCH_FLAG 0xf5f55ff5
+#define GUESTFS_CANCEL_FLAG 0xffffeeee
enum guestfs_message_direction {
GUESTFS_DIRECTION_CALL = 0,
#define GUESTFS_ERROR_LEN 256
struct guestfs_message_error {
- char *error;
+ char *error_message;
};
typedef struct guestfs_message_error guestfs_message_error;
guestfs_message_status status;
};
typedef struct guestfs_message_header guestfs_message_header;
+#define GUESTFS_MAX_CHUNK_SIZE 8192
+
+struct guestfs_chunk {
+ int cancel;
+ struct {
+ u_int data_len;
+ char *data_val;
+ } data;
+};
+typedef struct guestfs_chunk guestfs_chunk;
/* the xdr functions */
extern bool_t xdr_guestfs_lstat_ret (XDR *, guestfs_lstat_ret*);
extern bool_t xdr_guestfs_statvfs_args (XDR *, guestfs_statvfs_args*);
extern bool_t xdr_guestfs_statvfs_ret (XDR *, guestfs_statvfs_ret*);
+extern bool_t xdr_guestfs_tune2fs_l_args (XDR *, guestfs_tune2fs_l_args*);
+extern bool_t xdr_guestfs_tune2fs_l_ret (XDR *, guestfs_tune2fs_l_ret*);
+extern bool_t xdr_guestfs_blockdev_setro_args (XDR *, guestfs_blockdev_setro_args*);
+extern bool_t xdr_guestfs_blockdev_setrw_args (XDR *, guestfs_blockdev_setrw_args*);
+extern bool_t xdr_guestfs_blockdev_getro_args (XDR *, guestfs_blockdev_getro_args*);
+extern bool_t xdr_guestfs_blockdev_getro_ret (XDR *, guestfs_blockdev_getro_ret*);
+extern bool_t xdr_guestfs_blockdev_getss_args (XDR *, guestfs_blockdev_getss_args*);
+extern bool_t xdr_guestfs_blockdev_getss_ret (XDR *, guestfs_blockdev_getss_ret*);
+extern bool_t xdr_guestfs_blockdev_getbsz_args (XDR *, guestfs_blockdev_getbsz_args*);
+extern bool_t xdr_guestfs_blockdev_getbsz_ret (XDR *, guestfs_blockdev_getbsz_ret*);
+extern bool_t xdr_guestfs_blockdev_setbsz_args (XDR *, guestfs_blockdev_setbsz_args*);
+extern bool_t xdr_guestfs_blockdev_getsz_args (XDR *, guestfs_blockdev_getsz_args*);
+extern bool_t xdr_guestfs_blockdev_getsz_ret (XDR *, guestfs_blockdev_getsz_ret*);
+extern bool_t xdr_guestfs_blockdev_getsize64_args (XDR *, guestfs_blockdev_getsize64_args*);
+extern bool_t xdr_guestfs_blockdev_getsize64_ret (XDR *, guestfs_blockdev_getsize64_ret*);
+extern bool_t xdr_guestfs_blockdev_flushbufs_args (XDR *, guestfs_blockdev_flushbufs_args*);
+extern bool_t xdr_guestfs_blockdev_rereadpt_args (XDR *, guestfs_blockdev_rereadpt_args*);
+extern bool_t xdr_guestfs_upload_args (XDR *, guestfs_upload_args*);
+extern bool_t xdr_guestfs_download_args (XDR *, guestfs_download_args*);
+extern bool_t xdr_guestfs_checksum_args (XDR *, guestfs_checksum_args*);
+extern bool_t xdr_guestfs_checksum_ret (XDR *, guestfs_checksum_ret*);
+extern bool_t xdr_guestfs_tar_in_args (XDR *, guestfs_tar_in_args*);
+extern bool_t xdr_guestfs_tar_out_args (XDR *, guestfs_tar_out_args*);
+extern bool_t xdr_guestfs_tgz_in_args (XDR *, guestfs_tgz_in_args*);
+extern bool_t xdr_guestfs_tgz_out_args (XDR *, guestfs_tgz_out_args*);
+extern bool_t xdr_guestfs_mount_ro_args (XDR *, guestfs_mount_ro_args*);
+extern bool_t xdr_guestfs_mount_options_args (XDR *, guestfs_mount_options_args*);
+extern bool_t xdr_guestfs_mount_vfs_args (XDR *, guestfs_mount_vfs_args*);
+extern bool_t xdr_guestfs_debug_args (XDR *, guestfs_debug_args*);
+extern bool_t xdr_guestfs_debug_ret (XDR *, guestfs_debug_ret*);
+extern bool_t xdr_guestfs_lvremove_args (XDR *, guestfs_lvremove_args*);
+extern bool_t xdr_guestfs_vgremove_args (XDR *, guestfs_vgremove_args*);
+extern bool_t xdr_guestfs_pvremove_args (XDR *, guestfs_pvremove_args*);
+extern bool_t xdr_guestfs_set_e2label_args (XDR *, guestfs_set_e2label_args*);
+extern bool_t xdr_guestfs_get_e2label_args (XDR *, guestfs_get_e2label_args*);
+extern bool_t xdr_guestfs_get_e2label_ret (XDR *, guestfs_get_e2label_ret*);
+extern bool_t xdr_guestfs_set_e2uuid_args (XDR *, guestfs_set_e2uuid_args*);
+extern bool_t xdr_guestfs_get_e2uuid_args (XDR *, guestfs_get_e2uuid_args*);
+extern bool_t xdr_guestfs_get_e2uuid_ret (XDR *, guestfs_get_e2uuid_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*);
+extern bool_t xdr_guestfs_chunk (XDR *, guestfs_chunk*);
#else /* K&R C */
extern bool_t xdr_str ();
extern bool_t xdr_guestfs_lstat_ret ();
extern bool_t xdr_guestfs_statvfs_args ();
extern bool_t xdr_guestfs_statvfs_ret ();
+extern bool_t xdr_guestfs_tune2fs_l_args ();
+extern bool_t xdr_guestfs_tune2fs_l_ret ();
+extern bool_t xdr_guestfs_blockdev_setro_args ();
+extern bool_t xdr_guestfs_blockdev_setrw_args ();
+extern bool_t xdr_guestfs_blockdev_getro_args ();
+extern bool_t xdr_guestfs_blockdev_getro_ret ();
+extern bool_t xdr_guestfs_blockdev_getss_args ();
+extern bool_t xdr_guestfs_blockdev_getss_ret ();
+extern bool_t xdr_guestfs_blockdev_getbsz_args ();
+extern bool_t xdr_guestfs_blockdev_getbsz_ret ();
+extern bool_t xdr_guestfs_blockdev_setbsz_args ();
+extern bool_t xdr_guestfs_blockdev_getsz_args ();
+extern bool_t xdr_guestfs_blockdev_getsz_ret ();
+extern bool_t xdr_guestfs_blockdev_getsize64_args ();
+extern bool_t xdr_guestfs_blockdev_getsize64_ret ();
+extern bool_t xdr_guestfs_blockdev_flushbufs_args ();
+extern bool_t xdr_guestfs_blockdev_rereadpt_args ();
+extern bool_t xdr_guestfs_upload_args ();
+extern bool_t xdr_guestfs_download_args ();
+extern bool_t xdr_guestfs_checksum_args ();
+extern bool_t xdr_guestfs_checksum_ret ();
+extern bool_t xdr_guestfs_tar_in_args ();
+extern bool_t xdr_guestfs_tar_out_args ();
+extern bool_t xdr_guestfs_tgz_in_args ();
+extern bool_t xdr_guestfs_tgz_out_args ();
+extern bool_t xdr_guestfs_mount_ro_args ();
+extern bool_t xdr_guestfs_mount_options_args ();
+extern bool_t xdr_guestfs_mount_vfs_args ();
+extern bool_t xdr_guestfs_debug_args ();
+extern bool_t xdr_guestfs_debug_ret ();
+extern bool_t xdr_guestfs_lvremove_args ();
+extern bool_t xdr_guestfs_vgremove_args ();
+extern bool_t xdr_guestfs_pvremove_args ();
+extern bool_t xdr_guestfs_set_e2label_args ();
+extern bool_t xdr_guestfs_get_e2label_args ();
+extern bool_t xdr_guestfs_get_e2label_ret ();
+extern bool_t xdr_guestfs_set_e2uuid_args ();
+extern bool_t xdr_guestfs_get_e2uuid_args ();
+extern bool_t xdr_guestfs_get_e2uuid_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 ();
+extern bool_t xdr_guestfs_chunk ();
#endif /* K&R C */