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