SysTypesWin.h
上传用户:woshihumen
上传日期:2013-07-18
资源大小:484k
文件大小:3k
源码类别:

Email服务器

开发平台:

Visual C++

  1. /*
  2.  *  XMail by Davide Libenzi ( Intranet and Internet mail server )
  3.  *  Copyright (C) 1999,..,2004  Davide Libenzi
  4.  *
  5.  *  This program is free software; you can redistribute it and/or modify
  6.  *  it under the terms of the GNU General Public License as published by
  7.  *  the Free Software Foundation; either version 2 of the License, or
  8.  *  (at your option) any later version.
  9.  *
  10.  *  This program is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  *  GNU General Public License for more details.
  14.  *
  15.  *  You should have received a copy of the GNU General Public License
  16.  *  along with this program; if not, write to the Free Software
  17.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18.  *
  19.  *  Davide Libenzi <davidel@xmailserver.org>
  20.  *
  21.  */
  22. #ifndef _SYSTYPESWIN_H
  23. #define _SYSTYPESWIN_H
  24. #ifdef MACH_BIG_ENDIAN_WORDS
  25. #define BIG_ENDIAN_CPU
  26. #endif
  27. #ifdef MACH_BIG_ENDIAN_BITFIELD
  28. #define BIG_ENDIAN_BITFIELD
  29. #endif
  30. #define SYS_INFINITE_TIMEOUT    (4 * 1024 * 1024)
  31. #define SYS_DEFAULT_MAXCOUNT    (INT_MAX - 1)
  32. #define SYS_SLASH_CHAR          '\'
  33. #define SYS_SLASH_STR           "\"
  34. #define SYS_BASE_FS_STR         "\\?\"
  35. #define SYS_MAX_PATH            _MAX_PATH
  36. #define SYS_LLU_FMT             "%I64u"
  37. #define SYS_LLX_FMT             "%I64X"
  38. #define SYS_INVALID_HANDLE      ((SYS_HANDLE) 0)
  39. #define SYS_INVALID_SOCKET      ((SYS_SOCKET) INVALID_SOCKET)
  40. #define SYS_INVALID_SEMAPHORE   ((SYS_SEMAPHORE) 0)
  41. #define SYS_INVALID_MUTEX       ((SYS_MUTEX) 0)
  42. #define SYS_INVALID_EVENT       ((SYS_EVENT) 0)
  43. #define SYS_INVALID_THREAD      ((SYS_THREAD) 0)
  44. #define SYS_INVALID_NET_ADDRESS ((NET_ADDRESS) INADDR_NONE)
  45. #define SYS_THREAD_ONCE_INIT    {0, 0}
  46. #define SysSNPrintf             _snprintf
  47. #define SYS_fd_set              fd_set
  48. #define SYS_FD_ZERO             FD_ZERO
  49. #define SYS_FD_CLR              FD_CLR
  50. #define SYS_FD_SET              FD_SET
  51. #define SYS_FD_ISSET            FD_ISSET
  52. typedef char SYS_INT8;
  53. typedef unsigned char SYS_UINT8;
  54. typedef short int SYS_INT16;
  55. typedef unsigned short int SYS_UINT16;
  56. typedef int SYS_INT32;
  57. typedef unsigned int SYS_UINT32;
  58. typedef __int64 SYS_INT64;
  59. typedef unsigned __int64 SYS_UINT64;
  60. typedef unsigned __int64 SYS_LONGLONG;
  61. typedef unsigned int SYS_PTRUINT;
  62. typedef unsigned long SYS_HANDLE;
  63. typedef int SYS_TLSKEY;
  64. typedef SOCKET SYS_SOCKET;
  65. typedef int socklen_t;
  66. typedef HANDLE SYS_SEMAPHORE;
  67. typedef HANDLE SYS_MUTEX;
  68. typedef HANDLE SYS_EVENT;
  69. typedef unsigned long SYS_THREAD;
  70. typedef unsigned long NET_ADDRESS;
  71. struct SYS_THREAD_ONCE {
  72. LONG lOnce;
  73. LONG lDone;
  74. };
  75. struct SYS_INET_ADDR {
  76. struct sockaddr_in Addr;
  77. };
  78. enum SysFileTypes {
  79. ftNormal = 1,
  80. ftDirectory,
  81. ftLink,
  82. ftOther,
  83. ftMax
  84. };
  85. struct SYS_FILE_INFO {
  86. int iFileType;
  87. unsigned long ulSize;
  88. time_t tMod;
  89. };
  90. #endif