X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Farpa_inet.in.h;h=d5cdbdca2a84a432b7bc6b953b80713e089fd14f;hb=1276a2c5f24c0c932426aca9c899fa524d2443f2;hp=d5cf2657128ed82b64eafef083481e73b926c11a;hpb=0e6072c19800f82647e65c1bd663766ffd497200;p=gnulib.git diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h index d5cf26571..d5cdbdca2 100644 --- a/lib/arpa_inet.in.h +++ b/lib/arpa_inet.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2005-2006, 2008-2010 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,10 +13,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program; if not, see . */ -#ifndef _GL_ARPA_INET_H +#ifndef _@GUARD_PREFIX@_ARPA_INET_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -27,8 +26,8 @@ # include /* for __GLIBC__ */ #endif -/* Gnulib's sys/socket.h is responsible for pulling in winsock2.h etc - under MinGW. +/* Gnulib's sys/socket.h is responsible for defining socklen_t (used below) and + for pulling in winsock2.h etc. under MinGW. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include @@ -47,8 +46,8 @@ #endif -#ifndef _GL_ARPA_INET_H -#define _GL_ARPA_INET_H +#ifndef _@GUARD_PREFIX@_ARPA_INET_H +#define _@GUARD_PREFIX@_ARPA_INET_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -58,7 +57,6 @@ #if @GNULIB_INET_NTOP@ -# if !@HAVE_DECL_INET_NTOP@ /* Converts an internet address from internal format to a printable, presentable format. AF is an internet address family, such as AF_INET or AF_INET6. @@ -74,14 +72,31 @@ For more details, see the POSIX:2001 specification . */ -_GL_FUNCDECL_SYS (inet_ntop, const char *, +# if @REPLACE_INET_NTOP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef inet_ntop +# define inet_ntop rpl_inet_ntop +# endif +_GL_FUNCDECL_RPL (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt) _GL_ARG_NONNULL ((2, 3))); -# endif -_GL_CXXALIAS_SYS (inet_ntop, const char *, +_GL_CXXALIAS_RPL (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt)); +# else +# if !@HAVE_DECL_INET_NTOP@ +_GL_FUNCDECL_SYS (inet_ntop, const char *, + (int af, const void *restrict src, + char *restrict dst, socklen_t cnt) + _GL_ARG_NONNULL ((2, 3))); +# endif +/* Need to cast, because on NonStop Kernel, the fourth parameter is + size_t cnt. */ +_GL_CXXALIAS_SYS_CAST (inet_ntop, const char *, + (int af, const void *restrict src, + char *restrict dst, socklen_t cnt)); +# endif _GL_CXXALIASWARN (inet_ntop); #elif defined GNULIB_POSIXCHECK # undef inet_ntop @@ -92,13 +107,25 @@ _GL_WARN_ON_USE (inet_ntop, "inet_ntop is unportable - " #endif #if @GNULIB_INET_PTON@ -# if !@HAVE_DECL_INET_PTON@ +# if @REPLACE_INET_PTON@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef inet_pton +# define inet_pton rpl_inet_pton +# endif +_GL_FUNCDECL_RPL (inet_pton, int, + (int af, const char *restrict src, void *restrict dst) + _GL_ARG_NONNULL ((2, 3))); +_GL_CXXALIAS_RPL (inet_pton, int, + (int af, const char *restrict src, void *restrict dst)); +# else +# if !@HAVE_DECL_INET_PTON@ _GL_FUNCDECL_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst) _GL_ARG_NONNULL ((2, 3))); -# endif +# endif _GL_CXXALIAS_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst)); +# endif _GL_CXXALIASWARN (inet_pton); #elif defined GNULIB_POSIXCHECK # undef inet_pton @@ -109,5 +136,5 @@ _GL_WARN_ON_USE (inet_pton, "inet_pton is unportable - " #endif -#endif /* _GL_ARPA_INET_H */ -#endif /* _GL_ARPA_INET_H */ +#endif /* _@GUARD_PREFIX@_ARPA_INET_H */ +#endif /* _@GUARD_PREFIX@_ARPA_INET_H */