X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FRaw%2FLLAddressing.hh;h=8117b36f77ec9c2fc508e4962fd9a90ed040891c;hb=9ab6056a616342015eb35d6730d61c45412eec46;hp=6cda49f830b9bf24cb020370dbd5f87fd4c2da7b;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Socket/Protocols/Raw/LLAddressing.hh b/senf/Socket/Protocols/Raw/LLAddressing.hh index 6cda49f..8117b36 100644 --- a/senf/Socket/Protocols/Raw/LLAddressing.hh +++ b/senf/Socket/Protocols/Raw/LLAddressing.hh @@ -30,20 +30,18 @@ // Custom includes #include #include -#include -#include #include #include #include "MACAddress.hh" //#include "LLAddressing.mpp" //#include "LLAddressing.ih" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { /// \addtogroup addr_group - /// @{ + //\{ /** \brief Link local address @@ -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,10 +70,10 @@ 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 - ///@{ + //\{ LLSocketAddress(); ///< Create empty address explicit LLSocketAddress(unsigned proto, std::string const & iface=""); @@ -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,19 +97,21 @@ 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); - ///@} - /////////////////////////////////////////////////////////////////////////// + //\} + //-//////////////////////////////////////////////////////////////////////// MACAddress address() const; ///< Return address 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; @@ -126,10 +130,10 @@ namespace senf { struct ::sockaddr_ll addr_; }; - /// @} + //\} /// \addtogroup policy_impl_group - /// @{ + //\{ /** \brief Addressing policy supporting link-local addressing @@ -145,7 +149,7 @@ namespace senf { or peer() members. */ struct LLAddressingPolicy - : public AddressingPolicyBase, + : public BSDAddressingPolicy, private BSDAddressingPolicyMixin { typedef LLSocketAddress Address; @@ -154,7 +158,7 @@ namespace senf { using BSDAddressingPolicyMixin::bind; }; - /// @} + //\} /** \brief Write link layer address \related LLSocketAddress @@ -162,7 +166,7 @@ namespace senf { std::ostream & operator<<(std::ostream & os, LLSocketAddress const & llAddr); } -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #include "LLAddressing.cci" //#include "LLAddressing.ct" //#include "LLAddressing.cti"