OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MacAddress Class Reference

#include <mac_address.h>

Collaboration diagram for MacAddress:

Public Member Functions

 MacAddress ()
 
 MacAddress (const uint8_t *data)
 
 MacAddress (const MacAddress &rhs)
 
 MacAddress (const struct ether_addr &a)
 
 MacAddress (const struct ether_addr *a)
 
 MacAddress (unsigned int a, unsigned int b, unsigned int c, unsigned int d, unsigned int e, unsigned int f)
 
 MacAddress (const std::string &s, boost::system::error_code *error=NULL)
 
bool IsBroadcast () const
 
bool IsMulticast () const
 
bool IsZero () const
 
int CompareTo (const MacAddress &rhs, int len=0) const
 
bool operator== (const MacAddress *rhs) const
 
bool operator== (const MacAddress &rhs) const
 
bool operator< (const MacAddress &rhs) const
 
bool operator> (const MacAddress &rhs) const
 
bool operator!= (const MacAddress &rhs) const
 
u_int8_t & operator[] (size_t i)
 
u_int8_t operator[] (size_t i) const
 
MacAddressoperator= (const u_int8_t *c)
 
MacAddressoperator= (const struct sockaddr *sa)
 
MacAddressoperator= (const struct sockaddr &sa)
 
MacAddressoperator= (const struct ether_addr &ea)
 
MacAddressoperator= (const MacAddress &rhs)
 
bool ToArray (u_int8_t *p, size_t s) const
 
 operator ether_addr ()
 
 operator ether_addr & ()
 
 operator sockaddr () const
 
 operator const ether_addr & () const
 
 operator const u_int8_t * () const
 
 operator u_int8_t * ()
 
 operator const int8_t * () const
 
 operator int8_t * ()
 
u_int8_t & last_octet ()
 
void Zero ()
 
void Broadcast ()
 
void Multicast ()
 
const uint8_t * GetData () const
 
std::string ToString () const
 

Static Public Member Functions

static size_t size ()
 
static size_t bit_len ()
 
static MacAddress FromString (const std::string &str, boost::system::error_code *error=NULL)
 
static const MacAddressBroadcastMac ()
 
static const MacAddressMulticastMac ()
 
static const MacAddressZeroMac ()
 

Static Public Attributes

static const MacAddress kZeroMac
 
static const MacAddress kBroadcastMac
 
static const MacAddress kMulticastMac
 

Private Attributes

struct ether_addr addr_
 

Detailed Description

Definition at line 14 of file mac_address.h.

Constructor & Destructor Documentation

MacAddress::MacAddress ( )

Definition at line 21 of file mac_address.cc.

MacAddress::MacAddress ( const uint8_t *  data)
explicit

Definition at line 25 of file mac_address.cc.

MacAddress::MacAddress ( const MacAddress rhs)
inline

Definition at line 19 of file mac_address.h.

MacAddress::MacAddress ( const struct ether_addr &  a)
inlineexplicit

Definition at line 23 of file mac_address.h.

MacAddress::MacAddress ( const struct ether_addr *  a)
inlineexplicit

Definition at line 26 of file mac_address.h.

MacAddress::MacAddress ( unsigned int  a,
unsigned int  b,
unsigned int  c,
unsigned int  d,
unsigned int  e,
unsigned int  f 
)

Definition at line 41 of file mac_address.cc.

MacAddress::MacAddress ( const std::string &  s,
boost::system::error_code *  error = NULL 
)
explicit

Definition at line 48 of file mac_address.cc.

Here is the call graph for this function:

Member Function Documentation

static size_t MacAddress::bit_len ( )
inlinestatic

Definition at line 61 of file mac_address.h.

void MacAddress::Broadcast ( )
inline

Definition at line 135 of file mac_address.h.

static const MacAddress& MacAddress::BroadcastMac ( )
inlinestatic

Definition at line 152 of file mac_address.h.

int MacAddress::CompareTo ( const MacAddress rhs,
int  len = 0 
) const

Definition at line 87 of file mac_address.cc.

MacAddress MacAddress::FromString ( const std::string &  str,
boost::system::error_code *  error = NULL 
)
static

Definition at line 71 of file mac_address.cc.

const uint8_t* MacAddress::GetData ( ) const
inline

