diff --git a/CHANGELOG b/CHANGELOG index bb3edc83..e87cdfed 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -19,6 +19,11 @@ HISTORY ++ New features: + 2007-11-06 Simon Goldschmidt + * api.h, api_msg.h and dependent files: Task #7410: Removed the need to include + core header files in api.h (ip/tcp/udp/raw.h) to hide the internal + implementation from netconn api applications. + 2007-11-03 Frédéric Bernon * api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP & RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled diff --git a/src/api/api_lib.c b/src/api/api_lib.c index 50926738..0d55059f 100644 --- a/src/api/api_lib.c +++ b/src/api/api_lib.c @@ -44,10 +44,14 @@ #if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ #include "lwip/api.h" -#include "lwip/api_msg.h" #include "lwip/tcpip.h" #include "lwip/memp.h" +#include "lwip/ip.h" +#include "lwip/raw.h" +#include "lwip/udp.h" +#include "lwip/tcp.h" + #include /** diff --git a/src/api/api_msg.c b/src/api/api_msg.c index 16f8d28f..be00e90c 100644 --- a/src/api/api_msg.c +++ b/src/api/api_msg.c @@ -41,8 +41,13 @@ #if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ #include "lwip/api_msg.h" + +#include "lwip/ip.h" +#include "lwip/udp.h" +#include "lwip/tcp.h" +#include "lwip/raw.h" + #include "lwip/memp.h" -#include "lwip/sys.h" #include "lwip/tcpip.h" #include "lwip/igmp.h" diff --git a/src/api/sockets.c b/src/api/sockets.c index 029dc20f..0e2ab5fd 100644 --- a/src/api/sockets.c +++ b/src/api/sockets.c @@ -48,6 +48,7 @@ #include "lwip/igmp.h" #include "lwip/inet.h" #include "lwip/tcp.h" +#include "lwip/udp.h" #include "lwip/tcpip.h" #include diff --git a/src/include/lwip/api.h b/src/include/lwip/api.h index 39debe08..5d2e13e3 100644 --- a/src/include/lwip/api.h +++ b/src/include/lwip/api.h @@ -36,13 +36,9 @@ #if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ -#include "lwip/pbuf.h" #include "lwip/netbuf.h" #include "lwip/sys.h" -#include "lwip/ip.h" -#include "lwip/raw.h" -#include "lwip/udp.h" -#include "lwip/tcp.h" +#include "lwip/ip_addr.h" #include "lwip/err.h" #ifdef __cplusplus @@ -56,8 +52,8 @@ extern "C" { /* Flags for netconn_write */ #define NETCONN_NOFLAG 0x00 #define NETCONN_NOCOPY 0x00 /* Only for source code compatibility */ -#define NETCONN_COPY TCP_WRITE_FLAG_COPY -#define NETCONN_MORE TCP_WRITE_FLAG_MORE +#define NETCONN_COPY 0x01 +#define NETCONN_MORE 0x02 /* Helpers to process several netconn_types by the same code */ #define NETCONNTYPE_GROUP(t) (t&0xF0) @@ -97,6 +93,11 @@ enum netconn_igmp { }; #endif /* LWIP_IGMP */ +struct ip_pcb; +struct tcp_pcb; +struct udp_pcb; +struct raw_pcb; + struct netconn { enum netconn_type type; enum netconn_state state; diff --git a/src/include/lwip/api_msg.h b/src/include/lwip/api_msg.h index dc558413..800554d2 100644 --- a/src/include/lwip/api_msg.h +++ b/src/include/lwip/api_msg.h @@ -36,17 +36,14 @@ #if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */ -#include "lwip/pbuf.h" -#include "lwip/sys.h" -#include "lwip/ip.h" -#include "lwip/udp.h" -#include "lwip/tcp.h" -#include "lwip/api.h" +#include "lwip/ip_addr.h" #ifdef __cplusplus extern "C" { #endif +enum netconn_igmp; + /* IP addresses and port numbers are expected to be in * the same byte order as in the corresponding pcb. */ diff --git a/src/include/lwip/tcpip.h b/src/include/lwip/tcpip.h index d920682e..3b08da2e 100644 --- a/src/include/lwip/tcpip.h +++ b/src/include/lwip/tcpip.h @@ -39,6 +39,7 @@ #include "lwip/api_msg.h" #include "lwip/netifapi.h" #include "lwip/pbuf.h" +#include "lwip/api.h" #ifdef __cplusplus extern "C" {