Merge remote-tracking branch 'ppc-port/ppc-squashed'
[musl] / include / link.h
1 #ifndef _LINK_H
2 #define _LINK_H
3
4 #include <elf.h>
5 #define __NEED_size_t
6 #include <bits/alltypes.h>
7
8 #if UINTPTR_MAX > 0xffffffff
9 #define ElfW(type) Elf64_ ## type
10 #else
11 #define ElfW(type) Elf32_ ## type
12 #endif
13
14 struct dl_phdr_info {
15         ElfW(Addr) dlpi_addr;
16         const char *dlpi_name;
17         const ElfW(Phdr) *dlpi_phdr;
18         ElfW(Half) dlpi_phnum;
19         unsigned long long int dlpi_adds;
20         unsigned long long int dlpi_subs;
21         size_t dlpi_tls_modid;
22         void *dlpi_tls_data;
23 };
24
25 int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *);
26
27 #endif