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

VxWorks

开发平台:

C/C++

  1. /* SockEP */
  2. /* Copyright (c) 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,11aug99,aim  keepalive no longer the default
  7. 01b,30jul99,aim  add keepAliveSet method
  8. 01a,10may99,aim  created
  9. */
  10. #ifndef __INCSockEP_h_
  11. #define __INCSockEP_h_
  12. #include "ReactorHandle.h"
  13. #include "SockAddr.h"
  14. #include "iostream"
  15. class SockEP : public ReactorHandle
  16.     {
  17.   public:
  18.     virtual ~SockEP ();
  19.       
  20.     int optSet
  21. (
  22. int level,
  23. int option,
  24. void* optval,
  25. int optlen
  26. ) const;
  27.     // Wrapper around the setsockopt() system call.
  28.     int optGet
  29. (
  30. int level,
  31. int option,
  32. void* optval,
  33. int* optlen
  34. ) const;
  35.     // Wrapper around the getsockopt() system call.
  36.     int optReuseAddrSet ();
  37.     int optKeepAliveSet ();
  38.     int open
  39. (
  40. int type,
  41. int protocolFamily,
  42. int protocol,
  43. int reuseAddr,
  44. int keepAliveSet = 0
  45. );
  46.     // Invokes the <socket> system call
  47.     int close (void);
  48.     // Close down the socket.
  49.     int hostAddrGet (SockAddr& sa) const;
  50.     int peerAddrGet (SockAddr& sa) const;
  51.     friend ostream& operator<< (ostream& os, const SockEP&);
  52.   protected:
  53.     SockEP ();
  54.     SockEP (const SockAddr& sa);
  55.     SockEP
  56. (
  57. int type,
  58. int protocolFamily = PF_INET,
  59. int protocol = 0,
  60. int reuseAddr = 0
  61. );
  62.     };
  63. #endif // __INCSockEP_h