// vim: set ts=4 sw=4 tw=99 noet: // // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO"). // Copyright (C) The AMX Mod X Development Team. // // This software is licensed under the GNU General Public License, version 3 or higher. // Additional exceptions apply. For full license details, see LICENSE.txt or visit: // https://alliedmods.net/amxmodx-license #pragma once #include // Interface (HLSDK) #define PLATFORM_WINDOWNS_NAME "windows" #define PLATFORM_LINUX_NAME "linux" #define PLATFORM_MAC_NAME "mac" #if defined(WIN32) # ifndef PLATFORM_WINDOWS # define PLATFORM_WINDOWS 1 # endif # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN # endif # include # include # include # define PLATFORM_LIB_EXT "dll" # define PLATFORM_NAME PLATFORM_WINDOWNS_NAME # define PLATFORM_SEP_CHAR '\\' # define PLATFORM_SEP_ALTCHAR '/' # define PLATFORM_EXTERN_C extern "C" __declspec(dllexport) #elif defined(__linux__) || defined(__APPLE__) # if defined(__linux__) # define PLATFORM_LINUX 1 # define PLATFORM_LIB_EXT "so" # define PLATFORM_NAME PLATFORM_LINUX_NAME # define PLATFORM_COMPAT_ALT PLATFORM_MAC_NAME # elif defined(__APPLE__) # define PLATFORM_APPLE 1 # define PLATFORM_LIB_EXT "dylib" # define PLATFORM_NAME PLATFORM_MAC_NAME # define PLATFORM_COMPAT_ALT PLATFORM_LINUX_NAME # endif # ifndef PLATFORM_POSIX # define PLATFORM_POSIX 1 # endif # include # include # include # include # include # include # include # if defined(PLATFORM_APPLE) # include # endif # define PLATFORM_SEP_CHAR '/' # define PLATFORM_SEP_ALTCHAR '\\' # define PLATFORM_EXTERN_C extern "C" __attribute__((visibility("default"))) # define WINAPI #endif #define PLATFORM_MAX_PATH 260 #if defined PLATFORM_WINDOWS typedef HANDLE DirHandle; #elif defined PLATFORM_POSIX typedef DIR* DirHandle; #endif