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

1.1       misho       1: /* A GNU-like <stdlib.h>.
                      2: 
1.1.1.2 ! misho       3:    Copyright (C) 1995, 2001-2004, 2006-2011 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
                     16:    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
                     17: 
                     18: #if __GNUC__ >= 3
                     19: @PRAGMA_SYSTEM_HEADER@
                     20: #endif
1.1.1.2 ! misho      21: @PRAGMA_COLUMNS@
1.1       misho      22: 
                     23: #if defined __need_malloc_and_calloc
                     24: /* Special invocation convention inside glibc header files.  */
                     25: 
                     26: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
                     27: 
                     28: #else
                     29: /* Normal invocation convention.  */
                     30: 
1.1.1.2 ! misho      31: #ifndef _@GUARD_PREFIX@_STDLIB_H
1.1       misho      32: 
                     33: /* The include_next requires a split double-inclusion guard.  */
                     34: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
                     35: 
1.1.1.2 ! misho      36: #ifndef _@GUARD_PREFIX@_STDLIB_H
        !            37: #define _@GUARD_PREFIX@_STDLIB_H
1.1       misho      38: 
1.1.1.2 ! misho      39: /* NetBSD 5.0 mis-defines NULL.  */
        !            40: #include <stddef.h>
        !            41: 
        !            42: /* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
        !            43: #if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
        !            44: # include <sys/wait.h>
        !            45: #endif
1.1       misho      46: 
                     47: /* Solaris declares getloadavg() in <sys/loadavg.h>.  */
1.1.1.2 ! misho      48: #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
1.1       misho      49: # include <sys/loadavg.h>
                     50: #endif
                     51: 
1.1.1.2 ! misho      52: #if @GNULIB_RANDOM_R@
        !            53: 
1.1       misho      54: /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
1.1.1.2 ! misho      55:    from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
        !            56:    'struct random_data'.  */
        !            57: # if @HAVE_RANDOM_H@
        !            58: #  include <random.h>
        !            59: # endif
1.1       misho      60: 
1.1.1.2 ! misho      61: # if !@HAVE_STRUCT_RANDOM_DATA@ || !@HAVE_RANDOM_R@
        !            62: #  include <stdint.h>
        !            63: # endif
1.1       misho      64: 
1.1.1.2 ! misho      65: # if !@HAVE_STRUCT_RANDOM_DATA@
        !            66: /* Define 'struct random_data'.
        !            67:    But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
        !            68: #  if !GNULIB_defined_struct_random_data
1.1       misho      69: struct random_data
                     70: {
1.1.1.2 ! misho      71:   int32_t *fptr;                /* Front pointer.  */
        !            72:   int32_t *rptr;                /* Rear pointer.  */
        !            73:   int32_t *state;               /* Array of state values.  */
        !            74:   int rand_type;                /* Type of random number generator.  */
        !            75:   int rand_deg;                 /* Degree of random number generator.  */
        !            76:   int rand_sep;                 /* Distance between front and rear.  */
        !            77:   int32_t *end_ptr;             /* Pointer behind state table.  */
1.1       misho      78: };
1.1.1.2 ! misho      79: #   define GNULIB_defined_struct_random_data 1
        !            80: #  endif
        !            81: # endif
        !            82: #endif
        !            83: 
        !            84: #if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
        !            85: /* On MacOS X 10.3, only <unistd.h> declares mkstemp.  */
        !            86: /* On MacOS X 10.5, only <unistd.h> declares mkstemps.  */
        !            87: /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
        !            88: /* But avoid namespace pollution on glibc systems and native Windows.  */
        !            89: # include <unistd.h>
1.1       misho      90: #endif
                     91: 
1.1.1.2 ! misho      92: /* The definition of _Noreturn is copied here.  */
        !            93: 
        !            94: /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
        !            95: 
        !            96: /* The definition of _GL_ARG_NONNULL is copied here.  */
        !            97: 
        !            98: /* The definition of _GL_WARN_ON_USE is copied here.  */
1.1       misho      99: 
                    100: 
                    101: /* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
                    102: #ifndef EXIT_SUCCESS
                    103: # define EXIT_SUCCESS 0
                    104: #endif
                    105: /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
                    106:    with proper operation of xargs.  */
                    107: #ifndef EXIT_FAILURE
                    108: # define EXIT_FAILURE 1
                    109: #elif EXIT_FAILURE != 1
                    110: # undef EXIT_FAILURE
                    111: # define EXIT_FAILURE 1
                    112: #endif
                    113: 
                    114: 