Definition at line 143 of file mac_address.h.

bool MacAddress::IsBroadcast ( ) const

Definition at line 33 of file mac_address.cc.

Here is the call graph for this function:

bool MacAddress::IsMulticast ( ) const

Definition at line 37 of file mac_address.cc.

Here is the call graph for this function:

bool MacAddress::IsZero ( ) const

Definition at line 29 of file mac_address.cc.

Here is the call graph for this function:

u_int8_t& MacAddress::last_octet ( )
inline

Definition at line 127 of file mac_address.h.

void MacAddress::Multicast ( )
inline

Definition at line 139 of file mac_address.h.

static const MacAddress& MacAddress::MulticastMac ( )
inlinestatic

Definition at line 155 of file mac_address.h.

MacAddress::operator const ether_addr & ( ) const
inline

Definition at line 107 of file mac_address.h.

MacAddress::operator const int8_t * ( ) const
inline

Definition at line 119 of file mac_address.h.

MacAddress::operator const u_int8_t * ( ) const
inline

Definition at line 111 of file mac_address.h.

MacAddress::operator ether_addr ( )
inline

Definition at line 93 of file mac_address.h.

MacAddress::operator ether_addr & ( )
inline

Definition at line 97 of file mac_address.h.

MacAddress::operator int8_t * ( )
inline

Definition at line 123 of file mac_address.h.

MacAddress::operator sockaddr ( ) const
inline

Definition at line 101 of file mac_address.h.

Here is the call graph for this function:

MacAddress::operator u_int8_t * ( )
inline

Definition at line 115 of file mac_address.h.

bool MacAddress::operator!= ( const MacAddress rhs) const
inline

Definition at line 53 of file mac_address.h.

Here is the call graph for this function:

bool MacAddress::operator< ( const MacAddress rhs) const
inline

Definition at line 47 of file mac_address.h.

Here is the call graph for this function:

MacAddress & MacAddress::operator= ( const u_int8_t *  c)

Definition at line 100 of file mac_address.cc.

MacAddress & MacAddress::operator= ( const struct sockaddr *  sa)

Definition at line 105 of file mac_address.cc.

MacAddress& MacAddress::operator= ( const struct sockaddr &  sa)
inline

Definition at line 77 of file mac_address.h.

Here is the call graph for this function:

MacAddress& MacAddress::operator= ( const struct ether_addr &  ea)
inline

Definition at line 81 of file mac_address.h.

MacAddress& MacAddress::operator= ( const MacAddress rhs)
inline

Definition at line 86 of file mac_address.h.

bool MacAddress::operator== ( const MacAddress rhs) const
inline

Definition at line 41 of file mac_address.h.

Here is the call graph for this function:

bool MacAddress::operator== ( const MacAddress rhs) const
inline

Definition at line 44 of file mac_address.h.

Here is the call graph for this function:

bool MacAddress::operator> ( const MacAddress rhs) const
inline

Definition at line 50 of file mac_address.h.

Here is the call graph for this function:

u_int8_t& MacAddress::operator[] ( size_t  i)
inline

Definition at line 65 of file mac_address.h.

u_int8_t MacAddress::operator[] ( size_t  i) const
inline

Definition at line 69 of file mac_address.h.

static size_t MacAddress::size ( )
inlinestatic

Definition at line 57 of file mac_address.h.

bool MacAddress::ToArray ( u_int8_t *  p,
size_t  s 
) const

Definition at line 93 of file mac_address.cc.

string MacAddress::ToString ( ) const

Definition at line 53 of file mac_address.cc.

void MacAddress::Zero ( )
inline

Definition at line 131 of file mac_address.h.

static const MacAddress& MacAddress::ZeroMac ( )
inlinestatic

Definition at line 158 of file mac_address.h.

Member Data Documentation

struct ether_addr MacAddress::addr_
private

Definition at line 163 of file mac_address.h.

const MacAddress MacAddress::kBroadcastMac
static

Definition at line 150 of file mac_address.h.

const MacAddress MacAddress::kMulticastMac
static

Definition at line 151 of file mac_address.h.

const MacAddress MacAddress::kZeroMac
static

Definition at line 149 of file mac_address.h.


The documentation for this class was generated from the following files: