X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FRaw%2FPacketSocketHandle.hh;h=35898ac11dcfe0a7f0fb68a9c9ca016e076d6b2b;hb=5443435c4c2b6e4386c5334b5b8358273f2bae93;hp=a5f643a5f9b0e40faadf5d027d9ee37194356a21;hpb=25fe79f266e7583750d8e761abec4022d87972b8;p=senf.git diff --git a/Socket/Protocols/Raw/PacketSocketHandle.hh b/Socket/Protocols/Raw/PacketSocketHandle.hh index a5f643a..35898ac 100644 --- a/Socket/Protocols/Raw/PacketSocketHandle.hh +++ b/Socket/Protocols/Raw/PacketSocketHandle.hh @@ -24,8 +24,8 @@ \brief PacketSocketProtocol and PacketSocketHandle public header */ -#ifndef HH_PacketSocketHandle_ -#define HH_PacketSocketHandle_ 1 +#ifndef HH_SENF_Socket_Protocols_Raw_PacketSocketHandle_ +#define HH_SENF_Socket_Protocols_Raw_PacketSocketHandle_ 1 // Custom includes #include "../../../Socket/SocketPolicy.hh" @@ -35,6 +35,7 @@ #include "../../../Socket/CommunicationPolicy.hh" #include "../../../Socket/ReadWritePolicy.hh" #include "../../../Socket/Protocols/BSDSocketProtocol.hh" +#include "../../../Socket/Protocols/DatagramSocketProtocol.hh" #include "LLAddressing.hh" //#include "PacketSocketHandle.mpp" @@ -61,11 +62,10 @@ namespace senf { \par Policy Interface: ClientSocketHandle::read(), ClientSocketHandle::readfrom(), ClientSocketHandle::writeto(), - ClientSocketHandle::bind(), ClientSocketHandle::local(), ClientSocketHandle::rcvbuf(), - ClientSocketHandle::sndbuf() + ClientSocketHandle::bind(), ClientSocketHandle::local() \par Address Type: - LLSocketAddress + LLSocketAddress The PacketSocketProtocol provides access to the linux packet socket API. This API gives access to the low level network packets. The packet socket allows read() and write() operations. The @@ -76,6 +76,7 @@ namespace senf { */ class PacketSocketProtocol : public ConcreteSocketProtocol, + public DatagramSocketProtocol, public BSDSocketProtocol { public: @@ -121,6 +122,9 @@ namespace senf { ///< Disable reception of a multicast group /**< \see \ref mcAdd() */ + void promisc(std::string const & interface, bool mode) const; + ///< enable/disable promiscuous mode + ///@} ///\name Abstract Interface Implementation