X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=src%2Fguestfs-internal.h;h=9c7c96cc714a38e94f67fb9a75967543e5dc89a8;hp=32a6c2a68cf5ce51d8531ea382a69a4645001672;hb=428a45c3e15f03e9861e1b551e1ae8da821dba5f;hpb=e776a46ffcbede6d9b030dbc8f6ab32500b325ec diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 32a6c2a..9c7c96c 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -38,6 +38,11 @@ #define N_(str) str #endif +#define TMP_TEMPLATE_ON_STACK(var) \ + const char *ttos_tmpdir = guestfs_tmpdir (); \ + char var[strlen (ttos_tmpdir) + 32]; \ + sprintf (var, "%s/libguestfsXXXXXX", ttos_tmpdir) \ + #define UNIX_PATH_MAX 108 #ifndef MAX @@ -109,6 +114,7 @@ struct guestfs_h int selinux; /* selinux enabled? */ char *last_error; + int last_errnum; /* errno, or 0 if there was no errno */ /* Callbacks. */ guestfs_abort_cb abort_cb; @@ -132,6 +138,9 @@ struct guestfs_h */ struct inspect_fs *fses; size_t nr_fses; + + /* Private data area. */ + struct hash_table *pda; }; /* Per-filesystem data stored for inspect_os. */ @@ -158,6 +167,11 @@ enum inspect_os_distro { OS_DISTRO_REDHAT_BASED, OS_DISTRO_RHEL, OS_DISTRO_WINDOWS, + OS_DISTRO_PARDUS, + OS_DISTRO_ARCHLINUX, + OS_DISTRO_GENTOO, + OS_DISTRO_UBUNTU, + OS_DISTRO_MEEGO, }; struct inspect_fs { @@ -172,6 +186,7 @@ struct inspect_fs { int major_version; int minor_version; char *arch; + char *windows_systemroot; struct inspect_fstab_entry *fstab; size_t nr_fstab; }; @@ -186,14 +201,16 @@ struct guestfs_message_error; extern void guestfs_error (guestfs_h *g, const char *fs, ...) __attribute__((format (printf,2,3))); +extern void guestfs_error_errno (guestfs_h *g, int errnum, const char *fs, ...) + __attribute__((format (printf,3,4))); extern void guestfs_perrorf (guestfs_h *g, const char *fs, ...) __attribute__((format (printf,2,3))); extern void *guestfs_safe_realloc (guestfs_h *g, void *ptr, int nbytes); 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 void guestfs___print_timestamped_argv (guestfs_h *g, const char *argv[]); extern void guestfs___print_timestamped_message (guestfs_h *g, const char *fs, ...); -extern const char *guestfs___tmpdir (void); 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); @@ -205,9 +222,11 @@ extern int guestfs___send_to_daemon (guestfs_h *g, const void *v_buf, size_t n); extern int guestfs___recv_from_daemon (guestfs_h *g, uint32_t *size_rtn, void **buf_rtn); extern int guestfs___accept_from_daemon (guestfs_h *g); extern int guestfs___build_appliance (guestfs_h *g, char **kernel, char **initrd, char **appliance); +extern void guestfs___print_BufferIn (FILE *out, const char *buf, size_t buf_size); -#define error guestfs_error +#define error(g,...) guestfs_error_errno((g),0,__VA_ARGS__) #define perrorf guestfs_perrorf +#define safe_calloc guestfs_safe_calloc #define safe_malloc guestfs_safe_malloc #define safe_realloc guestfs_safe_realloc #define safe_strdup guestfs_safe_strdup