Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 #ifndef _ink_apidefs_h_
00025 #define _ink_apidefs_h_
00026 
00027 #define inkliapi
00028 #define inkcoreapi
00029 #define ink_undoc_liapi
00030 #define ink_undoc_coreapi inkcoreapi
00031 
00032 #if defined(__GNUC__) || defined(__clang__)
00033 #ifndef likely
00034 #define likely(x)       __builtin_expect (!!(x), 1)
00035 #endif
00036 #ifndef unlikely
00037 #define unlikely(x)     __builtin_expect (!!(x), 0)
00038 #endif
00039 #else
00040 #ifndef likely
00041 #define likely(x)       (x)
00042 #endif
00043 #ifndef unlikely
00044 #define unlikely(x)     (x)
00045 #endif
00046 #endif
00047 
00048 #if !defined(TS_NORETURN)
00049 #if defined(__GNUC__) || defined(__clang__)
00050 #define TS_NORETURN __attribute__((noreturn))
00051 #else
00052 #define TS_NORETURN
00053 #endif
00054 #endif
00055 
00056 
00057 
00058 #if !defined(TS_PRINTFLIKE)
00059 #if defined(__GNUC__) || defined(__clang__)
00060 #define TS_PRINTFLIKE(fmt, arg) __attribute__((format(printf, fmt, arg)))
00061 #else
00062 #define TS_PRINTFLIKE(fmt, arg)
00063 #endif
00064 #endif
00065 
00066 #if !defined(TS_NONNULL)
00067 #if defined(__GNUC__) || defined(__clang__)
00068 #define TS_NONNULL(...) __attribute__((nonnull (__VA_ARGS__)))
00069 #else
00070 #define TS_NONNULL(...)
00071 #endif
00072 #endif
00073 
00074 #if !defined(TS_INLINE)
00075 #define TS_INLINE inline
00076 #endif
00077 
00078 #endif