X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fguestfs-internal.h;h=9b690b4a069452e2c980322f26d16f2ecb832ccb;hb=c46bedf925cd9c6c9a9cbaee115358fd1dffcbfe;hp=cee3048afb8802a69a722956166c991b008510a8;hpb=5332515db3ed87716d702ef2b973816a73ab5702;p=libguestfs.git diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index cee3048..9b690b4 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -149,6 +149,19 @@ struct event { void *opaque2; }; +/* Linked list of drives added to the handle. */ +struct drive { + struct drive *next; + + char *path; + + int readonly; + char *format; + char *iface; + char *name; + int use_cache_off; +}; + struct guestfs_h { struct guestfs_h *next; /* Linked list of open handles. */ @@ -156,6 +169,8 @@ struct guestfs_h /* State: see the state machine diagram in the man page guestfs(3). */ enum state state; + struct drive *drives; /* Drives added by add-drive* APIs. */ + int fd[2]; /* Stdin/stdout of qemu. */ int sock; /* Daemon communications socket. */ pid_t pid; /* Qemu PID. */ @@ -239,6 +254,7 @@ enum inspect_fs_content { FS_CONTENT_LINUX_USR_LOCAL, FS_CONTENT_LINUX_VAR, FS_CONTENT_FREEBSD_ROOT, + FS_CONTENT_NETBSD_ROOT, FS_CONTENT_INSTALLER, }; @@ -254,6 +270,7 @@ enum inspect_os_type { OS_TYPE_LINUX, OS_TYPE_WINDOWS, OS_TYPE_FREEBSD, + OS_TYPE_NETBSD, }; enum inspect_os_distro { @@ -284,7 +301,8 @@ enum inspect_os_package_format { OS_PACKAGE_FORMAT_DEB, OS_PACKAGE_FORMAT_PACMAN, OS_PACKAGE_FORMAT_EBUILD, - OS_PACKAGE_FORMAT_PISI + OS_PACKAGE_FORMAT_PISI, + OS_PACKAGE_FORMAT_PKGSRC, }; enum inspect_os_package_management { @@ -356,6 +374,7 @@ extern void guestfs___trace (guestfs_h *g, const char *fs, ...) extern const char *guestfs___persistent_tmpdir (void); extern void guestfs___print_timestamped_message (guestfs_h *g, const char *fs, ...); extern void guestfs___free_inspect_info (guestfs_h *g); +extern void guestfs___free_drives (struct drive **drives); 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, uint64_t progress_hint, uint64_t optargs_bitmask, xdrproc_t xdrp, char *args); @@ -377,8 +396,8 @@ extern int guestfs___match2 (guestfs_h *g, const char *str, const pcre *re, char extern int guestfs___match3 (guestfs_h *g, const char *str, const pcre *re, char **ret1, char **ret2, char **ret3); extern int guestfs___feature_available (guestfs_h *g, const char *feature); extern void guestfs___free_string_list (char **); -extern size_t guestfs___checkpoint_cmdline (guestfs_h *g); -extern void guestfs___rollback_cmdline (guestfs_h *g, size_t pos); +extern struct drive ** guestfs___checkpoint_drives (guestfs_h *g); +extern void guestfs___rollback_drives (guestfs_h *g, struct drive **i); extern void guestfs___call_callbacks_void (guestfs_h *g, uint64_t event); extern void guestfs___call_callbacks_message (guestfs_h *g, uint64_t event, const char *buf, size_t buf_len); extern void guestfs___call_callbacks_array (guestfs_h *g, uint64_t event, const uint64_t *array, size_t array_len); @@ -399,6 +418,7 @@ extern int guestfs___read_db_dump (guestfs_h *g, const char *dumpfile, void *opa extern int guestfs___check_installer_root (guestfs_h *g, struct inspect_fs *fs); extern int guestfs___check_linux_root (guestfs_h *g, struct inspect_fs *fs); extern int guestfs___check_freebsd_root (guestfs_h *g, struct inspect_fs *fs); +extern int guestfs___check_netbsd_root (guestfs_h *g, struct inspect_fs *fs); extern int guestfs___has_windows_systemroot (guestfs_h *g); extern int guestfs___check_windows_root (guestfs_h *g, struct inspect_fs *fs); #endif