ReactorTypes.h
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* ReactorTypes.h - Common types used in the reactor module */
  2. /* Copyright (c) 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,13jul01,dbs  fix up includes, remove win32 refs
  7. */
  8. #ifndef __INCReactorTypes_h
  9. #define __INCReactorTypes_h
  10. #include "Syslog.h"
  11. #include "TraceCall.h"
  12. ///////////////////////////////////////////////////////////////////////////////
  13. // Common OS Headers
  14. #include <stdio.h>
  15. #include <errno.h>
  16. #include <sys/types.h>
  17. #include <fcntl.h>
  18. #include "private/comMisc.h"
  19. #include "private/comStl.h"
  20. ///////////////////////////////////////////////////////////////////////////////
  21. // VXWORKS
  22. #ifdef VXDCOM_PLATFORM_VXWORKS
  23. #include "vxWorks.h"
  24. #include "sockLib.h"
  25. #include "hostLib.h"
  26. #include "inetLib.h"
  27. #include "selectLib.h"
  28. #include "netdb.h"
  29. #include "unistd.h"
  30. #endif // VXDCOM_PLATFORM_VXWORKS
  31. ///////////////////////////////////////////////////////////////////////////////
  32. // SOLARIS
  33. #ifdef VXDCOM_PLATFORM_SOLARIS
  34. #include "sys/socket.h"
  35. #include "netinet/in.h"
  36. #include "arpa/inet.h"
  37. #include "netdb.h"
  38. #include "unistd.h"
  39. #include "fcntl.h"
  40. #include "memory.h"
  41. #endif // VXDCOM_PLATFORM_SOLARIS
  42. ///////////////////////////////////////////////////////////////////////////////
  43. // LINUX
  44. #ifdef VXDCOM_PLATFORM_LINUX
  45. #include "sys/socket.h"
  46. #include "netinet/in.h"
  47. #include "arpa/inet.h"
  48. #include "netdb.h"
  49. #include "unistd.h"
  50. #include "fcntl.h"
  51. #include "memory.h"
  52. #endif // VXDCOM_PLATFORM_LINUX
  53. ///////////////////////////////////////////////////////////////////////////////
  54. typedef int REACTOR_HANDLE;
  55. typedef fd_set REACTOR_HANDLE_SET_TYPE;
  56. typedef unsigned long REACTOR_EVENT_MASK;
  57. const int INVALID_REACTOR_HANDLE = -1;
  58. // Acceptor, Connector and SvcHandler template parameters.
  59. // Handle ACE_Connector
  60. #if (defined VXDCOM_PLATFORM_SOLARIS || defined VXDCOM_PLATFORM_LINUX)
  61. #   define PEER_STREAM_1 class _PEER_STREAM
  62. #   define PEER_STREAM_2 _PEER_STREAM
  63. #   define PEER_STREAM _PEER_STREAM
  64. #   define PEER_STREAM_ADDR typename _PEER_STREAM::PEER_ADDR
  65. #   define PEER_ACCEPTOR_1 class _PEER_ACCEPTOR
  66. #   define PEER_ACCEPTOR_2 _PEER_ACCEPTOR
  67. #   define PEER_ACCEPTOR _PEER_ACCEPTOR
  68. #   define PEER_ACCEPTOR_ADDR typename _PEER_ACCEPTOR::PEER_ADDR
  69. #   define PEER_CONNECTOR_1 class _PEER_CONNECTOR
  70. #   define PEER_CONNECTOR_2 _PEER_CONNECTOR
  71. #   define PEER_CONNECTOR _PEER_CONNECTOR
  72. #   define PEER_CONNECTOR_ADDR typename _PEER_CONNECTOR::PEER_ADDR
  73. #else
  74. #   define PEER_STREAM_1 class _PEER_STREAM, class _PEER_ADDR
  75. #   define PEER_STREAM_2 _PEER_STREAM, _PEER_ADDR
  76. #   define PEER_STREAM _PEER_STREAM
  77. #   define PEER_STREAM_ADDR _PEER_ADDR
  78. #   define PEER_ACCEPTOR_1 class _PEER_ACCEPTOR, class _PEER_ADDR
  79. #   define PEER_ACCEPTOR_2 _PEER_ACCEPTOR, _PEER_ADDR
  80. #   define PEER_ACCEPTOR _PEER_ACCEPTOR
  81. #   define PEER_ACCEPTOR_ADDR _PEER_ADDR
  82. #   define PEER_CONNECTOR_1 class _PEER_CONNECTOR, class _PEER_ADDR
  83. #   define PEER_CONNECTOR_2 _PEER_CONNECTOR, _PEER_ADDR
  84. #   define PEER_CONNECTOR _PEER_CONNECTOR
  85. #   define PEER_CONNECTOR_ADDR _PEER_ADDR
  86. #   define PEER_CONNECTOR_ADDR_ANY PEER_CONNECTOR_ADDR::sap_any
  87. #endif // (defined VXDCOM_PLATFORM_SOLARIS)
  88. #ifndef MAXHOSTNAMELEN
  89. #define MAXHOSTNAMELEN 256
  90. #endif
  91. #endif // __INCReactorTypes_h