1.1.1.2 ! misho     115: #if @GNULIB__EXIT@
        !           116: /* Terminate the current process with the given return code, without running
        !           117:    the 'atexit' handlers.  */
        !           118: # if !@HAVE__EXIT@
        !           119: _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
        !           120: # endif
        !           121: _GL_CXXALIAS_SYS (_Exit, void, (int status));
        !           122: _GL_CXXALIASWARN (_Exit);
        !           123: #elif defined GNULIB_POSIXCHECK
        !           124: # undef _Exit
        !           125: # if HAVE_RAW_DECL__EXIT
        !           126: _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
        !           127:                  "use gnulib module _Exit for portability");
1.1       misho     128: # endif
                    129: #endif
                    130: 
                    131: 
1.1.1.2 ! misho     132: #if @GNULIB_ATOLL@
        !           133: /* Parse a signed decimal integer.
        !           134:    Returns the value of the integer.  Errors are not detected.  */
        !           135: # if !@HAVE_ATOLL@
        !           136: _GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
1.1       misho     137: # endif
1.1.1.2 ! misho     138: _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
        !           139: _GL_CXXALIASWARN (atoll);
1.1       misho     140: #elif defined GNULIB_POSIXCHECK
1.1.1.2 ! misho     141: # undef atoll
        !           142: # if HAVE_RAW_DECL_ATOLL
        !           143: _GL_WARN_ON_USE (atoll, "atoll is unportable - "
        !           144:                  "use gnulib module atoll for portability");
        !           145: # endif
1.1       misho     146: #endif
                    147: 
                    148: #if @GNULIB_CALLOC_POSIX@
1.1.1.2 ! misho     149: # if @REPLACE_CALLOC@
        !           150: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           151: #   undef calloc
        !           152: #   define calloc rpl_calloc
        !           153: #  endif
        !           154: _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
        !           155: _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
        !           156: # else
        !           157: _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
1.1       misho     158: # endif
1.1.1.2 ! misho     159: _GL_CXXALIASWARN (calloc);
1.1       misho     160: #elif defined GNULIB_POSIXCHECK
                    161: # undef calloc
1.1.1.2 ! misho     162: /* Assume calloc is always declared.  */
        !           163: _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
        !           164:                  "use gnulib module calloc-posix for portability");
1.1       misho     165: #endif
                    166: 
1.1.1.2 ! misho     167: #if @GNULIB_CANONICALIZE_FILE_NAME@
        !           168: # if @REPLACE_CANONICALIZE_FILE_NAME@
        !           169: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           170: #   define canonicalize_file_name rpl_canonicalize_file_name
        !           171: #  endif
        !           172: _GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
        !           173:                                                   _GL_ARG_NONNULL ((1)));
        !           174: _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
        !           175: # else
        !           176: #  if !@HAVE_CANONICALIZE_FILE_NAME@
        !           177: _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
        !           178:                                                   _GL_ARG_NONNULL ((1)));
        !           179: #  endif
        !           180: _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
1.1       misho     181: # endif
1.1.1.2 ! misho     182: _GL_CXXALIASWARN (canonicalize_file_name);
1.1       misho     183: #elif defined GNULIB_POSIXCHECK
1.1.1.2 ! misho     184: # undef canonicalize_file_name
        !           185: # if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
        !           186: _GL_WARN_ON_USE (canonicalize_file_name,
        !           187:                  "canonicalize_file_name is unportable - "
        !           188:                  "use gnulib module canonicalize-lgpl for portability");
        !           189: # endif
1.1       misho     190: #endif
                    191: 
                    192: #if @GNULIB_GETLOADAVG@
                    193: /* Store max(NELEM,3) load average numbers in LOADAVG[].
                    194:    The three numbers are the load average of the last 1 minute, the last 5
                    195:    minutes, and the last 15 minutes, respectively.
                    196:    LOADAVG is an array of NELEM numbers.  */
1.1.1.2 ! misho     197: # if !@HAVE_DECL_GETLOADAVG@
        !           198: _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
        !           199:                                    _GL_ARG_NONNULL ((1)));
1.1       misho     200: # endif
1.1.1.2 ! misho     201: _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
        !           202: _GL_CXXALIASWARN (getloadavg);
1.1       misho     203: #elif defined GNULIB_POSIXCHECK
                    204: # undef getloadavg
