// port.h: portability helper // ////////////////////////////////////////////////////////////////////// #if !defined PORT_H #define PORT_H #include "archtypes.h" // DAL #ifdef _WIN32 // Insert your headers here #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #define WIN32_EXTRA_LEAN #include "winsani_in.h" #include #include "winsani_out.h" #include #include #include #define snprintf _snprintf #define vsnprintf _vsnprintf #else // _WIN32 #include #include #include // exit() #include // strncpy() #include // tolower() #include #include #include #include typedef unsigned char BYTE; typedef short int WORD; typedef unsigned int DWORD; typedef int32 LONG; //typedef uint32 ULONG; #ifndef ARCHTYPES_H typedef uint32 ULONG; #endif typedef void *HANDLE; #ifndef HMODULE typedef void *HMODULE; #endif typedef char * LPSTR; #define __cdecl //const int MAX_PATH = PATH_MAX; #define MAX_PATH PATH_MAX #ifdef LINUX typedef struct POINT_s { int x; int y; } POINT; typedef void *HINSTANCE; typedef void *HWND; typedef void *HDC; typedef void *HGLRC; typedef struct RECT_s { int left; int right; int top; int bottom; } RECT; #endif #ifdef __cplusplus //#undef FALSE //#undef TRUE #ifdef OSX //#else //const bool FALSE = false; //const bool TRUE = true; #endif #endif #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif #ifdef __cplusplus inline int ioctlsocket( int d, int cmd, uint32 *argp ) { return ioctl( d, cmd, argp ); } inline int closesocket( int fd ) { return close( fd ); } inline char * GetCurrentDirectory( size_t size, char * buf ) { return getcwd( buf, size ); } inline int WSAGetLastError() { return errno; } inline void DebugBreak( void ) { exit( 1 ); } #endif extern char g_szEXEName[ 4096 ]; #define _snprintf snprintf #if defined(OSX) #define SO_ARCH_SUFFIX ".dylib" #else #if defined ( __x86_64__ ) #define SO_ARCH_SUFFIX "_amd64.so" #else #define SO_ARCH_SUFFIX ".so" #endif #endif #endif #endif // PORT_H