Annotation of src/include/link_elf.h, Revision 1.7
1.7 ! kettenis 1: /* $OpenBSD: link_elf.h,v 1.6 2006/02/06 16:51:50 jmc Exp $ */
1.1 art 2:
3: /*
1.4 drahn 4: * Public domain.
1.1 art 5: */
6:
1.2 pvalchev 7: #ifndef _LINK_ELF_H
1.4 drahn 8: #define _LINK_ELF_H
1.2 pvalchev 9:
1.1 art 10: #include <elf_abi.h>
11:
12: #ifndef DT_PROCNUM
13: #define DT_PROCNUM 0
14: #endif
15:
1.4 drahn 16: /*
17: * struct link_map is a part of the protocol between the debugger and
18: * ld.so. ld.so may have additional fields in it's version of this
1.6 jmc 19: * structure but those are ld.so private fields.
1.4 drahn 20: */
21: struct link_map {
22: caddr_t l_addr; /* Base address of library */
23: const char *l_name; /* Absolute path to library */
24: void *l_ld; /* pointer to _DYNAMIC */
25: struct link_map *l_next;
26: struct link_map *l_prev;
27: };
1.5 kettenis 28:
29: struct dl_phdr_info {
30: Elf_Addr dlpi_addr;
31: const char *dlpi_name;
32: const Elf_Phdr *dlpi_phdr;
33: Elf_Half dlpi_phnum;
34: };
35:
36: __BEGIN_DECLS
37: int dl_iterate_phdr (int (*)(struct dl_phdr_info *, size_t, void *),
38: void *);
1.7 ! kettenis 39: void *dl_unwind_find_exidx(const void *, int *);
1.5 kettenis 40: __END_DECLS
41:
1.2 pvalchev 42: #endif /* !_LINK_ELF_H */