[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 1/5] Revisit netdb.h declarations


  • To: Costin Lupu <costin.lupu@xxxxxxxxx>, "minios-devel@xxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxx>
  • From: Vlad-Andrei BĂDOIU (78692) <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
  • Date: Mon, 9 Sep 2019 16:01:20 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y8t6h04IOwhVNik/Ft4mOxsMhBoSmVUVsCmZfvXK30Y=; b=BLz/55VjE9kaSnLehOUXdPVU+P4QmTdlMnbhV3LgqYI2tlc/AscPsNKBK/Bshg+l/leB33DW411siMQqk15y9pAvWXAqL0cYpFuEEfXu3BN/9a+I/5YAzoi8/0ghLdIy8B1VEoHhr509MlDMMytIYKGad67U4268ccabcMKfWKeJQH9MJxj8qbS2HK505on69bW/NKb7pjBwrP3WTSamZGhx8/Ceh1TJcl0mJJ6thby8wQG/3LoBsdpccm6FmxyN30p+DmaQSU2wTUySnXm1LVsmToXLfN3DDJB+R4dV9Bnp8jZspuuAnqhtZGsBU2t55rPe/yIZo14nFx+bmOg/KQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KxsIa7zoq7iF6K7T0e5e5A4hGmq9pTs8kVF8aPQCN8izGlhVkLFSz4pYIE3O21AYQvSMhmh4hUayME277c5f9/KABZqVa5urbkga6xqz7krVwUrn+Yxoddy4i1UQFOUAbRdRTEvHdeuiz25WhYhbYPOxuXUWwKvUnzC/qtpPFpiFuWO/QFmh4x/8qUOkLAOQXCYabzVy4ov650S3l5qfQd6RN8ubFo1o7Q0kvOlJr7v7FEPCvTrQXBfUEGsq06fJAis+dO3Rqa+bQGJaxhnMWgTpPcl34SQRIKGz9LaGx27m9nMI/hQ+Hj7yjGEEEAbwEYHBuRS5ez68XJySnipIug==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=vlad_andrei.badoiu@xxxxxxxxxxxxxxx;
  • Cc: "felipe.huici@xxxxxxxxx" <felipe.huici@xxxxxxxxx>, "simon.kuenzer@xxxxxxxxx" <simon.kuenzer@xxxxxxxxx>
  • Delivery-date: Mon, 09 Sep 2019 16:01:27 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Thread-index: AQHVY1RC7RVOKCO6+EShUiUhavbnDKcjqAmA///g8l0=
  • Thread-topic: [Minios-devel] [UNIKRAFT/LWIP PATCH 1/5] Revisit netdb.h declarations

Since the comment may be resolved during the upstreaming, I have left the Reviewed By here. 

Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>


-------- Original message --------
From: "Vlad-Andrei BĂDOIU (78692)" <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
Date: 9/9/19 17:52 (GMT+02:00)
To: Costin Lupu <costin.lupu@xxxxxxxxx>, minios-devel@xxxxxxxxxxxxx
Cc: felipe.huici@xxxxxxxxx, simon.kuenzer@xxxxxxxxx
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 1/5] Revisit netdb.h declarations

Hey Costin,

I have one small comment inline.

Thanks,

Vlad

On 04.09.2019 22:09, Costin Lupu wrote:
* As we did in commit b0dc593d, we use function wrappers instead of macros for
gethostbyname() and gethostbyname_r()
* Add missing declarations of functions implemented or stubbed in glue code

Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
---
 exportsyms.uk   |  1 +
 host.c          | 19 +++++++++++++++++++
 include/netdb.h | 23 ++++++++++++++++++-----
 3 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/exportsyms.uk b/exportsyms.uk
index 6fe95ec..1ca43f8 100644
--- a/exportsyms.uk
+++ b/exportsyms.uk
@@ -7,6 +7,7 @@ freeaddrinfo
 gai_strerror
 getaddrinfo
 gethostbyaddr
+gethostbyname
Shouldn't we also export the gethostbyname_r symbol?
 getnameinfo
 getpeername
 getprotobyname
diff --git a/host.c b/host.c
index 559d186..9c4c8ea 100644
--- a/host.c
+++ b/host.c
@@ -33,10 +33,29 @@
 
 #include <unistd.h>
 #include <sys/socket.h>
+#include <netdb.h>
+
+
+#if LWIP_DNS && LWIP_SOCKET
+
+#if !(LWIP_COMPAT_SOCKETS)
+struct hostent *gethostbyname(const char *name)
+{
+	return lwip_gethostbyname(name);
+}
+
+int gethostbyname_r(const char *name,
+		struct hostent *ret, char *buf, size_t buflen,
+		struct hostent **result, int *h_errnop)
+{
+	return lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop);
+}
+#endif
 
 struct hostent *gethostbyaddr(const void *addr __unused,
 	socklen_t len __unused, int type __unused)
 {
 	return NULL;
 }
+#endif
 
diff --git a/include/netdb.h b/include/netdb.h
index 0856a49..b100136 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -1,10 +1,16 @@
 #include <compat/posix/netdb.h>
 
-#if LWIP_DNS && LWIP_SOCKET && !(LWIP_COMPAT_SOCKETS)
+#if LWIP_DNS && LWIP_SOCKET
 
-#define gethostbyname(name) lwip_gethostbyname(name)
-#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \
-		lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop)
+#if !(LWIP_COMPAT_SOCKETS)
+struct hostent *gethostbyname(const char *name);
+int gethostbyname_r(const char *name,
+		struct hostent *ret, char *buf, size_t buflen,
+		struct hostent **result, int *h_errnop);
+#endif
+
+struct hostent *gethostbyaddr(const void *addr __unused,
+		socklen_t len __unused, int type __unused);
 
 int getaddrinfo(const char *node, const char *service,
 		const struct addrinfo *hints,
@@ -13,6 +19,9 @@ void freeaddrinfo(struct addrinfo *res);
 
 #endif /* LWIP_DNS && LWIP_SOCKET && !(LWIP_COMPAT_SOCKETS) */
 
+const char *gai_strerror(int errcode);
+
+
 struct servent {
 	char    *s_name;        /* official service name */
 	char    **s_aliases;    /* alias list */
@@ -26,7 +35,11 @@ struct protoent {
 	int     p_proto;        /* protocol # */
 };
 
-const char *gai_strerror(int errcode);
+struct protoent *getprotoent(void);
+struct protoent *getprotobyname(const char *name);
+struct protoent *getprotobynumber(int num);
+void endprotoent(void);
+void setprotoent(int stayopen);
 
 /*
  * Constants for getnameinfo()
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.