about summary refs log tree commit diff stats
path: root/src/librarian/library_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/librarian/library_private.h')
-rwxr-xr-xsrc/librarian/library_private.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/librarian/library_private.h b/src/librarian/library_private.h
index ebbe1529..9e1d3381 100755
--- a/src/librarian/library_private.h
+++ b/src/librarian/library_private.h
@@ -1,6 +1,7 @@
 #ifndef __LIBRARY_PRIVATE_H_
 #define __LIBRARY_PRIVATE_H_
 #include <stdint.h>
+#include <elf.h>
 
 #include "custommem.h"
 #include "khash.h"
@@ -100,4 +101,19 @@ typedef struct map_onedata_s {
 
 int getSymbolInMaps(library_t *lib, const char* name, int noweak, uintptr_t *addr, uintptr_t *size, int version, const char* vername, int local);  // Add bridges to functions
 
+typedef struct linkmap_s {
+    // actual struct link_map
+    Elf64_Addr  l_addr;
+    char*       l_name;
+    Elf64_Dyn*  l_ld;
+    struct linkmap_s *l_next, *l_prev;
+    // custom
+    library_t*  l_lib;
+
+} linkmap_t;
+
+linkmap_t* getLinkMapLib(library_t* lib);
+linkmap_t* addLinkMapLib(library_t* lib);
+void removeLinkMapLib(library_t* lib);
+
 #endif //__LIBRARY_PRIVATE_H_