From 4bf7e1a86d9769059ecd11cbbfa246f79aed484f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Lled=C3=B3?= <jlledom@member.fsf.org>
Date: Sat, 10 Aug 2019 11:31:24 +0200
Subject: [PATCH 2/2] Sockets: Unit tests and apps corrections

* Include lwip/inet.h in some unit tests and apps
  * Since they use htons() and pals.
* test/unit/api/test_sockets.c:
  * write() could be declared by external socket headers
    * Call lwip_write() instead.
  * Code expects fcntl() to return 6
    * But O_RDWR could have another value if external
      socket headers are present
    * Replace 6 by O_RDWR.
* apps/tftp/tftp.c:
  * recv() could be declared by external socket headers
    * Rename it to tftp_recv()
---
 src/apps/lwiperf/lwiperf.c     | 1 +
 src/apps/tftp/tftp.c           | 4 ++--
 test/unit/api/test_sockets.c   | 4 ++--
 test/unit/dhcp/test_dhcp.c     | 1 +
 test/unit/etharp/test_etharp.c | 1 +
 test/unit/tcp/tcp_helper.c     | 1 +
 test/unit/tcp/test_tcp.c       | 1 +
 7 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/apps/lwiperf/lwiperf.c b/src/apps/lwiperf/lwiperf.c
index dbec4dae..7449ded7 100644
--- a/src/apps/lwiperf/lwiperf.c
+++ b/src/apps/lwiperf/lwiperf.c
@@ -53,6 +53,7 @@
 
 #include "lwip/tcp.h"
 #include "lwip/sys.h"
+#include "lwip/inet.h"
 
 #include <string.h>
 
diff --git a/src/apps/tftp/tftp.c b/src/apps/tftp/tftp.c
index c6887c8e..d4c46890 100644
--- a/src/apps/tftp/tftp.c
+++ b/src/apps/tftp/tftp.c
@@ -240,7 +240,7 @@ send_data(const ip_addr_t *addr, u16_t port)
 }
 
 static void
-recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
+tftp_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
 {
   u16_t *sbuf = (u16_t *) p->payload;
   int opcode;
@@ -468,7 +468,7 @@ tftp_init_common(u8_t mode, const struct tftp_context *ctx)
   tftp_state.upcb      = pcb;
   tftp_state.tftp_mode = mode;
 
-  udp_recv(pcb, recv, NULL);
+  udp_recv(pcb, tftp_recv, NULL);
 
   return ERR_OK;
 }
diff --git a/test/unit/api/test_sockets.c b/test/unit/api/test_sockets.c
index 3dd1d491..aca31f6e 100644
--- a/test/unit/api/test_sockets.c
+++ b/test/unit/api/test_sockets.c
@@ -153,7 +153,7 @@ static void test_sockets_allfunctions_basic_domain(int domain)
   fail_unless(errno == EISCONN);
 
   /* write from server to client */
-  ret = write(s3, "test", 4);
+  ret = lwip_write(s3, "test", 4);
   fail_unless(ret == 4);
 
   ret = lwip_shutdown(s3, SHUT_WR);
@@ -330,7 +330,7 @@ static void test_sockets_msgapi_tcp(int domain)
 
   /* set s2 to non-blocking, not inherited from listener */
   opt = lwip_fcntl(s2, F_GETFL, 0);
-  fail_unless(opt == 6);
+  fail_unless(opt == O_RDWR);
   opt = O_NONBLOCK;
   ret = lwip_fcntl(s2, F_SETFL, opt);
   fail_unless(ret == 0);
diff --git a/test/unit/dhcp/test_dhcp.c b/test/unit/dhcp/test_dhcp.c
index b91def07..d9a48591 100644
--- a/test/unit/dhcp/test_dhcp.c
+++ b/test/unit/dhcp/test_dhcp.c
@@ -4,6 +4,7 @@
 #include "lwip/dhcp.h"
 #include "lwip/prot/dhcp.h"
 #include "lwip/etharp.h"
+#include "lwip/inet.h"
 #include "netif/ethernet.h"
 
 #if LWIP_ACD
diff --git a/test/unit/etharp/test_etharp.c b/test/unit/etharp/test_etharp.c
index 8eb506c1..aeaacb20 100644
--- a/test/unit/etharp/test_etharp.c
+++ b/test/unit/etharp/test_etharp.c
@@ -2,6 +2,7 @@
 
 #include "lwip/udp.h"
 #include "lwip/etharp.h"
+#include "lwip/inet.h"
 #include "netif/ethernet.h"
 #include "lwip/stats.h"
 #include "lwip/prot/iana.h"
diff --git a/test/unit/tcp/tcp_helper.c b/test/unit/tcp/tcp_helper.c
index 8689b71a..33ceb20f 100644
--- a/test/unit/tcp/tcp_helper.c
+++ b/test/unit/tcp/tcp_helper.c
@@ -3,6 +3,7 @@
 #include "lwip/priv/tcp_priv.h"
 #include "lwip/stats.h"
 #include "lwip/pbuf.h"
+#include "lwip/inet.h"
 #include "lwip/inet_chksum.h"
 #include "lwip/ip_addr.h"
 
diff --git a/test/unit/tcp/test_tcp.c b/test/unit/tcp/test_tcp.c
index c7f85f6a..89ea0309 100644
--- a/test/unit/tcp/test_tcp.c
+++ b/test/unit/tcp/test_tcp.c
@@ -2,6 +2,7 @@
 
 #include "lwip/priv/tcp_priv.h"
 #include "lwip/stats.h"
+#include "lwip/inet.h"
 #include "tcp_helper.h"
 #include "lwip/inet_chksum.h"
 
-- 
2.11.0

