Implemented IpV6Packet and added raw-data constructor to INet6Address
[senf.git] / Socket / INetProtocol.cc
index 4fb2ff0..ca93fa9 100644 (file)
@@ -20,7 +20,8 @@
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-// Definition of non-inline non-template functions
+/** \file
+    \brief INet[46]Protocol non-inline non-template implementation */
 
 #include "INetProtocol.hh"
 //#include "INetProtocol.ih"
@@ -36,7 +37,7 @@
 ///////////////////////////////cc.p////////////////////////////////////////
 
 ///////////////////////////////////////////////////////////////////////////
-// senf::INet4Protocol
+// senf::IPv4Protocol
 
 prefix_ void senf::IPv4Protocol::connect(INet4Address const & address)
     const
@@ -147,6 +148,22 @@ prefix_ void senf::IPv4Protocol::mcTTL(unsigned value)
         throw SystemException(errno);
 }
 
+///////////////////////////////////////////////////////////////////////////
+// senf::IPv6Protocol
+
+prefix_ void senf::IPv6Protocol::connect(INet6SocketAddress const & address)
+    const
+{
+    if (::connect(body().fd(),address.sockaddr_p(), address.sockaddr_len()) < 0)
+        throw SystemException(errno);
+}
+
+prefix_ void senf::IPv6Protocol::bind(INet6SocketAddress const & address)
+    const
+{
+    if (::bind(body().fd(),address.sockaddr_p(), address.sockaddr_len()) < 0)
+        throw SystemException(errno);
+}
 
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_