summaryrefslogtreecommitdiffstats
path: root/src/guestfs-internal.h
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-04-14 13:28:02 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-04-18 22:09:33 +0100
commit0c1369f78b4a2276dcd004eb06cccf5c32e7f2da (patch)
treefbfd65682f7118444a5f1e9697fd846f4920a2c8 /src/guestfs-internal.h
parent8e6e547af32116accfe4aa9cae36d3cd073f1c66 (diff)
downloadlibguestfs-0c1369f78b4a2276dcd004eb06cccf5c32e7f2da.tar.gz
libguestfs-0c1369f78b4a2276dcd004eb06cccf5c32e7f2da.tar.xz
libguestfs-0c1369f78b4a2276dcd004eb06cccf5c32e7f2da.zip
inspect: Abstract out db_dump code for listing RPM applications.
There are two changes here: (1) The code for listing RPM applications ran db_dump and parsed the output. We abstract out that parsing code into a separate reusable module (src/dbdump.c). (2) The old db_dump parsing code used db_dump -p (printable) format. Instead use db_dump -k (hex) format so we can read binary fields. (cherry picked from commit a986e8dadb0c70634f6d1d89dd3e7bb5d9af3078)
Diffstat (limited to 'src/guestfs-internal.h')
-rw-r--r--src/guestfs-internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index b75aee8e..1730f688 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -355,6 +355,8 @@ extern int guestfs___parse_unsigned_int_ignore_trailing (guestfs_h *g, const cha
extern int guestfs___parse_major_minor (guestfs_h *g, struct inspect_fs *fs);
extern char *guestfs___first_line_of_file (guestfs_h *g, const char *filename);
extern int guestfs___first_egrep_of_file (guestfs_h *g, const char *filename, const char *eregex, int iflag, char **ret);
+typedef int (*guestfs___db_dump_callback) (guestfs_h *g, const unsigned char *key, size_t keylen, const unsigned char *value, size_t valuelen, void *opaque);
+extern int guestfs___read_db_dump (guestfs_h *g, const char *dumpfile, void *opaque, guestfs___db_dump_callback callback);
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);