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

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



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
> 

_______________________________________________
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®.