1 #ifndef NU_DEFINES_H
2 #define NU_DEFINES_H
3 
4 /** @file
5  */
6 
7 /** @defgroup defines Defines
8  */
9 
10 #ifndef NU_EXPORT
11 
12 # ifdef _WIN32
13 #  define NU_EXPORT __declspec(dllexport)
14 
15 # elif __GNUC__ >= 4
16 #  ifdef NU_BUILD_STATIC
17 #   define NU_EXPORT __attribute__ ((visibility ("hidden")))
18 #  else
19 #   define NU_EXPORT __attribute__ ((visibility ("default")))
20 #  endif
21 
22 # else
23 #  define NU_EXPORT
24 # endif
25 
26 #endif /* NU_EXPORT */
27 
28 /** Integer version of Unicode specification implemented. 900 == 9.0.0
29  *
30  * @ingroup defines
31  */
32 #define NU_UNICODE_VERSION 1000
33 /** Special limit value to unset limit on string. Used internally by nunicode.
34  *
35  * @ingroup defines
36  */
37 #define NU_UNLIMITED ((const void *)(-1))
38 
39 #ifdef _MSC_VER
40 #define ssize_t ptrdiff_t
41 #endif
42 
43 #endif /* NU_DEFINES_H */
44