1.1.1.2 ! misho     205: # if HAVE_RAW_DECL_GETLOADAVG
        !           206: _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
        !           207:                  "use gnulib module getloadavg for portability");
        !           208: # endif
1.1       misho     209: #endif
                    210: 
                    211: #if @GNULIB_GETSUBOPT@
                    212: /* Assuming *OPTIONP is a comma separated list of elements of the form
                    213:    "token" or "token=value", getsubopt parses the first of these elements.
                    214:    If the first element refers to a "token" that is member of the given
                    215:    NULL-terminated array of tokens:
                    216:      - It replaces the comma with a NUL byte, updates *OPTIONP to point past
                    217:        the first option and the comma, sets *VALUEP to the value of the
                    218:        element (or NULL if it doesn't contain an "=" sign),
                    219:      - It returns the index of the "token" in the given array of tokens.
                    220:    Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
                    221:    For more details see the POSIX:2001 specification.
                    222:    http://www.opengroup.org/susv3xsh/getsubopt.html */
                    223: # if !@HAVE_GETSUBOPT@
1.1.1.2 ! misho     224: _GL_FUNCDECL_SYS (getsubopt, int,
        !           225:                   (char **optionp, char *const *tokens, char **valuep)
        !           226:                   _GL_ARG_NONNULL ((1, 2, 3)));
        !           227: # endif
        !           228: _GL_CXXALIAS_SYS (getsubopt, int,
        !           229:                   (char **optionp, char *const *tokens, char **valuep));
        !           230: _GL_CXXALIASWARN (getsubopt);
1.1       misho     231: #elif defined GNULIB_POSIXCHECK
                    232: # undef getsubopt
1.1.1.2 ! misho     233: # if HAVE_RAW_DECL_GETSUBOPT
        !           234: _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
        !           235:                  "use gnulib module getsubopt for portability");
        !           236: # endif
        !           237: #endif
        !           238: 
        !           239: #if @GNULIB_GRANTPT@
        !           240: /* Change the ownership and access permission of the slave side of the
        !           241:    pseudo-terminal whose master side is specified by FD.  */
        !           242: # if !@HAVE_GRANTPT@
        !           243: _GL_FUNCDECL_SYS (grantpt, int, (int fd));
        !           244: # endif
        !           245: _GL_CXXALIAS_SYS (grantpt, int, (int fd));
        !           246: _GL_CXXALIASWARN (grantpt);
        !           247: #elif defined GNULIB_POSIXCHECK
        !           248: # undef grantpt
        !           249: # if HAVE_RAW_DECL_GRANTPT
        !           250: _GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
        !           251:                  "use gnulib module grantpt for portability");
        !           252: # endif
1.1       misho     253: #endif
                    254: 
1.1.1.2 ! misho     255: /* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
        !           256:    rely on GNU or POSIX semantics for malloc and realloc (for example,
        !           257:    by never specifying a zero size), so it does not need malloc or
        !           258:    realloc to be redefined.  */
        !           259: #if @GNULIB_MALLOC_POSIX@
        !           260: # if @REPLACE_MALLOC@
        !           261: #  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
        !           262:         || _GL_USE_STDLIB_ALLOC)
        !           263: #   undef malloc
        !           264: #   define malloc rpl_malloc
        !           265: #  endif
        !           266: _GL_FUNCDECL_RPL (malloc, void *, (size_t size));
        !           267: _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
        !           268: # else
        !           269: _GL_CXXALIAS_SYS (malloc, void *, (size_t size));
        !           270: # endif
        !           271: _GL_CXXALIASWARN (malloc);
        !           272: #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
        !           273: # undef malloc
        !           274: /* Assume malloc is always declared.  */
        !           275: _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
        !           276:                  "use gnulib module malloc-posix for portability");
        !           277: #endif
        !           278: 
        !           279: /* Convert a multibyte character to a wide character.  */
        !           280: #if @GNULIB_MBTOWC@
        !           281: # if @REPLACE_MBTOWC@
        !           282: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           283: #   undef mbtowc
        !           284: #   define mbtowc rpl_mbtowc
        !           285: #  endif
        !           286: _GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
        !           287: _GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
        !           288: # else
        !           289: _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
        !           290: # endif
        !           291: _GL_CXXALIASWARN (mbtowc);
        !           292: #endif
