Alvaro Cassinelli / Mbed 2 deprecated laserUI

Dependencies:   mbed

Fork of skinGames_forktest by Alvaro Cassinelli

Committer:
mbedalvaro
Date:
Wed Mar 28 14:40:01 2012 +0000
Revision:
0:345b3bc7a0ea
This version (using rigid frame, base and child classes, etc) works, but the blob is strangely smaller. Need to check this.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedalvaro 0:345b3bc7a0ea 1 /*
mbedalvaro 0:345b3bc7a0ea 2 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
mbedalvaro 0:345b3bc7a0ea 3 * All rights reserved.
mbedalvaro 0:345b3bc7a0ea 4 *
mbedalvaro 0:345b3bc7a0ea 5 * Redistribution and use in source and binary forms, with or without modification,
mbedalvaro 0:345b3bc7a0ea 6 * are permitted provided that the following conditions are met:
mbedalvaro 0:345b3bc7a0ea 7 *
mbedalvaro 0:345b3bc7a0ea 8 * 1. Redistributions of source code must retain the above copyright notice,
mbedalvaro 0:345b3bc7a0ea 9 * this list of conditions and the following disclaimer.
mbedalvaro 0:345b3bc7a0ea 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbedalvaro 0:345b3bc7a0ea 11 * this list of conditions and the following disclaimer in the documentation
mbedalvaro 0:345b3bc7a0ea 12 * and/or other materials provided with the distribution.
mbedalvaro 0:345b3bc7a0ea 13 * 3. The name of the author may not be used to endorse or promote products
mbedalvaro 0:345b3bc7a0ea 14 * derived from this software without specific prior written permission.
mbedalvaro 0:345b3bc7a0ea 15 *
mbedalvaro 0:345b3bc7a0ea 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
mbedalvaro 0:345b3bc7a0ea 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbedalvaro 0:345b3bc7a0ea 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
mbedalvaro 0:345b3bc7a0ea 19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mbedalvaro 0:345b3bc7a0ea 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
mbedalvaro 0:345b3bc7a0ea 21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbedalvaro 0:345b3bc7a0ea 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbedalvaro 0:345b3bc7a0ea 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
mbedalvaro 0:345b3bc7a0ea 24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
mbedalvaro 0:345b3bc7a0ea 25 * OF SUCH DAMAGE.
mbedalvaro 0:345b3bc7a0ea 26 *
mbedalvaro 0:345b3bc7a0ea 27 * This file is part of the lwIP TCP/IP stack.
mbedalvaro 0:345b3bc7a0ea 28 *
mbedalvaro 0:345b3bc7a0ea 29 * Author: Adam Dunkels <adam@sics.se>
mbedalvaro 0:345b3bc7a0ea 30 *
mbedalvaro 0:345b3bc7a0ea 31 */
mbedalvaro 0:345b3bc7a0ea 32 #ifndef __LWIP_IP_ADDR_H__
mbedalvaro 0:345b3bc7a0ea 33 #define __LWIP_IP_ADDR_H__
mbedalvaro 0:345b3bc7a0ea 34
mbedalvaro 0:345b3bc7a0ea 35 #include "lwip/opt.h"
mbedalvaro 0:345b3bc7a0ea 36 #include "lwip/def.h"
mbedalvaro 0:345b3bc7a0ea 37
mbedalvaro 0:345b3bc7a0ea 38 #ifdef __cplusplus
mbedalvaro 0:345b3bc7a0ea 39 extern "C" {
mbedalvaro 0:345b3bc7a0ea 40 #endif
mbedalvaro 0:345b3bc7a0ea 41
mbedalvaro 0:345b3bc7a0ea 42 /* This is the aligned version of ip_addr_t,
mbedalvaro 0:345b3bc7a0ea 43 used as local variable, on the stack, etc. */
mbedalvaro 0:345b3bc7a0ea 44 struct ip_addr {
mbedalvaro 0:345b3bc7a0ea 45 u32_t addr;
mbedalvaro 0:345b3bc7a0ea 46 };
mbedalvaro 0:345b3bc7a0ea 47
mbedalvaro 0:345b3bc7a0ea 48 /* This is the packed version of ip_addr_t,
mbedalvaro 0:345b3bc7a0ea 49 used in network headers that are itself packed */
mbedalvaro 0:345b3bc7a0ea 50 #ifdef PACK_STRUCT_USE_INCLUDES
mbedalvaro 0:345b3bc7a0ea 51 # include "arch/bpstruct.h"
mbedalvaro 0:345b3bc7a0ea 52 #endif
mbedalvaro 0:345b3bc7a0ea 53 PACK_STRUCT_BEGIN
mbedalvaro 0:345b3bc7a0ea 54 struct ip_addr_packed {
mbedalvaro 0:345b3bc7a0ea 55 PACK_STRUCT_FIELD(u32_t addr);
mbedalvaro 0:345b3bc7a0ea 56 } PACK_STRUCT_STRUCT;
mbedalvaro 0:345b3bc7a0ea 57 PACK_STRUCT_END
mbedalvaro 0:345b3bc7a0ea 58 #ifdef PACK_STRUCT_USE_INCLUDES
mbedalvaro 0:345b3bc7a0ea 59 # include "arch/epstruct.h"
mbedalvaro 0:345b3bc7a0ea 60 #endif
mbedalvaro 0:345b3bc7a0ea 61
mbedalvaro 0:345b3bc7a0ea 62 /** ip_addr_t uses a struct for convenience only, so that the same defines can
mbedalvaro 0:345b3bc7a0ea 63 * operate both on ip_addr_t as well as on ip_addr_p_t. */
mbedalvaro 0:345b3bc7a0ea 64 typedef struct ip_addr ip_addr_t;
mbedalvaro 0:345b3bc7a0ea 65 typedef struct ip_addr_packed ip_addr_p_t;
mbedalvaro 0:345b3bc7a0ea 66
mbedalvaro 0:345b3bc7a0ea 67 /*
mbedalvaro 0:345b3bc7a0ea 68 * struct ipaddr2 is used in the definition of the ARP packet format in
mbedalvaro 0:345b3bc7a0ea 69 * order to support compilers that don't have structure packing.
mbedalvaro 0:345b3bc7a0ea 70 */
mbedalvaro 0:345b3bc7a0ea 71 #ifdef PACK_STRUCT_USE_INCLUDES
mbedalvaro 0:345b3bc7a0ea 72 # include "arch/bpstruct.h"
mbedalvaro 0:345b3bc7a0ea 73 #endif
mbedalvaro 0:345b3bc7a0ea 74 PACK_STRUCT_BEGIN
mbedalvaro 0:345b3bc7a0ea 75 struct ip_addr2 {
mbedalvaro 0:345b3bc7a0ea 76 PACK_STRUCT_FIELD(u16_t addrw[2]);
mbedalvaro 0:345b3bc7a0ea 77 } PACK_STRUCT_STRUCT;
mbedalvaro 0:345b3bc7a0ea 78 PACK_STRUCT_END
mbedalvaro 0:345b3bc7a0ea 79 #ifdef PACK_STRUCT_USE_INCLUDES
mbedalvaro 0:345b3bc7a0ea 80 # include "arch/epstruct.h"
mbedalvaro 0:345b3bc7a0ea 81 #endif
mbedalvaro 0:345b3bc7a0ea 82
mbedalvaro 0:345b3bc7a0ea 83 /* Forward declaration to not include netif.h */
mbedalvaro 0:345b3bc7a0ea 84 struct netif;
mbedalvaro 0:345b3bc7a0ea 85
mbedalvaro 0:345b3bc7a0ea 86 extern const ip_addr_t ip_addr_any;
mbedalvaro 0:345b3bc7a0ea 87 extern const ip_addr_t ip_addr_broadcast;
mbedalvaro 0:345b3bc7a0ea 88
mbedalvaro 0:345b3bc7a0ea 89 /** IP_ADDR_ can be used as a fixed IP address
mbedalvaro 0:345b3bc7a0ea 90 * for the wildcard and the broadcast address
mbedalvaro 0:345b3bc7a0ea 91 */
mbedalvaro 0:345b3bc7a0ea 92 #define IP_ADDR_ANY ((ip_addr_t *)&ip_addr_any)
mbedalvaro 0:345b3bc7a0ea 93 #define IP_ADDR_BROADCAST ((ip_addr_t *)&ip_addr_broadcast)
mbedalvaro 0:345b3bc7a0ea 94
mbedalvaro 0:345b3bc7a0ea 95 /** 255.255.255.255 */
mbedalvaro 0:345b3bc7a0ea 96 #define IPADDR_NONE ((u32_t)0xffffffffUL)
mbedalvaro 0:345b3bc7a0ea 97 /** 127.0.0.1 */
mbedalvaro 0:345b3bc7a0ea 98 #define IPADDR_LOOPBACK ((u32_t)0x7f000001UL)
mbedalvaro 0:345b3bc7a0ea 99 /** 0.0.0.0 */
mbedalvaro 0:345b3bc7a0ea 100 #define IPADDR_ANY ((u32_t)0x00000000UL)
mbedalvaro 0:345b3bc7a0ea 101 /** 255.255.255.255 */
mbedalvaro 0:345b3bc7a0ea 102 #define IPADDR_BROADCAST ((u32_t)0xffffffffUL)
mbedalvaro 0:345b3bc7a0ea 103
mbedalvaro 0:345b3bc7a0ea 104 /* Definitions of the bits in an Internet address integer.
mbedalvaro 0:345b3bc7a0ea 105
mbedalvaro 0:345b3bc7a0ea 106 On subnets, host and network parts are found according to
mbedalvaro 0:345b3bc7a0ea 107 the subnet mask, not these masks. */
mbedalvaro 0:345b3bc7a0ea 108 #define IP_CLASSA(a) ((((u32_t)(a)) & 0x80000000UL) == 0)
mbedalvaro 0:345b3bc7a0ea 109 #define IP_CLASSA_NET 0xff000000
mbedalvaro 0:345b3bc7a0ea 110 #define IP_CLASSA_NSHIFT 24
mbedalvaro 0:345b3bc7a0ea 111 #define IP_CLASSA_HOST (0xffffffff & ~IP_CLASSA_NET)
mbedalvaro 0:345b3bc7a0ea 112 #define IP_CLASSA_MAX 128
mbedalvaro 0:345b3bc7a0ea 113
mbedalvaro 0:345b3bc7a0ea 114 #define IP_CLASSB(a) ((((u32_t)(a)) & 0xc0000000UL) == 0x80000000UL)
mbedalvaro 0:345b3bc7a0ea 115 #define IP_CLASSB_NET 0xffff0000
mbedalvaro 0:345b3bc7a0ea 116 #define IP_CLASSB_NSHIFT 16
mbedalvaro 0:345b3bc7a0ea 117 #define IP_CLASSB_HOST (0xffffffff & ~IP_CLASSB_NET)
mbedalvaro 0:345b3bc7a0ea 118 #define IP_CLASSB_MAX 65536
mbedalvaro 0:345b3bc7a0ea 119
mbedalvaro 0:345b3bc7a0ea 120 #define IP_CLASSC(a) ((((u32_t)(a)) & 0xe0000000UL) == 0xc0000000UL)
mbedalvaro 0:345b3bc7a0ea 121 #define IP_CLASSC_NET 0xffffff00
mbedalvaro 0:345b3bc7a0ea 122 #define IP_CLASSC_NSHIFT 8
mbedalvaro 0:345b3bc7a0ea 123 #define IP_CLASSC_HOST (0xffffffff & ~IP_CLASSC_NET)
mbedalvaro 0:345b3bc7a0ea 124
mbedalvaro 0:345b3bc7a0ea 125 #define IP_CLASSD(a) (((u32_t)(a) & 0xf0000000UL) == 0xe0000000UL)
mbedalvaro 0:345b3bc7a0ea 126 #define IP_CLASSD_NET 0xf0000000 /* These ones aren't really */
mbedalvaro 0:345b3bc7a0ea 127 #define IP_CLASSD_NSHIFT 28 /* net and host fields, but */
mbedalvaro 0:345b3bc7a0ea 128 #define IP_CLASSD_HOST 0x0fffffff /* routing needn't know. */
mbedalvaro 0:345b3bc7a0ea 129 #define IP_MULTICAST(a) IP_CLASSD(a)
mbedalvaro 0:345b3bc7a0ea 130
mbedalvaro 0:345b3bc7a0ea 131 #define IP_EXPERIMENTAL(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL)
mbedalvaro 0:345b3bc7a0ea 132 #define IP_BADCLASS(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL)
mbedalvaro 0:345b3bc7a0ea 133
mbedalvaro 0:345b3bc7a0ea 134 #define IP_LOOPBACKNET 127 /* official! */
mbedalvaro 0:345b3bc7a0ea 135
mbedalvaro 0:345b3bc7a0ea 136
mbedalvaro 0:345b3bc7a0ea 137 #if BYTE_ORDER == BIG_ENDIAN
mbedalvaro 0:345b3bc7a0ea 138 /** Set an IP address given by the four byte-parts */
mbedalvaro 0:345b3bc7a0ea 139 #define IP4_ADDR(ipaddr, a,b,c,d) \
mbedalvaro 0:345b3bc7a0ea 140 (ipaddr)->addr = ((u32_t)((a) & 0xff) << 24) | \
mbedalvaro 0:345b3bc7a0ea 141 ((u32_t)((b) & 0xff) << 16) | \
mbedalvaro 0:345b3bc7a0ea 142 ((u32_t)((c) & 0xff) << 8) | \
mbedalvaro 0:345b3bc7a0ea 143 (u32_t)((d) & 0xff)
mbedalvaro 0:345b3bc7a0ea 144 #else
mbedalvaro 0:345b3bc7a0ea 145 /** Set an IP address given by the four byte-parts.
mbedalvaro 0:345b3bc7a0ea 146 Little-endian version that prevents the use of htonl. */
mbedalvaro 0:345b3bc7a0ea 147 #define IP4_ADDR(ipaddr, a,b,c,d) \
mbedalvaro 0:345b3bc7a0ea 148 (ipaddr)->addr = ((u32_t)((d) & 0xff) << 24) | \
mbedalvaro 0:345b3bc7a0ea 149 ((u32_t)((c) & 0xff) << 16) | \
mbedalvaro 0:345b3bc7a0ea 150 ((u32_t)((b) & 0xff) << 8) | \
mbedalvaro 0:345b3bc7a0ea 151 (u32_t)((a) & 0xff)
mbedalvaro 0:345b3bc7a0ea 152 #endif
mbedalvaro 0:345b3bc7a0ea 153
mbedalvaro 0:345b3bc7a0ea 154 /** MEMCPY-like copying of IP addresses where addresses are known to be
mbedalvaro 0:345b3bc7a0ea 155 * 16-bit-aligned if the port is correctly configured (so a port could define
mbedalvaro 0:345b3bc7a0ea 156 * this to copying 2 u16_t's) - no NULL-pointer-checking needed. */
mbedalvaro 0:345b3bc7a0ea 157 #ifndef IPADDR2_COPY
mbedalvaro 0:345b3bc7a0ea 158 #define IPADDR2_COPY(dest, src) SMEMCPY(dest, src, sizeof(ip_addr_t))
mbedalvaro 0:345b3bc7a0ea 159 #endif
mbedalvaro 0:345b3bc7a0ea 160
mbedalvaro 0:345b3bc7a0ea 161 /** Copy IP address - faster than ip_addr_set: no NULL check */
mbedalvaro 0:345b3bc7a0ea 162 #define ip_addr_copy(dest, src) ((dest).addr = (src).addr)
mbedalvaro 0:345b3bc7a0ea 163 /** Safely copy one IP address to another (src may be NULL) */
mbedalvaro 0:345b3bc7a0ea 164 #define ip_addr_set(dest, src) ((dest)->addr = \
mbedalvaro 0:345b3bc7a0ea 165 ((src) == NULL ? 0 : \
mbedalvaro 0:345b3bc7a0ea 166 (src)->addr))
mbedalvaro 0:345b3bc7a0ea 167 /** Set complete address to zero */
mbedalvaro 0:345b3bc7a0ea 168 #define ip_addr_set_zero(ipaddr) ((ipaddr)->addr = 0)
mbedalvaro 0:345b3bc7a0ea 169 /** Set address to IPADDR_ANY (no need for htonl()) */
mbedalvaro 0:345b3bc7a0ea 170 #define ip_addr_set_any(ipaddr) ((ipaddr)->addr = IPADDR_ANY)
mbedalvaro 0:345b3bc7a0ea 171 /** Set address to loopback address */
mbedalvaro 0:345b3bc7a0ea 172 #define ip_addr_set_loopback(ipaddr) ((ipaddr)->addr = PP_HTONL(IPADDR_LOOPBACK))
mbedalvaro 0:345b3bc7a0ea 173 /** Safely copy one IP address to another and change byte order
mbedalvaro 0:345b3bc7a0ea 174 * from host- to network-order. */
mbedalvaro 0:345b3bc7a0ea 175 #define ip_addr_set_hton(dest, src) ((dest)->addr = \
mbedalvaro 0:345b3bc7a0ea 176 ((src) == NULL ? 0:\
mbedalvaro 0:345b3bc7a0ea 177 htonl((src)->addr)))
mbedalvaro 0:345b3bc7a0ea 178 /** IPv4 only: set the IP address given as an u32_t */
mbedalvaro 0:345b3bc7a0ea 179 #define ip4_addr_set_u32(dest_ipaddr, src_u32) ((dest_ipaddr)->addr = (src_u32))
mbedalvaro 0:345b3bc7a0ea 180 /** IPv4 only: get the IP address as an u32_t */
mbedalvaro 0:345b3bc7a0ea 181 #define ip4_addr_get_u32(src_ipaddr) ((src_ipaddr)->addr)
mbedalvaro 0:345b3bc7a0ea 182
mbedalvaro 0:345b3bc7a0ea 183 /** Get the network address by combining host address with netmask */
mbedalvaro 0:345b3bc7a0ea 184 #define ip_addr_get_network(target, host, netmask) ((target)->addr = ((host)->addr) & ((netmask)->addr))
mbedalvaro 0:345b3bc7a0ea 185
mbedalvaro 0:345b3bc7a0ea 186 /**
mbedalvaro 0:345b3bc7a0ea 187 * Determine if two address are on the same network.
mbedalvaro 0:345b3bc7a0ea 188 *
mbedalvaro 0:345b3bc7a0ea 189 * @arg addr1 IP address 1
mbedalvaro 0:345b3bc7a0ea 190 * @arg addr2 IP address 2
mbedalvaro 0:345b3bc7a0ea 191 * @arg mask network identifier mask
mbedalvaro 0:345b3bc7a0ea 192 * @return !0 if the network identifiers of both address match
mbedalvaro 0:345b3bc7a0ea 193 */
mbedalvaro 0:345b3bc7a0ea 194 #define ip_addr_netcmp(addr1, addr2, mask) (((addr1)->addr & \
mbedalvaro 0:345b3bc7a0ea 195 (mask)->addr) == \
mbedalvaro 0:345b3bc7a0ea 196 ((addr2)->addr & \
mbedalvaro 0:345b3bc7a0ea 197 (mask)->addr))
mbedalvaro 0:345b3bc7a0ea 198 #define ip_addr_cmp(addr1, addr2) ((addr1)->addr == (addr2)->addr)
mbedalvaro 0:345b3bc7a0ea 199
mbedalvaro 0:345b3bc7a0ea 200 #define ip_addr_isany(addr1) ((addr1) == NULL || (addr1)->addr == IPADDR_ANY)
mbedalvaro 0:345b3bc7a0ea 201
mbedalvaro 0:345b3bc7a0ea 202 #define ip_addr_isbroadcast(ipaddr, netif) ip4_addr_isbroadcast((ipaddr)->addr, (netif))
mbedalvaro 0:345b3bc7a0ea 203 u8_t ip4_addr_isbroadcast(u32_t addr, const struct netif *netif);
mbedalvaro 0:345b3bc7a0ea 204
mbedalvaro 0:345b3bc7a0ea 205 #define ip_addr_netmask_valid(netmask) ip4_addr_netmask_valid((netmask)->addr)
mbedalvaro 0:345b3bc7a0ea 206 u8_t ip4_addr_netmask_valid(u32_t netmask);
mbedalvaro 0:345b3bc7a0ea 207
mbedalvaro 0:345b3bc7a0ea 208 #define ip_addr_ismulticast(addr1) (((addr1)->addr & PP_HTONL(0xf0000000UL)) == PP_HTONL(0xe0000000UL))
mbedalvaro 0:345b3bc7a0ea 209
mbedalvaro 0:345b3bc7a0ea 210 #define ip_addr_islinklocal(addr1) (((addr1)->addr & PP_HTONL(0xffff0000UL)) == PP_HTONL(0xa9fe0000UL))
mbedalvaro 0:345b3bc7a0ea 211
mbedalvaro 0:345b3bc7a0ea 212 #define ip_addr_debug_print(debug, ipaddr) \
mbedalvaro 0:345b3bc7a0ea 213 LWIP_DEBUGF(debug, ("%"U16_F".%"U16_F".%"U16_F".%"U16_F, \
mbedalvaro 0:345b3bc7a0ea 214 ipaddr != NULL ? ip4_addr1_16(ipaddr) : 0, \
mbedalvaro 0:345b3bc7a0ea 215 ipaddr != NULL ? ip4_addr2_16(ipaddr) : 0, \
mbedalvaro 0:345b3bc7a0ea 216 ipaddr != NULL ? ip4_addr3_16(ipaddr) : 0, \
mbedalvaro 0:345b3bc7a0ea 217 ipaddr != NULL ? ip4_addr4_16(ipaddr) : 0))
mbedalvaro 0:345b3bc7a0ea 218
mbedalvaro 0:345b3bc7a0ea 219 /* Get one byte from the 4-byte address */
mbedalvaro 0:345b3bc7a0ea 220 #define ip4_addr1(ipaddr) (((u8_t*)(ipaddr))[0])
mbedalvaro 0:345b3bc7a0ea 221 #define ip4_addr2(ipaddr) (((u8_t*)(ipaddr))[1])
mbedalvaro 0:345b3bc7a0ea 222 #define ip4_addr3(ipaddr) (((u8_t*)(ipaddr))[2])
mbedalvaro 0:345b3bc7a0ea 223 #define ip4_addr4(ipaddr) (((u8_t*)(ipaddr))[3])
mbedalvaro 0:345b3bc7a0ea 224 /* These are cast to u16_t, with the intent that they are often arguments
mbedalvaro 0:345b3bc7a0ea 225 * to printf using the U16_F format from cc.h. */
mbedalvaro 0:345b3bc7a0ea 226 #define ip4_addr1_16(ipaddr) ((u16_t)ip4_addr1(ipaddr))
mbedalvaro 0:345b3bc7a0ea 227 #define ip4_addr2_16(ipaddr) ((u16_t)ip4_addr2(ipaddr))
mbedalvaro 0:345b3bc7a0ea 228 #define ip4_addr3_16(ipaddr) ((u16_t)ip4_addr3(ipaddr))
mbedalvaro 0:345b3bc7a0ea 229 #define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr))
mbedalvaro 0:345b3bc7a0ea 230
mbedalvaro 0:345b3bc7a0ea 231 /** For backwards compatibility */
mbedalvaro 0:345b3bc7a0ea 232 #define ip_ntoa(ipaddr) ipaddr_ntoa(ipaddr)
mbedalvaro 0:345b3bc7a0ea 233
mbedalvaro 0:345b3bc7a0ea 234 u32_t ipaddr_addr(const char *cp);
mbedalvaro 0:345b3bc7a0ea 235 int ipaddr_aton(const char *cp, ip_addr_t *addr);
mbedalvaro 0:345b3bc7a0ea 236 /** returns ptr to static buffer; not reentrant! */
mbedalvaro 0:345b3bc7a0ea 237 char *ipaddr_ntoa(const ip_addr_t *addr);
mbedalvaro 0:345b3bc7a0ea 238 char *ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen);
mbedalvaro 0:345b3bc7a0ea 239
mbedalvaro 0:345b3bc7a0ea 240 #ifdef __cplusplus
mbedalvaro 0:345b3bc7a0ea 241 }
mbedalvaro 0:345b3bc7a0ea 242 #endif
mbedalvaro 0:345b3bc7a0ea 243
mbedalvaro 0:345b3bc7a0ea 244 #endif /* __LWIP_IP_ADDR_H__ */