Change regcache list to be an hash map
[deliverable/binutils-gdb.git] / gnulib / import / stdlib.in.h
CommitLineData
98399780
YQ
1/* A GNU-like <stdlib.h>.
2
5df4cba6 3 Copyright (C) 1995, 2001-2004, 2006-2020 Free Software Foundation, Inc.
98399780
YQ
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
c0c3707f 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
98399780
YQ
17
18#if __GNUC__ >= 3
19@PRAGMA_SYSTEM_HEADER@
20#endif
21@PRAGMA_COLUMNS@
22
4a626d0a
PA
23#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
24/* Special invocation conventions inside some gnulib header files,
25 and inside some glibc header files, respectively. */
98399780
YQ
26
27#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
28
29#else
30/* Normal invocation convention. */
31
32#ifndef _@GUARD_PREFIX@_STDLIB_H
33
34/* The include_next requires a split double-inclusion guard. */
35#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
36
37#ifndef _@GUARD_PREFIX@_STDLIB_H
38#define _@GUARD_PREFIX@_STDLIB_H
39
40/* NetBSD 5.0 mis-defines NULL. */
41#include <stddef.h>
42
43/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */
44#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
45# include <sys/wait.h>
46#endif
47
48/* Solaris declares getloadavg() in <sys/loadavg.h>. */
49#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
c0c3707f
CB
50/* OpenIndiana has a bug: <sys/time.h> must be included before
51 <sys/loadavg.h>. */
52# include <sys/time.h>
98399780
YQ
53# include <sys/loadavg.h>
54#endif
55
56/* Native Windows platforms declare mktemp() in <io.h>. */
c0c3707f 57#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
98399780
YQ
58# include <io.h>
59#endif
60
61#if @GNULIB_RANDOM_R@
62
63/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
64 from <stdlib.h> if _REENTRANT is defined. Include it whenever we need
65 'struct random_data'. */
66# if @HAVE_RANDOM_H@
67# include <random.h>
68# endif
69
70# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
71# include <stdint.h>
72# endif
73
74# if !@HAVE_STRUCT_RANDOM_DATA@
75/* Define 'struct random_data'.
76 But allow multiple gnulib generated <stdlib.h> replacements to coexist. */
77# if !GNULIB_defined_struct_random_data
78struct random_data
79{
80 int32_t *fptr; /* Front pointer. */
81 int32_t *rptr; /* Rear pointer. */
82 int32_t *state; /* Array of state values. */
83 int rand_type; /* Type of random number generator. */
84 int rand_deg; /* Degree of random number generator. */
85 int rand_sep; /* Distance between front and rear. */
86 int32_t *end_ptr; /* Pointer behind state table. */
87};
88# define GNULIB_defined_struct_random_data 1
89# endif
90# endif
91#endif
92
c0c3707f 93#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
98399780
YQ
94/* On Mac OS X 10.3, only <unistd.h> declares mkstemp. */
95/* On Mac OS X 10.5, only <unistd.h> declares mkstemps. */
b3279b60 96/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps. */
98399780
YQ
97/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
98/* But avoid namespace pollution on glibc systems and native Windows. */
99# include <unistd.h>
100#endif
101
102/* The __attribute__ feature is available in gcc versions 2.5 and later.
103 The attribute __pure__ was added in gcc 2.96. */
104#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
105# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
106#else
107# define _GL_ATTRIBUTE_PURE /* empty */
108#endif
109
110/* The definition of _Noreturn is copied here. */
111
112/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
113
114/* The definition of _GL_ARG_NONNULL is copied here. */
115
116/* The definition of _GL_WARN_ON_USE is copied here. */
117
118
119/* Some systems do not define EXIT_*, despite otherwise supporting C89. */
120#ifndef EXIT_SUCCESS
121# define EXIT_SUCCESS 0
122#endif
123/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
124 with proper operation of xargs. */
125#ifndef EXIT_FAILURE
126# define EXIT_FAILURE 1
127#elif EXIT_FAILURE != 1
128# undef EXIT_FAILURE
129# define EXIT_FAILURE 1
130#endif
131
132
133#if @GNULIB__EXIT@
134/* Terminate the current process with the given return code, without running
135 the 'atexit' handlers. */
136# if !@HAVE__EXIT@
137_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
138# endif
139_GL_CXXALIAS_SYS (_Exit, void, (int status));
140_GL_CXXALIASWARN (_Exit);
141#elif defined GNULIB_POSIXCHECK
142# undef _Exit
143# if HAVE_RAW_DECL__EXIT
144_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
145 "use gnulib module _Exit for portability");
146# endif
147#endif
148
149
150#if @GNULIB_ATOLL@
151/* Parse a signed decimal integer.
152 Returns the value of the integer. Errors are not detected. */
153# if !@HAVE_ATOLL@
154_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
155 _GL_ATTRIBUTE_PURE
156 _GL_ARG_NONNULL ((1)));
157# endif
158_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
159_GL_CXXALIASWARN (atoll);
160#elif defined GNULIB_POSIXCHECK
161# undef atoll
162# if HAVE_RAW_DECL_ATOLL
163_GL_WARN_ON_USE (atoll, "atoll is unportable - "
164 "use gnulib module atoll for portability");
165# endif
166#endif
167
168#if @GNULIB_CALLOC_POSIX@
169# if @REPLACE_CALLOC@
170# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
171# undef calloc
172# define calloc rpl_calloc
173# endif
174_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
175_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
176# else
177_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
178# endif
c0c3707f 179# if __GLIBC__ >= 2
98399780 180_GL_CXXALIASWARN (calloc);
c0c3707f 181# endif
98399780
YQ
182#elif defined GNULIB_POSIXCHECK
183# undef calloc
184/* Assume calloc is always declared. */
185_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
186 "use gnulib module calloc-posix for portability");
187#endif
188
189#if @GNULIB_CANONICALIZE_FILE_NAME@
190# if @REPLACE_CANONICALIZE_FILE_NAME@
191# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
192# define canonicalize_file_name rpl_canonicalize_file_name
193# endif
194_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
195 _GL_ARG_NONNULL ((1)));
196_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
197# else
198# if !@HAVE_CANONICALIZE_FILE_NAME@
199_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
200 _GL_ARG_NONNULL ((1)));
201# endif
202_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
203# endif
5df4cba6
SM
204# ifndef GNULIB_defined_canonicalize_file_name
205# define GNULIB_defined_canonicalize_file_name \
206 (!@HAVE_CANONICALIZE_FILE_NAME@ || @REPLACE_CANONICALIZE_FILE_NAME@)
207# endif
98399780
YQ
208_GL_CXXALIASWARN (canonicalize_file_name);
209#elif defined GNULIB_POSIXCHECK
210# undef canonicalize_file_name
211# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
212_GL_WARN_ON_USE (canonicalize_file_name,
213 "canonicalize_file_name is unportable - "
214 "use gnulib module canonicalize-lgpl for portability");
215# endif
216#endif
217
218#if @GNULIB_GETLOADAVG@
219/* Store max(NELEM,3) load average numbers in LOADAVG[].
220 The three numbers are the load average of the last 1 minute, the last 5
221 minutes, and the last 15 minutes, respectively.
222 LOADAVG is an array of NELEM numbers. */
223# if !@HAVE_DECL_GETLOADAVG@
224_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
225 _GL_ARG_NONNULL ((1)));
226# endif
227_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
228_GL_CXXALIASWARN (getloadavg);
229#elif defined GNULIB_POSIXCHECK
230# undef getloadavg
231# if HAVE_RAW_DECL_GETLOADAVG
232_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
233 "use gnulib module getloadavg for portability");
234# endif
235#endif
236
237#if @GNULIB_GETSUBOPT@
238/* Assuming *OPTIONP is a comma separated list of elements of the form
239 "token" or "token=value", getsubopt parses the first of these elements.
240 If the first element refers to a "token" that is member of the given
241 NULL-terminated array of tokens:
242 - It replaces the comma with a NUL byte, updates *OPTIONP to point past
243 the first option and the comma, sets *VALUEP to the value of the
244 element (or NULL if it doesn't contain an "=" sign),
245 - It returns the index of the "token" in the given array of tokens.
246 Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
c0c3707f
CB
247 For more details see the POSIX specification.
248 https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */
98399780
YQ
249# if !@HAVE_GETSUBOPT@
250_GL_FUNCDECL_SYS (getsubopt, int,
251 (char **optionp, char *const *tokens, char **valuep)
252 _GL_ARG_NONNULL ((1, 2, 3)));
253# endif
254_GL_CXXALIAS_SYS (getsubopt, int,
255 (char **optionp, char *const *tokens, char **valuep));
256_GL_CXXALIASWARN (getsubopt);
257#elif defined GNULIB_POSIXCHECK
258# undef getsubopt
259# if HAVE_RAW_DECL_GETSUBOPT
260_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
261 "use gnulib module getsubopt for portability");
262# endif
263#endif
264
265#if @GNULIB_GRANTPT@
266/* Change the ownership and access permission of the slave side of the
267 pseudo-terminal whose master side is specified by FD. */
268# if !@HAVE_GRANTPT@
269_GL_FUNCDECL_SYS (grantpt, int, (int fd));
270# endif
271_GL_CXXALIAS_SYS (grantpt, int, (int fd));
272_GL_CXXALIASWARN (grantpt);
273#elif defined GNULIB_POSIXCHECK
274# undef grantpt
275# if HAVE_RAW_DECL_GRANTPT
276_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
277 "use gnulib module grantpt for portability");
278# endif
279#endif
280
281/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
282 rely on GNU or POSIX semantics for malloc and realloc (for example,
283 by never specifying a zero size), so it does not need malloc or
284 realloc to be redefined. */
285#if @GNULIB_MALLOC_POSIX@
286# if @REPLACE_MALLOC@
287# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
288 || _GL_USE_STDLIB_ALLOC)
289# undef malloc
290# define malloc rpl_malloc
291# endif
292_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
293_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
294# else
295_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
296# endif
c0c3707f 297# if __GLIBC__ >= 2
98399780 298_GL_CXXALIASWARN (malloc);
c0c3707f 299# endif
98399780
YQ
300#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
301# undef malloc
302/* Assume malloc is always declared. */
303_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
304 "use gnulib module malloc-posix for portability");
305#endif
306
307/* Convert a multibyte character to a wide character. */
308#if @GNULIB_MBTOWC@
309# if @REPLACE_MBTOWC@
310# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
311# undef mbtowc
312# define mbtowc rpl_mbtowc
313# endif
314_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
315_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
316# else
c0c3707f
CB
317# if !@HAVE_MBTOWC@
318_GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
319# endif
98399780
YQ
320_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
321# endif
c0c3707f 322# if __GLIBC__ >= 2
98399780 323_GL_CXXALIASWARN (mbtowc);
c0c3707f
CB
324# endif
325#elif defined GNULIB_POSIXCHECK
326# undef mbtowc
327# if HAVE_RAW_DECL_MBTOWC
328_GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
329 "use gnulib module mbtowc for portability");
330# endif
98399780
YQ
331#endif
332
333#if @GNULIB_MKDTEMP@
334/* Create a unique temporary directory from TEMPLATE.
335 The last six characters of TEMPLATE must be "XXXXXX";
336 they are replaced with a string that makes the directory name unique.
337 Returns TEMPLATE, or a null pointer if it cannot get a unique name.
338 The directory is created mode 700. */
339# if !@HAVE_MKDTEMP@
340_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
341# endif
342_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
343_GL_CXXALIASWARN (mkdtemp);
344#elif defined GNULIB_POSIXCHECK
345# undef mkdtemp
346# if HAVE_RAW_DECL_MKDTEMP
347_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
348 "use gnulib module mkdtemp for portability");
349# endif
350#endif
351
352#if @GNULIB_MKOSTEMP@
353/* Create a unique temporary file from TEMPLATE.
354 The last six characters of TEMPLATE must be "XXXXXX";
355 they are replaced with a string that makes the file name unique.
356 The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
357 and O_TEXT, O_BINARY (defined in "binary-io.h").
358 The file is then created, with the specified flags, ensuring it didn't exist
359 before.
360 The file is created read-write (mask at least 0600 & ~umask), but it may be
361 world-readable and world-writable (mask 0666 & ~umask), depending on the
362 implementation.
363 Returns the open file descriptor if successful, otherwise -1 and errno
364 set. */
365# if !@HAVE_MKOSTEMP@
366_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
367 _GL_ARG_NONNULL ((1)));
368# endif
369_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
370_GL_CXXALIASWARN (mkostemp);
371#elif defined GNULIB_POSIXCHECK
372# undef mkostemp
373# if HAVE_RAW_DECL_MKOSTEMP
374_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
375 "use gnulib module mkostemp for portability");
376# endif
377#endif
378
379#if @GNULIB_MKOSTEMPS@
380/* Create a unique temporary file from TEMPLATE.
381 The last six characters of TEMPLATE before a suffix of length
382 SUFFIXLEN must be "XXXXXX";
383 they are replaced with a string that makes the file name unique.
384 The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
385 and O_TEXT, O_BINARY (defined in "binary-io.h").
386 The file is then created, with the specified flags, ensuring it didn't exist
387 before.
388 The file is created read-write (mask at least 0600 & ~umask), but it may be
389 world-readable and world-writable (mask 0666 & ~umask), depending on the
390 implementation.
391 Returns the open file descriptor if successful, otherwise -1 and errno
392 set. */
393# if !@HAVE_MKOSTEMPS@
394_GL_FUNCDECL_SYS (mkostemps, int,
395 (char * /*template*/, int /*suffixlen*/, int /*flags*/)
396 _GL_ARG_NONNULL ((1)));
397# endif
398_GL_CXXALIAS_SYS (mkostemps, int,
399 (char * /*template*/, int /*suffixlen*/, int /*flags*/));
400_GL_CXXALIASWARN (mkostemps);
401#elif defined GNULIB_POSIXCHECK
402# undef mkostemps
403# if HAVE_RAW_DECL_MKOSTEMPS
404_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
405 "use gnulib module mkostemps for portability");
406# endif
407#endif
408
409#if @GNULIB_MKSTEMP@
410/* Create a unique temporary file from TEMPLATE.
411 The last six characters of TEMPLATE must be "XXXXXX";
412 they are replaced with a string that makes the file name unique.
413 The file is then created, ensuring it didn't exist before.
414 The file is created read-write (mask at least 0600 & ~umask), but it may be
415 world-readable and world-writable (mask 0666 & ~umask), depending on the
416 implementation.
417 Returns the open file descriptor if successful, otherwise -1 and errno
418 set. */
419# if @REPLACE_MKSTEMP@
420# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
421# define mkstemp rpl_mkstemp
422# endif
423_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
424_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
425# else
426# if ! @HAVE_MKSTEMP@
427_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
428# endif
429_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
430# endif
431_GL_CXXALIASWARN (mkstemp);
432#elif defined GNULIB_POSIXCHECK
433# undef mkstemp
434# if HAVE_RAW_DECL_MKSTEMP
435_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
436 "use gnulib module mkstemp for portability");
437# endif
438#endif
439
440#if @GNULIB_MKSTEMPS@
441/* Create a unique temporary file from TEMPLATE.
442 The last six characters of TEMPLATE prior to a suffix of length
443 SUFFIXLEN must be "XXXXXX";
444 they are replaced with a string that makes the file name unique.
445 The file is then created, ensuring it didn't exist before.
446 The file is created read-write (mask at least 0600 & ~umask), but it may be
447 world-readable and world-writable (mask 0666 & ~umask), depending on the
448 implementation.
449 Returns the open file descriptor if successful, otherwise -1 and errno
450 set. */
451# if !@HAVE_MKSTEMPS@
452_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
453 _GL_ARG_NONNULL ((1)));
454# endif
455_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
456_GL_CXXALIASWARN (mkstemps);
457#elif defined GNULIB_POSIXCHECK
458# undef mkstemps
459# if HAVE_RAW_DECL_MKSTEMPS
460_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
461 "use gnulib module mkstemps for portability");
462# endif
463#endif
464
465#if @GNULIB_POSIX_OPENPT@
466/* Return an FD open to the master side of a pseudo-terminal. Flags should
467 include O_RDWR, and may also include O_NOCTTY. */
468# if !@HAVE_POSIX_OPENPT@
469_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
470# endif
471_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
472_GL_CXXALIASWARN (posix_openpt);
473#elif defined GNULIB_POSIXCHECK
474# undef posix_openpt
475# if HAVE_RAW_DECL_POSIX_OPENPT
476_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
477 "use gnulib module posix_openpt for portability");
478# endif
479#endif
480
481#if @GNULIB_PTSNAME@
482/* Return the pathname of the pseudo-terminal slave associated with
483 the master FD is open on, or NULL on errors. */
484# if @REPLACE_PTSNAME@
485# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
486# undef ptsname
487# define ptsname rpl_ptsname
488# endif
489_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
490_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
491# else
492# if !@HAVE_PTSNAME@
493_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
494# endif
495_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
496# endif
497_GL_CXXALIASWARN (ptsname);
498#elif defined GNULIB_POSIXCHECK
499# undef ptsname
500# if HAVE_RAW_DECL_PTSNAME
501_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
502 "use gnulib module ptsname for portability");
503# endif
504#endif
505
506#if @GNULIB_PTSNAME_R@
507/* Set the pathname of the pseudo-terminal slave associated with
508 the master FD is open on and return 0, or set errno and return
509 non-zero on errors. */
510# if @REPLACE_PTSNAME_R@
511# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
512# undef ptsname_r
513# define ptsname_r rpl_ptsname_r
514# endif
515_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
516_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
517# else
518# if !@HAVE_PTSNAME_R@
519_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
520# endif
521_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
522# endif
5df4cba6
SM
523# ifndef GNULIB_defined_ptsname_r
524# define GNULIB_defined_ptsname_r (!@HAVE_PTSNAME_R@ || @REPLACE_PTSNAME_R@)
525# endif
98399780
YQ
526_GL_CXXALIASWARN (ptsname_r);
527#elif defined GNULIB_POSIXCHECK
528# undef ptsname_r
529# if HAVE_RAW_DECL_PTSNAME_R
530_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
531 "use gnulib module ptsname_r for portability");
532# endif
533#endif
534
535#if @GNULIB_PUTENV@
536# if @REPLACE_PUTENV@
537# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
538# undef putenv
539# define putenv rpl_putenv
540# endif
541_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
542_GL_CXXALIAS_RPL (putenv, int, (char *string));
543# else
544_GL_CXXALIAS_SYS (putenv, int, (char *string));
545# endif
546_GL_CXXALIASWARN (putenv);
547#endif
548
4a626d0a 549#if @GNULIB_QSORT_R@
4c62b19f
PA
550/* Sort an array of NMEMB elements, starting at address BASE, each element
551 occupying SIZE bytes, in ascending order according to the comparison
552 function COMPARE. */
4a626d0a
PA
553# if @REPLACE_QSORT_R@
554# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
555# undef qsort_r
556# define qsort_r rpl_qsort_r
557# endif
558_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
559 int (*compare) (void const *, void const *,
560 void *),
561 void *arg) _GL_ARG_NONNULL ((1, 4)));
562_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
563 int (*compare) (void const *, void const *,
564 void *),
565 void *arg));
566# else
4c62b19f
PA
567# if !@HAVE_QSORT_R@
568_GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
569 int (*compare) (void const *, void const *,
570 void *),
571 void *arg) _GL_ARG_NONNULL ((1, 4)));
572# endif
4a626d0a
PA
573_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
574 int (*compare) (void const *, void const *,
575 void *),
576 void *arg));
577# endif
578_GL_CXXALIASWARN (qsort_r);
4c62b19f
PA
579#elif defined GNULIB_POSIXCHECK
580# undef qsort_r
581# if HAVE_RAW_DECL_QSORT_R
582_GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
583 "use gnulib module qsort_r for portability");
584# endif
4a626d0a
PA
585#endif
586
98399780
YQ
587
588#if @GNULIB_RANDOM_R@
589# if !@HAVE_RANDOM_R@
590# ifndef RAND_MAX
591# define RAND_MAX 2147483647
592# endif
593# endif
594#endif
595
596
597#if @GNULIB_RANDOM@
c0c3707f
CB
598# if @REPLACE_RANDOM@
599# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
600# undef random
601# define random rpl_random
602# endif
603_GL_FUNCDECL_RPL (random, long, (void));
604_GL_CXXALIAS_RPL (random, long, (void));
605# else
606# if !@HAVE_RANDOM@
98399780 607_GL_FUNCDECL_SYS (random, long, (void));
c0c3707f
CB
608# endif
609/* Need to cast, because on Haiku, the return type is
610 int. */
611_GL_CXXALIAS_SYS_CAST (random, long, (void));
98399780 612# endif
98399780
YQ
613_GL_CXXALIASWARN (random);
614#elif defined GNULIB_POSIXCHECK
615# undef random
616# if HAVE_RAW_DECL_RANDOM
617_GL_WARN_ON_USE (random, "random is unportable - "
618 "use gnulib module random for portability");
619# endif
620#endif
621
622#if @GNULIB_RANDOM@
c0c3707f
CB
623# if @REPLACE_RANDOM@
624# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
625# undef srandom
626# define srandom rpl_srandom
627# endif
628_GL_FUNCDECL_RPL (srandom, void, (unsigned int seed));
629_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));
630# else
631# if !@HAVE_RANDOM@
98399780 632_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
c0c3707f
CB
633# endif
634/* Need to cast, because on FreeBSD, the first parameter is
635 unsigned long seed. */
636_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));
98399780 637# endif
98399780
YQ
638_GL_CXXALIASWARN (srandom);
639#elif defined GNULIB_POSIXCHECK
640# undef srandom
641# if HAVE_RAW_DECL_SRANDOM
642_GL_WARN_ON_USE (srandom, "srandom is unportable - "
643 "use gnulib module random for portability");
644# endif
645#endif
646
647#if @GNULIB_RANDOM@
c0c3707f
CB
648# if @REPLACE_INITSTATE@
649# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
650# undef initstate
651# define initstate rpl_initstate
652# endif
653_GL_FUNCDECL_RPL (initstate, char *,
654 (unsigned int seed, char *buf, size_t buf_size)
655 _GL_ARG_NONNULL ((2)));
656_GL_CXXALIAS_RPL (initstate, char *,
657 (unsigned int seed, char *buf, size_t buf_size));
658# else
659# if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@
98399780
YQ
660_GL_FUNCDECL_SYS (initstate, char *,
661 (unsigned int seed, char *buf, size_t buf_size)
662 _GL_ARG_NONNULL ((2)));
c0c3707f
CB
663# endif
664/* Need to cast, because on FreeBSD, the first parameter is
665 unsigned long seed. */
666_GL_CXXALIAS_SYS_CAST (initstate, char *,
667 (unsigned int seed, char *buf, size_t buf_size));
98399780 668# endif
98399780
YQ
669_GL_CXXALIASWARN (initstate);
670#elif defined GNULIB_POSIXCHECK
671# undef initstate
c0c3707f 672# if HAVE_RAW_DECL_INITSTATE
98399780
YQ
673_GL_WARN_ON_USE (initstate, "initstate is unportable - "
674 "use gnulib module random for portability");
675# endif
676#endif
677
678#if @GNULIB_RANDOM@
c0c3707f
CB
679# if @REPLACE_SETSTATE@
680# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
681# undef setstate
682# define setstate rpl_setstate
683# endif
684_GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
685_GL_CXXALIAS_RPL (setstate, char *, (char *arg_state));
686# else
687# if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@
98399780 688_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
c0c3707f
CB
689# endif
690/* Need to cast, because on Mac OS X 10.13, HP-UX, Solaris the first parameter
691 is const char *arg_state. */
692_GL_CXXALIAS_SYS_CAST (setstate, char *, (char *arg_state));
98399780 693# endif
98399780
YQ
694_GL_CXXALIASWARN (setstate);
695#elif defined GNULIB_POSIXCHECK
696# undef setstate
c0c3707f 697# if HAVE_RAW_DECL_SETSTATE
98399780
YQ
698_GL_WARN_ON_USE (setstate, "setstate is unportable - "
699 "use gnulib module random for portability");
700# endif
701#endif
702
703
704#if @GNULIB_RANDOM_R@
705# if @REPLACE_RANDOM_R@
706# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
707# undef random_r
708# define random_r rpl_random_r
709# endif
710_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
711 _GL_ARG_NONNULL ((1, 2)));
712_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
713# else
714# if !@HAVE_RANDOM_R@
715_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
716 _GL_ARG_NONNULL ((1, 2)));
717# endif
718_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
719# endif
720_GL_CXXALIASWARN (random_r);
721#elif defined GNULIB_POSIXCHECK
722# undef random_r
723# if HAVE_RAW_DECL_RANDOM_R
724_GL_WARN_ON_USE (random_r, "random_r is unportable - "
725 "use gnulib module random_r for portability");
726# endif
727#endif
728
729#if @GNULIB_RANDOM_R@
730# if @REPLACE_RANDOM_R@
731# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
732# undef srandom_r
733# define srandom_r rpl_srandom_r
734# endif
735_GL_FUNCDECL_RPL (srandom_r, int,
736 (unsigned int seed, struct random_data *rand_state)
737 _GL_ARG_NONNULL ((2)));
738_GL_CXXALIAS_RPL (srandom_r, int,
739 (unsigned int seed, struct random_data *rand_state));
740# else
741# if !@HAVE_RANDOM_R@
742_GL_FUNCDECL_SYS (srandom_r, int,
743 (unsigned int seed, struct random_data *rand_state)
744 _GL_ARG_NONNULL ((2)));
745# endif
746_GL_CXXALIAS_SYS (srandom_r, int,
747 (unsigned int seed, struct random_data *rand_state));
748# endif
749_GL_CXXALIASWARN (srandom_r);
750#elif defined GNULIB_POSIXCHECK
751# undef srandom_r
752# if HAVE_RAW_DECL_SRANDOM_R
753_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
754 "use gnulib module random_r for portability");
755# endif
756#endif
757
758#if @GNULIB_RANDOM_R@
759# if @REPLACE_RANDOM_R@
760# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
761# undef initstate_r
762# define initstate_r rpl_initstate_r
763# endif
764_GL_FUNCDECL_RPL (initstate_r, int,
765 (unsigned int seed, char *buf, size_t buf_size,
766 struct random_data *rand_state)
767 _GL_ARG_NONNULL ((2, 4)));
768_GL_CXXALIAS_RPL (initstate_r, int,
769 (unsigned int seed, char *buf, size_t buf_size,
770 struct random_data *rand_state));
771# else
772# if !@HAVE_RANDOM_R@
773_GL_FUNCDECL_SYS (initstate_r, int,
774 (unsigned int seed, char *buf, size_t buf_size,
775 struct random_data *rand_state)
776 _GL_ARG_NONNULL ((2, 4)));
777# endif
c0c3707f
CB
778/* Need to cast, because on Haiku, the third parameter is
779 unsigned long buf_size. */
780_GL_CXXALIAS_SYS_CAST (initstate_r, int,
781 (unsigned int seed, char *buf, size_t buf_size,
782 struct random_data *rand_state));
98399780
YQ
783# endif
784_GL_CXXALIASWARN (initstate_r);
785#elif defined GNULIB_POSIXCHECK
786# undef initstate_r
787# if HAVE_RAW_DECL_INITSTATE_R
788_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
789 "use gnulib module random_r for portability");
790# endif
791#endif
792
793#if @GNULIB_RANDOM_R@
794# if @REPLACE_RANDOM_R@
795# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
796# undef setstate_r
797# define setstate_r rpl_setstate_r
798# endif
799_GL_FUNCDECL_RPL (setstate_r, int,
800 (char *arg_state, struct random_data *rand_state)
801 _GL_ARG_NONNULL ((1, 2)));
802_GL_CXXALIAS_RPL (setstate_r, int,
803 (char *arg_state, struct random_data *rand_state));
804# else
805# if !@HAVE_RANDOM_R@
806_GL_FUNCDECL_SYS (setstate_r, int,
807 (char *arg_state, struct random_data *rand_state)
808 _GL_ARG_NONNULL ((1, 2)));
809# endif
c0c3707f
CB
810/* Need to cast, because on Haiku, the first parameter is
811 void *arg_state. */
812_GL_CXXALIAS_SYS_CAST (setstate_r, int,
813 (char *arg_state, struct random_data *rand_state));
98399780
YQ
814# endif
815_GL_CXXALIASWARN (setstate_r);
816#elif defined GNULIB_POSIXCHECK
817# undef setstate_r
818# if HAVE_RAW_DECL_SETSTATE_R
819_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
820 "use gnulib module random_r for portability");
821# endif
822#endif
823
824
825#if @GNULIB_REALLOC_POSIX@
826# if @REPLACE_REALLOC@
827# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
828 || _GL_USE_STDLIB_ALLOC)
829# undef realloc
830# define realloc rpl_realloc
831# endif
832_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
833_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
834# else
835_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
836# endif
c0c3707f 837# if __GLIBC__ >= 2
98399780 838_GL_CXXALIASWARN (realloc);
c0c3707f 839# endif
98399780
YQ
840#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
841# undef realloc
842/* Assume realloc is always declared. */
843_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
844 "use gnulib module realloc-posix for portability");
845#endif
846
c0c3707f
CB
847
848#if @GNULIB_REALLOCARRAY@
849# if ! @HAVE_REALLOCARRAY@
850_GL_FUNCDECL_SYS (reallocarray, void *,
851 (void *ptr, size_t nmemb, size_t size));
852# endif
853_GL_CXXALIAS_SYS (reallocarray, void *,
854 (void *ptr, size_t nmemb, size_t size));
855_GL_CXXALIASWARN (reallocarray);
856#elif defined GNULIB_POSIXCHECK
857# undef reallocarray
858# if HAVE_RAW_DECL_REALLOCARRAY
859_GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
860 "use gnulib module reallocarray for portability");
861# endif
862#endif
863
98399780
YQ
864#if @GNULIB_REALPATH@
865# if @REPLACE_REALPATH@
866# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
867# define realpath rpl_realpath
868# endif
869_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
870 _GL_ARG_NONNULL ((1)));
871_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
872# else
873# if !@HAVE_REALPATH@
874_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
875 _GL_ARG_NONNULL ((1)));
876# endif
877_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
878# endif
879_GL_CXXALIASWARN (realpath);
880#elif defined GNULIB_POSIXCHECK
881# undef realpath
882# if HAVE_RAW_DECL_REALPATH
883_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
884 "canonicalize or canonicalize-lgpl for portability");
885# endif
886#endif
887
888#if @GNULIB_RPMATCH@
889/* Test a user response to a question.
890 Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
891# if !@HAVE_RPMATCH@
892_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
893# endif
894_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
895_GL_CXXALIASWARN (rpmatch);
896#elif defined GNULIB_POSIXCHECK
897# undef rpmatch
898# if HAVE_RAW_DECL_RPMATCH
899_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
900 "use gnulib module rpmatch for portability");
901# endif
902#endif
903
4a626d0a
PA
904#if @GNULIB_SECURE_GETENV@
905/* Look up NAME in the environment, returning 0 in insecure situations. */
906# if !@HAVE_SECURE_GETENV@
907_GL_FUNCDECL_SYS (secure_getenv, char *,
908 (char const *name) _GL_ARG_NONNULL ((1)));
909# endif
910_GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
911_GL_CXXALIASWARN (secure_getenv);
912#elif defined GNULIB_POSIXCHECK
913# undef secure_getenv
914# if HAVE_RAW_DECL_SECURE_GETENV
915_GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
916 "use gnulib module secure_getenv for portability");
917# endif
918#endif
919
98399780
YQ
920#if @GNULIB_SETENV@
921/* Set NAME to VALUE in the environment.
922 If REPLACE is nonzero, overwrite an existing value. */
923# if @REPLACE_SETENV@
924# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
925# undef setenv
926# define setenv rpl_setenv
927# endif
928_GL_FUNCDECL_RPL (setenv, int,
929 (const char *name, const char *value, int replace)
930 _GL_ARG_NONNULL ((1)));
931_GL_CXXALIAS_RPL (setenv, int,
932 (const char *name, const char *value, int replace));
933# else
934# if !@HAVE_DECL_SETENV@
935_GL_FUNCDECL_SYS (setenv, int,
936 (const char *name, const char *value, int replace)
937 _GL_ARG_NONNULL ((1)));
938# endif
939_GL_CXXALIAS_SYS (setenv, int,
940 (const char *name, const char *value, int replace));
941# endif
942# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
943_GL_CXXALIASWARN (setenv);
944# endif
945#elif defined GNULIB_POSIXCHECK
946# undef setenv
947# if HAVE_RAW_DECL_SETENV
948_GL_WARN_ON_USE (setenv, "setenv is unportable - "
949 "use gnulib module setenv for portability");
950# endif
951#endif
952
953#if @GNULIB_STRTOD@
954 /* Parse a double from STRING, updating ENDP if appropriate. */
955# if @REPLACE_STRTOD@
956# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
957# define strtod rpl_strtod
958# endif
c0c3707f 959# define GNULIB_defined_strtod_function 1
98399780
YQ
960_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
961 _GL_ARG_NONNULL ((1)));
962_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
963# else
964# if !@HAVE_STRTOD@
965_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
966 _GL_ARG_NONNULL ((1)));
967# endif
968_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
969# endif
c0c3707f 970# if __GLIBC__ >= 2
98399780 971_GL_CXXALIASWARN (strtod);
c0c3707f 972# endif
98399780
YQ
973#elif defined GNULIB_POSIXCHECK
974# undef strtod
975# if HAVE_RAW_DECL_STRTOD
976_GL_WARN_ON_USE (strtod, "strtod is unportable - "
977 "use gnulib module strtod for portability");
978# endif
979#endif
980
c0c3707f
CB
981#if @GNULIB_STRTOLD@
982 /* Parse a 'long double' from STRING, updating ENDP if appropriate. */
983# if @REPLACE_STRTOLD@
984# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
985# define strtold rpl_strtold
986# endif
987# define GNULIB_defined_strtold_function 1
988_GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp)
989 _GL_ARG_NONNULL ((1)));
990_GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp));
991# else
992# if !@HAVE_STRTOLD@
993_GL_FUNCDECL_SYS (strtold, long double, (const char *str, char **endp)
994 _GL_ARG_NONNULL ((1)));
995# endif
996_GL_CXXALIAS_SYS (strtold, long double, (const char *str, char **endp));
997# endif
998_GL_CXXALIASWARN (strtold);
999#elif defined GNULIB_POSIXCHECK
1000# undef strtold
1001# if HAVE_RAW_DECL_STRTOLD
1002_GL_WARN_ON_USE (strtold, "strtold is unportable - "
1003 "use gnulib module strtold for portability");
1004# endif
1005#endif
1006
98399780
YQ
1007#if @GNULIB_STRTOLL@
1008/* Parse a signed integer whose textual representation starts at STRING.
1009 The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
1010 it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
1011 "0x").
1012 If ENDPTR is not NULL, the address of the first byte after the integer is
1013 stored in *ENDPTR.
1014 Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
1015 to ERANGE. */
1016# if !@HAVE_STRTOLL@
1017_GL_FUNCDECL_SYS (strtoll, long long,
1018 (const char *string, char **endptr, int base)
1019 _GL_ARG_NONNULL ((1)));
1020# endif
1021_GL_CXXALIAS_SYS (strtoll, long long,
1022 (const char *string, char **endptr, int base));
1023_GL_CXXALIASWARN (strtoll);
1024#elif defined GNULIB_POSIXCHECK
1025# undef strtoll
1026# if HAVE_RAW_DECL_STRTOLL
1027_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
1028 "use gnulib module strtoll for portability");
1029# endif
1030#endif
1031
1032#if @GNULIB_STRTOULL@
1033/* Parse an unsigned integer whose textual representation starts at STRING.
1034 The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
1035 it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
1036 "0x").
1037 If ENDPTR is not NULL, the address of the first byte after the integer is
1038 stored in *ENDPTR.
1039 Upon overflow, the return value is ULLONG_MAX, and errno is set to
1040 ERANGE. */
1041# if !@HAVE_STRTOULL@
1042_GL_FUNCDECL_SYS (strtoull, unsigned long long,
1043 (const char *string, char **endptr, int base)
1044 _GL_ARG_NONNULL ((1)));
1045# endif
1046_GL_CXXALIAS_SYS (strtoull, unsigned long long,
1047 (const char *string, char **endptr, int base));
1048_GL_CXXALIASWARN (strtoull);
1049#elif defined GNULIB_POSIXCHECK
1050# undef strtoull
1051# if HAVE_RAW_DECL_STRTOULL
1052_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
1053 "use gnulib module strtoull for portability");
1054# endif
1055#endif
1056
1057#if @GNULIB_UNLOCKPT@
1058/* Unlock the slave side of the pseudo-terminal whose master side is specified
1059 by FD, so that it can be opened. */
1060# if !@HAVE_UNLOCKPT@
1061_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
1062# endif
1063_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
1064_GL_CXXALIASWARN (unlockpt);
1065#elif defined GNULIB_POSIXCHECK
1066# undef unlockpt
1067# if HAVE_RAW_DECL_UNLOCKPT
1068_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
1069 "use gnulib module unlockpt for portability");
1070# endif
1071#endif
1072
1073#if @GNULIB_UNSETENV@
1074/* Remove the variable NAME from the environment. */
1075# if @REPLACE_UNSETENV@
1076# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1077# undef unsetenv
1078# define unsetenv rpl_unsetenv
1079# endif
1080_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
1081_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
1082# else
1083# if !@HAVE_DECL_UNSETENV@
1084_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
1085# endif
1086_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
1087# endif
1088# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
1089_GL_CXXALIASWARN (unsetenv);
1090# endif
1091#elif defined GNULIB_POSIXCHECK
1092# undef unsetenv
1093# if HAVE_RAW_DECL_UNSETENV
1094_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
1095 "use gnulib module unsetenv for portability");
1096# endif
1097#endif
1098
1099/* Convert a wide character to a multibyte character. */
1100#if @GNULIB_WCTOMB@
1101# if @REPLACE_WCTOMB@
1102# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1103# undef wctomb
1104# define wctomb rpl_wctomb
1105# endif
1106_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
1107_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
1108# else
1109_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
1110# endif
c0c3707f 1111# if __GLIBC__ >= 2
98399780 1112_GL_CXXALIASWARN (wctomb);
c0c3707f 1113# endif
98399780
YQ
1114#endif
1115
1116
1117#endif /* _@GUARD_PREFIX@_STDLIB_H */
1118#endif /* _@GUARD_PREFIX@_STDLIB_H */
1119#endif
This page took 0.466328 seconds and 4 git commands to generate.