Path: blob/main/system/lib/libc/musl/include/link.h
6172 views
#ifndef _LINK_H1#define _LINK_H23#ifdef __cplusplus4extern "C" {5#endif67#include <elf.h>8#define __NEED_size_t9#define __NEED_uint32_t10#include <bits/alltypes.h>1112#if UINTPTR_MAX > 0xffffffff13#define ElfW(type) Elf64_ ## type14#else15#define ElfW(type) Elf32_ ## type16#endif1718#include <bits/link.h>1920struct dl_phdr_info {21ElfW(Addr) dlpi_addr;22const char *dlpi_name;23const ElfW(Phdr) *dlpi_phdr;24ElfW(Half) dlpi_phnum;25unsigned long long int dlpi_adds;26unsigned long long int dlpi_subs;27size_t dlpi_tls_modid;28void *dlpi_tls_data;29};3031struct link_map {32ElfW(Addr) l_addr;33char *l_name;34ElfW(Dyn) *l_ld;35struct link_map *l_next, *l_prev;36};3738struct r_debug {39int r_version;40struct link_map *r_map;41ElfW(Addr) r_brk;42enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state;43ElfW(Addr) r_ldbase;44};4546int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *);4748#ifdef __cplusplus49}50#endif5152#endif535455