Go to the documentation of this file.
32 #ifndef _INCLUDE_SOURCEMOD_PLATFORM_H_
33 #define _INCLUDE_SOURCEMOD_PLATFORM_H_
40 #if defined WIN32 || defined WIN64
41 #ifndef PLATFORM_WINDOWS
42 #define PLATFORM_WINDOWS 1
44 #if !defined WIN32_LEAN_AND_MEAN
45 #define WIN32_LEAN_AND_MEAN
48 #define snprintf _snprintf
53 #define strcasecmp strcmpi
54 #define strncasecmp strnicmp
57 #define PLATFORM_LIB_EXT "dll"
58 #define PLATFORM_MAX_PATH MAX_PATH
59 #define PLATFORM_SEP_CHAR '\\'
60 #define PLATFORM_SEP_ALTCHAR '/'
61 #define PLATFORM_EXTERN_C extern "C" __declspec(dllexport)
62 #if defined _MSC_VER && _MSC_VER >= 1400
63 #define SUBPLATFORM_SECURECRT
65 #elif defined __linux__ || defined __APPLE__
67 # define PLATFORM_LINUX 1
68 # define PLATFORM_LIB_EXT "so"
69 #elif defined __APPLE__
70 # define PLATFORM_APPLE 1
71 # define PLATFORM_LIB_EXT "dylib"
73 #ifndef PLATFORM_POSIX
74 # define PLATFORM_POSIX 1
81 #if defined PLATFORM_APPLE
82 #include <sys/syslimits.h>
84 #define PLATFORM_MAX_PATH PATH_MAX
85 #define PLATFORM_SEP_CHAR '/'
86 #define PLATFORM_SEP_ALTCHAR '\\'
87 #define PLATFORM_EXTERN_C extern "C" __attribute__((visibility("default")))
90 #if !defined SOURCEMOD_BUILD
91 #define SOURCEMOD_BUILD
94 #if !defined SM_ARRAYSIZE
95 #define SM_ARRAYSIZE(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
98 #endif //_INCLUDE_SOURCEMOD_PLATFORM_H_