NDS3  1.0.0
API reference manual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
scansymbols.h
1 #ifndef SYMBOLS_H
2 #ifndef _GNU_SOURCE
3 #error You must define _GNU_SOURCE!
4 #endif
5 #define SYMBOLS_H
6 #include <stdlib.h>
7 
8 #include <map>
9 #include <string>
10 
11 typedef enum {
12  UNKNOWN_BIND = 0,
13  LOCAL_SYMBOL = 1,
14  GLOBAL_SYMBOL = 2,
15  WEAK_SYMBOL = 3
16 } symbol_bind;
17 
18 typedef enum {
19  UNKNOWN_TYPE = 0,
20  FUNC_SYMBOL = 4,
21  OBJECT_SYMBOL = 5,
22  COMMON_SYMBOL = 6,
23  THREAD_SYMBOL = 7
24 } symbol_type;
25 
26 struct symbolProperties
27 {
28  std::string m_libraryPath;
29  std::string m_libraryName;
30  symbol_bind m_bind;
31  symbol_type m_type;
32  const void* m_pAddress;
33 };
34 
35 typedef std::multimap<std::string, symbolProperties> symbolsList_t;
36 
37 symbolsList_t getSymbols();
38 
39 #endif /* SYMBOLS_H */