more serialization stuff, still disabled under the cap_serialization flag. Other...
[dyninst.git] / dynutil / h / util.h
1
2
3 #ifndef __UTIL_H__
4 #define __UTIL_H__
5
6 #include "dyntypes.h"
7 namespace Dyninst {
8
9 #if !defined(DLLEXPORT)
10 #if defined (_MSC_VER)
11    /* If we're on Windows, we need to explicetely export these functions: */
12       #if defined(DLL_BUILD)
13          #define DLLEXPORT __declspec(dllexport)
14       #else
15          #define DLLEXPORT __declspec(dllimport)   
16       #endif
17 #else
18       #define DLLEXPORT
19 #endif
20 #endif
21
22 #if !defined(DLLEXPORT_COMMON)
23 #if defined (_MSC_VER)
24 /* If we're on Windows, we need to explicetely export these functions: */
25    #if defined(DLL_BUILD)
26       #define DLLEXPORT_COMMON __declspec(dllexport)
27    #else
28       #define DLLEXPORT_COMMON __declspec(dllimport)   
29    #endif
30 #else
31    #define DLLEXPORT_COMMON
32 #endif
33 #endif
34
35
36
37
38 DLLEXPORT_COMMON unsigned addrHashCommon(const Address &addr);
39 DLLEXPORT_COMMON unsigned ptrHash(const void * addr);
40 DLLEXPORT_COMMON unsigned ptrHash(void * addr);
41
42 DLLEXPORT_COMMON unsigned addrHash(const Address &addr);
43 DLLEXPORT_COMMON unsigned addrHash4(const Address &addr);
44 DLLEXPORT_COMMON unsigned addrHash16(const Address &addr);
45
46 DLLEXPORT_COMMON unsigned hash(const std::string &s);
47 DLLEXPORT_COMMON std::string itos(int);
48 DLLEXPORT_COMMON std::string utos(unsigned);
49
50 #define WILDCARD_CHAR '?'
51 #define MULTIPLE_WILDCARD_CHAR '*'
52
53 DLLEXPORT_COMMON bool wildcardEquiv(const std::string &us, const std::string &them, bool checkCase = false );
54
55 }
56 #endif