50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
// File: crn_platform.h
|
|
// See Copyright Notice and license at the end of inc/crnlib.h
|
|
#pragma once
|
|
|
|
#ifdef CRNLIB_PLATFORM_PC
|
|
const bool c_crnlib_little_endian_platform = true;
|
|
#else
|
|
const bool c_crnlib_little_endian_platform = false;
|
|
#endif
|
|
|
|
const bool c_crnlib_big_endian_platform = !c_crnlib_little_endian_platform;
|
|
|
|
inline bool crnlib_is_little_endian() { return c_crnlib_little_endian_platform; }
|
|
inline bool crnlib_is_big_endian() { return c_crnlib_big_endian_platform; }
|
|
|
|
inline bool crnlib_is_pc()
|
|
{
|
|
#ifdef CRNLIB_PLATFORM_PC
|
|
return true;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
inline bool crnlib_is_x86()
|
|
{
|
|
#ifdef CRNLIB_PLATFORM_PC_X86
|
|
return true;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
inline bool crnlib_is_x64()
|
|
{
|
|
#ifdef CRNLIB_PLATFORM_PC_X64
|
|
return true;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
bool crnlib_is_debugger_present(void);
|
|
void crnlib_debug_break(void);
|
|
void crnlib_output_debug_string(const char* p);
|
|
|
|
// actually in crnlib_assert.cpp
|
|
void crnlib_assert(const char* pExp, const char* pFile, unsigned line);
|
|
void crnlib_fail(const char* pExp, const char* pFile, unsigned line);
|