1- /*
2- * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3- * All rights reserved.
4- *
5- * Redistribution and use in source and binary forms, with or without modification,
6- * are permitted provided that the following conditions are met:
7- *
8- * 1. Redistributions of source code must retain the above copyright notice,
9- * this list of conditions and the following disclaimer.
10- * 2. Redistributions in binary form must reproduce the above copyright notice,
11- * this list of conditions and the following disclaimer in the documentation
12- * and/or other materials provided with the distribution.
13- * 3. The name of the author may not be used to endorse or promote products
14- * derived from this software without specific prior written permission.
15- *
16- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25- * OF SUCH DAMAGE.
26- *
27- * This file is part of the lwIP TCP/IP stack.
28- *
29- * Author: Adam Dunkels <[email protected] > 30- *
31- */
32- #ifndef __CC_H__
33- #define __CC_H__
1+ /*
2+ * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3+ * All rights reserved.
4+ *
5+ * Redistribution and use in source and binary forms, with or without modification,
6+ * are permitted provided that the following conditions are met:
7+ *
8+ * 1. Redistributions of source code must retain the above copyright notice,
9+ * this list of conditions and the following disclaimer.
10+ * 2. Redistributions in binary form must reproduce the above copyright notice,
11+ * this list of conditions and the following disclaimer in the documentation
12+ * and/or other materials provided with the distribution.
13+ * 3. The name of the author may not be used to endorse or promote products
14+ * derived from this software without specific prior written permission.
15+ *
16+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19+ * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25+ * OF SUCH DAMAGE.
26+ *
27+ * This file is part of the lwIP TCP/IP stack.
28+ *
29+ * Author: Adam Dunkels <[email protected] > 30+ *
31+ */
32+ #ifndef __CC_H__
33+ #define __CC_H__
3434
3535#include <stdint.h>
3636#include <stddef.h> /* for size_t */
3737#include "mbed_toolchain.h"
38+ #include "lwipopts.h"
3839
3940#ifdef __cplusplus
4041extern "C" {
@@ -48,8 +49,10 @@ extern "C" {
4849#define BYTE_ORDER LITTLE_ENDIAN
4950#endif
5051
52+ #ifndef LWIP_PROVIDE_ERRNO
5153/* Use LWIP error codes */
5254#define LWIP_PROVIDE_ERRNO
55+ #endif
5356
5457#if defined(__arm__ ) && defined(__ARMCC_VERSION ) && (__ARMCC_VERSION < 6010050 )
5558 /* Keil uVision4 tools */
@@ -58,22 +61,22 @@ extern "C" {
5861 #define PACK_STRUCT_END
5962 #define PACK_STRUCT_FIELD (fld ) fld
6063 #define ALIGNED (n ) __align(n)
61- #elif defined (__IAR_SYSTEMS_ICC__ )
64+ #elif defined (__IAR_SYSTEMS_ICC__ )
6265 /* IAR Embedded Workbench tools */
6366 #define PACK_STRUCT_BEGIN __packed
6467 #define PACK_STRUCT_STRUCT
6568 #define PACK_STRUCT_END
6669 #define PACK_STRUCT_FIELD (fld ) fld
6770 #define IAR_STR (a ) #a
6871 #define ALIGNED (n ) _Pragma(IAR_STR(data_alignment= ## n ##))
69- #else
72+ #else
7073 /* GCC tools (CodeSourcery) */
7174 #define PACK_STRUCT_BEGIN
7275 #define PACK_STRUCT_STRUCT __attribute__ ((__packed__))
7376 #define PACK_STRUCT_END
7477 #define PACK_STRUCT_FIELD (fld ) fld
7578 #define ALIGNED (n ) __attribute__((aligned (n)))
76- #endif
79+ #endif
7780
7881/* Provide Thumb-2 routines for GCC to improve performance */
7982#if defined(TOOLCHAIN_GCC ) && defined(__thumb2__ )
@@ -115,7 +118,7 @@ MBED_NORETURN void assert_printf(const char *msg, int line, const char *file);
115118#define LWIP_PLATFORM_DIAG (vars ) printf vars
116119#define LWIP_PLATFORM_ASSERT (flag ) { assert_printf((flag), __LINE__, __FILE__); }
117120#endif // MBED_CONF_LWIP_USE_MBED_TRACE
118- #endif
121+ #endif
119122
120123#if TRACE_TO_ASCII_HEX_DUMP
121124#define TRACE_TO_ASCII_HEX_DUMPF (prefix , len , data ) trace_to_ascii_hex_dump(prefix, len, data)
@@ -180,4 +183,4 @@ SET_MEMP_SECTION(memp_memory_TCPIP_MSG_API_base);
180183}
181184#endif
182185
183- #endif /* __CC_H__ */
186+ #endif /* __CC_H__ */
0 commit comments