Go to the documentation of this file.
37 #ifndef LWIP_HDR_ARCH_H
38 #define LWIP_HDR_ARCH_H
41 #define LITTLE_ENDIAN 1234
45 #define BIG_ENDIAN 4321
68 #define BYTE_ORDER LITTLE_ENDIAN
73 #define LWIP_RAND() ((u32_t)rand())
81 #ifndef LWIP_PLATFORM_DIAG
82 #define LWIP_PLATFORM_DIAG(x) do {kprintf x;} while(0)
90 #ifndef LWIP_PLATFORM_ASSERT
91 #define LWIP_PLATFORM_ASSERT(x) do {kprintf("Assertion \"%s\" failed at line %d in %s\n", x, __LINE__, __FILE__); kpanic("asserted");} while(0)
98 #ifndef LWIP_NO_STDDEF_H
99 #define LWIP_NO_STDDEF_H 0
102 #if !LWIP_NO_STDDEF_H
113 #ifndef LWIP_NO_STDINT_H
114 #define LWIP_NO_STDINT_H 0
118 #if !LWIP_NO_STDINT_H
135 #ifndef LWIP_NO_INTTYPES_H
136 #define LWIP_NO_INTTYPES_H 0
140 #if !LWIP_NO_INTTYPES_H
145 #define X8_F "02" PRIx8
166 #define SZT_F PRIuPTR
174 #ifndef LWIP_NO_LIMITS_H
175 #define LWIP_NO_LIMITS_H 0
179 #if !LWIP_NO_LIMITS_H
186 #ifndef LWIP_CONST_CAST
187 #define LWIP_CONST_CAST(target_type, val) ((target_type)((ptrdiff_t)val))
191 #ifndef LWIP_ALIGNMENT_CAST
192 #define LWIP_ALIGNMENT_CAST(target_type, val) LWIP_CONST_CAST(target_type, val)
198 #ifndef LWIP_PTR_NUMERIC_CAST
199 #define LWIP_PTR_NUMERIC_CAST(target_type, val) LWIP_CONST_CAST(target_type, val)
212 #ifndef LWIP_DECLARE_MEMORY_ALIGNED
213 #define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) u8_t variable_name[LWIP_MEM_ALIGN_BUFFER(size)]
220 #ifndef LWIP_MEM_ALIGN_SIZE
221 #define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1U) & ~(MEM_ALIGNMENT-1U))
228 #ifndef LWIP_MEM_ALIGN_BUFFER
229 #define LWIP_MEM_ALIGN_BUFFER(size) (((size) + MEM_ALIGNMENT - 1U))
235 #ifndef LWIP_MEM_ALIGN
236 #define LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1)))
248 #ifndef PACK_STRUCT_BEGIN
249 #define PACK_STRUCT_BEGIN
257 #ifndef PACK_STRUCT_END
258 #define PACK_STRUCT_END
266 #ifndef PACK_STRUCT_STRUCT
267 #if defined(__GNUC__) || defined(__clang__)
268 #define PACK_STRUCT_STRUCT __attribute__((packed))
270 #define PACK_STRUCT_STRUCT
279 #ifndef PACK_STRUCT_FIELD
280 #define PACK_STRUCT_FIELD(x) x
288 #ifndef PACK_STRUCT_FLD_8
289 #define PACK_STRUCT_FLD_8(x) PACK_STRUCT_FIELD(x)
297 #ifndef PACK_STRUCT_FLD_S
298 #define PACK_STRUCT_FLD_S(x) PACK_STRUCT_FIELD(x)
310 #define PACK_STRUCT_USE_INCLUDES
314 #ifndef LWIP_UNUSED_ARG
315 #define LWIP_UNUSED_ARG(x) (void)x