X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FRaw%2FLLAddressing.hh;h=d5e07aef114a014afc8309d82d2146b99e1670b6;hb=cb50871835b7a5c37e4fd32d38de67fa12570ebc;hp=78a1c326a421e9208c47a65db0bfebc4137fab7d;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Socket/Protocols/Raw/LLAddressing.hh b/senf/Socket/Protocols/Raw/LLAddressing.hh index 78a1c32..d5e07ae 100644 --- a/senf/Socket/Protocols/Raw/LLAddressing.hh +++ b/senf/Socket/Protocols/Raw/LLAddressing.hh @@ -30,10 +30,8 @@ // Custom includes #include #include -#include "../../SocketPolicy.hh" -#include "../../FileHandle.hh" -#include "../BSDAddressingPolicy.hh" -#include "../BSDSocketAddress.hh" +#include +#include #include "MACAddress.hh" //#include "LLAddressing.mpp" @@ -62,7 +60,7 @@ namespace senf { /** \brief Valid pkttype() values - These are the possible values returned by pkttype() + These are the possible values returned by pkttype() */ enum PktType { Undefined = 0 , Host = PACKET_HOST /**< Packet destined for this host */ @@ -72,7 +70,7 @@ namespace senf { , OtherHost = PACKET_OTHERHOST /**< Packet sent to another host (promisc) */ , Outgoing = PACKET_OUTGOING /**< Packet sent out from this host */ }; - + /////////////////////////////////////////////////////////////////////////// ///\name Structors and default members ///@{ @@ -84,11 +82,13 @@ namespace senf { PacketSocketHandle::bind() with. \param[in] proto Protocol (Ethertype) to listen for \param[in] iface Interface name to bind to */ - explicit LLSocketAddress(std::string const &iface); + explicit LLSocketAddress(std::string const & iface); ///< Create address for \c bind() /**< This constructs an LLSocketAddress valid for calling \c PacketSocketHandle::bind() with. - \param[in] iface Interface name to bind to */ + \param[in] iface Interface name to bind to + \throws UnknownInterfaceException if \a iface is not + a valid interface name. */ // This constructor is for sending packets explicit LLSocketAddress(MACAddress const & addr, std::string const & iface=""); @@ -97,10 +97,12 @@ namespace senf { use with \c PacketSocketHandle::sendto() on a \c SOCK_DGRAM packet socket. \param addr Address to send data to - \param iface Interface to send packet from */ + \param iface Interface to send packet from + \throws UnknownInterfaceException if \a iface is not + a valid interface name. */ - LLSocketAddress(const LLSocketAddress& other); - LLSocketAddress& operator=(const LLSocketAddress& other); + LLSocketAddress(LLSocketAddress const & other); + LLSocketAddress& operator=(LLSocketAddress const & other); ///@} /////////////////////////////////////////////////////////////////////////// @@ -109,7 +111,7 @@ namespace senf { std::string interface() const; ///< Return interface name unsigned protocol() const; ///< Return address protocol (ethertype) - unsigned arptype() const; ///< Return the hatype field (ARP hardware type) + unsigned arptype() const; ///< Return the arptype field (ARP hardware type) PktType pkttype() const; ///< Return type of packet // The mutating interface is purposely restricted to allow only @@ -117,6 +119,8 @@ namespace senf { void address(MACAddress const & addr); ///< Change address void interface(std::string const & iface); ///< Change interface + /**< \throws UnknownInterfaceException if \a iface + is not a valid interface name. */ void protocol(unsigned prot); ///< Change protocol using BSDSocketAddress::sockaddr_p; @@ -145,7 +149,7 @@ namespace senf { or peer() members. */ struct LLAddressingPolicy - : public AddressingPolicyBase, + : public BSDAddressingPolicy, private BSDAddressingPolicyMixin { typedef LLSocketAddress Address;