AmrRT
Dependents: LPC1768_AppBoard_Internet_LCD_Clock
Fork of EthernetNetIf by
Diff: LPC2368/if/net/ipaddr.h
- Revision:
- 5:bc7df6da7589
- Parent:
- 4:9cec8b1dcf09
- Child:
- 6:01cb5a40de7d
--- a/LPC2368/if/net/ipaddr.h Fri Jul 09 14:34:26 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ - -/* -Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -#ifndef IPADDR_H -#define IPADDR_H - -#include "mbed.h" - -#include "netCfg.h" -#if NET_LWIP_STACK -#include "lwip/ip_addr.h" -#endif -class IpAddr; - -class IpAddr //Basically a C++ frontend to ip_addr_t -{ -public: - #if NET_LWIP_STACK - IpAddr(ip_addr_t* pIp) - { - *((uint32_t*)m_ip) = pIp->addr; - } - #endif - - IpAddr(uint8_t ip0, uint8_t ip1, uint8_t ip2, uint8_t ip3) - { - //We are in LE - m_ip[0] = ip0; - m_ip[1] = ip1; - m_ip[2] = ip2; - m_ip[3] = ip3; - } - - IpAddr() - { - m_ip[0] = 0; - m_ip[1] = 0; - m_ip[2] = 0; - m_ip[3] = 0; - } - - #if NET_LWIP_STACK - ip_addr_t getStruct() const - { - ip_addr_t ip_struct; - ip_struct.addr = *((uint32_t*)m_ip); - return ip_struct; - } - #endif - - uint8_t operator[](unsigned int i) const - { - uint8_t null = 0; - if( i > 3 ) - return null; - return m_ip[i]; - } - - bool isEq(const IpAddr& b) const - { - return (*((uint32_t*)m_ip) == *((uint32_t*)(b.m_ip))); - } - - bool operator==(const IpAddr& b) const - { - return isEq(b); - } - - bool operator!=(const IpAddr& b) const - { - return !(operator==(b)); - } - - bool isNull() const - { - return (*((uint32_t*)m_ip) == 0); - } - -private: - uint8_t m_ip[4]; -}; - -#endif