root / arduino-1.0 / hardware / arduino / cores / arduino / IPAddress.cpp @ 58d82c77
History | View | Annotate | Download (1.13 KB)
1 |
|
---|---|
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 |
|