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-14 13:28:02 +0100 |
commit | a986e8dadb0c70634f6d1d89dd3e7bb5d9af3078 (patch) | |
tree | 0c47b84880241960ccf6a775e8599057ad913869 /src/guestfs-internal.h | |
parent | 3336b5448f12c9eb25bf7a0cecda1315c4cf07ea (diff) | |
download | libguestfs-a986e8dadb0c70634f6d1d89dd3e7bb5d9af3078.tar.gz libguestfs-a986e8dadb0c70634f6d1d89dd3e7bb5d9af3078.tar.xz libguestfs-a986e8dadb0c70634f6d1d89dd3e7bb5d9af3078.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.
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); |