};
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;
+
enum guestfs_procedure {
GUESTFS_PROC_MOUNT = 1,
GUESTFS_PROC_SYNC = 2,
GUESTFS_PROC_BLOCKDEV_GETSIZE64 = 63,
GUESTFS_PROC_BLOCKDEV_FLUSHBUFS = 64,
GUESTFS_PROC_BLOCKDEV_REREADPT = 65,
- GUESTFS_PROC_dummy = 65 + 1,
+ 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_NR_PROCS = 72 + 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_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_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_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_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 */