#ifndef GUESTFS_INTERNAL_H_
#define GUESTFS_INTERNAL_H_
+#include <rpc/types.h>
+#include <rpc/xdr.h>
+
#ifdef HAVE_PCRE
#include <pcre.h>
#endif
FS_CONTENT_LINUX_USR,
FS_CONTENT_LINUX_USR_LOCAL,
FS_CONTENT_LINUX_VAR,
+ FS_CONTENT_FREEBSD_ROOT,
};
enum inspect_os_type {
OS_TYPE_UNKNOWN = 0,
OS_TYPE_LINUX,
OS_TYPE_WINDOWS,
+ OS_TYPE_FREEBSD,
};
enum inspect_os_distro {
OS_DISTRO_GENTOO,
OS_DISTRO_UBUNTU,
OS_DISTRO_MEEGO,
+ OS_DISTRO_LINUX_MINT,
+ OS_DISTRO_MANDRIVA,
+};
+
+enum inspect_os_package_format {
+ OS_PACKAGE_FORMAT_UNKNOWN = 0,
+ OS_PACKAGE_FORMAT_RPM,
+ OS_PACKAGE_FORMAT_DEB,
+ OS_PACKAGE_FORMAT_PACMAN,
+ OS_PACKAGE_FORMAT_EBUILD,
+ OS_PACKAGE_FORMAT_PISI
+};
+
+enum inspect_os_package_management {
+ OS_PACKAGE_MANAGEMENT_UNKNOWN = 0,
+ OS_PACKAGE_MANAGEMENT_YUM,
+ OS_PACKAGE_MANAGEMENT_UP2DATE,
+ OS_PACKAGE_MANAGEMENT_APT,
+ OS_PACKAGE_MANAGEMENT_PACMAN,
+ OS_PACKAGE_MANAGEMENT_PORTAGE,
+ OS_PACKAGE_MANAGEMENT_PISI,
+ OS_PACKAGE_MANAGEMENT_URPMI,
};
struct inspect_fs {
enum inspect_fs_content content;
enum inspect_os_type type;
enum inspect_os_distro distro;
+ enum inspect_os_package_format package_format;
+ enum inspect_os_package_management package_management;
char *product_name;
int major_version;
int minor_version;
char *arch;
+ char *hostname;
char *windows_systemroot;
struct inspect_fstab_entry *fstab;
size_t nr_fstab;
extern char *guestfs_safe_strdup (guestfs_h *g, const char *str);
extern char *guestfs_safe_strndup (guestfs_h *g, const char *str, size_t n);
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 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___match (guestfs_h *g, const char *str, const pcre *re);
extern char *guestfs___match1 (guestfs_h *g, const char *str, const pcre *re);
extern int guestfs___match2 (guestfs_h *g, const char *str, const pcre *re, char **ret1, char **ret2);
+extern int guestfs___match3 (guestfs_h *g, const char *str, const pcre *re, char **ret1, char **ret2, char **ret3);
#endif
extern int guestfs___feature_available (guestfs_h *g, const char *feature);
extern void guestfs___free_string_list (char **);
+extern int guestfs___checkpoint_cmdline (guestfs_h *g);
+extern void guestfs___rollback_cmdline (guestfs_h *g, int pos);
#define error(g,...) guestfs_error_errno((g),0,__VA_ARGS__)
#define perrorf guestfs_perrorf
#define safe_strdup guestfs_safe_strdup
#define safe_strndup guestfs_safe_strndup
#define safe_memdup guestfs_safe_memdup
+#define safe_asprintf guestfs_safe_asprintf
#ifdef HAVE_PCRE
#define match guestfs___match
#define match1 guestfs___match1
#define match2 guestfs___match2
+#define match3 guestfs___match3
#endif
#endif /* GUESTFS_INTERNAL_H_ */