1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-02 14:25:36 -08:00
openbsd-src/include/link_elf.h
guenther 47e938601b When it's the possessive of 'it', it's spelled "its", without the
apostrophe.

one from miod, other by "never just one" vibe
2022-01-28 04:59:15 +00:00

43 lines
919 B
C

/* $OpenBSD: link_elf.h,v 1.8 2022/01/28 04:59:15 guenther Exp $ */
/*
* Public domain.
*/
#ifndef _LINK_ELF_H
#define _LINK_ELF_H
#include <elf_abi.h>
#ifndef DT_PROCNUM
#define DT_PROCNUM 0
#endif
/*
* struct link_map is a part of the protocol between the debugger and
* ld.so. ld.so may have additional fields in its version of this
* structure but those are ld.so private fields.
*/
struct link_map {
caddr_t l_addr; /* Base address of library */
const char *l_name; /* Absolute path to library */
void *l_ld; /* pointer to _DYNAMIC */
struct link_map *l_next;
struct link_map *l_prev;
};
struct dl_phdr_info {
Elf_Addr dlpi_addr;
const char *dlpi_name;
const Elf_Phdr *dlpi_phdr;
Elf_Half dlpi_phnum;
};
__BEGIN_DECLS
int dl_iterate_phdr (int (*)(struct dl_phdr_info *, size_t, void *),
void *);
void *dl_unwind_find_exidx(const void *, int *);
__END_DECLS
#endif /* !_LINK_ELF_H */