/* SPDX-License-Identifier: MIT */ /* Copyright 2008 VMware, Inc. */ /** * Auto-detect the operating system family. * * See also: * - http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html * - echo | gcc -dM -E - | sort * - http://msdn.microsoft.com/en-us/library/b0084kay.aspx * * @author José Fonseca */ #ifndef DETECT_OS_H #define DETECT_OS_H #if defined(__linux__) #define DETECT_OS_LINUX 1 #define DETECT_OS_UNIX 1 #endif /* * Android defines __linux__, so DETECT_OS_LINUX and DETECT_OS_UNIX will * also be defined. */ #if defined(ANDROID) #define DETECT_OS_ANDROID 1 #endif #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #define DETECT_OS_FREEBSD 1 #define DETECT_OS_BSD 1 #define DETECT_OS_UNIX 1 #endif #if defined(__OpenBSD__) #define DETECT_OS_OPENBSD 1 #define DETECT_OS_BSD 1 #define DETECT_OS_UNIX 1 #endif #if defined(__NetBSD__) #define DETECT_OS_NETBSD 1 #define DETECT_OS_BSD 1 #define DETECT_OS_UNIX 1 #endif #if defined(__DragonFly__) #define DETECT_OS_DRAGONFLY 1 #define DETECT_OS_BSD 1 #define DETECT_OS_UNIX 1 #endif #if defined(__GNU__) #define DETECT_OS_HURD 1 #define DETECT_OS_UNIX 1 #endif #if defined(__sun) #define DETECT_OS_SOLARIS 1 #define DETECT_OS_UNIX 1 #endif #if defined(__APPLE__) #define DETECT_OS_APPLE 1 #define DETECT_OS_UNIX 1 #endif #if defined(_WIN32) || defined(WIN32) #define DETECT_OS_WINDOWS 1 #endif #if defined(__HAIKU__) #define DETECT_OS_HAIKU 1 #define DETECT_OS_UNIX 1 #endif #if defined(__CYGWIN__) #define DETECT_OS_CYGWIN 1 #define DETECT_OS_UNIX 1 #endif /* * Make sure DETECT_OS_* are always defined, so that they can be used with #if */ #ifndef DETECT_OS_ANDROID #define DETECT_OS_ANDROID 0 #endif #ifndef DETECT_OS_APPLE #define DETECT_OS_APPLE 0 #endif #ifndef DETECT_OS_BSD #define DETECT_OS_BSD 0 #endif #ifndef DETECT_OS_CYGWIN #define DETECT_OS_CYGWIN 0 #endif #ifndef DETECT_OS_DRAGONFLY #define DETECT_OS_DRAGONFLY 0 #endif #ifndef DETECT_OS_FREEBSD #define DETECT_OS_FREEBSD 0 #endif #ifndef DETECT_OS_HAIKU #define DETECT_OS_HAIKU 0 #endif #ifndef DETECT_OS_HURD #define DETECT_OS_HURD 0 #endif #ifndef DETECT_OS_LINUX #define DETECT_OS_LINUX 0 #endif #ifndef DETECT_OS_NETBSD #define DETECT_OS_NETBSD 0 #endif #ifndef DETECT_OS_OPENBSD #define DETECT_OS_OPENBSD 0 #endif #ifndef DETECT_OS_SOLARIS #define DETECT_OS_SOLARIS 0 #endif #ifndef DETECT_OS_UNIX #define DETECT_OS_UNIX 0 #endif #ifndef DETECT_OS_WINDOWS #define DETECT_OS_WINDOWS 0 #endif #endif /* DETECT_OS_H */