summaryrefslogtreecommitdiffstats
path: root/gl/netdb.in.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/netdb.in.h')
-rw-r--r--gl/netdb.in.h72
1 files changed, 51 insertions, 21 deletions
diff --git a/gl/netdb.in.h b/gl/netdb.in.h
index 0da1800a..eb5c960b 100644
--- a/gl/netdb.in.h
+++ b/gl/netdb.in.h
@@ -1,19 +1,19 @@
1/* Provide a netdb.h header file for systems lacking it (read: MinGW). 1/* Provide a netdb.h header file for systems lacking it (read: MinGW).
2 Copyright (C) 2008-2013 Free Software Foundation, Inc. 2 Copyright (C) 2008-2021 Free Software Foundation, Inc.
3 Written by Simon Josefsson. 3 Written by Simon Josefsson.
4 4
5 This program is free software; you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU Lesser General Public License as
7 the Free Software Foundation; either version 3, or (at your option) 7 published by the Free Software Foundation; either version 2.1 of the
8 any later version. 8 License, or (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This file is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU Lesser General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU Lesser General Public License
16 along with this program; if not, see <http://www.gnu.org/licenses/>. */ 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 17
18/* This file is supposed to be used on platforms that lack <netdb.h>. 18/* This file is supposed to be used on platforms that lack <netdb.h>.
19 It is intended to provide definitions and prototypes needed by an 19 It is intended to provide definitions and prototypes needed by an
@@ -158,33 +158,61 @@ struct addrinfo
158# endif 158# endif
159# endif 159# endif
160 160
161# if !@HAVE_DECL_GETADDRINFO@
162/* Translate name of a service location and/or a service name to set of 161/* Translate name of a service location and/or a service name to set of
163 socket addresses. 162 socket addresses.
164 For more details, see the POSIX:2001 specification 163 For more details, see the POSIX:2008 specification
165 <http://www.opengroup.org/susv3xsh/getaddrinfo.html>. */ 164 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getaddrinfo.html>. */
165# if @REPLACE_GETADDRINFO@
166# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
167# undef getaddrinfo
168# define getaddrinfo rpl_getaddrinfo
169# endif
170_GL_FUNCDECL_RPL (getaddrinfo, int,
171 (const char *restrict nodename,
172 const char *restrict servname,
173 const struct addrinfo *restrict hints,
174 struct addrinfo **restrict res)
175 _GL_ARG_NONNULL ((4)));
176_GL_CXXALIAS_RPL (getaddrinfo, int,
177 (const char *restrict nodename,
178 const char *restrict servname,
179 const struct addrinfo *restrict hints,
180 struct addrinfo **restrict res));
181# else
182# if !@HAVE_DECL_GETADDRINFO@
166_GL_FUNCDECL_SYS (getaddrinfo, int, 183_GL_FUNCDECL_SYS (getaddrinfo, int,
167 (const char *restrict nodename, 184 (const char *restrict nodename,
168 const char *restrict servname, 185 const char *restrict servname,
169 const struct addrinfo *restrict hints, 186 const struct addrinfo *restrict hints,
170 struct addrinfo **restrict res) 187 struct addrinfo **restrict res)
171 _GL_ARG_NONNULL ((4))); 188 _GL_ARG_NONNULL ((4)));
172# endif 189# endif
173_GL_CXXALIAS_SYS (getaddrinfo, int, 190_GL_CXXALIAS_SYS (getaddrinfo, int,
174 (const char *restrict nodename, 191 (const char *restrict nodename,
175 const char *restrict servname, 192 const char *restrict servname,
176 const struct addrinfo *restrict hints, 193 const struct addrinfo *restrict hints,
177 struct addrinfo **restrict res)); 194 struct addrinfo **restrict res));
195# endif
178_GL_CXXALIASWARN (getaddrinfo); 196_GL_CXXALIASWARN (getaddrinfo);
179 197
180# if !@HAVE_DECL_FREEADDRINFO@
181/* Free 'addrinfo' structure AI including associated storage. 198/* Free 'addrinfo' structure AI including associated storage.
182 For more details, see the POSIX:2001 specification 199 For more details, see the POSIX:2008 specification
183 <http://www.opengroup.org/susv3xsh/getaddrinfo.html>. */ 200 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getaddrinfo.html>. */
201# if @REPLACE_GETADDRINFO@
202# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
203# undef freeaddrinfo
204# define freeaddrinfo rpl_freeaddrinfo
205# endif
206_GL_FUNCDECL_RPL (freeaddrinfo, void, (struct addrinfo *ai)
207 _GL_ARG_NONNULL ((1)));
208_GL_CXXALIAS_RPL (freeaddrinfo, void, (struct addrinfo *ai));
209# else
210# if !@HAVE_DECL_FREEADDRINFO@
184_GL_FUNCDECL_SYS (freeaddrinfo, void, (struct addrinfo *ai) 211_GL_FUNCDECL_SYS (freeaddrinfo, void, (struct addrinfo *ai)
185 _GL_ARG_NONNULL ((1))); 212 _GL_ARG_NONNULL ((1)));
186# endif 213# endif
187_GL_CXXALIAS_SYS (freeaddrinfo, void, (struct addrinfo *ai)); 214_GL_CXXALIAS_SYS (freeaddrinfo, void, (struct addrinfo *ai));
215# endif
188_GL_CXXALIASWARN (freeaddrinfo); 216_GL_CXXALIASWARN (freeaddrinfo);
189 217
190# if @REPLACE_GAI_STRERROR@ 218# if @REPLACE_GAI_STRERROR@
@@ -197,18 +225,20 @@ _GL_CXXALIAS_RPL (gai_strerror, const char *, (int ecode));
197# else 225# else
198# if !@HAVE_DECL_GAI_STRERROR@ 226# if !@HAVE_DECL_GAI_STRERROR@
199/* Convert error return from getaddrinfo() to a string. 227/* Convert error return from getaddrinfo() to a string.
200 For more details, see the POSIX:2001 specification 228 For more details, see the POSIX:2008 specification
201 <http://www.opengroup.org/susv3xsh/gai_strerror.html>. */ 229 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/gai_strerror.html>. */
202_GL_FUNCDECL_SYS (gai_strerror, const char *, (int ecode)); 230_GL_FUNCDECL_SYS (gai_strerror, const char *, (int ecode));
203# endif 231# endif
204_GL_CXXALIAS_SYS (gai_strerror, const char *, (int ecode)); 232_GL_CXXALIAS_SYS (gai_strerror, const char *, (int ecode));
205# endif 233# endif
234# if __GLIBC__ >= 2
206_GL_CXXALIASWARN (gai_strerror); 235_GL_CXXALIASWARN (gai_strerror);
236# endif
207 237
208# if !@HAVE_DECL_GETNAMEINFO@ 238# if !@HAVE_DECL_GETNAMEINFO@
209/* Convert socket address to printable node and service names. 239/* Convert socket address to printable node and service names.
210 For more details, see the POSIX:2001 specification 240 For more details, see the POSIX:2008 specification
211 <http://www.opengroup.org/susv3xsh/getnameinfo.html>. */ 241 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getnameinfo.html>. */
212_GL_FUNCDECL_SYS (getnameinfo, int, 242_GL_FUNCDECL_SYS (getnameinfo, int,
213 (const struct sockaddr *restrict sa, socklen_t salen, 243 (const struct sockaddr *restrict sa, socklen_t salen,
214 char *restrict node, socklen_t nodelen, 244 char *restrict node, socklen_t nodelen,