1.1       misho     293: 
                    294: #if @GNULIB_MKDTEMP@
                    295: /* Create a unique temporary directory from TEMPLATE.
                    296:    The last six characters of TEMPLATE must be "XXXXXX";
                    297:    they are replaced with a string that makes the directory name unique.
                    298:    Returns TEMPLATE, or a null pointer if it cannot get a unique name.
                    299:    The directory is created mode 700.  */
1.1.1.2 ! misho     300: # if !@HAVE_MKDTEMP@
        !           301: _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
1.1       misho     302: # endif
1.1.1.2 ! misho     303: _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
        !           304: _GL_CXXALIASWARN (mkdtemp);
1.1       misho     305: #elif defined GNULIB_POSIXCHECK
                    306: # undef mkdtemp
1.1.1.2 ! misho     307: # if HAVE_RAW_DECL_MKDTEMP
        !           308: _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
        !           309:                  "use gnulib module mkdtemp for portability");
        !           310: # endif
        !           311: #endif
        !           312: 
        !           313: #if @GNULIB_MKOSTEMP@
        !           314: /* Create a unique temporary file from TEMPLATE.
        !           315:    The last six characters of TEMPLATE must be "XXXXXX";
        !           316:    they are replaced with a string that makes the file name unique.
        !           317:    The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
        !           318:    and O_TEXT, O_BINARY (defined in "binary-io.h").
        !           319:    The file is then created, with the specified flags, ensuring it didn't exist
        !           320:    before.
        !           321:    The file is created read-write (mask at least 0600 & ~umask), but it may be
        !           322:    world-readable and world-writable (mask 0666 & ~umask), depending on the
        !           323:    implementation.
        !           324:    Returns the open file descriptor if successful, otherwise -1 and errno
        !           325:    set.  */
        !           326: # if !@HAVE_MKOSTEMP@
        !           327: _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
        !           328:                                  _GL_ARG_NONNULL ((1)));
        !           329: # endif
        !           330: _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
        !           331: _GL_CXXALIASWARN (mkostemp);
        !           332: #elif defined GNULIB_POSIXCHECK
        !           333: # undef mkostemp
        !           334: # if HAVE_RAW_DECL_MKOSTEMP
        !           335: _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
        !           336:                  "use gnulib module mkostemp for portability");
        !           337: # endif
1.1       misho     338: #endif
                    339: 
1.1.1.2 ! misho     340: #if @GNULIB_MKOSTEMPS@
        !           341: /* Create a unique temporary file from TEMPLATE.
        !           342:    The last six characters of TEMPLATE before a suffix of length
        !           343:    SUFFIXLEN must be "XXXXXX";
        !           344:    they are replaced with a string that makes the file name unique.
        !           345:    The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
        !           346:    and O_TEXT, O_BINARY (defined in "binary-io.h").
        !           347:    The file is then created, with the specified flags, ensuring it didn't exist
        !           348:    before.
        !           349:    The file is created read-write (mask at least 0600 & ~umask), but it may be
        !           350:    world-readable and world-writable (mask 0666 & ~umask), depending on the
        !           351:    implementation.
        !           352:    Returns the open file descriptor if successful, otherwise -1 and errno
        !           353:    set.  */
        !           354: # if !@HAVE_MKOSTEMPS@
        !           355: _GL_FUNCDECL_SYS (mkostemps, int,
        !           356:                   (char * /*template*/, int /*suffixlen*/, int /*flags*/)
        !           357:                   _GL_ARG_NONNULL ((1)));
        !           358: # endif
        !           359: _GL_CXXALIAS_SYS (mkostemps, int,
        !           360:                   (char * /*template*/, int /*suffixlen*/, int /*flags*/));
        !           361: _GL_CXXALIASWARN (mkostemps);
        !           362: #elif defined GNULIB_POSIXCHECK
        !           363: # undef mkostemps
        !           364: # if HAVE_RAW_DECL_MKOSTEMPS
        !           365: _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
        !           366:                  "use gnulib module mkostemps for portability");
        !           367: # endif
        !           368: #endif
1.1       misho     369: 
                    370: #if @GNULIB_MKSTEMP@
                    371: /* Create a unique temporary file from TEMPLATE.
                    372:    The last six characters of TEMPLATE must be "XXXXXX";
                    373:    they are replaced with a string that makes the file name unique.
                    374:    The file is then created, ensuring it didn't exist before.
                    375:    The file is created read-write (mask at least 0600 & ~umask), but it may be
                    376:    world-readable and world-writable (mask 0666 & ~umask), depending on the
                    377:    implementation.
                    378:    Returns the open file descriptor if successful, otherwise -1 and errno
                    379:    set.  */
