From ad9fdc8f4d7f2592a55039a59c6201c056dc4ead Mon Sep 17 00:00:00 2001 From: Hajimu UMEMOTO Date: Thu, 15 Feb 2001 10:35:55 +0000 Subject: [PATCH] Correct 2nd argument of getnameinfo(3) to socklen_t. Reviewed by: itojun --- include/netdb.h | 17 +++++++++++++++-- lib/libc/net/getnameinfo.c | 2 +- sys/alpha/include/ansi.h | 1 + sys/arm/include/ansi.h | 1 + sys/i386/include/ansi.h | 1 + sys/ia64/include/ansi.h | 1 + sys/powerpc/include/ansi.h | 1 + sys/sys/socket.h | 7 ++++++- 8 files changed, 27 insertions(+), 4 deletions(-) diff --git a/include/netdb.h b/include/netdb.h index 4f3417383dd2..03b4f3ee4061 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -61,8 +61,13 @@ #ifndef _NETDB_H_ #define _NETDB_H_ +#include #include -#include + +#ifdef _BSD_SIZE_T_ +typedef _BSD_SIZE_T_ size_t; +#undef _BSD_SIZE_T_ +#endif #ifndef _PATH_HEQUIV # define _PATH_HEQUIV "/etc/hosts.equiv" @@ -192,6 +197,14 @@ struct addrinfo { */ #define SCOPE_DELIMITER '%' +/* + * data types - basically forward decl for getnameinfo() + */ +#ifdef _BSD_SOCKLEN_T_ +typedef _BSD_SOCKLEN_T_ socklen_t; +#undef _BSD_SOCKLEN_T_ +#endif + __BEGIN_DECLS void endhostent __P((void)); void endnetent __P((void)); @@ -221,7 +234,7 @@ void setnetent __P((int)); void setprotoent __P((int)); int getaddrinfo __P((const char *, const char *, const struct addrinfo *, struct addrinfo **)); -int getnameinfo __P((const struct sockaddr *, size_t, char *, +int getnameinfo __P((const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int)); void freeaddrinfo __P((struct addrinfo *)); char *gai_strerror __P((int)); diff --git a/lib/libc/net/getnameinfo.c b/lib/libc/net/getnameinfo.c index 5bf2192b82e7..06d4d0037caa 100644 --- a/lib/libc/net/getnameinfo.c +++ b/lib/libc/net/getnameinfo.c @@ -98,7 +98,7 @@ static int ip6_sa2str __P((const struct sockaddr_in6 *, char *, size_t, int)); int getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) const struct sockaddr *sa; - size_t salen; + socklen_t salen; char *host; size_t hostlen; char *serv; diff --git a/sys/alpha/include/ansi.h b/sys/alpha/include/ansi.h index be0e63785d5f..6acc4045d83d 100644 --- a/sys/alpha/include/ansi.h +++ b/sys/alpha/include/ansi.h @@ -54,6 +54,7 @@ #define _BSD_SSIZE_T_ long /* byte count or error */ #define _BSD_TIME_T_ int /* time() */ #define _BSD_TIMER_T_ int /* timer_t */ +#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t */ #if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95) #define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */ diff --git a/sys/arm/include/ansi.h b/sys/arm/include/ansi.h index b4a26a059ea8..de5b4be69414 100644 --- a/sys/arm/include/ansi.h +++ b/sys/arm/include/ansi.h @@ -53,6 +53,7 @@ #define _BSD_SSIZE_T_ long /* byte count or error */ #define _BSD_TIME_T_ long /* time() */ #define _BSD_TIMER_T_ int /* timer_t */ +#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t */ #if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95) #define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */ diff --git a/sys/i386/include/ansi.h b/sys/i386/include/ansi.h index f01fe5e07dc5..b9bb2e4b221f 100644 --- a/sys/i386/include/ansi.h +++ b/sys/i386/include/ansi.h @@ -55,6 +55,7 @@ #define _BSD_TIME_T_ long /* time()... */ #define _BSD_TIMER_T_ int /* timer_gettime()... */ #define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */ +#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t */ /* * Types which are fundamental to the implementation and must be used diff --git a/sys/ia64/include/ansi.h b/sys/ia64/include/ansi.h index 8c23f34e5348..eb88328d8c65 100644 --- a/sys/ia64/include/ansi.h +++ b/sys/ia64/include/ansi.h @@ -55,6 +55,7 @@ #define _BSD_VA_LIST_ __builtin_va_list /* va_list */ #define _BSD_CLOCKID_T_ int /* clockid_t */ #define _BSD_TIMER_T_ int /* timer_t */ +#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t */ /* * Types which are fundamental to the implementation and must be used diff --git a/sys/powerpc/include/ansi.h b/sys/powerpc/include/ansi.h index ff43b393b0c2..8cc844e4fe0d 100644 --- a/sys/powerpc/include/ansi.h +++ b/sys/powerpc/include/ansi.h @@ -53,6 +53,7 @@ #define _BSD_SSIZE_T_ long /* byte count or error */ #define _BSD_TIME_T_ long /* time() */ #define _BSD_TIMER_T_ int /* timer_t */ +#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t */ #if defined __GNUC__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 95) #define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */ diff --git a/sys/sys/socket.h b/sys/sys/socket.h index 2adbe3931a22..f3a4fdc85b20 100644 --- a/sys/sys/socket.h +++ b/sys/sys/socket.h @@ -48,8 +48,13 @@ /* * Data types. */ +#include + typedef u_char sa_family_t; -typedef u_int32_t socklen_t; +#ifdef _BSD_SOCKLEN_T_ +typedef _BSD_SOCKLEN_T_ socklen_t; +#undef _BSD_SOCKLEN_T_ +#endif /* * Types