Integrating the ublox LISA C200 modem

Fork of SprintUSBModemHTTPClientTest by Donatien Garnier

Committer:
sam_grove
Date:
Thu Sep 26 00:44:20 2013 -0500
Revision:
5:3f93dd1d4cb3
Exported program and replaced contents of the repo with the source
to build and debug using keil mdk. Libs NOT upto date are lwip, lwip-sys
and socket. these have newer versions under mbed_official but were starting
from a know working point

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 5:3f93dd1d4cb3 1 /*
sam_grove 5:3f93dd1d4cb3 2 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
sam_grove 5:3f93dd1d4cb3 3 * All rights reserved.
sam_grove 5:3f93dd1d4cb3 4 *
sam_grove 5:3f93dd1d4cb3 5 * Redistribution and use in source and binary forms, with or without modification,
sam_grove 5:3f93dd1d4cb3 6 * are permitted provided that the following conditions are met:
sam_grove 5:3f93dd1d4cb3 7 *
sam_grove 5:3f93dd1d4cb3 8 * 1. Redistributions of source code must retain the above copyright notice,
sam_grove 5:3f93dd1d4cb3 9 * this list of conditions and the following disclaimer.
sam_grove 5:3f93dd1d4cb3 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
sam_grove 5:3f93dd1d4cb3 11 * this list of conditions and the following disclaimer in the documentation
sam_grove 5:3f93dd1d4cb3 12 * and/or other materials provided with the distribution.
sam_grove 5:3f93dd1d4cb3 13 * 3. The name of the author may not be used to endorse or promote products
sam_grove 5:3f93dd1d4cb3 14 * derived from this software without specific prior written permission.
sam_grove 5:3f93dd1d4cb3 15 *
sam_grove 5:3f93dd1d4cb3 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
sam_grove 5:3f93dd1d4cb3 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
sam_grove 5:3f93dd1d4cb3 18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
sam_grove 5:3f93dd1d4cb3 19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
sam_grove 5:3f93dd1d4cb3 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
sam_grove 5:3f93dd1d4cb3 21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
sam_grove 5:3f93dd1d4cb3 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
sam_grove 5:3f93dd1d4cb3 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
sam_grove 5:3f93dd1d4cb3 24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
sam_grove 5:3f93dd1d4cb3 25 * OF SUCH DAMAGE.
sam_grove 5:3f93dd1d4cb3 26 *
sam_grove 5:3f93dd1d4cb3 27 * This file is part of the lwIP TCP/IP stack.
sam_grove 5:3f93dd1d4cb3 28 *
sam_grove 5:3f93dd1d4cb3 29 * Author: Adam Dunkels <adam@sics.se>
sam_grove 5:3f93dd1d4cb3 30 *
sam_grove 5:3f93dd1d4cb3 31 */
sam_grove 5:3f93dd1d4cb3 32 #ifndef __LWIP_STATS_H__
sam_grove 5:3f93dd1d4cb3 33 #define __LWIP_STATS_H__
sam_grove 5:3f93dd1d4cb3 34
sam_grove 5:3f93dd1d4cb3 35 #include "lwip/opt.h"
sam_grove 5:3f93dd1d4cb3 36
sam_grove 5:3f93dd1d4cb3 37 #include "lwip/mem.h"
sam_grove 5:3f93dd1d4cb3 38 #include "lwip/memp.h"
sam_grove 5:3f93dd1d4cb3 39
sam_grove 5:3f93dd1d4cb3 40 #ifdef __cplusplus
sam_grove 5:3f93dd1d4cb3 41 extern "C" {
sam_grove 5:3f93dd1d4cb3 42 #endif
sam_grove 5:3f93dd1d4cb3 43
sam_grove 5:3f93dd1d4cb3 44 #if LWIP_STATS
sam_grove 5:3f93dd1d4cb3 45
sam_grove 5:3f93dd1d4cb3 46 #ifndef LWIP_STATS_LARGE
sam_grove 5:3f93dd1d4cb3 47 #define LWIP_STATS_LARGE 0
sam_grove 5:3f93dd1d4cb3 48 #endif
sam_grove 5:3f93dd1d4cb3 49
sam_grove 5:3f93dd1d4cb3 50 #if LWIP_STATS_LARGE
sam_grove 5:3f93dd1d4cb3 51 #define STAT_COUNTER u32_t
sam_grove 5:3f93dd1d4cb3 52 #define STAT_COUNTER_F U32_F
sam_grove 5:3f93dd1d4cb3 53 #else
sam_grove 5:3f93dd1d4cb3 54 #define STAT_COUNTER u16_t
sam_grove 5:3f93dd1d4cb3 55 #define STAT_COUNTER_F U16_F
sam_grove 5:3f93dd1d4cb3 56 #endif
sam_grove 5:3f93dd1d4cb3 57
sam_grove 5:3f93dd1d4cb3 58 struct stats_proto {
sam_grove 5:3f93dd1d4cb3 59 STAT_COUNTER xmit; /* Transmitted packets. */
sam_grove 5:3f93dd1d4cb3 60 STAT_COUNTER recv; /* Received packets. */
sam_grove 5:3f93dd1d4cb3 61 STAT_COUNTER fw; /* Forwarded packets. */
sam_grove 5:3f93dd1d4cb3 62 STAT_COUNTER drop; /* Dropped packets. */
sam_grove 5:3f93dd1d4cb3 63 STAT_COUNTER chkerr; /* Checksum error. */
sam_grove 5:3f93dd1d4cb3 64 STAT_COUNTER lenerr; /* Invalid length error. */
sam_grove 5:3f93dd1d4cb3 65 STAT_COUNTER memerr; /* Out of memory error. */
sam_grove 5:3f93dd1d4cb3 66 STAT_COUNTER rterr; /* Routing error. */
sam_grove 5:3f93dd1d4cb3 67 STAT_COUNTER proterr; /* Protocol error. */
sam_grove 5:3f93dd1d4cb3 68 STAT_COUNTER opterr; /* Error in options. */
sam_grove 5:3f93dd1d4cb3 69 STAT_COUNTER err; /* Misc error. */
sam_grove 5:3f93dd1d4cb3 70 STAT_COUNTER cachehit;
sam_grove 5:3f93dd1d4cb3 71 };
sam_grove 5:3f93dd1d4cb3 72
sam_grove 5:3f93dd1d4cb3 73 struct stats_igmp {
sam_grove 5:3f93dd1d4cb3 74 STAT_COUNTER xmit; /* Transmitted packets. */
sam_grove 5:3f93dd1d4cb3 75 STAT_COUNTER recv; /* Received packets. */
sam_grove 5:3f93dd1d4cb3 76 STAT_COUNTER drop; /* Dropped packets. */
sam_grove 5:3f93dd1d4cb3 77 STAT_COUNTER chkerr; /* Checksum error. */
sam_grove 5:3f93dd1d4cb3 78 STAT_COUNTER lenerr; /* Invalid length error. */
sam_grove 5:3f93dd1d4cb3 79 STAT_COUNTER memerr; /* Out of memory error. */
sam_grove 5:3f93dd1d4cb3 80 STAT_COUNTER proterr; /* Protocol error. */
sam_grove 5:3f93dd1d4cb3 81 STAT_COUNTER rx_v1; /* Received v1 frames. */
sam_grove 5:3f93dd1d4cb3 82 STAT_COUNTER rx_group; /* Received group-specific queries. */
sam_grove 5:3f93dd1d4cb3 83 STAT_COUNTER rx_general; /* Received general queries. */
sam_grove 5:3f93dd1d4cb3 84 STAT_COUNTER rx_report; /* Received reports. */
sam_grove 5:3f93dd1d4cb3 85 STAT_COUNTER tx_join; /* Sent joins. */
sam_grove 5:3f93dd1d4cb3 86 STAT_COUNTER tx_leave; /* Sent leaves. */
sam_grove 5:3f93dd1d4cb3 87 STAT_COUNTER tx_report; /* Sent reports. */
sam_grove 5:3f93dd1d4cb3 88 };
sam_grove 5:3f93dd1d4cb3 89
sam_grove 5:3f93dd1d4cb3 90 struct stats_mem {
sam_grove 5:3f93dd1d4cb3 91 #ifdef LWIP_DEBUG
sam_grove 5:3f93dd1d4cb3 92 const char *name;
sam_grove 5:3f93dd1d4cb3 93 #endif /* LWIP_DEBUG */
sam_grove 5:3f93dd1d4cb3 94 mem_size_t avail;
sam_grove 5:3f93dd1d4cb3 95 mem_size_t used;
sam_grove 5:3f93dd1d4cb3 96 mem_size_t max;
sam_grove 5:3f93dd1d4cb3 97 STAT_COUNTER err;
sam_grove 5:3f93dd1d4cb3 98 STAT_COUNTER illegal;
sam_grove 5:3f93dd1d4cb3 99 };
sam_grove 5:3f93dd1d4cb3 100
sam_grove 5:3f93dd1d4cb3 101 struct stats_syselem {
sam_grove 5:3f93dd1d4cb3 102 STAT_COUNTER used;
sam_grove 5:3f93dd1d4cb3 103 STAT_COUNTER max;
sam_grove 5:3f93dd1d4cb3 104 STAT_COUNTER err;
sam_grove 5:3f93dd1d4cb3 105 };
sam_grove 5:3f93dd1d4cb3 106
sam_grove 5:3f93dd1d4cb3 107 struct stats_sys {
sam_grove 5:3f93dd1d4cb3 108 struct stats_syselem sem;
sam_grove 5:3f93dd1d4cb3 109 struct stats_syselem mutex;
sam_grove 5:3f93dd1d4cb3 110 struct stats_syselem mbox;
sam_grove 5:3f93dd1d4cb3 111 };
sam_grove 5:3f93dd1d4cb3 112
sam_grove 5:3f93dd1d4cb3 113 struct stats_ {
sam_grove 5:3f93dd1d4cb3 114 #if LINK_STATS
sam_grove 5:3f93dd1d4cb3 115 struct stats_proto link;
sam_grove 5:3f93dd1d4cb3 116 #endif
sam_grove 5:3f93dd1d4cb3 117 #if ETHARP_STATS
sam_grove 5:3f93dd1d4cb3 118 struct stats_proto etharp;
sam_grove 5:3f93dd1d4cb3 119 #endif
sam_grove 5:3f93dd1d4cb3 120 #if IPFRAG_STATS
sam_grove 5:3f93dd1d4cb3 121 struct stats_proto ip_frag;
sam_grove 5:3f93dd1d4cb3 122 #endif
sam_grove 5:3f93dd1d4cb3 123 #if IP_STATS
sam_grove 5:3f93dd1d4cb3 124 struct stats_proto ip;
sam_grove 5:3f93dd1d4cb3 125 #endif
sam_grove 5:3f93dd1d4cb3 126 #if ICMP_STATS
sam_grove 5:3f93dd1d4cb3 127 struct stats_proto icmp;
sam_grove 5:3f93dd1d4cb3 128 #endif
sam_grove 5:3f93dd1d4cb3 129 #if IGMP_STATS
sam_grove 5:3f93dd1d4cb3 130 struct stats_igmp igmp;
sam_grove 5:3f93dd1d4cb3 131 #endif
sam_grove 5:3f93dd1d4cb3 132 #if UDP_STATS
sam_grove 5:3f93dd1d4cb3 133 struct stats_proto udp;
sam_grove 5:3f93dd1d4cb3 134 #endif
sam_grove 5:3f93dd1d4cb3 135 #if TCP_STATS
sam_grove 5:3f93dd1d4cb3 136 struct stats_proto tcp;
sam_grove 5:3f93dd1d4cb3 137 #endif
sam_grove 5:3f93dd1d4cb3 138 #if MEM_STATS
sam_grove 5:3f93dd1d4cb3 139 struct stats_mem mem;
sam_grove 5:3f93dd1d4cb3 140 #endif
sam_grove 5:3f93dd1d4cb3 141 #if MEMP_STATS
sam_grove 5:3f93dd1d4cb3 142 struct stats_mem memp[MEMP_MAX];
sam_grove 5:3f93dd1d4cb3 143 #endif
sam_grove 5:3f93dd1d4cb3 144 #if SYS_STATS
sam_grove 5:3f93dd1d4cb3 145 struct stats_sys sys;
sam_grove 5:3f93dd1d4cb3 146 #endif
sam_grove 5:3f93dd1d4cb3 147 };
sam_grove 5:3f93dd1d4cb3 148
sam_grove 5:3f93dd1d4cb3 149 extern struct stats_ lwip_stats;
sam_grove 5:3f93dd1d4cb3 150
sam_grove 5:3f93dd1d4cb3 151 void stats_init(void);
sam_grove 5:3f93dd1d4cb3 152
sam_grove 5:3f93dd1d4cb3 153 #define STATS_INC(x) ++lwip_stats.x
sam_grove 5:3f93dd1d4cb3 154 #define STATS_DEC(x) --lwip_stats.x
sam_grove 5:3f93dd1d4cb3 155 #define STATS_INC_USED(x, y) do { lwip_stats.x.used += y; \
sam_grove 5:3f93dd1d4cb3 156 if (lwip_stats.x.max < lwip_stats.x.used) { \
sam_grove 5:3f93dd1d4cb3 157 lwip_stats.x.max = lwip_stats.x.used; \
sam_grove 5:3f93dd1d4cb3 158 } \
sam_grove 5:3f93dd1d4cb3 159 } while(0)
sam_grove 5:3f93dd1d4cb3 160 #else /* LWIP_STATS */
sam_grove 5:3f93dd1d4cb3 161 #define stats_init()
sam_grove 5:3f93dd1d4cb3 162 #define STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 163 #define STATS_DEC(x)
sam_grove 5:3f93dd1d4cb3 164 #define STATS_INC_USED(x)
sam_grove 5:3f93dd1d4cb3 165 #endif /* LWIP_STATS */
sam_grove 5:3f93dd1d4cb3 166
sam_grove 5:3f93dd1d4cb3 167 #if TCP_STATS
sam_grove 5:3f93dd1d4cb3 168 #define TCP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 169 #define TCP_STATS_DISPLAY() stats_display_proto(&lwip_stats.tcp, "TCP")
sam_grove 5:3f93dd1d4cb3 170 #else
sam_grove 5:3f93dd1d4cb3 171 #define TCP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 172 #define TCP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 173 #endif
sam_grove 5:3f93dd1d4cb3 174
sam_grove 5:3f93dd1d4cb3 175 #if UDP_STATS
sam_grove 5:3f93dd1d4cb3 176 #define UDP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 177 #define UDP_STATS_DISPLAY() stats_display_proto(&lwip_stats.udp, "UDP")
sam_grove 5:3f93dd1d4cb3 178 #else
sam_grove 5:3f93dd1d4cb3 179 #define UDP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 180 #define UDP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 181 #endif
sam_grove 5:3f93dd1d4cb3 182
sam_grove 5:3f93dd1d4cb3 183 #if ICMP_STATS
sam_grove 5:3f93dd1d4cb3 184 #define ICMP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 185 #define ICMP_STATS_DISPLAY() stats_display_proto(&lwip_stats.icmp, "ICMP")
sam_grove 5:3f93dd1d4cb3 186 #else
sam_grove 5:3f93dd1d4cb3 187 #define ICMP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 188 #define ICMP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 189 #endif
sam_grove 5:3f93dd1d4cb3 190
sam_grove 5:3f93dd1d4cb3 191 #if IGMP_STATS
sam_grove 5:3f93dd1d4cb3 192 #define IGMP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 193 #define IGMP_STATS_DISPLAY() stats_display_igmp(&lwip_stats.igmp)
sam_grove 5:3f93dd1d4cb3 194 #else
sam_grove 5:3f93dd1d4cb3 195 #define IGMP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 196 #define IGMP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 197 #endif
sam_grove 5:3f93dd1d4cb3 198
sam_grove 5:3f93dd1d4cb3 199 #if IP_STATS
sam_grove 5:3f93dd1d4cb3 200 #define IP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 201 #define IP_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip, "IP")
sam_grove 5:3f93dd1d4cb3 202 #else
sam_grove 5:3f93dd1d4cb3 203 #define IP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 204 #define IP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 205 #endif
sam_grove 5:3f93dd1d4cb3 206
sam_grove 5:3f93dd1d4cb3 207 #if IPFRAG_STATS
sam_grove 5:3f93dd1d4cb3 208 #define IPFRAG_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 209 #define IPFRAG_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip_frag, "IP_FRAG")
sam_grove 5:3f93dd1d4cb3 210 #else
sam_grove 5:3f93dd1d4cb3 211 #define IPFRAG_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 212 #define IPFRAG_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 213 #endif
sam_grove 5:3f93dd1d4cb3 214
sam_grove 5:3f93dd1d4cb3 215 #if ETHARP_STATS
sam_grove 5:3f93dd1d4cb3 216 #define ETHARP_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 217 #define ETHARP_STATS_DISPLAY() stats_display_proto(&lwip_stats.etharp, "ETHARP")
sam_grove 5:3f93dd1d4cb3 218 #else
sam_grove 5:3f93dd1d4cb3 219 #define ETHARP_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 220 #define ETHARP_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 221 #endif
sam_grove 5:3f93dd1d4cb3 222
sam_grove 5:3f93dd1d4cb3 223 #if LINK_STATS
sam_grove 5:3f93dd1d4cb3 224 #define LINK_STATS_INC(x) STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 225 #define LINK_STATS_DISPLAY() stats_display_proto(&lwip_stats.link, "LINK")
sam_grove 5:3f93dd1d4cb3 226 #else
sam_grove 5:3f93dd1d4cb3 227 #define LINK_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 228 #define LINK_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 229 #endif
sam_grove 5:3f93dd1d4cb3 230
sam_grove 5:3f93dd1d4cb3 231 #if MEM_STATS
sam_grove 5:3f93dd1d4cb3 232 #define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y
sam_grove 5:3f93dd1d4cb3 233 #define MEM_STATS_INC(x) STATS_INC(mem.x)
sam_grove 5:3f93dd1d4cb3 234 #define MEM_STATS_INC_USED(x, y) STATS_INC_USED(mem, y)
sam_grove 5:3f93dd1d4cb3 235 #define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y
sam_grove 5:3f93dd1d4cb3 236 #define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP")
sam_grove 5:3f93dd1d4cb3 237 #else
sam_grove 5:3f93dd1d4cb3 238 #define MEM_STATS_AVAIL(x, y)
sam_grove 5:3f93dd1d4cb3 239 #define MEM_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 240 #define MEM_STATS_INC_USED(x, y)
sam_grove 5:3f93dd1d4cb3 241 #define MEM_STATS_DEC_USED(x, y)
sam_grove 5:3f93dd1d4cb3 242 #define MEM_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 243 #endif
sam_grove 5:3f93dd1d4cb3 244
sam_grove 5:3f93dd1d4cb3 245 #if MEMP_STATS
sam_grove 5:3f93dd1d4cb3 246 #define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y
sam_grove 5:3f93dd1d4cb3 247 #define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x)
sam_grove 5:3f93dd1d4cb3 248 #define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x)
sam_grove 5:3f93dd1d4cb3 249 #define MEMP_STATS_INC_USED(x, i) STATS_INC_USED(memp[i], 1)
sam_grove 5:3f93dd1d4cb3 250 #define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i)
sam_grove 5:3f93dd1d4cb3 251 #else
sam_grove 5:3f93dd1d4cb3 252 #define MEMP_STATS_AVAIL(x, i, y)
sam_grove 5:3f93dd1d4cb3 253 #define MEMP_STATS_INC(x, i)
sam_grove 5:3f93dd1d4cb3 254 #define MEMP_STATS_DEC(x, i)
sam_grove 5:3f93dd1d4cb3 255 #define MEMP_STATS_INC_USED(x, i)
sam_grove 5:3f93dd1d4cb3 256 #define MEMP_STATS_DISPLAY(i)
sam_grove 5:3f93dd1d4cb3 257 #endif
sam_grove 5:3f93dd1d4cb3 258
sam_grove 5:3f93dd1d4cb3 259 #if SYS_STATS
sam_grove 5:3f93dd1d4cb3 260 #define SYS_STATS_INC(x) STATS_INC(sys.x)
sam_grove 5:3f93dd1d4cb3 261 #define SYS_STATS_DEC(x) STATS_DEC(sys.x)
sam_grove 5:3f93dd1d4cb3 262 #define SYS_STATS_INC_USED(x) STATS_INC_USED(sys.x, 1)
sam_grove 5:3f93dd1d4cb3 263 #define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys)
sam_grove 5:3f93dd1d4cb3 264 #else
sam_grove 5:3f93dd1d4cb3 265 #define SYS_STATS_INC(x)
sam_grove 5:3f93dd1d4cb3 266 #define SYS_STATS_DEC(x)
sam_grove 5:3f93dd1d4cb3 267 #define SYS_STATS_INC_USED(x)
sam_grove 5:3f93dd1d4cb3 268 #define SYS_STATS_DISPLAY()
sam_grove 5:3f93dd1d4cb3 269 #endif
sam_grove 5:3f93dd1d4cb3 270
sam_grove 5:3f93dd1d4cb3 271 /* Display of statistics */
sam_grove 5:3f93dd1d4cb3 272 #if LWIP_STATS_DISPLAY
sam_grove 5:3f93dd1d4cb3 273 void stats_display(void);
sam_grove 5:3f93dd1d4cb3 274 void stats_display_proto(struct stats_proto *proto, char *name);
sam_grove 5:3f93dd1d4cb3 275 void stats_display_igmp(struct stats_igmp *igmp);
sam_grove 5:3f93dd1d4cb3 276 void stats_display_mem(struct stats_mem *mem, char *name);
sam_grove 5:3f93dd1d4cb3 277 void stats_display_memp(struct stats_mem *mem, int index);
sam_grove 5:3f93dd1d4cb3 278 void stats_display_sys(struct stats_sys *sys);
sam_grove 5:3f93dd1d4cb3 279 #else /* LWIP_STATS_DISPLAY */
sam_grove 5:3f93dd1d4cb3 280 #define stats_display()
sam_grove 5:3f93dd1d4cb3 281 #define stats_display_proto(proto, name)
sam_grove 5:3f93dd1d4cb3 282 #define stats_display_igmp(igmp)
sam_grove 5:3f93dd1d4cb3 283 #define stats_display_mem(mem, name)
sam_grove 5:3f93dd1d4cb3 284 #define stats_display_memp(mem, index)
sam_grove 5:3f93dd1d4cb3 285 #define stats_display_sys(sys)
sam_grove 5:3f93dd1d4cb3 286 #endif /* LWIP_STATS_DISPLAY */
sam_grove 5:3f93dd1d4cb3 287
sam_grove 5:3f93dd1d4cb3 288 #ifdef __cplusplus
sam_grove 5:3f93dd1d4cb3 289 }
sam_grove 5:3f93dd1d4cb3 290 #endif
sam_grove 5:3f93dd1d4cb3 291
sam_grove 5:3f93dd1d4cb3 292 #endif /* __LWIP_STATS_H__ */