Get rid of obsolete StateMapOrdering for SocketHandle::dumpState
[senf.git] / Socket / PacketSocketHandle.cc
index 4dc8791..f3234ac 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2006 
+// Copyright (C) 2006
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
@@ -20,7 +20,9 @@
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-// Definition of non-inline non-template functions
+/** \file
+    \brief PacketProtocol and PacketSocketHandle non-inline non-template implementation
+ */
 
 #include "PacketSocketHandle.hh"
 #include "PacketSocketHandle.ih"
@@ -38,7 +40,7 @@
 #define prefix_
 ///////////////////////////////cc.p////////////////////////////////////////
 
-prefix_ void satcom::lib::PacketProtocol::init_client(SocketType type, int protocol)
+prefix_ void senf::PacketProtocol::init_client(SocketType type, int protocol)
     const
 {
     int socktype = SOCK_RAW;
@@ -52,13 +54,13 @@ prefix_ void satcom::lib::PacketProtocol::init_client(SocketType type, int proto
     body().fd(sock);
 }
 
-prefix_ std::auto_ptr<satcom::lib::SocketProtocol> satcom::lib::PacketProtocol::clone()
+prefix_ std::auto_ptr<senf::SocketProtocol> senf::PacketProtocol::clone()
     const
 {
     return std::auto_ptr<SocketProtocol>(new PacketProtocol());
 }
 
-prefix_ unsigned satcom::lib::PacketProtocol::available()
+prefix_ unsigned senf::PacketProtocol::available()
     const
 {
     if (! body().readable())
@@ -69,38 +71,13 @@ prefix_ unsigned satcom::lib::PacketProtocol::available()
     return l;
 }
 
-prefix_ bool satcom::lib::PacketProtocol::eof()
+prefix_ bool senf::PacketProtocol::eof()
     const
 {
     return false;
 }
 
-prefix_ void satcom::lib::PacketProtocol::promisc(std::string interface, PromiscMode mode)
-    const
-{
-    // The interface is really stupid: as far as i understand, it is possible to 
-    // enable PROMISC and ALLMULTI seperately, however PROMISC is really a superset
-    // of ALLMULTI ... grmpf ... therefore we allways set/reset both to implement sane
-    // semantics
-
-    struct packet_mreq mreq;
-    mreq.mr_ifindex = ::if_nametoindex(interface.c_str());
-    if (mreq.mr_ifindex == 0)
-        throw SystemException(EINVAL);
-    mreq.mr_alen = 0;
-
-    mreq.mr_type = PACKET_MR_PROMISC;
-    int command = mode == Promiscuous ? PACKET_ADD_MEMBERSHIP : PACKET_DROP_MEMBERSHIP;
-    if (::setsockopt(body().fd(),SOL_PACKET,command,&mreq,sizeof(mreq)) < 0)
-        throw SystemException(errno);
-
-    mreq.mr_type = PACKET_MR_ALLMULTI;
-    command = mode == AllMulticast ? PACKET_ADD_MEMBERSHIP : PACKET_DROP_MEMBERSHIP;
-    if (::setsockopt(body().fd(),SOL_PACKET,command,&mreq,sizeof(mreq)) < 0)
-        throw SystemException(errno);
-}
-
-prefix_ void satcom::lib::PacketProtocol::do_mc_i(std::string interface,
+prefix_ void senf::PacketProtocol::do_mc_i(std::string interface,
                                                   detail::LLAddressCopier const & copier, bool add)
     const
 {
@@ -123,5 +100,8 @@ prefix_ void satcom::lib::PacketProtocol::do_mc_i(std::string interface,
 \f
 // Local Variables:
 // mode: c++
-// c-file-style: "satcom"
+// fill-column: 100
+// c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
 // End: