IPAddress.cpp 927 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <Arduino.h>
  2. #include <IPAddress.h>
  3. IPAddress::IPAddress()
  4. {
  5. memset(_address, 0, sizeof(_address));
  6. }
  7. IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
  8. {
  9. _address[0] = first_octet;
  10. _address[1] = second_octet;
  11. _address[2] = third_octet;
  12. _address[3] = fourth_octet;
  13. }
  14. IPAddress::IPAddress(uint32_t address)
  15. {
  16. memcpy(_address, &address, sizeof(_address));
  17. }
  18. IPAddress::IPAddress(const uint8_t *address)
  19. {
  20. memcpy(_address, address, sizeof(_address));
  21. }
  22. IPAddress& IPAddress::operator=(const uint8_t *address)
  23. {
  24. memcpy(_address, address, sizeof(_address));
  25. return *this;
  26. }
  27. IPAddress& IPAddress::operator=(uint32_t address)
  28. {
  29. memcpy(_address, (const uint8_t *)&address, sizeof(_address));
  30. return *this;
  31. }
  32. bool IPAddress::operator==(const uint8_t* addr)
  33. {
  34. return memcmp(addr, _address, sizeof(_address)) == 0;
  35. }