aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-01-14 01:39:55 +0000
committerMike Frysinger <vapier@gentoo.org>2006-01-14 01:39:55 +0000
commit4147ea63f254164ab5946dda6cfa8d2f256f0ecf (patch)
treec948442181fba90d2ca7d85f3cc60c02a55d2ad6 /paxelf.h
parentinitial support for reading archive files (*.a) (diff)
downloadpax-utils-4147ea63f254164ab5946dda6cfa8d2f256f0ecf.tar.gz
pax-utils-4147ea63f254164ab5946dda6cfa8d2f256f0ecf.tar.bz2
pax-utils-4147ea63f254164ab5946dda6cfa8d2f256f0ecf.zip
refactor code a bit to allow to improve support for archive scanning
Diffstat (limited to 'paxelf.h')
-rw-r--r--paxelf.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/paxelf.h b/paxelf.h
index 12396d5..bb85db8 100644
--- a/paxelf.h
+++ b/paxelf.h
@@ -1,7 +1,7 @@
/*
* Copyright 2005-2006 Gentoo Foundation
* Distributed under the terms of the GNU General Public License v2
- * $Header: /var/cvsroot/gentoo-projects/pax-utils/paxelf.h,v 1.39 2006/01/10 01:40:15 vapier Exp $
+ * $Header: /var/cvsroot/gentoo-projects/pax-utils/paxelf.h,v 1.40 2006/01/14 01:39:55 vapier Exp $
*
* Copyright 2005-2006 Ned Ludd - <solar@gentoo.org>
* Copyright 2005-2006 Mike Frysinger - <vapier@gentoo.org>
@@ -20,6 +20,7 @@ typedef struct {
char elf_class;
off_t len;
int fd;
+ int is_mmap;
const char *filename;
const char *base_filename;
} elfobj;
@@ -42,8 +43,11 @@ typedef struct {
extern char *pax_short_hf_flags(unsigned long flags);
extern char *pax_short_pf_flags(unsigned long flags);
extern char *gnu_short_stack_flags(unsigned long flags);
+extern elfobj *readelf_buffer(const char *filename, char *buffer, size_t buffer_len);
+extern elfobj *_readelf_fd(const char *filename, int fd, size_t len, int read_only);
+#define readelf_fd(filename, fd, len) _readelf_fd(filename, fd, len, 1)
extern elfobj *_readelf(const char *filename, int read_only);
-extern elfobj *readelf(const char *filename);
+#define readelf(filename) _readelf(filename, 1)
extern void unreadelf(elfobj *elf);
extern const char *get_elfeitype(int ei_type, int type);
extern const char *get_elfetype(elfobj *elf);