// Copyright 2009 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license_dolphin.txt file included. #pragma once #include #include #include "../types.h" // Will fail to compile on a non-array: template constexpr size_t ArraySize(T (&arr)[N]) { return N; } #ifndef _WIN32 // go to debugger mode #define Crash() \ { \ __builtin_trap(); \ } #else // WIN32 // Function Cross-Compatibility #define strcasecmp _stricmp #define strncasecmp _strnicmp #define unlink _unlink #define vscprintf _vscprintf // 64 bit offsets for Windows #define fseeko _fseeki64 #define ftello _ftelli64 #define atoll _atoi64 #define stat _stat64 #define fstat _fstat64 #define fileno _fileno extern "C" { __declspec(dllimport) void __stdcall DebugBreak(void); } #define Crash() \ { \ DebugBreak(); \ } #endif // WIN32 ndef // Wrapper function to get last strerror(errno) string. // This function might change the error code. std::string LastStrerrorString(); #ifdef _WIN32 // Wrapper function to get GetLastError() string. // This function might change the error code. std::string GetLastErrorString(); #endif