]> git.tdb.fi Git - libs/net.git/blobdiff - source/inet6.h
Hide platform specific parts of socket addresses
[libs/net.git] / source / inet6.h
index f5a7079af2b55eaee5e0132167c84769d6e72d37..97197c735593a2d287d0d1f12d313bc60bf75650 100644 (file)
@@ -1,12 +1,6 @@
 #ifndef MSP_NET_INET6_H_
 #define NSP_NET_INET6_H_
 
-#ifdef WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <netinet/in.h>
-#endif
 #include "sockaddr.h"
 
 namespace Msp {
@@ -15,25 +9,19 @@ namespace Net {
 class Inet6Addr: public SockAddr
 {
 private:
-#ifdef WIN32
-       typedef u_short in_port_t;
-#endif
-
-       in6_addr addr;
-       in_port_t port;
+       unsigned char addr[16];
+       unsigned port;
 
 public:
        Inet6Addr();
-       Inet6Addr(const sockaddr_in6 &);
-       Inet6Addr(unsigned char [16], in_port_t);
+       Inet6Addr(const SysAddr &);
 
        virtual Inet6Addr *copy() const { return new Inet6Addr(*this); }
 
+       virtual SysAddr to_sys() const;
+
        virtual Family get_family() const { return INET6; }
        virtual std::string str() const;
-
-       virtual unsigned fill_sockaddr(sockaddr &) const;
-       virtual unsigned fill_sockaddr(sockaddr_storage &) const;
 };
 
 } // namespace Net