Files
nt-lite/code/drivers/net/lwip/include/arch/cc.h
T
2026-05-28 21:00:04 +02:00

50 lines
1.2 KiB
C

#pragma once
#ifndef LWIP_ARCH_CC_H
#define LWIP_ARCH_CC_H
#include <stdint.h>
#include <stddef.h>
#include <kernel/ke_debug.h>
#ifndef LITTLE_ENDIAN
#define LITTLE_ENDIAN 1234
#endif
#ifndef BIG_ENDIAN
#define BIG_ENDIAN 4321
#endif
#ifndef BYTE_ORDER
#define BYTE_ORDER LITTLE_ENDIAN
#endif
/* MSVC/freestanding kernel-friendly printf format fallbacks. */
#define LWIP_NO_INTTYPES_H 1
#define X8_F "02x"
#define U16_F "hu"
#define S16_F "hd"
#define X16_F "hx"
#define U32_F "lu"
#define S32_F "ld"
#define X32_F "lx"
#define SZT_F "llu"
#define LWIP_NO_CTYPE_H 1
#define LWIP_TIMEVAL_PRIVATE 1
#define LWIP_PROVIDE_ERRNO 1
/* Used by SYS_LIGHTWEIGHT_PROT. Keep it wide enough for saved RFLAGS. */
typedef uintptr_t sys_prot_t;
#define LWIP_PLATFORM_DIAG(x) do { DbgPrint x; } while (0)
#define LWIP_PLATFORM_ASSERT(x) do { KePanic(KE_PANIC_CODE_DRIVER, "lwIP assert: %s\n", (x)); } while (0)
unsigned int lwip_port_rand(void);
#define LWIP_RAND() ((uint32_t)lwip_port_rand())
/* Force lwIP's static heap/aligned buffers to be at least 8-byte aligned. */
#define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) \
__declspec(align(8)) uint8_t variable_name[LWIP_MEM_ALIGN_BUFFER(size)]
#define PACK_STRUCT_USE_INCLUDES
#endif /* LWIP_ARCH_CC_H */