#ifndef _LIBDWELF_H
#define _LIBDWELF_H 1
#include "libdw.h"
#ifdef __cplusplus
extern "C" {
#endif
extern const char *dwelf_elf_gnu_debuglink (Elf *elf, GElf_Word *crc);
extern ssize_t dwelf_dwarf_gnu_debugaltlink (Dwarf *dwarf,
const char **namep,
const void **build_idp);
extern ssize_t dwelf_elf_gnu_build_id (Elf *elf, const void **build_idp);
extern ssize_t dwelf_scn_gnu_compressed_size (Elf_Scn *scn);
typedef struct Dwelf_Strtab Dwelf_Strtab;
typedef struct Dwelf_Strent Dwelf_Strent;
extern Dwelf_Strtab *dwelf_strtab_init (bool nullstr);
extern Dwelf_Strent *dwelf_strtab_add (Dwelf_Strtab *st, const char *str)
__nonnull_attribute__ (1, 2);
extern Dwelf_Strent *dwelf_strtab_add_len (Dwelf_Strtab *st,
const char *str, size_t len)
__nonnull_attribute__ (1, 2);
extern Elf_Data *dwelf_strtab_finalize (Dwelf_Strtab *st,
Elf_Data *data)
__nonnull_attribute__ (1, 2);
extern size_t dwelf_strent_off (Dwelf_Strent *se)
__nonnull_attribute__ (1);
extern const char *dwelf_strent_str (Dwelf_Strent *se)
__nonnull_attribute__ (1);
extern void dwelf_strtab_free (Dwelf_Strtab *st)
__nonnull_attribute__ (1);
extern Elf *dwelf_elf_begin (int fd);
extern const char *dwelf_elf_e_machine_string (int machine);
#ifdef __cplusplus
}
#endif
#endif