libclod
C library for interacting with NBTs, region files, LOD data and other things.
Loading...
Searching...
No Matches
lib.h
Go to the documentation of this file.
1
9#ifndef CLOD_LIB_H
10#define CLOD_LIB_H
11
12#if defined(__GNUC__) // GCC and Clang
13 #if defined(_WIN32) // Windows - Clang
14 #define CLOD_API __declspec(dllexport)
15 #elif defined(__unix__) || defined(__APPLE__) // Unix - GCC/Clang
16 #define CLOD_API __attribute__((visibility("default")))
17 #else
18 #error "Unknown platform"
19 #endif
20
21 #define CLOD_NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
22 #define CLOD_USE_RETURN __attribute__((warn_unused_result))
23 #define CLOD_CONST __attribute__((const))
24 #define CLOD_PURE __attribute__((pure))
25 #define CLOD_INLINE __attribute__((always_inline))
26#else
27 #error "Unknown toolchain"
28#endif
29
30#endif