aboutsummaryrefslogtreecommitdiffstats
path: root/yarp/defines.h
blob: c08d578422dd5bd00b863ecb93bcc8969e56f9bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef YARP_DEFINES_H
#define YARP_DEFINES_H

// This file should be included first by any *.h or *.c in YARP

#include <ctype.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>

// YP_EXPORTED_FUNCTION
#ifndef YP_EXPORTED_FUNCTION
#   ifdef YP_EXPORT_SYMBOLS
#       ifdef _WIN32
#          define YP_EXPORTED_FUNCTION __declspec(dllexport) extern
#       else
#          define YP_EXPORTED_FUNCTION __attribute__((__visibility__("default"))) extern
#       endif
#   else
#       define YP_EXPORTED_FUNCTION
#   endif
#endif

// YP_ATTRIBUTE_UNUSED
#if defined(__GNUC__)
#   define YP_ATTRIBUTE_UNUSED __attribute__((unused))
#else
#   define YP_ATTRIBUTE_UNUSED
#endif

// inline
#if defined(_MSC_VER) && !defined(inline)
#   define inline __inline
#endif

// Windows versions before 2015 use _snprintf
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#   define snprintf _snprintf
#endif

int yp_strncasecmp(const char *string1, const char *string2, size_t length);

#endif