#ifdef WIN32
#define WaitThread(x) {WaitForSingleObject(x, INFINITE);CloseHandle(x);}
#define Notify() {SetEvent(m_hEventNotify);}
#define DoSend() {SetEvent(m_hEventSend);}
#else
#define WaitThread(x) pthread_join(x, NULL)
#define Notify() {pthread_mutex_lock(m_pMutexNotify);pthread_cond_signal(m_pCondNotify);pthread_mutex_unlock(m_pMutexNotify);}
#define DoSend() {pthread_cond_signal(&m_condSend);}
#endif
#ifdef WIN32
unsigned long flag = 1;
ioctlsocket(m_hSocket, FIONBIO, &flag);
#else
int flag = 1;
flag = fcntl(m_hSocket, F_GETFL, 0);
flag |= O_NONBLOCK;
fcntl(m_hSocket, F_SETFL, flag);
#endif
#ifdef WIN32
#pragma warning(disable:4389 4548 4296)
#endif
#ifdef WIN32
DWORD WINAPI CQueryManager::LogQueryThreadProc(void* pParam)
#else
#include <sys/time.h>
void* CQueryManager::LogQueryThreadProc(void* pParam)
#ifdef WIN32
#define millisecondSleep(milliseconds) Sleep((milliseconds))
#else
#include <unistd.h>
#define millisecondSleep(milliseconds) usleep(1000*(milliseconds))
#endif
#ifndef WIN32
typedef long long __int64;
#endif
#ifdef WIN32
localtime_s(result, timep);
#else
localtime_r(timep, result);
#endif
#ifdef WIN32
localtime_s(&local, &now);
gmtime_s(&gmt, &now);
#else
localtime_r(&now, &local);
gmtime_r(&now, &gmt);
#endif
bool CreateDir(const char* szDir)
{
#ifdef WIN32
return 0 == mkdir(szDir);
#else
return 0 == mkdir(szDir, 0777);
#endif
}
#ifdef WIN32
#define millisecondSleep(milliseconds) Sleep((milliseconds))
#else
#include <unistd.h>
#define millisecondSleep(milliseconds) usleep(1000*(milliseconds))
#endif
#ifdef WIN32
#else
signal(SIGTERM, sig_kill);
struct sigaction sa;
memset(&sa, 0, sizeof(sa));
sa.sa_handler = SIG_IGN;
sigaction(SIGPIPE, &sa, 0);
#endif
#ifdef WIN32
#else
if (bDaemon)
{
printf("Enter daemon mode\n");
init_daemon();
}
signal(SIGPIPE, SIG_IGN);
#endif
#ifdef WIN32
CloseHandle(m_hEventNotify);
#else
pthread_mutex_destroy(&m_mutexNotify);
pthread_cond_destroy(&m_condNotify);
#endif
#ifndef WIN32
#define _vsnprintf vsnprintf
#endif
#ifdef WIN32
int nErr = WSAGetLastError();
if (nErr != WSAEWOULDBLOCK)
#else
int nErr = errno;
if (nErr != EAGAIN)
#endif
#ifdef WIN32
#define socklen_t int
#define iovec WSABUF
#define iov_base buf
#define iov_len len
#else
typedef int SOCKET;
#define closesocket(x) ::close(x)
#ifndef INVALID_SOCKET
#define INVALID_SOCKET (-1)
#endif
#define SD_RECEIVE SHUT_RD
#define SD_SEND SHUT_WR
#define SD_BOTH SHUT_RDWR
#endif
#ifdef WIN32
#define thread_return_type DWORD __stdcall
#define millisecondSleep(milliseconds) Sleep(milliseconds)
#define threadHandle HANDLE
#else
#include <pthread.h>
#define thread_return_type void*
#include <unistd.h>
#define millisecondSleep(milliseconds) usleep(1000*(milliseconds))
#define threadHandle pthread_t
typedef void* ( *PTHREAD_START_ROUTINE)( void* lpThreadParameter );
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
#endif
#ifdef WIN32
int result = fstat(file->_file, &fileStat);
#else
int result = fstat(fileno(file), &fileStat);
#endif
#ifndef __WINDOWS_DEFINE_H__
#define __WINDOWS_DEFINE_H__
#ifdef WIN32
#pragma warning( disable: 4049 )
#pragma warning( disable: 4100 )
#pragma warning( disable: 4211 )
#pragma warning( disable: 4232 )
#pragma warning( disable: 4786 )
#pragma warning( disable: 4668 )
#ifndef NTDDI_WIN7SP1
#define NTDDI_WIN7SP1 0x06010100
#endif
#include <winsock2.h>
#include <windows.h>
#else
typedef long long __int64;
typedef long LONG;
typedef short SHORT;
typedef unsigned long DWORD;
typedef int BOOL;
typedef int HMODULE;
typedef unsigned char BYTE;
typedef unsigned char byte;
typedef unsigned short WORD;
#define DWORD_PTR DWORD
typedef unsigned short WCHAR;
typedef unsigned int UINT;
typedef const char* LPCTSTR;
typedef char* LPTSTR;
typedef const char* LPCSTR;
typedef char* LPSTR;
typedef char TCHAR;
typedef void* LPVOID;
#undef FALSE
#undef TRUE
#undef NULL
#define FALSE 0
#define TRUE 1
#define NULL 0
#define _ULONGLONG_
#ifndef _ULONGLONG_
typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
typedef LONGLONG *PLONGLONG;
typedef ULONGLONG *PULONGLONG;
#endif
typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT, *LPRECT;
typedef struct tagSIZE
{
LONG cx;
LONG cy;
} SIZE, *PSIZE, *LPSIZE;
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, *LPPOINT;
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
#define MAKELONG(a, b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
#define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
#define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
#ifndef MAX_PATH
#define MAX_PATH 256
#endif
#ifndef MAX_STRING
#define MAX_STRING 256
#endif
#endif
#ifndef ASSERT
#ifdef _DEBUG
#ifdef WIN32
#define ASSERT(f) if(!(f))_asm { int 3 };
#else
#include <cassert>
#define ASSERT(x) if(!(x))TRACE("ASSERT %s:%d!!!\n", __FILE__, __LINE__);
#endif
#else
#define ASSERT(x) ((void)0);
#endif
#endif
#ifdef WIN32
#define atoi64(x) _atoi64(x)
#else
#define atoi64(x) atoll(x)
#endif
#endif