-/* $Id$
-
-This file is part of libmspnet
-Copyright © 2011 Mikkosoft Productions, Mikko Rasa
-Distributed under the LGPL
-*/
-
#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 {
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 Family get_family() const { return INET6; }
- virtual std::string str() const;
+ virtual Inet6Addr *copy() const { return new Inet6Addr(*this); }
- virtual unsigned fill_sockaddr(sockaddr &) const;
- virtual unsigned fill_sockaddr(sockaddr_storage &) const;
+ virtual SysAddr to_sys() const;
- virtual Inet6Addr *copy() const { return new Inet6Addr(*this); }
+ virtual Family get_family() const { return INET6; }
+ unsigned get_port() const { return port; }
+ virtual std::string str() const;
};
} // namespace Net