aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/IPAddress.cpp
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2011-09-05 12:53:45 -0400
committerZach Eveland <zeveland@blacklabel-development.com>2011-09-05 12:53:45 -0400
commit280f381265f8b8e339c92cbcb95d09cec1ec2f19 (patch)
tree157b6b2894b97287414d589f6699f22083b507f2 /cores/arduino/IPAddress.cpp
parent90ea0707e6e3fb251b3eaf6c8682f68dd44299e1 (diff)
parent560a510f6434efdfa0ebcfa9cd01093714e37f43 (diff)
Merge branch 'new-extension' of https://github.com/arduino/Arduino into new-extension
Conflicts: build/macosx/dist/tools-universal.zip build/windows/avr_tools.zip hardware/arduino/cores/arduino/HardwareSerial.cpp
Diffstat (limited to 'cores/arduino/IPAddress.cpp')
-rw-r--r--cores/arduino/IPAddress.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/cores/arduino/IPAddress.cpp b/cores/arduino/IPAddress.cpp
new file mode 100644
index 0000000..fe3deb7
--- /dev/null
+++ b/cores/arduino/IPAddress.cpp
@@ -0,0 +1,56 @@
+
+#include <Arduino.h>
+#include <IPAddress.h>
+
+IPAddress::IPAddress()
+{
+ memset(_address, 0, sizeof(_address));
+}
+
+IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
+{
+ _address[0] = first_octet;
+ _address[1] = second_octet;
+ _address[2] = third_octet;
+ _address[3] = fourth_octet;
+}
+
+IPAddress::IPAddress(uint32_t address)
+{
+ memcpy(_address, &address, sizeof(_address));
+}
+
+IPAddress::IPAddress(const uint8_t *address)
+{
+ memcpy(_address, address, sizeof(_address));
+}
+
+IPAddress& IPAddress::operator=(const uint8_t *address)
+{
+ memcpy(_address, address, sizeof(_address));
+ return *this;
+}
+
+IPAddress& IPAddress::operator=(uint32_t address)
+{
+ memcpy(_address, (const uint8_t *)&address, sizeof(_address));
+ return *this;
+}
+
+bool IPAddress::operator==(const uint8_t* addr)
+{
+ return memcmp(addr, _address, sizeof(_address)) == 0;
+}
+
+size_t IPAddress::printTo(Print& p) const
+{
+ size_t n = 0;
+ for (int i =0; i < 3; i++)
+ {
+ n += p.print(_address[i], DEC);
+ n += p.print('.');
+ }
+ n += p.print(_address[3], DEC);
+ return n;
+}
+