X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FRaw%2FPacketSocketHandle.cc;h=a57edf5f2df345ee0d3a5a9899c05640477225cc;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=ca9a07a51beb85833ec4aa9e6b905f94900453c5;hpb=34378cabd0ef59515f60b8e535d50fd5488c84e2;p=senf.git diff --git a/Socket/Protocols/Raw/PacketSocketHandle.cc b/Socket/Protocols/Raw/PacketSocketHandle.cc index ca9a07a..a57edf5 100644 --- a/Socket/Protocols/Raw/PacketSocketHandle.cc +++ b/Socket/Protocols/Raw/PacketSocketHandle.cc @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Stefan Bund // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -51,21 +51,15 @@ prefix_ void senf::PacketProtocol::init_client(SocketType type, int protocol) int sock = ::socket(PF_PACKET, socktype, htons(protocol)); if (sock < 0) throwErrno(); - body().fd(sock); -} - -prefix_ std::auto_ptr senf::PacketProtocol::clone() - const -{ - return std::auto_ptr(new PacketProtocol()); + fd(sock); } prefix_ unsigned senf::PacketProtocol::available() const { - if (! body().readable()) + if (! fh().readable()) return 0; - ssize_t l = ::recv(body().fd(),0,0,MSG_PEEK | MSG_TRUNC); + ssize_t l = ::recv(fd(),0,0,MSG_PEEK | MSG_TRUNC); if (l < 0) throwErrno(); return l; @@ -100,14 +94,14 @@ prefix_ void senf::PacketProtocol::mcAdd(std::string const & interface, MACAddress const & address) const { - do_mc(body().fd(),interface,address,true); + do_mc(fd(),interface,address,true); } prefix_ void senf::PacketProtocol::mcDrop(std::string const & interface, MACAddress const & address) const { - do_mc(body().fd(),interface,address,false); + do_mc(fd(),interface,address,false); } ///////////////////////////////cc.e////////////////////////////////////////