Annotation of src/include/link_elf.h, Revision 1.6
1.6 ! jmc 1: /* $OpenBSD: link_elf.h,v 1.5 2004/10/14 10:02:28 kettenis 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 *);
39: __END_DECLS
40:
1.2 pvalchev 41: #endif /* !_LINK_ELF_H */