~andreserl/+junk/hello

« back to all changes in this revision

Viewing changes to lib/stdlib.in.h

  • Committer: Andres Rodriguez
  • Date: 2018-08-01 21:44:17 UTC
  • Revision ID: andreserl@ubuntu.com-20180801214417-qhsiz01t83w7x0fn
Initial

Show diffs side-by-side

added added

removed removed

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