/** * @file osplatformutil.h * @author itas109 (itas109@qq.com) \n\n * Blog : https://blog.csdn.net/itas109 \n * Github : https://github.com/itas109 \n * QQ Group : 12951803 * @brief os platform util 操作系统平台工具 * @copyright The CSerialPort is Copyright (C) 2021 itas109. \n * Contact: itas109@qq.com \n\n * You may use, distribute and copy the CSerialPort under the terms of \n * GNU Lesser General Public License version 3, which is displayed below. */ #ifndef OSPLATFORMUTIL_H #define OSPLATFORMUTIL_H /* The operating system, must be one of: (I_OS_x) WIN - Win (Windows 2000/XP/Vista/7 and Windows Server 2003/2008) LINUX - Linux MAC - macOS, iOS, watchOS, tvOS ANDROID - Android FREEBSD - FreeBSD OPENBSD - OpenBSD SOLARIS - Sun Solaris AIX - AIX UNIX - Any UNIX BSD/SYSV system */ #define OS_PLATFORM_UTIL_VERSION 1.0.1.200418 // os platform // Windows #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || \ defined(__WIN64__) || defined(__NT__)) #define I_OS_WIN // LINUX #elif defined(__linux__) || defined(__linux) #define I_OS_LINUX // MAC #elif defined(__APPLE__) #define I_OS_MAC // ANDROID #elif defined(__ANDROID__) || defined(ANDROID) #define I_OS_ANDROID #define I_OS_LINUX // sun os #elif defined(__sun) || defined(sun) #define I_OS_SOLARIS // FREEBSD #elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) #ifndef __FreeBSD_kernel__ #define I_OS_FREEBSD #endif #define I_OS_FREEBSD_KERNEL // OPENBSD #elif defined(__OpenBSD__) #define I_OS_OPENBSD // IBM AIX #elif defined(_AIX) #define I_OS_AIX #else #error "not support this OS" #endif #define int64 int64_t #if defined(I_OS_WIN) #undef I_OS_UNIX #elif !defined(I_OS_UNIX) #define I_OS_UNIX #endif #endif // OSPLATFORMUTIL_H