1.1.1.2 ! misho     380: # if @REPLACE_MKSTEMP@
        !           381: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           382: #   define mkstemp rpl_mkstemp
        !           383: #  endif
        !           384: _GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
        !           385: _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
1.1       misho     386: # else
1.1.1.2 ! misho     387: #  if ! @HAVE_MKSTEMP@
        !           388: _GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
        !           389: #  endif
        !           390: _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
1.1       misho     391: # endif
1.1.1.2 ! misho     392: _GL_CXXALIASWARN (mkstemp);
1.1       misho     393: #elif defined GNULIB_POSIXCHECK
                    394: # undef mkstemp
1.1.1.2 ! misho     395: # if HAVE_RAW_DECL_MKSTEMP
        !           396: _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
        !           397:                  "use gnulib module mkstemp for portability");
        !           398: # endif
        !           399: #endif
        !           400: 
        !           401: #if @GNULIB_MKSTEMPS@
        !           402: /* Create a unique temporary file from TEMPLATE.
        !           403:    The last six characters of TEMPLATE prior to a suffix of length
        !           404:    SUFFIXLEN must be "XXXXXX";
        !           405:    they are replaced with a string that makes the file name unique.
        !           406:    The file is then created, ensuring it didn't exist before.
        !           407:    The file is created read-write (mask at least 0600 & ~umask), but it may be
        !           408:    world-readable and world-writable (mask 0666 & ~umask), depending on the
        !           409:    implementation.
        !           410:    Returns the open file descriptor if successful, otherwise -1 and errno
        !           411:    set.  */
        !           412: # if !@HAVE_MKSTEMPS@
        !           413: _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
        !           414:                                  _GL_ARG_NONNULL ((1)));
        !           415: # endif
        !           416: _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
        !           417: _GL_CXXALIASWARN (mkstemps);
        !           418: #elif defined GNULIB_POSIXCHECK
        !           419: # undef mkstemps
        !           420: # if HAVE_RAW_DECL_MKSTEMPS
        !           421: _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
        !           422:                  "use gnulib module mkstemps for portability");
        !           423: # endif
1.1       misho     424: #endif
                    425: 
1.1.1.2 ! misho     426: #if @GNULIB_PTSNAME@
        !           427: /* Return the pathname of the pseudo-terminal slave associated with
        !           428:    the master FD is open on, or NULL on errors.  */
        !           429: # if !@HAVE_PTSNAME@
        !           430: _GL_FUNCDECL_SYS (ptsname, char *, (int fd));
        !           431: # endif
        !           432: _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
        !           433: _GL_CXXALIASWARN (ptsname);
        !           434: #elif defined GNULIB_POSIXCHECK
        !           435: # undef ptsname
        !           436: # if HAVE_RAW_DECL_PTSNAME
        !           437: _GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
        !           438:                  "use gnulib module ptsname for portability");
        !           439: # endif
        !           440: #endif
1.1       misho     441: 
                    442: #if @GNULIB_PUTENV@
                    443: # if @REPLACE_PUTENV@
1.1.1.2 ! misho     444: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           445: #   undef putenv
        !           446: #   define putenv rpl_putenv
        !           447: #  endif
        !           448: _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
        !           449: _GL_CXXALIAS_RPL (putenv, int, (char *string));
        !           450: # else
        !           451: _GL_CXXALIAS_SYS (putenv, int, (char *string));
1.1       misho     452: # endif
1.1.1.2 ! misho     453: _GL_CXXALIASWARN (putenv);
1.1       misho     454: #endif
                    455: 
                    456: 
                    457: #if @GNULIB_RANDOM_R@
                    458: # if !@HAVE_RANDOM_R@
                    459: #  ifndef RAND_MAX
                    460: #   define RAND_MAX 2147483647
                    461: #  endif
1.1.1.2 ! misho     462: # endif
        !           463: #endif
1.1       misho     464: 
1.1.1.2 ! misho     465: #if @GNULIB_RANDOM_R@
        !           466: # if !@HAVE_RANDOM_R@
        !           467: _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
        !           468:                                  _GL_ARG_NONNULL ((1, 2)));
1.1       misho     469: # endif
1.1.1.2 ! misho     470: _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
        !           471: _GL_CXXALIASWARN (random_r);
1.1       misho     472: #elif defined GNULIB_POSIXCHECK
                    473: # undef random_r
