[TCPIP DRIVER]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 7 May 2011 19:53:38 +0000 (19:53 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 7 May 2011 19:53:38 +0000 (19:53 +0000)
* Integrate the work that has been done in tcp-rewrite-branch.

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=51629

1  2  3  4 
drivers/network/tcpip/CMakeLists.txt
lib/drivers/CMakeLists.txt
lib/drivers/ip/CMakeLists.txt
lib/drivers/ip/network/ip.c
lib/drivers/ip/transport/tcp/accept.c
lib/drivers/lwip/CMakeLists.txt
lib/drivers/lwip/src/include/arch/cc.h

index 65e1a27,0000000,0000000,0000000..a0f0e7c
mode 100644,000000,000000,000000..100644
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,42 -1,0 -1,0 -1,0 +1,43 @@@@@
-       ${REACTOS_SOURCE_DIR}/lib/drivers/oskittcp/include)
 +++
 +++include_directories(
 +++    BEFORE include
-       oskittcp
++++    ${REACTOS_SOURCE_DIR}/lib/drivers/lwip/src/include
++++    ${REACTOS_SOURCE_DIR}/lib/drivers/lwip/src/include/ipv4)
 +++
 +++add_definitions(
 +++    -DNDIS40
 +++    -D_NTDRIVER_)
 +++
 +++spec2def(tcpip.sys tcpip.spec)
 +++
 +++list(APPEND SOURCE
 +++    datalink/lan.c
 +++    tcpip/ainfo.c
 +++    tcpip/buffer.c
 +++    tcpip/dispatch.c
 +++    tcpip/fileobjs.c
 +++    tcpip/iinfo.c
 +++    tcpip/info.c
 +++    tcpip/lock.c
 +++    tcpip/main.c
 +++    tcpip/ninfo.c
 +++    tcpip/proto.c
 +++    tcpip/tinfo.c
 +++    tcpip/wait.c
 +++    tcpip.rc
 +++    ${CMAKE_CURRENT_BINARY_DIR}/tcpip.def)
 +++
 +++add_library(tcpip SHARED ${CMAKE_CURRENT_BINARY_DIR}/tcpip_precomp.h.gch ${SOURCE})
 +++
 +++target_link_libraries(tcpip
 +++    ip
++++    lwip
 +++    ${PSEH_LIB}
 +++    chew)
 +++
 +++set_module_type(tcpip kernelmodedriver)
 +++add_importlibs(tcpip ndis ntoskrnl hal)
 +++
 +++add_pch(tcpip ${CMAKE_CURRENT_SOURCE_DIR}/include/precomp.h ${SOURCE})
 +++
 +++add_cab_target(tcpip 2)
index 72024e8,0000000,0000000,0000000..3764922
mode 100644,000000,000000,000000..100644
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,6 -1,0 -1,0 -1,0 +1,7 @@@@@
 +++
 +++add_subdirectory(chew)
 +++add_subdirectory(csq)
 +++add_subdirectory(ip)
++++add_subdirectory(lwip)
 +++add_subdirectory(oskittcp)
 +++add_subdirectory(sound)
