mirror of
https://github.com/reactos/reactos.git
synced 2025-06-27 03:39:44 +00:00

* [TCPIP] Rename lwip library to lwipcore
* [TCPIP] Remove ReactOS-specific code from LWIP library
* [TCPIP] Synchronize LWIP code to 1.4.1
Update to LWIP 1.4.1 should have been done by bd3b0e8ef4
However, I was unable to find the exact revision used in this commit.
So, do the following
- take code from STABLE-1_4_1 commit on https://git.savannah.gnu.org/git/lwip.git
- cherry-pick LWIP 32aa9a41e2013e5ee6eee09317a848647e37badf (CORE-8978)
- cherry-pick LWIP c0b534e5318baf870e2152c70d4d11a3a86181f3
- add a ReactOS-specific change in src/api/tcpip.c (missing include)
- add ReactOS specific file CMakeLists.txt
NOTE: Changes are mostly in unit test files (not used) and CHANGELOG file.
CORE-7140
61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
/* ReactOS-Specific lwIP binding header - by Cameron Gutman */
|
|
|
|
#include <wdm.h>
|
|
|
|
/* ROS-specific mem defs */
|
|
void *
|
|
malloc(size_t size);
|
|
|
|
void *
|
|
calloc(size_t count, size_t size);
|
|
|
|
void
|
|
free(void *mem);
|
|
|
|
void *
|
|
realloc(void *mem, size_t size);
|
|
|
|
/* mem_trim() must trim the buffer without relocating it.
|
|
* Since we can't do that, we just return the buffer passed in unchanged */
|
|
#define mem_trim(_m_, _s_) (_m_)
|
|
|
|
/* Unsigned int types */
|
|
typedef unsigned char u8_t;
|
|
typedef unsigned short u16_t;
|
|
typedef unsigned long u32_t;
|
|
|
|
/* Signed int types */
|
|
typedef signed char s8_t;
|
|
typedef signed short s16_t;
|
|
typedef signed long s32_t;
|
|
|
|
/* Memory pointer */
|
|
typedef ULONG_PTR mem_ptr_t;
|
|
|
|
/* Printf/DPRINT formatters */
|
|
#define U16_F "hu"
|
|
#define S16_F "hd"
|
|
#define X16_F "hx"
|
|
#define U32_F "lu"
|
|
#define S32_F "ld"
|
|
#define X32_F "lx"
|
|
|
|
/* Endianness */
|
|
#define BYTE_ORDER LITTLE_ENDIAN
|
|
|
|
/* Checksum calculation algorithm choice */
|
|
#define LWIP_CHKSUM_ALGORITHM 3
|
|
|
|
/* Diagnostics */
|
|
#define LWIP_PLATFORM_DIAG(x) (DbgPrint x)
|
|
#define LWIP_PLATFORM_ASSERT(x) ASSERTMSG(x, FALSE)
|
|
|
|
/* Synchronization */
|
|
#define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t (lev)
|
|
#define SYS_ARCH_PROTECT(lev) sys_arch_protect(&(lev))
|
|
#define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev)
|
|
|
|
/* Compiler hints for packing structures */
|
|
#define PACK_STRUCT_STRUCT
|
|
#define PACK_STRUCT_USE_INCLUDES
|
|
|