]> git.gir.st - tmk_keyboard.git/blob - tmk_core/protocol/usb_hid/arduino-1.0.1/cores/arduino/IPAddress.cpp
Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core'
[tmk_keyboard.git] / tmk_core / protocol / usb_hid / arduino-1.0.1 / cores / arduino / IPAddress.cpp
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
Imprint / Impressum