OSDN Git Service

document riscv64 support in INSTALL document
[android-x86/external-musl-libc.git] / include / link.h
index d5160e7..8150185 100644 (file)
@@ -1,8 +1,13 @@
 #ifndef _LINK_H
 #define _LINK_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <elf.h>
 #define __NEED_size_t
+#define __NEED_uint32_t
 #include <bits/alltypes.h>
 
 #if UINTPTR_MAX > 0xffffffff
@@ -11,6 +16,8 @@
 #define ElfW(type) Elf32_ ## type
 #endif
 
+#include <bits/link.h>
+
 struct dl_phdr_info {
        ElfW(Addr) dlpi_addr;
        const char *dlpi_name;
@@ -22,6 +29,25 @@ struct dl_phdr_info {
        void *dlpi_tls_data;
 };
 
+struct link_map {
+       ElfW(Addr) l_addr;
+       char *l_name;
+       ElfW(Dyn) *l_ld;
+       struct link_map *l_next, *l_prev;
+};
+
+struct r_debug {
+       int r_version;
+       struct link_map *r_map;
+       ElfW(Addr) r_brk;
+       enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state;
+       ElfW(Addr) r_ldbase;
+};
+
 int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif