1 /* ReactOS-Specific lwIP binding header - by Cameron Gutman */ 2 3 #include <wdm.h> 4 5 /* ROS-specific mem defs */ 6 void * 7 malloc(size_t size); 8 9 void * 10 calloc(size_t count, size_t size); 11 12 void 13 free(void *mem); 14 15 void * 16 realloc(void *mem, size_t size); 17 18 /* mem_trim() must trim the buffer without relocating it. 19 * Since we can't do that, we just return the buffer passed in unchanged */ 20 #define mem_trim(_m_, _s_) (_m_) 21 22 /* Unsigned int types */ 23 typedef unsigned char u8_t; 24 typedef unsigned short u16_t; 25 typedef unsigned long u32_t; 26 27 /* Signed int types */ 28 typedef signed char s8_t; 29 typedef signed short s16_t; 30 typedef signed long s32_t; 31 32 /* Memory pointer */ 33 typedef ULONG_PTR mem_ptr_t; 34 35 /* Printf/DPRINT formatters */ 36 #define U16_F "hu" 37 #define S16_F "hd" 38 #define X16_F "hx" 39 #define U32_F "lu" 40 #define S32_F "ld" 41 #define X32_F "lx" 42 43 /* Endianness */ 44 #define BYTE_ORDER LITTLE_ENDIAN 45 46 /* Checksum calculation algorithm choice */ 47 #define LWIP_CHKSUM_ALGORITHM 3 48 49 /* Diagnostics */ 50 #define LWIP_PLATFORM_DIAG(x) (DbgPrint x) 51 #define LWIP_PLATFORM_ASSERT(x) ASSERTMSG(x, FALSE) 52 53 /* Synchronization */ 54 #define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t (lev) 55 #define SYS_ARCH_PROTECT(lev) sys_arch_protect(&(lev)) 56 #define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev) 57 58 /* Compiler hints for packing structures */ 59 #define PACK_STRUCT_STRUCT 60 #define PACK_STRUCT_USE_INCLUDES 61 62