C++ Distributed Hash Table
include
opendht
def.h
1
#pragma once
2
3
// Generic helper definitions for shared library support
4
#if defined _WIN32 || defined __CYGWIN__
5
#define OPENDHT_IMPORT __declspec(dllimport)
6
#define OPENDHT_EXPORT __declspec(dllexport)
7
#define OPENDHT_HIDDEN
8
#else
9
#define OPENDHT_IMPORT __attribute__ ((visibility ("default")))
10
#define OPENDHT_EXPORT __attribute__ ((visibility ("default")))
11
#define OPENDHT_HIDDEN __attribute__ ((visibility ("hidden")))
12
#endif
13
14
// Now we use the generic helper definitions above to define OPENDHT_PUBLIC and OPENDHT_LOCAL.
15
// OPENDHT_PUBLIC is used for the public API symbols. It either DLL imports or DLL exports (or does nothing for static build)
16
// OPENDHT_LOCAL is used for non-api symbols.
17
18
#ifdef opendht_EXPORTS // defined if OpenDHT is compiled as a shared library
19
#ifdef OPENDHT_BUILD // defined if we are building the OpenDHT shared library (instead of using it)
20
#define OPENDHT_PUBLIC OPENDHT_EXPORT
21
#else
22
#define OPENDHT_PUBLIC OPENDHT_IMPORT
23
#endif // OPENDHT_BUILD
24
#define OPENDHT_LOCAL OPENDHT_HIDDEN
25
#else // opendht_EXPORTS is not defined: this means OpenDHT is a static lib.
26
#define OPENDHT_PUBLIC
27
#define OPENDHT_LOCAL
28
#endif // opendht_EXPORTS
29
30
31
#ifdef opendht_c_EXPORTS // defined if OpenDHT is compiled as a shared library
32
#ifdef OPENDHT_C_BUILD // defined if we are building the OpenDHT shared library (instead of using it)
33
#define OPENDHT_C_PUBLIC OPENDHT_EXPORT
34
#else
35
#define OPENDHT_C_PUBLIC OPENDHT_IMPORT
36
#endif // OPENDHT_BUILD
37
#define OPENDHT_C_LOCAL OPENDHT_HIDDEN
38
#else // opendht_EXPORTS is not defined: this means OpenDHT is a static lib.
39
#define OPENDHT_C_PUBLIC
40
#define OPENDHT_C_LOCAL
41
#endif // opendht_EXPORTS
42
43
// bytes
44
#define HASH_LEN 20u
Generated on Sat May 7 2022 12:00:00 by
1.8.14