Annotation of embedaddon/libiconv/srclib/stdlib.in.h, revision 1.1.1.3

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>