diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-04-14 13:28:02 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-04-18 22:09:33 +0100 |
commit | 0c1369f78b4a2276dcd004eb06cccf5c32e7f2da (patch) | |
tree | fbfd65682f7118444a5f1e9697fd846f4920a2c8 /src/guestfs-internal.h | |
parent | 8e6e547af32116accfe4aa9cae36d3cd073f1c66 (diff) | |
download | libguestfs-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.h | 2 |
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); |