]> xenbits.xensource.com Git - unikraft/libs/lwip.git/commitdiff
Revisit netdb.h declarations
authorCostin Lupu <costin.lupu@cs.pub.ro>
Wed, 4 Sep 2019 19:09:08 +0000 (22:09 +0300)
committerCostin Lupu <costin.lup@gmail.com>
Mon, 9 Sep 2019 16:36:25 +0000 (19:36 +0300)
* 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@cs.pub.ro>
Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
exportsyms.uk
host.c
include/netdb.h

index 6fe95ec3bba57250b37407f2db845eb442c20f80..bcdfed3f059f3aaa61e47cae9baa03cbd4f4cd9c 100644 (file)
@@ -7,6 +7,8 @@ freeaddrinfo
 gai_strerror
 getaddrinfo
 gethostbyaddr
+gethostbyname
+gethostbyname_r
 getnameinfo
 getpeername
 getprotobyname
diff --git a/host.c b/host.c
index 559d186470f63639fea66e389ef942ad5b65af00..9c4c8ead262580a93901d401afca70d9e6f048bb 100644 (file)
--- a/host.c
+++ b/host.c
 
 #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
 
index 0856a49c0350fe99921a01145fcdeb62d87eb030..b1001361b40c1a78e61143ff2835bd8309928cab 100644 (file)
@@ -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()