1.1.1.2 ! misho     474: # if HAVE_RAW_DECL_RANDOM_R
        !           475: _GL_WARN_ON_USE (random_r, "random_r is unportable - "
        !           476:                  "use gnulib module random_r for portability");
        !           477: # endif
        !           478: #endif
        !           479: 
        !           480: #if @GNULIB_RANDOM_R@
        !           481: # if !@HAVE_RANDOM_R@
        !           482: _GL_FUNCDECL_SYS (srandom_r, int,
        !           483:                   (unsigned int seed, struct random_data *rand_state)
        !           484:                   _GL_ARG_NONNULL ((2)));
        !           485: # endif
        !           486: _GL_CXXALIAS_SYS (srandom_r, int,
        !           487:                   (unsigned int seed, struct random_data *rand_state));
        !           488: _GL_CXXALIASWARN (srandom_r);
        !           489: #elif defined GNULIB_POSIXCHECK
1.1       misho     490: # undef srandom_r
1.1.1.2 ! misho     491: # if HAVE_RAW_DECL_SRANDOM_R
        !           492: _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
        !           493:                  "use gnulib module random_r for portability");
        !           494: # endif
        !           495: #endif
        !           496: 
        !           497: #if @GNULIB_RANDOM_R@
        !           498: # if !@HAVE_RANDOM_R@
        !           499: _GL_FUNCDECL_SYS (initstate_r, int,
        !           500:                   (unsigned int seed, char *buf, size_t buf_size,
        !           501:                    struct random_data *rand_state)
        !           502:                   _GL_ARG_NONNULL ((2, 4)));
        !           503: # endif
        !           504: _GL_CXXALIAS_SYS (initstate_r, int,
        !           505:                   (unsigned int seed, char *buf, size_t buf_size,
        !           506:                    struct random_data *rand_state));
        !           507: _GL_CXXALIASWARN (initstate_r);
        !           508: #elif defined GNULIB_POSIXCHECK
        !           509: # undef initstate_r
        !           510: # if HAVE_RAW_DECL_INITSTATE_R
        !           511: _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
        !           512:                  "use gnulib module random_r for portability");
        !           513: # endif
        !           514: #endif
        !           515: 
        !           516: #if @GNULIB_RANDOM_R@
        !           517: # if !@HAVE_RANDOM_R@
        !           518: _GL_FUNCDECL_SYS (setstate_r, int,
        !           519:                   (char *arg_state, struct random_data *rand_state)
        !           520:                   _GL_ARG_NONNULL ((1, 2)));
        !           521: # endif
        !           522: _GL_CXXALIAS_SYS (setstate_r, int,
        !           523:                   (char *arg_state, struct random_data *rand_state));
        !           524: _GL_CXXALIASWARN (setstate_r);
        !           525: #elif defined GNULIB_POSIXCHECK
1.1       misho     526: # undef setstate_r
1.1.1.2 ! misho     527: # if HAVE_RAW_DECL_SETSTATE_R
        !           528: _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
        !           529:                  "use gnulib module random_r for portability");
        !           530: # endif
        !           531: #endif
        !           532: 
        !           533: 
        !           534: #if @GNULIB_REALLOC_POSIX@
        !           535: # if @REPLACE_REALLOC@
        !           536: #  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
        !           537:         || _GL_USE_STDLIB_ALLOC)
        !           538: #   undef realloc
        !           539: #   define realloc rpl_realloc
        !           540: #  endif
        !           541: _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
        !           542: _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
        !           543: # else
        !           544: _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
        !           545: # endif
        !           546: _GL_CXXALIASWARN (realloc);
        !           547: #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
        !           548: # undef realloc
        !           549: /* Assume realloc is always declared.  */
        !           550: _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
        !           551:                  "use gnulib module realloc-posix for portability");
1.1       misho     552: #endif
                    553: 
1.1.1.2 ! misho     554: #if @GNULIB_REALPATH@
        !           555: # if @REPLACE_REALPATH@
        !           556: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           557: #   define realpath rpl_realpath
        !           558: #  endif
        !           559: _GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
        !           560:                                     _GL_ARG_NONNULL ((1)));
        !           561: _GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
        !           562: # else
        !           563: #  if !@HAVE_REALPATH@
        !           564: _GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
        !           565:                                     _GL_ARG_NONNULL ((1)));
        !           566: #  endif
        !           567: _GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
        !           568: # endif
        !           569: _GL_CXXALIASWARN (realpath);
        !           570: #elif defined GNULIB_POSIXCHECK
        !           571: # undef realpath
        !           572: # if HAVE_RAW_DECL_REALPATH
        !           573: _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
        !           574:                  "canonicalize or canonicalize-lgpl for portability");
        !           575: # endif
        !           576: #endif
