Common.h
上传用户:jxpjxmjjw
上传日期:2009-12-07
资源大小:5877k
文件大小:3k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. // Copyright (C) 2004 Team Python
  2. //  
  3. // This program is free software; you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation; either version 2 of the License, or
  6. // (at your option) any later version.
  7. // 
  8. // This program is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. // GNU General Public License for more details.
  12. // 
  13. // You should have received a copy of the GNU General Public License
  14. // along with this program; if not, write to the Free Software 
  15. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  16. #ifndef WOWPYTHONSERVER_COMMON_H
  17. #define WOWPYTHONSERVER_COMMON_H
  18. // Only clients with this version will be allowed to view the realmlist.
  19. // Higher versions will be rejected, lower versions will be patched if possible.
  20. #define EXPECTED_WOW_CLIENT_BUILD         3925//3807//3734//3712//3702//3694//3810//3892
  21. #ifdef HAVE_CONFIG_H
  22. # include <config.h>
  23. #endif
  24. #include <stdio.h>
  25. #include <stdlib.h>
  26. // current platform and compiler
  27. #define PLATFORM_WIN32 0
  28. #define PLATFORM_UNIX  1
  29. #define PLATFORM_APPLE 2
  30. #if defined( __WIN32__ ) || defined( WIN32 ) || defined( _WIN32 )
  31. #  define PLATFORM PLATFORM_WIN32
  32. #elif defined( __APPLE_CC__ )
  33. #  define PLATFORM PLATFORM_APPLE
  34. #else
  35. #  define PLATFORM PLATFORM_UNIX
  36. #endif
  37. #define COMPILER_MICROSOFT 0
  38. #define COMPILER_GNU       1
  39. #define COMPILER_BORLAND   2
  40. #ifdef _MSC_VER 
  41. #  define COMPILER COMPILER_MICROSOFT
  42. #elif defined( __BORLANDC__ )
  43. #  define COMPILER COMPILER_BORLAND
  44. #elif defined( __GNUC__ )
  45. #  define COMPILER COMPILER_GNU
  46. #else
  47. #  pragma error "FATAL ERROR: Unknown compiler."
  48. #endif
  49. #if COMPILER == COMPILER_MICROSOFT
  50. #  pragma warning( disable : 4267 ) // conversion from 'size_t' to 'int', possible loss of data
  51. #  pragma warning( disable : 4786 ) // identifier was truncated to '255' characters in the debug information
  52. #endif
  53. #if PLATFORM == PLATFORM_WIN32
  54. #define STRCASECMP stricmp
  55. #else
  56. #define STRCASECMP strcasecmp
  57. #endif
  58. #include <set>
  59. #include <list>
  60. #include <string>
  61. #include <map>
  62. #include <sstream>
  63. #include <algorithm>
  64. #include "MemoryLeaks.h"
  65. #if COMPILER == COMPILER_MICROSOFT
  66.   typedef __int64   int64;
  67. #else
  68.   typedef long long int64;
  69. #endif
  70. typedef long        int32;
  71. typedef short       int16;
  72. typedef char        int8;
  73. #if COMPILER == COMPILER_MICROSOFT
  74.   typedef unsigned __int64   uint64;
  75. #else
  76.   typedef unsigned long long uint64;
  77.   typedef unsigned long      DWORD;
  78. #endif
  79. typedef unsigned long        uint32;
  80. typedef unsigned short       uint16;
  81. typedef unsigned char        uint8;
  82. #define atol(a) strtoul( a, NULL, 10)
  83. #define STRINGIZE(a) #a
  84. // fix buggy MSVC's for variable scoping to be reliable =S
  85. #define for if(true) for
  86. #endif