[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 14:52:31 +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=ubVaUzNq8WtujHSjAhT60lxs+RAyCwDFgXWHGlZv01E=; b=di4lxJ/qdyPB4rrWnX9/ENoypPgVldnfaetBcZIrmUflJJwOQgOVNenyWFecK8aePoE7VhO5eoVWVdcxETy6RlCr5Rh5wEPck1txSBcFCy1OTTUT8A4hAqjnke72HPyDAGA+/wuU4lSMiyHq6tOcJdeaM8ZWoVgYJ1NuGRaGtawLSnIlHQs3fGy8V57byNUARQx3leu0RnQMBzfzuugbE9RvEfhqFg1F4iWwL7T8C1w7zJT5aGb2RtRVFiORxb/Ta3ykhc54oijg0/UKdKc1Kl4qsve/yrB6lrUYRRJFyGG5Uttyx1haT+DskWa0TlRXTtLxCljDzMq6IzFVWw6QMQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c+Porh10NGpz0KYpr4DdGQtsl6jjAGIgUh7wuXkFbV8RceofEHf46mvN0HnsJsnGYLwKYVrOveipoHEAH//MDvog9wX7z202g5fBfbfSO+P/6n3ppuT85XGz1WMXKQvs/7srGNNCcHB/5hHHKnns0f8kOUDcQC1xuJNQL5aet94TgNOqNHvRB9VB3UR5UBixvSLgrHBGzEv1H+N0KAfl+GOuObJV3nmMQMnjGWl7OpJ7QydiTiCF9suNV+ZZ9EJBToY9Rt4OoPDRLZyyU28EDI+48XTKYwItcPg4OFIfCNy2+sM0pQKN1TnHYHyb2D7swbP8UdjtCrh/is+XigSgyQ==
  • 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 14:52:38 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Thread-index: AQHVY1RC7RVOKCO6+EShUiUhavbnDKcjdb6A
  • Thread-topic: [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®.