1.1       misho     577: 
                    578: #if @GNULIB_RPMATCH@
                    579: /* Test a user response to a question.
                    580:    Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
1.1.1.2 ! misho     581: # if !@HAVE_RPMATCH@
        !           582: _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
1.1       misho     583: # endif
1.1.1.2 ! misho     584: _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
        !           585: _GL_CXXALIASWARN (rpmatch);
1.1       misho     586: #elif defined GNULIB_POSIXCHECK
                    587: # undef rpmatch
1.1.1.2 ! misho     588: # if HAVE_RAW_DECL_RPMATCH
        !           589: _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
        !           590:                  "use gnulib module rpmatch for portability");
        !           591: # endif
1.1       misho     592: #endif
                    593: 
                    594: #if @GNULIB_SETENV@
                    595: /* Set NAME to VALUE in the environment.
                    596:    If REPLACE is nonzero, overwrite an existing value.  */
1.1.1.2 ! misho     597: # if @REPLACE_SETENV@
        !           598: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           599: #   undef setenv
        !           600: #   define setenv rpl_setenv
1.1       misho     601: #  endif
1.1.1.2 ! misho     602: _GL_FUNCDECL_RPL (setenv, int,
        !           603:                   (const char *name, const char *value, int replace)
        !           604:                   _GL_ARG_NONNULL ((1)));
        !           605: _GL_CXXALIAS_RPL (setenv, int,
        !           606:                   (const char *name, const char *value, int replace));
1.1       misho     607: # else
1.1.1.2 ! misho     608: #  if !@HAVE_DECL_SETENV@
        !           609: _GL_FUNCDECL_SYS (setenv, int,
        !           610:                   (const char *name, const char *value, int replace)
        !           611:                   _GL_ARG_NONNULL ((1)));
        !           612: #  endif
        !           613: _GL_CXXALIAS_SYS (setenv, int,
        !           614:                   (const char *name, const char *value, int replace));
        !           615: # endif
        !           616: # if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
        !           617: _GL_CXXALIASWARN (setenv);
        !           618: # endif
        !           619: #elif defined GNULIB_POSIXCHECK
        !           620: # undef setenv
        !           621: # if HAVE_RAW_DECL_SETENV
        !           622: _GL_WARN_ON_USE (setenv, "setenv is unportable - "
        !           623:                  "use gnulib module setenv for portability");
1.1       misho     624: # endif
                    625: #endif
                    626: 
                    627: #if @GNULIB_STRTOD@
                    628:  /* Parse a double from STRING, updating ENDP if appropriate.  */
1.1.1.2 ! misho     629: # if @REPLACE_STRTOD@
        !           630: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           631: #   define strtod rpl_strtod
        !           632: #  endif
        !           633: _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
        !           634:                                   _GL_ARG_NONNULL ((1)));
        !           635: _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
        !           636: # else
        !           637: #  if !@HAVE_STRTOD@
        !           638: _GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
        !           639:                                   _GL_ARG_NONNULL ((1)));
        !           640: #  endif
        !           641: _GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
1.1       misho     642: # endif
1.1.1.2 ! misho     643: _GL_CXXALIASWARN (strtod);
1.1       misho     644: #elif defined GNULIB_POSIXCHECK
                    645: # undef strtod
1.1.1.2 ! misho     646: # if HAVE_RAW_DECL_STRTOD
        !           647: _GL_WARN_ON_USE (strtod, "strtod is unportable - "
        !           648:                  "use gnulib module strtod for portability");
        !           649: # endif
1.1       misho     650: #endif
                    651: 
                    652: #if @GNULIB_STRTOLL@
                    653: /* Parse a signed integer whose textual representation starts at STRING.
                    654:    The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
                    655:    it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
                    656:    "0x").
                    657:    If ENDPTR is not NULL, the address of the first byte after the integer is
                    658:    stored in *ENDPTR.
                    659:    Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
                    660:    to ERANGE.  */
1.1.1.2 ! misho     661: # if !@HAVE_STRTOLL@
        !           662: _GL_FUNCDECL_SYS (strtoll, long long,
        !           663:                   (const char *string, char **endptr, int base)
        !           664:                   _GL_ARG_NONNULL ((1)));
        !           665: # endif
        !           666: _GL_CXXALIAS_SYS (strtoll, long long,
        !           667:                   (const char *string, char **endptr, int base));
        !           668: _GL_CXXALIASWARN (strtoll);
