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

VxWorks

开发平台:

C/C++

  1. /* SockIO */
  2. /* Copyright (c) 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01e,17dec01,nel  Add include symbol for diab build.
  7. 01d,17nov99,nel  Cast const char* explicitly to char*
  8. 01c,03jun99,aim  fix preprocessor directive
  9. 01b,03jun99,aim  changes for VXDCOM_PLATFORM
  10. 01a,11May99,aim  created
  11. */
  12. #include <SockIO.h>
  13. /* Include symbol for diab */
  14. extern "C" int include_vxdcom_SockIO (void)
  15.     {
  16.     return 0;
  17.     }
  18. SockIO::SockIO ()
  19.     {
  20.     TRACE_CALL;
  21.     }
  22. SockIO::~SockIO ()
  23.     {
  24.     TRACE_CALL;
  25.     }
  26. size_t  
  27. SockIO::send (const void *buf, size_t n, int flags) const
  28.     {
  29.     TRACE_CALL;
  30. #if (defined VXDCOM_PLATFORM_WIN32 || defined VXDCOM_PLATFORM_SOLARIS)
  31.     return ::send (handleGet (), static_cast<const char*> (buf), n, flags);
  32. #else
  33.     return ::send (handleGet (), 
  34.                    reinterpret_cast<char*> (const_cast<void*> (buf)), 
  35.                    n, 
  36.                    flags);
  37. #endif
  38.     }
  39. size_t  
  40. SockIO::recv (void *buf, size_t n, int flags) const
  41.     {
  42.     TRACE_CALL;
  43.     return ::recv (handleGet (), static_cast<char*> (buf), n, flags);
  44.     }
  45. size_t  
  46. SockIO::send (const void *buf, size_t n) const
  47.     {
  48.     TRACE_CALL;
  49. #ifdef VXDCOM_PLATFORM_WIN32
  50.     return ::send (handleGet (), static_cast<const char*> (buf), n, 0);
  51. #else
  52.     return ::write (handleGet (), reinterpret_cast<char *> (const_cast<void *> (buf)), n);
  53. #endif
  54.     }
  55. size_t  
  56. SockIO::recv (void *buf, size_t n) const
  57.     {
  58.     TRACE_CALL;
  59. #if (defined VXDCOM_PLATFORM_WIN32 || defined VXDCOM_PLATFORM_SOLARIS)
  60.     return ::recv (handleGet (), static_cast<char*> (buf), n, 0);
  61. #else
  62.     return ::read (handleGet (), static_cast<char*> (buf), n);
  63. #endif
  64.     }