sync
[bitrig.git] / include / link_elf.h
blobfccb76e3ed3f0813c406e82d217cd8bdba8872bc
1 /* $OpenBSD: link_elf.h,v 1.6 2006/02/06 16:51:50 jmc Exp $ */
3 /*
4 * Public domain.
5 */
7 #ifndef _LINK_ELF_H
8 #define _LINK_ELF_H
10 #include <elf_abi.h>
12 #ifndef DT_PROCNUM
13 #define DT_PROCNUM 0
14 #endif
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
19 * structure but those are ld.so private fields.
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;
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;
36 __BEGIN_DECLS
37 int dl_iterate_phdr (int (*)(struct dl_phdr_info *, size_t, void *),
38 void *);
39 __END_DECLS
41 #endif /* !_LINK_ELF_H */