1//
2// Created by profanter on 19.07.16.
3//
4
5#ifndef MDNSD_MDNSD_COMMON_H
6#define MDNSD_MDNSD_COMMON_H
7
8#ifndef _XOPEN_SOURCE
9# define _XOPEN_SOURCE 500
10#endif
11#ifndef _DEFAULT_SOURCE
12# define _DEFAULT_SOURCE 1
13#endif
14
15#if defined __APPLE__
16// required for ip_mreq
17#define _DARWIN_C_SOURCE 1
18#endif
19
20#define MDNSD_free(ptr) free(ptr)
21#define MDNSD_malloc(size) malloc(size)
22#define MDNSD_calloc(num, size) calloc(num, size)
23#define MDNSD_realloc(ptr, size) realloc(ptr, size)
24
25#define MDNSD_LOGLEVEL ${MDNSD_LOGLEVEL}
26
27/**
28 * Function Export
29 * --------------- */
30/* On Win32: Define MDNSD_DYNAMIC_LINKING and MDNSD_DYNAMIC_LINKING_EXPORT in order to
31   export symbols for a DLL. Define MDNSD_DYNAMIC_LINKING only to import symbols
32	from a DLL.*/
33#cmakedefine MDNSD_DYNAMIC_LINKING
34#ifdef _WIN32
35# ifdef MDNSD_DYNAMIC_LINKING_EXPORT
36#  ifdef __GNUC__
37#   define MDNSD_EXPORT __attribute__ ((dllexport))
38#  else
39#   define MDNSD_EXPORT __declspec(dllexport)
40#  endif
41# else
42#  ifdef __GNUC__
43#   define MDNSD_EXPORT __attribute__ ((dllexport))
44#  else
45#   define MDNSD_EXPORT __declspec(dllimport)
46#  endif
47# endif
48#else
49# if __GNUC__ || __clang__
50#  define MDNSD_EXPORT __attribute__ ((visibility ("default")))
51# else
52#  define MDNSD_EXPORT
53# endif
54#endif
55
56/**
57 * Inline Functions
58 * ---------------- */
59#ifdef _MSC_VER
60# define MDNSD_INLINE __inline
61#else
62# define MDNSD_INLINE inline
63#endif
64
65#endif //MDNSD_MDNSD_COMMON_H
66