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

VxWorks

开发平台:

C/C++

  1. /* INETSockAddr */
  2. /* Copyright (c) 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,15jul99,dbs  add equality op
  7. 01c,15jun99,aim  added hostNameGet
  8. 01b,05jun99,aim  added clone method
  9. 01a,11May99,aim  created
  10. */
  11. #ifndef __INCINETSockAddr_h
  12. #define __INCINETSockAddr_h
  13. #include "SockAddr.h"
  14. class INETSockAddr : public SockAddr, public sockaddr_in
  15.     {
  16.   public:
  17.     virtual ~INETSockAddr ();
  18.     INETSockAddr ();
  19.     // INADDR_ANY, and port 0.
  20.     INETSockAddr (int portNumber);
  21.     INETSockAddr (const char* hostname, int portNumber = 0);
  22.     INETSockAddr (unsigned long hostaddr, int portNumber = 0);
  23.     virtual int size () const;
  24.     virtual int family () const;
  25.     virtual int portGet () const;
  26.     virtual int hostAddrGet (char* buf, int len) const;
  27.     virtual int familyNameGet (char* buf, int len) const;
  28.     virtual sockaddr* addr ();
  29.     virtual operator sockaddr* ();
  30.     virtual int clone (sockaddr*& buf) const;
  31.     virtual sockaddr_in* addr_in ();
  32.     virtual operator sockaddr_in* ();
  33.     virtual const sockaddr_in* addr_in () const;
  34.     virtual operator const sockaddr_in* () const;
  35.     bool operator == (const INETSockAddr& other) const;
  36.     
  37.   private:
  38.     int setAddr (const char* host_name);
  39.     };
  40. #endif // __INCINETSockAddr_h