Nol.A SDK Library 26.11.2
For IoT System Software Development
Loading...
Searching...
No Matches
IPv6Address Class Reference
Inheritance diagram for IPv6Address:
Printable

Public Types

enum  Type_t {
  TYPE_GLOBAL = (-1) , TYPE_ANY = (-2) , TYPE_UNSPECIFIED = (-3) , TYPE_LINKLOCAL = (-4) ,
  TYPE_MULTICAST = (-5) , TYPE_LOOPBACK = (-6)
}

Public Member Functions

 IPv6Address (const uint8_t *address)
 IPv6Address (const uint32_t *address)
bool fromString (const char *address)
bool fromString (const std::string &address)
 operator const uint8_t * () const
 operator const uint32_t * () const
bool operator== (const IPv6Address &addr) const
bool operator== (const uint8_t *addr) const
IPv6Address & operator= (const uint8_t *address)
std::string toString () const
char * toCString (char *outBuf, size_t outBufLen) const
size_t printTo (Print &p) const
void mask (uint8_t prefixLen)
bool prefixMatched (const IPv6Address &addr, uint8_t prefixLen) const
Type_t getType () const
 Distinguish the type of the address.

Public Attributes

union { 
   uint8_t   s6_addr [16] 
   uint16_t   s6_addr16 [8] 
   uint32_t   s6_addr32 [4] 
}; 

Member Enumeration Documentation

◆ Type_t

enum IPv6Address::Type_t
76 {
77 TYPE_GLOBAL = (-1),
78 TYPE_ANY = (-2),
79 TYPE_UNSPECIFIED = (-3),
80 TYPE_LINKLOCAL = (-4),
81 TYPE_MULTICAST = (-5),
82 TYPE_LOOPBACK = (-6),
83 } Type_t;

Member Function Documentation

◆ fromString()

bool IPv6Address::fromString ( const std::string & address)
inline
47{ return fromString(address.c_str()); }

◆ getType()

Type_t IPv6Address::getType ( ) const

Distinguish the type of the address.

Returns
Address type

◆ operator const uint32_t *()

IPv6Address::operator const uint32_t * ( ) const
inline
54 {
55 return &s6_addr32[0];
56 }

◆ operator const uint8_t *()

IPv6Address::operator const uint8_t * ( ) const
inline
50 {
51 return &s6_addr[0];
52 }

◆ operator==()

bool IPv6Address::operator== ( const IPv6Address & addr) const
inline
58 {
59 return (s6_addr32[0] == addr.s6_addr32[0])
60 && (s6_addr32[1] == addr.s6_addr32[1])
61 && (s6_addr32[2] == addr.s6_addr32[2])
62 && (s6_addr32[3] == addr.s6_addr32[3]);
63 }

◆ printTo()

size_t IPv6Address::printTo ( Print & p) const
virtual

Implements Printable.


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