// stdafx.h : include file for standard system include files,
//  or project specific include files that are used frequently, but
//      are changed infrequently
//

#if !defined(AFX_STDAFX_H__F20BA9C4_CFD5_11D2_BF75_00A0C949ADAC__INCLUDED_)
#define AFX_STDAFX_H__F20BA9C4_CFD5_11D2_BF75_00A0C949ADAC__INCLUDED_

#define LOCKRESOURCES   CTestResource::LockResources(__FILE__,__LINE__)
#define UNLOCKRESOURCES CTestResource::UnlockResources(__FILE__,__LINE__)

#ifdef _WIN32
    #undef NDEBUG

    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000

    #define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers

    #include <winsock2.h>
    #include <windows.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <direct.h>
    #define cPathsep '\\'
    #include <io.h>
    #include <process.h>
    #define vsnprintf _vsnprintf

    #include <io.h>
    #define RUNTHREAD(f,p,cb) RunThread(f,p,cb)
    #define POPEN _popen    
    #define PCLOSE _pclose    
    #define CALLBACK    __stdcall               // Calling conventions for a callback
	#include <malloc.h> // _heapchk
    //#define CHECKHEAP CeCosTestUtils::EnterCriticalSection();assert(_HEAPOK==_heapchk());CeCosTestUtils::LeaveCriticalSection()
    #define CHECKHEAP assert(_HEAPOK==_heapchk())
	#define CLOSESOCKET(s) if(-1!=s)closesocket(s);s=-1
    #define strnccmp stricmp

    //#define errno GetLastError()
#else
    #include <termios.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <dirent.h>
    #include <sys/stat.h>
    #include <sys/file.h>
    #include <unistd.h>
    #include <sys/socket.h> // socket etc...
    #include <netinet/in.h> // inet_addr
    #include <arpa/inet.h>  // inet_addr
    #include <netdb.h>      // gethostbyname
    #include <sys/time.h>
    #include <signal.h>
    #include <pthread.h>
    #include <fcntl.h>
    #define cPathsep '/'
    #include <malloc.h>     // malloc   
    #include <stdlib.h>     // atoi
    #include <errno.h>
    #define  RUNTHREAD(f,p,cb) RunThread(&f,p,cb)
    #define POPEN popen    
    #define PCLOSE pclose    
    #define CALLBACK
	#define  min(a,b) ((a)<(b)?a:b)
	#define  max(a,b) ((a)>(b)?a:b)
	#define CHECKHEAP
	#define CLOSESOCKET(s) if(-1!=s)close(s);s=-1
    #define strnccmp strcasecmp
#endif
#endif // !defined(AFX_STDAFX_H__F20BA9C4_CFD5_11D2_BF75_00A0C949ADAC__INCLUDED_)

#include <string.h>
#include <time.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <ctype.h>
#include <fcntl.h>
#include <string.h>
#include <assert.h>
#include <malloc.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
#include <stdarg.h>     // vsnprintf

#include <assert.h> // assert
#include <string.h> // strcpy
#include <stdarg.h>
#include <stdio.h>

