/ teensy / IPAddress.cpp
IPAddress.cpp
 1  #if ARDUINO >= 100
 2  #include "Arduino.h"
 3  #include "IPAddress.h"
 4  
 5  IPAddress::IPAddress()
 6  {
 7      memset(_address, 0, sizeof(_address));
 8  }
 9  
10  IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
11  {
12      _address[0] = first_octet;
13      _address[1] = second_octet;
14      _address[2] = third_octet;
15      _address[3] = fourth_octet;
16  }
17  
18  IPAddress::IPAddress(uint32_t address)
19  {
20      memcpy(_address, &address, sizeof(_address));
21  }
22  
23  IPAddress::IPAddress(const uint8_t *address)
24  {
25      memcpy(_address, address, sizeof(_address));
26  }
27  
28  IPAddress& IPAddress::operator=(const uint8_t *address)
29  {
30      memcpy(_address, address, sizeof(_address));
31      return *this;
32  }
33  
34  IPAddress& IPAddress::operator=(uint32_t address)
35  {
36      memcpy(_address, (const uint8_t *)&address, sizeof(_address));
37      return *this;
38  }
39  
40  bool IPAddress::operator==(const uint8_t* addr)
41  {
42      return memcmp(addr, _address, sizeof(_address)) == 0;
43  }
44  
45  size_t IPAddress::printTo(Print& p) const
46  {
47      size_t n = 0;
48      for (int i =0; i < 3; i++)
49      {
50          n += p.print(_address[i], DEC);
51          n += p.print('.');
52      }
53      n += p.print(_address[3], DEC);
54      return n;
55  }
56  
57  #endif