summaryrefslogtreecommitdiffstats
path: root/src/guestfs-internal.h
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-08-08 18:52:23 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-08-17 13:05:22 +0100
commitf5036236ffd4420c6d7e42a5738b2be7d1f6cc3c (patch)
tree02a120670845ae706f3859a750172bf44590bb1f /src/guestfs-internal.h
parent1f980d1b103bae48b4c27164a7588466ba9ad5cb (diff)
downloadlibguestfs-f5036236ffd4420c6d7e42a5738b2be7d1f6cc3c.tar.gz
libguestfs-f5036236ffd4420c6d7e42a5738b2be7d1f6cc3c.tar.xz
libguestfs-f5036236ffd4420c6d7e42a5738b2be7d1f6cc3c.zip
inspection: Better checking for Windows root disks (RHBZ#729075).
Previously any disk that had /autoexec.bat or /boot.ini or /ntldr would be picked up as a candidate for a Windows root disk. If further checking could not find any systemroot (eg. /windows) then this would result in complete failure of inspection. In particular, this got confused by Hp_recovery partitions which have /autoexec.bat, but don't have a systemroot in one of the usual places (they have /MiniNT instead). What we do now is to properly investigate all possible systemroot places before deciding this is a Windows systemroot, so the subsequent failure cannot occur. (Thanks to lorimar for reporting this bug). Cherry picked from commit 2c57305f72cd6181d1849ae6e1b892aa01c7f844 and backported to stable-1.10 branch.
Diffstat (limited to 'src/guestfs-internal.h')
-rw-r--r--src/guestfs-internal.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 8d4d3009..7304a564 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -347,6 +347,8 @@ extern void guestfs___rollback_cmdline (guestfs_h *g, size_t pos);
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);
+extern int guestfs___is_file_nocase (guestfs_h *g, const char *);
+extern int guestfs___is_dir_nocase (guestfs_h *g, const char *);
#if defined(HAVE_PCRE) && defined(HAVE_HIVEX)
extern int guestfs___check_for_filesystem_on (guestfs_h *g, const char *device, int is_block, int is_partnum);
extern char *guestfs___download_to_tmp (guestfs_h *g, struct inspect_fs *fs, const char *filename, const char *basename, int64_t max_size);
@@ -362,6 +364,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___has_windows_systemroot (guestfs_h *g);
extern int guestfs___check_windows_root (guestfs_h *g, struct inspect_fs *fs);
#endif