All defines related to this section must not be placed in lwipopts.h, but in arch/cc.h! If the compiler does not provide memset() this file must include a definition of it, or include a file which defines it. These options cannot be #defined in lwipopts.h since they are not options of lwIP itself, but options of the lwIP port to your system.
◆ BYTE_ORDER
Define the byte order of the system. Needed for conversion of network data to host byte order. Allowed values: LITTLE_ENDIAN and BIG_ENDIAN
Definition at line 67 of file arch.h.
◆ LWIP_ALIGNMENT_CAST
Get rid of alignment cast warnings (GCC -Wcast-align)
Definition at line 245 of file arch.h.
◆ LWIP_CONST_CAST
C++ const_cast<target_type>(val) equivalent to remove constness from a value (GCC -Wcast-qual)
Definition at line 240 of file arch.h.
◆ LWIP_DECLARE_MEMORY_ALIGNED
◆ lwip_isdigit
◆ lwip_islower
◆ lwip_isspace
◆ lwip_isupper
◆ lwip_isxdigit
◆ LWIP_MEM_ALIGN
Align a memory pointer to the alignment defined by MEM_ALIGNMENT so that ADDR % MEM_ALIGNMENT == 0
Definition at line 294 of file arch.h.
◆ LWIP_MEM_ALIGN_BUFFER
Calculate safe memory size for an aligned buffer when using an unaligned type as storage. This includes a safety-margin on (MEM_ALIGNMENT - 1) at the start (e.g. if buffer is u8_t[] and actual data will be u32_t*)
Definition at line 287 of file arch.h.
◆ LWIP_MEM_ALIGN_SIZE
◆ LWIP_NO_CTYPE_H
Define this to 1 in arch/cc.h of your port if your compiler does not provide the ctype.h header. If ctype.h is available, a few character functions are mapped to the appropriate functions (lwip_islower, lwip_isdigit...), if not, a private implementation is provided.
Definition at line 215 of file arch.h.
◆ LWIP_NO_INTTYPES_H
Define this to 1 in arch/cc.h of your port if your compiler does not provide the inttypes.h header. You need to define the format strings listed in lwip/arch.h yourself in this case (X8_F, U16_F...).
Definition at line 143 of file arch.h.
◆ LWIP_NO_LIMITS_H
Define this to 1 in arch/cc.h of your port if your compiler does not provide the limits.h header. You need to define the type limits yourself in this case (e.g. INT_MAX, SSIZE_MAX).
Definition at line 180 of file arch.h.
◆ LWIP_NO_STDDEF_H
Define this to 1 in arch/cc.h of your port if you do not want to include stddef.h header to get size_t. You need to typedef size_t by yourself in this case.
Definition at line 103 of file arch.h.
◆ LWIP_NO_STDINT_H
Define this to 1 in arch/cc.h of your port if your compiler does not provide the stdint.h header. You need to typedef the generic types listed in lwip/arch.h yourself in this case (u8_t, u16_t...).
Definition at line 115 of file arch.h.
◆ LWIP_PACKED_CAST
Avoid warnings/errors related to implicitly casting away packed attributes by doing a explicit cast
Definition at line 257 of file arch.h.
◆ LWIP_PLATFORM_ASSERT
Value: do {
printf(
"Assertion \"%s\" failed at line %d in %s\n", \
GLint GLint GLint GLint GLint x
_Check_return_opt_ _CRTIMP int __cdecl fflush(_Inout_opt_ FILE *_File)
Platform specific assertion handling.
Note the default implementation pulls in printf, fflush and abort, which may in turn pull in a lot of standard library code. In resource-constrained systems, this should be defined to something less resource-consuming.
Definition at line 92 of file arch.h.
◆ LWIP_PLATFORM_DIAG
Define random number generator function of your system Platform specific diagnostic output.
Note the default implementation pulls in printf, which may in turn pull in a lot of standard library code. In resource-constrained systems, this should be defined to something less resource-consuming.
Definition at line 81 of file arch.h.
◆ LWIP_PTR_NUMERIC_CAST
Get rid of warnings related to pointer-to-numeric and vice-versa casts, e.g. "conversion from 'u8_t' to 'void *' of greater size"
Definition at line 252 of file arch.h.
◆ lwip_tolower
◆ lwip_toupper
◆ LWIP_UINT32_MAX
#define LWIP_UINT32_MAX 0xffffffff |
◆ LWIP_UNUSED_ARG
PACK_STRUCT_USE_INCLUDES==1: Packed structs support using #include files before and after struct to be packed.
The file included BEFORE the struct is "arch/bpstruct.h".
The file included AFTER the struct is "arch/epstruct.h".
This can be used to implement struct packing on MS Visual C compilers, see the Win32 port in the lwIP/contrib subdir for reference. For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here. Eliminates compiler warning about unused arguments (GCC -Wextra -Wunused).
Definition at line 373 of file arch.h.
◆ PACK_STRUCT_BEGIN
Packed structs support. Placed BEFORE declaration of a packed struct.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 307 of file arch.h.
◆ PACK_STRUCT_END
Packed structs support. Placed AFTER declaration of a packed struct.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 316 of file arch.h.
◆ PACK_STRUCT_FIELD
Packed structs support. Wraps u32_t and u16_t members.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 338 of file arch.h.
◆ PACK_STRUCT_FLD_8
Packed structs support. Wraps u8_t members, where some compilers warn that packing is not necessary.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 347 of file arch.h.
◆ PACK_STRUCT_FLD_S
Packed structs support. Wraps members that are packed structs themselves, where some compilers warn that packing is not necessary.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 356 of file arch.h.
◆ PACK_STRUCT_STRUCT
Packed structs support. Placed between end of declaration of a packed struct and trailing semicolon.
For examples of packed struct declarations, see include/lwip/prot/ subfolder.
A port to GCC/clang is included in lwIP, if you use these compilers there is nothing to do here.
Definition at line 328 of file arch.h.
◆ S16_F
◆ S32_F
◆ SSIZE_MAX
◆ SZT_F
◆ U16_F
◆ U32_F
◆ X16_F
◆ X32_F
◆ X8_F
◆ mem_ptr_t
◆ s16_t
◆ s32_t
◆ s8_t
◆ ssize_t
◆ u16_t
◆ u32_t
◆ u8_t