index fbdb2d1,0000000,0000000,0000000..8796265
mode 100644,000000,000000,000000..100644
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,35 -1,0 -1,0 -1,0 +1,36 @@@@@
-       ${REACTOS_SOURCE_DIR}/lib/drivers/oskittcp/include)
 +++
 +++add_definitions(-D__NTDRIVER__)
 +++
 +++include_directories(
 +++    BEFORE ${REACTOS_SOURCE_DIR}/drivers/network/tcpip/include
++++    ${REACTOS_SOURCE_DIR}/lib/drivers/lwip/src/include
++++    ${REACTOS_SOURCE_DIR}/lib/drivers/lwip/src/include/ipv4)
 +++
 +++if(ARCH MATCHES i386)
 +++    list(APPEND SOURCE network/i386/checksum.S)
 +++endif()
 +++
 +++list(APPEND SOURCE
 +++    network/address.c
 +++    network/arp.c
 +++    network/checksum.c
 +++    network/icmp.c
 +++    network/interface.c
 +++    network/ip.c
 +++    network/loopback.c
 +++    network/neighbor.c
 +++    network/ports.c
 +++    network/receive.c
 +++    network/router.c
 +++    network/routines.c
 +++    network/transmit.c
 +++    transport/datagram/datagram.c
 +++    transport/rawip/rawip.c
 +++    transport/tcp/accept.c
 +++    transport/tcp/event.c
 +++    transport/tcp/if.c
 +++    transport/tcp/tcp.c
 +++    transport/udp/udp.c)
 +++
 +++add_library(ip ${SOURCE})
 +++add_dependencies(ip bugcodes)
Simple merge
Simple merge
index 0000000,0000000,0000000,0000000..6cfcfad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,0 -1,0 +1,55 @@@@@
++++
++++include_directories(
++++    src/include
++++    src/include/ipv4)
++++
++++list(APPEND SOURCE
++++    src/rosip.c
++++    src/rostcp.c
++++    src/rosmem.c
++++    src/sys_arch.c
++++    src/api/api_lib.c
++++    src/api/api_msg.c
++++    src/api/err.c
++++    src/api/netbuf.c
++++    src/api/netdb.c
++++    src/api/netifapi.c
++++    src/api/sockets.c
++++    src/api/tcpip.c
++++    src/core/def.c
++++    src/core/dhcp.c
++++    src/core/dns.c
++++    src/core/init.c
++++    src/core/mem.c
++++    src/core/memp.c
++++    src/core/netif.c
++++    src/core/pbuf.c
++++    src/core/raw.c
++++    src/core/stats.c
++++    src/core/sys.c
++++    src/core/tcp_in.c
++++    src/core/tcp_out.c
++++    src/core/tcp.c
++++    src/core/timers.c
++++    src/core/udp.c
++++    src/core/ipv4/autoip.c
++++    src/core/ipv4/icmp.c
++++    src/core/ipv4/igmp.c
++++    src/core/ipv4/inet_chksum.c
++++    src/core/ipv4/inet.c
++++    src/core/ipv4/ip.c
++++    src/core/ipv4/ip_addr.c
++++    src/core/ipv4/ip_frag.c
++++    #src/core/ipv6/icmp6.c
++++    #src/core/ipv6/inet6.c
++++    #src/core/ipv6/ip6_addr.c
++++    #src/core/ipv6/ip6.c
++++    src/core/snmp/asn1_dec.c
++++    src/core/snmp/asn1_enc.c
++++    src/core/snmp/mib_structs.c
++++    src/core/snmp/mib2.c
++++    src/core/snmp/msg_in.c
++++    src/core/snmp/msg_out.c)
++++
++++add_library(lwip ${SOURCE})
++++
index 0000000,0000000,a47c18b,0709ed1..44b1309
mode 000000,000000,100755,100755..100755
--- /dev/null
--- /dev/null
@@@@@ -1,0 -1,0 -1,63 -1,63 +1,61 @@@@@
   -#define mem_realloc(_m_, _s_) realloc(_m_, _s_)
++  /* ReactOS-Specific lwIP binding header - by Cameron Gutman */
++  
++  #include <wdm.h>
++  
++  #define LWIP_PROVIDE_ERRNO
++  
++  /* 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);
++  
  --#define SYS_ARCH_DECL_PROTECT(lev) \
  --    sys_prot_t lev; \
  --    sys_arch_decl_protect(&lev)
  --#define SYS_ARCH_PROTECT(lev) sys_arch_protect(&lev)
  --#define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(&lev)
++ +#define mem_trim(_m_, _s_) realloc(_m_, _s_)
++  
++  /* 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 u32_t 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
++