Files
mir_server/sdk/public/_osdef.h
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

477 lines
11 KiB
C

#ifndef _WYL_OS___DEFINITION_H_
#define _WYL_OS___DEFINITION_H_
/* 去掉MFC的定义
#ifdef _WIN32_WINNT
#if (_WIN32_WINNT < 0x0400)
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif //
#else
#define _WIN32_WINNT 0x0400
#endif
*/
#ifdef WIN32
#ifndef CONFIG_USE_WIN_SOCKET
#define CONFIG_USE_WIN_SOCKET
#endif
typedef __int64 int64;
typedef __int32 int32;
typedef __int16 int16;
typedef __int8 int8;
typedef unsigned __int64 uint64;
typedef unsigned __int32 uint32;
typedef unsigned __int16 uint16;
typedef unsigned __int8 uint8;
#include <windows.h>
#ifndef STDCALL
#define STDCALL __stdcall
#endif
#define PTHREADRET void
#define I64FORMAT "%I64d"
#define U64FORMAT "%I64u"
#else
#ifndef _MTICK64
#define _MTICK64
#endif
#ifndef TOLUA_RELEASE
#define TOLUA_RELEASE
#endif
#ifndef _ENABLE_OBJ_COUNT_STATICS_
#define _ENABLE_OBJ_COUNT_STATICS_
#endif
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <pthread.h>
#include <semaphore.h>
#include <string.h>
#include <stdio.h>
#include <sched.h>
#include <termios.h>
#include <fcntl.h>
#include <errno.h>
#include <assert.h>
#include <stddef.h>
#include <netinet/tcp.h>
#include <stdlib.h>
//#include <system.h>
#ifndef CONFIG_USE_LINUX_SOCKET
#define CONFIG_USE_LINUX_SOCKET
#endif
#ifndef __max
#define __max(x,y) ((x) < (y) ? (y):(x))
#endif
#ifndef __min
#define __min(x,y) ((x) < (y) ? (x):(y))
#endif
#ifndef _tcslen
#define _tcslen strlen
#endif
#ifndef _stprintf
#define _stprintf sprintf
#endif
#ifndef sprintf_s
#define sprintf_s snprintf
#endif
#ifndef _tcscpy
#define _tcscpy strcpy
#endif
#define OutputDebugString(s) fprintf( stderr, "%s", s)
#define SetConsoleTitle(input) printf( "%c]0;%s%c", '\033', input, '\007');
#ifndef _stprintf_s
#define _stprintf_s sprintf
#endif
#ifndef _tcscpy_s
#define _tcscpy_s strcpy
#endif
#include <stdint.h>
#ifndef uint64_t
#ifdef __linux__
#include <linux/types.h>
#endif
#endif
#define CoInitialize(x);
#define CoUninitialize(x);
//#define UninitDefMsgOut(x);
#define _setmbcp(x);
typedef int64_t int64;
typedef int32_t int32;
typedef int16_t int16;
typedef int8_t int8;
typedef uint64_t uint64;
typedef uint32_t uint32;
typedef uint16_t uint16;
typedef uint8_t uint8;
//typedef int64 __int64 ;
typedef int32 __int32 ;
typedef int16 __int16 ;
typedef int8 __int8 ;
typedef void *HANDLE;
typedef HANDLE *PHANDLE;
//#undef FAR
#undef NEAR
//#define FAR far
#define NEAR near
#ifndef CONST
#define CONST const
#endif
#define VOID void
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef NULL
#define NULL 0
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define INFINITE 0xFFFFFFFF
// cross platform for wylib
typedef unsigned int DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
typedef unsigned char byte;
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BOOL *PBOOL;
typedef BOOL *LPBOOL;
typedef BYTE *PBYTE;
typedef BYTE *LPBYTE;
typedef int *PINT;
typedef int *LPINT;
typedef WORD *PWORD;
typedef WORD *LPWORD;
typedef long *LPLONG;
typedef DWORD *PDWORD;
typedef DWORD *LPDWORD;
typedef DWORD *DWORD_PTR;
typedef DWORD COLORREF;
typedef void *LPVOID;
typedef CONST BYTE *LPCBYTE;
typedef CONST void *LPCVOID;
typedef void *PVOID;
typedef char CHAR;
typedef signed char INT8;
typedef unsigned char UCHAR;
typedef unsigned char UINT8;
typedef unsigned char BYTE;
typedef short SHORT;
typedef signed short INT16;
typedef unsigned short USHORT;
typedef unsigned short UINT16;
typedef unsigned short WORD;
typedef int INT;
typedef signed int INT32;
typedef unsigned int UINT;
typedef unsigned int UINT32;
typedef long long LONG;
typedef unsigned long long ULONG;
typedef int64_t LONGLONG;
typedef int64_t LONG64;
typedef int64_t INT64;
typedef uint64_t ULONGLONG;
typedef uint64_t DWORDLONG;
typedef uint64_t ULONG64;
typedef uint64_t DWORD64;
typedef uint64_t UINT64;
typedef int64_t LONG_PTR;
typedef uint64_t ULONG_PTR;
typedef unsigned int *PUINT;
typedef double DOUBLE;
typedef long long * PINT64;
typedef CHAR * LPSTR ;
typedef long long __int64 ;
typedef ULONGLONG * PULONGLONG;
typedef struct _POINTL
{
DWORD x;
DWORD y;
} POINT, *PPOINT, *NPPOINT, *LPPOINT;
//#define _ENABLE_OBJ_COUNT_STATICS_ 1
#define GetLastError() errno
#define WSAGetLastError() errno
typedef uint64_t UINT_PTR, *PUINT_PTR;
typedef int64_t INT_PTR, *PINT_PTR;
#ifdef __x86_64__
//typedef int64_t INT_PTR, *PINT_PTR;
//#define offsetof(s,m) (size_t)( (ptrdiff_t)&reinterpret_cast<const volatile char&>((((s *)0)->m)) )
#elif __i386__
//#define offsetof(s,m) (size_t)&reinterpret_cast<const volatile char&>((((s *)0)->m))
//typedef int INT_PTR, *PINT_PTR;
//typedef unsigned int UINT_PTR, *PUINT_PTR;
#endif
#ifdef UNICODE
typedef wchar_t TCHAR ;
#define _vsntprintf vswprintf
//#define wstrchr _tcschr;
#else
typedef char* LPTSTR;
typedef CONST CHAR *LPCSTR, *PCSTR;
typedef LPCSTR LPCTSTR;
typedef char TCHAR ;
#define _vsntprintf vsnprintf
#define _tcscmp strcmp
#define _tcschr strchr
#define _tcsncmp strncmp
#define _tcscat strcat
#define _tcscpy strcpy
#define _stscanf sscanf
#define _tcsncpy strncpy
#define _tcsnicmp strncasecmp
#define _tcsncicmp strncasecmp
#define _tcsicmp strcasecmp
#define _stricmp strcasecmp
#define _tcsstr strstr
//#define strchr _tcschr;
#endif
#define ExitThread pthread_exit
#define __forceinline inline
#include<time.h>
#ifdef __x86_64__
#define __time64_t time_t
#else
#define __time32_t time_t
#endif
#ifdef __x86_64__
#define _mktime64 mktime
#else
#define _mktime32 mktime
#endif
#ifdef __x86_64__
#define _localtime64 localtime_r
#else
#define _localtime32 localtime_r
#endif
#define LOBYTE(w) ((BYTE)(((DWORD)(w)) & 0xff))
#define HIBYTE(w) ((BYTE)((((DWORD)(w)) >> 8) & 0xff))
#define HIWORD(l) ((WORD)((((DWORD)(l)) >> 16) & 0xffff))
#define LOWORD(l) ((WORD)(((DWORD)(l)) & 0xffff))
#define MAKELONG(a, b) ((LONG)(((WORD)(((DWORD)(a)) & 0xffff)) | ((DWORD)((WORD)(((DWORD)(b)) & 0xffff))) << 16))
#define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD)(b)) & 0xff))) << 8))
#define ULONG64 UINT64
#define LONG64 INT64
#define MAXULONG64 ((ULONG64)~((ULONG64)0))
#define MAXLONG64 ((LONG64)(MAXULONG64 >> 1))
#define MINLONG64 ((LONG64)~MAXLONG64)
#define MAXUINT ((UINT)~((UINT)0))
#define MAXINT ((INT)(MAXUINT >> 1))
#define MININT ((INT)~MAXINT)
#define MAXBYTE 0xff
#ifndef STDCALL
#define STDCALL
#endif
#ifndef WINAPI
#define WINAPI
#endif
#define _T(x) x
#define ZeroMemory(Destination,Length) memset((Destination),0,(Length))
#define _tcsftime strftime
#define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)
#ifndef CHAR_BIT
#define CHAR_BIT 8
#endif
#define _tprintf printf
#define _sntprintf snprintf
#define _snprintf snprintf
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
#define InterlockedIncrement(x) __sync_add_and_fetch((x),1)
#define InterlockedDecrement(x) __sync_sub_and_fetch((x),1)
#define InterlockedCompareExchange(x, y,z) __sync_val_compare_and_swap((x),(z),(y))
#define InterlockedExchange(x, y) __sync_lock_test_and_set((x), (y))
#define InterlockedExchangeAdd(x,y) __sync_add_and_fetch((x),(y))
typedef unsigned int (*PTHREAD_START_ROUTINE )(void * lpThreadParameter );
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
#define __try try
#define __catch catch
#define __finally finally
#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
#define PTHREADRET void*
//Some Api From
#define INVALID_HANDLE_VALUE ((long)-1)
#define CopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
#define IsDebuggerPresent(x) 0
#define DebugBreak(x)
#define GetCurrentThreadId() syscall(SYS_gettid)
#define _atoi64(v) strtoll(v, NULL, 10)
#define _getts gets
typedef CHAR* PCHAR;
#ifndef INT_MAX
#define INT_MAX 2147483647 /* maximum (signed) int value */
#endif
#define SetCurrentDirectory chdir
#define DeleteFileA remove
#define DUMMYSTRUCTNAME
#if defined(MIDL_PASS)
typedef struct _LARGE_INTEGER
{
#else // MIDL_PASS
typedef union _LARGE_INTEGER
{
struct
{
DWORD LowPart;
DWORD HighPart;
} DUMMYSTRUCTNAME;
struct
{
DWORD LowPart;
DWORD HighPart;
} u;
#endif // MIDL_PASS
LONGLONG QuadPart;
} LARGE_INTEGER;
#define __declspec(dllexport)
#define TOLUA_RELEASE
#define RTL_CRITICAL_SECTION pthread_mutex_t
#define CRITICAL_SECTION pthread_mutex_t
#define LPCRITICAL_SECTION pthread_mutex_t *
#define EnterCriticalSection pthread_mutex_lock
#define LeaveCriticalSection pthread_mutex_unlock
#define TryEnterCriticalSection(x) (!pthread_mutex_trylock(x))
#define InitializeCriticalSection(x) pthread_mutex_init((x), (NULL))
#define DeleteCriticalSection pthread_mutex_destroy
#define CALLBACK __attribute__((stdcall))
#define EXPORTCALL __attribute__((stdcall))
#define __cdecl __attribute__((cdecl))
#define __stdcall __attribute__((stdcall))
#define closesocket(x) close((x))
typedef struct _COORD {
SHORT X;
SHORT Y;
} COORD, *PCOORD;
#define ioctlsocket ioctl
#define ERROR_SUCCESS 0
typedef struct sockaddr SOCKADDR;
#ifndef SOCKET_ERROR
#define SOCKET_ERROR -1
#endif
#define GetCurrentProcessId() getpid()
#define I64FORMAT "%lld"
#define U64FORMAT "%llu"
#endif
#include "../../system/SysApi.h"
#include "../../system/LinuxTimer.h"
#endif // _WYL_OS_DEFINITION_H_