elfextract.h revision 61
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#ifndef __ELFEXTRACT_H__
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#define __ELFEXTRACT_H__
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#include <sys/types.h>
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#include "liblist.h"
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#ifndef MIN
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#define MIN(a,b) ((a) < (b) ? (a) : (b))
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#endif
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinatypedef struct dyninfo {
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina off_t runpath; /* offset in *st of the runpath */
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina char *st; /* string table */
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina liblist_t *deps; /* dependency list (also contains */
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina /* offsets in *st) */
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina unsigned char hash[20]; /* SHA1 Hash of significant segs. */
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina} dyninfo_t;
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinachar *getident(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinaint iself(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinaint iself32(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel BřezinaElf32_Ehdr *gethead32(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel BřezinaElf64_Ehdr *gethead64(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinadyninfo_t *getdynamic32(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březinadyninfo_t *getdynamic64(int fd);
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina#endif
41be4e3976cf66823ad2c6880671ac7fbafdc640Pavel Březina