1.1       misho     669: #elif defined GNULIB_POSIXCHECK
                    670: # undef strtoll
1.1.1.2 ! misho     671: # if HAVE_RAW_DECL_STRTOLL
        !           672: _GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
        !           673:                  "use gnulib module strtoll for portability");
        !           674: # endif
1.1       misho     675: #endif
                    676: 
                    677: #if @GNULIB_STRTOULL@
                    678: /* Parse an unsigned integer whose textual representation starts at STRING.
                    679:    The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
                    680:    it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
                    681:    "0x").
                    682:    If ENDPTR is not NULL, the address of the first byte after the integer is
                    683:    stored in *ENDPTR.
                    684:    Upon overflow, the return value is ULLONG_MAX, and errno is set to
                    685:    ERANGE.  */
1.1.1.2 ! misho     686: # if !@HAVE_STRTOULL@
        !           687: _GL_FUNCDECL_SYS (strtoull, unsigned long long,
        !           688:                   (const char *string, char **endptr, int base)
        !           689:                   _GL_ARG_NONNULL ((1)));
        !           690: # endif
        !           691: _GL_CXXALIAS_SYS (strtoull, unsigned long long,
        !           692:                   (const char *string, char **endptr, int base));
        !           693: _GL_CXXALIASWARN (strtoull);
1.1       misho     694: #elif defined GNULIB_POSIXCHECK
                    695: # undef strtoull
1.1.1.2 ! misho     696: # if HAVE_RAW_DECL_STRTOULL
        !           697: _GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
        !           698:                  "use gnulib module strtoull for portability");
        !           699: # endif
1.1       misho     700: #endif
                    701: 
1.1.1.2 ! misho     702: #if @GNULIB_UNLOCKPT@
        !           703: /* Unlock the slave side of the pseudo-terminal whose master side is specified
        !           704:    by FD, so that it can be opened.  */
        !           705: # if !@HAVE_UNLOCKPT@
        !           706: _GL_FUNCDECL_SYS (unlockpt, int, (int fd));
        !           707: # endif
        !           708: _GL_CXXALIAS_SYS (unlockpt, int, (int fd));
        !           709: _GL_CXXALIASWARN (unlockpt);
        !           710: #elif defined GNULIB_POSIXCHECK
        !           711: # undef unlockpt
        !           712: # if HAVE_RAW_DECL_UNLOCKPT
        !           713: _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
        !           714:                  "use gnulib module unlockpt for portability");
        !           715: # endif
        !           716: #endif
        !           717: 
        !           718: #if @GNULIB_UNSETENV@
        !           719: /* Remove the variable NAME from the environment.  */
        !           720: # if @REPLACE_UNSETENV@
        !           721: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           722: #   undef unsetenv
        !           723: #   define unsetenv rpl_unsetenv
        !           724: #  endif
        !           725: _GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
        !           726: _GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
        !           727: # else
        !           728: #  if !@HAVE_DECL_UNSETENV@
        !           729: _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
        !           730: #  endif
        !           731: _GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
        !           732: # endif
        !           733: # if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
        !           734: _GL_CXXALIASWARN (unsetenv);
        !           735: # endif
        !           736: #elif defined GNULIB_POSIXCHECK
        !           737: # undef unsetenv
        !           738: # if HAVE_RAW_DECL_UNSETENV
        !           739: _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
        !           740:                  "use gnulib module unsetenv for portability");
        !           741: # endif
        !           742: #endif
1.1       misho     743: 
1.1.1.2 ! misho     744: /* Convert a wide character to a multibyte character.  */
        !           745: #if @GNULIB_WCTOMB@
        !           746: # if @REPLACE_WCTOMB@
        !           747: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
        !           748: #   undef wctomb
        !           749: #   define wctomb rpl_wctomb
        !           750: #  endif
        !           751: _GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
        !           752: _GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
        !           753: # else
        !           754: _GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
        !           755: # endif
        !           756: _GL_CXXALIASWARN (wctomb);
1.1       misho     757: #endif
                    758: 
1.1.1.2 ! misho     759: 
        !           760: #endif /* _@GUARD_PREFIX@_STDLIB_H */
        !           761: #endif /* _@GUARD_PREFIX@_STDLIB_H */
1.1       misho     762: #endif

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