Hi Vlad,
Please see inline.
On 9/9/19 5:52 PM, Vlad-Andrei BĂDOIU (78692) wrote:
> 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?|||
That's right, I forgot to export it. If it's fine with you, I can do it
when upstreaming.
>> 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
>