/* GuestFS handle and connection. */
enum state { CONFIG, LAUNCHING, READY, BUSY, NO_HANDLE };
+/* Attach method. */
+enum attach_method { ATTACH_METHOD_APPLIANCE = 0, ATTACH_METHOD_UNIX };
+
struct guestfs_h
{
struct guestfs_h *next; /* Linked list of open handles. */
char *qemu; /* Qemu binary. */
char *append; /* Append to kernel command line. */
+ enum attach_method attach_method;
+ char *attach_method_arg;
+
int memsize; /* Size of RAM (megabytes). */
int selinux; /* selinux enabled? */
/* Private data area. */
struct hash_table *pda;
+ struct pda_entry *pda_next;
};
/* Per-filesystem data stored for inspect_os. */
FS_CONTENT_LINUX_USR_LOCAL,
FS_CONTENT_LINUX_VAR,
FS_CONTENT_FREEBSD_ROOT,
+ FS_CONTENT_INSTALLER,
+};
+
+enum inspect_os_format {
+ OS_FORMAT_UNKNOWN = 0,
+ OS_FORMAT_INSTALLED,
+ OS_FORMAT_INSTALLER,
+ /* in future: supplemental disks */
};
enum inspect_os_type {
char *arch;
char *hostname;
char *windows_systemroot;
+ enum inspect_os_format format;
+ int is_live_disk;
+ int is_netinst_disk;
+ int is_multipart_disk;
struct inspect_fstab_entry *fstab;
size_t nr_fstab;
};
extern void *guestfs_safe_memdup (guestfs_h *g, void *ptr, size_t size);
extern char *guestfs_safe_asprintf (guestfs_h *g, const char *fs, ...)
__attribute__((format (printf,2,3)));
+extern const char *guestfs___persistent_tmpdir (void);
extern void guestfs___print_timestamped_argv (guestfs_h *g, const char *argv[]);
extern void guestfs___print_timestamped_message (guestfs_h *g, const char *fs, ...);
extern void guestfs___free_inspect_info (guestfs_h *g);
extern int guestfs___set_busy (guestfs_h *g);
extern int guestfs___end_busy (guestfs_h *g);
-extern int guestfs___send (guestfs_h *g, int proc_nr, xdrproc_t xdrp, char *args);
+extern int guestfs___send (guestfs_h *g, int proc_nr, uint64_t progress_hint, uint64_t optargs_bitmask, xdrproc_t xdrp, char *args);
extern int guestfs___recv (guestfs_h *g, const char *fn, struct guestfs_message_header *hdr, struct guestfs_message_error *err, xdrproc_t xdrp, char *ret);
extern int guestfs___send_file (guestfs_h *g, const char *filename);
extern int guestfs___recv_file (guestfs_h *g, const char *filename);