File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / srclib / stdlib.in.h
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 13:38:46 2021 UTC (3 years, 3 months ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_16p0, HEAD
libiconv 1.16

    1: /* A GNU-like <stdlib.h>.
    2: 
    3:    Copyright (C) 1995, 2001-2004, 2006-2019 Free Software Foundation, Inc.
    4: 
    5:    This program is free software: you can redistribute it and/or modify
    6:    it under the terms of the GNU General Public License as published by
    7:    the Free Software Foundation; either version 3 of the License, or
    8:    (at your option) any later version.
    9: 
   10:    This program is distributed in the hope that it will be useful,
   11:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   12:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   13:    GNU General Public License for more details.
   14: 
   15:    You should have received a copy of the GNU General Public License
   16:    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
   17: 
   18: #if __GNUC__ >= 3
   19: @PRAGMA_SYSTEM_HEADER@
   20: #endif
   21: @PRAGMA_COLUMNS@
   22: 
   23: #if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
   24: /* Special invocation conventions inside some gnulib header files,
   25:    and inside some glibc header files, respectively.  */
   26: 
   27: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
   28: 
   29: #else
   30: /* Normal invocation convention.  */
   31: 
   32: #ifndef _@GUARD_PREFIX@_STDLIB_H
   33: 
   34: /* The include_next requires a split double-inclusion guard.  */
   35: #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
   36: 
   37: #ifndef _@GUARD_PREFIX@_STDLIB_H
   38: #define _@GUARD_PREFIX@_STDLIB_H
   39: 
   40: /* NetBSD 5.0 mis-defines NULL.  */
   41: #include <stddef.h>
   42: 
   43: /* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>.  */
   44: #if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
   45: # include <sys/wait.h>
   46: #endif
   47: 
   48: /* Solaris declares getloadavg() in <sys/loadavg.h>.  */
   49: #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
   50: /* OpenIndiana has a bug: <sys/time.h> must be included before
   51:    <sys/loadavg.h>.  */
   52: # include <sys/time.h>
   53: # include <sys/loadavg.h>
   54: #endif
   55: 
   56: /* Native Windows platforms declare mktemp() in <io.h>.  */
   57: #if 0 && (defined _WIN32 && ! defined __CYGWIN__)
   58: # include <io.h>
   59: #endif
   60: 
   61: #if @GNULIB_RANDOM_R@
   62: 
   63: /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
   64:    from <stdlib.h> if _REENTRANT is defined.  Include it whenever we need
   65:    'struct random_data'.  */
   66: # if @HAVE_RANDOM_H@
   67: #  include <random.h>
   68: # endif
   69: 
   70: # if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
   71: #  include <stdint.h>
   72: # endif
   73: 
   74: # if !@HAVE_STRUCT_RANDOM_DATA@
   75: /* Define 'struct random_data'.
   76:    But allow multiple gnulib generated <stdlib.h> replacements to coexist.  */
   77: #  if !GNULIB_defined_struct_random_data
   78: struct random_data
   79: {
   80:   int32_t *fptr;                /* Front pointer.  */
   81:   int32_t *rptr;                /* Rear pointer.  */
   82:   int32_t *state;               /* Array of state values.  */
   83:   int rand_type;                /* Type of random number generator.  */
   84:   int rand_deg;                 /* Degree of random number generator.  */
   85:   int rand_sep;                 /* Distance between front and rear.  */
   86:   int32_t *end_ptr;             /* Pointer behind state table.  */
   87: };
   88: #   define GNULIB_defined_struct_random_data 1
   89: #  endif
   90: # endif
   91: #endif
   92: 
   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.  */
   97: /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
   98: /* But avoid namespace pollution on glibc systems and native Windows.  */
   99: # include <unistd.h>
  100: #endif
  101: 
  102: /* The __attribute__ feature is available in gcc versions 2.5 and later.
  103:    The attribute __pure__ was added in gcc 2.96.  */
  104: #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
  105: # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
  106: #else
  107: # define _GL_ATTRIBUTE_PURE /* empty */
  108: #endif
  109: 
  110: /* The definition of _Noreturn is copied here.  */
  111: 
  112: /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
  113: 
  114: /* The definition of _GL_ARG_NONNULL is copied here.  */
  115: 
  116: /* The definition of _GL_WARN_ON_USE is copied here.  */
  117: 
  118: 
  119: /* Some systems do not define EXIT_*, despite otherwise supporting C89.  */
  120: #ifndef EXIT_SUCCESS
  121: # define EXIT_SUCCESS 0
  122: #endif
  123: /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
  124:    with proper operation of xargs.  */
  125: #ifndef EXIT_FAILURE
  126: # define EXIT_FAILURE 1
  127: #elif EXIT_FAILURE != 1
  128: # undef EXIT_FAILURE
  129: # define EXIT_FAILURE 1
  130: #endif
  131: 
  132: 
  133: #if @GNULIB__EXIT@
  134: /* Terminate the current process with the given return code, without running
  135:    the 'atexit' handlers.  */
  136: # if !@HAVE__EXIT@
  137: _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
  138: # endif
  139: _GL_CXXALIAS_SYS (_Exit, void, (int status));
  140: _GL_CXXALIASWARN (_Exit);
  141: #elif defined GNULIB_POSIXCHECK
  142: # undef _Exit
  143: # if HAVE_RAW_DECL__EXIT
  144: _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
  145:                  "use gnulib module _Exit for portability");
  146: # endif
  147: #endif
  148: 
  149: 
  150: #if @GNULIB_ATOLL@
  151: /* Parse a signed decimal integer.
  152:    Returns the value of the integer.  Errors are not detected.  */
  153: # if !@HAVE_ATOLL@
  154: _GL_FUNCDECL_SYS (atoll, long long, (const char *string)
  155:                                     _GL_ATTRIBUTE_PURE
  156:                                     _GL_ARG_NONNULL ((1)));
  157: # endif
  158: _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
  159: _GL_CXXALIASWARN (atoll);
  160: #elif defined GNULIB_POSIXCHECK
  161: # undef atoll
  162: # if HAVE_RAW_DECL_ATOLL
  163: _GL_WARN_ON_USE (atoll, "atoll is unportable - "
  164:                  "use gnulib module atoll for portability");
  165: # endif
  166: #endif
  167: 
  168: #if @GNULIB_CALLOC_POSIX@
  169: # if @REPLACE_CALLOC@
  170: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  171: #   undef calloc
  172: #   define calloc rpl_calloc
  173: #  endif
  174: _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
  175: _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
  176: # else
  177: _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
  178: # endif
  179: _GL_CXXALIASWARN (calloc);
  180: #elif defined GNULIB_POSIXCHECK
  181: # undef calloc
  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");
  185: #endif
  186: 
  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));
  201: # endif
  202: _GL_CXXALIASWARN (canonicalize_file_name);
  203: #elif defined GNULIB_POSIXCHECK
  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
  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.  */
  217: # if !@HAVE_DECL_GETLOADAVG@
  218: _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
  219:                                    _GL_ARG_NONNULL ((1)));
  220: # endif
  221: _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
  222: _GL_CXXALIASWARN (getloadavg);
  223: #elif defined GNULIB_POSIXCHECK
  224: # undef getloadavg
  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
  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@
  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);
  251: #elif defined GNULIB_POSIXCHECK
  252: # undef getsubopt
  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
  270: _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
  271:                  "use gnulib module grantpt for portability");
  272: # endif
  273: #endif
  274: 
  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
  309: #  if !@HAVE_MBTOWC@
  310: _GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
  311: #  endif
  312: _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
  313: # endif
  314: _GL_CXXALIASWARN (mbtowc);
  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
  321: #endif
  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.  */
  329: # if !@HAVE_MKDTEMP@
  330: _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
  331: # endif
  332: _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
  333: _GL_CXXALIASWARN (mkdtemp);
  334: #elif defined GNULIB_POSIXCHECK
  335: # undef mkdtemp
  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
  367: #endif
  368: 
  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
  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.  */
  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*/));
  415: # else
  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*/));
  420: # endif
  421: _GL_CXXALIASWARN (mkstemp);
  422: #elif defined GNULIB_POSIXCHECK
  423: # undef mkstemp
  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
  453: #endif
  454: 
  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: 
  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.  */
  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@
  483: _GL_FUNCDECL_SYS (ptsname, char *, (int fd));
  484: #  endif
  485: _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
  486: # endif
  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
  495: 
  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: 
  522: #if @GNULIB_PUTENV@
  523: # if @REPLACE_PUTENV@
  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));
  532: # endif
  533: _GL_CXXALIASWARN (putenv);
  534: #endif
  535: 
  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: 
  574: 
  575: #if @GNULIB_RANDOM_R@
  576: # if !@HAVE_RANDOM_R@
  577: #  ifndef RAND_MAX
  578: #   define RAND_MAX 2147483647
  579: #  endif
  580: # endif
  581: #endif
  582: 
  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: 
  683: #if @GNULIB_RANDOM_R@
  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@
  694: _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
  695:                                  _GL_ARG_NONNULL ((1, 2)));
  696: #  endif
  697: _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
  698: # endif
  699: _GL_CXXALIASWARN (random_r);
  700: #elif defined GNULIB_POSIXCHECK
  701: # undef random_r
  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@
  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@
  721: _GL_FUNCDECL_SYS (srandom_r, int,
  722:                   (unsigned int seed, struct random_data *rand_state)
  723:                   _GL_ARG_NONNULL ((2)));
  724: #  endif
  725: _GL_CXXALIAS_SYS (srandom_r, int,
  726:                   (unsigned int seed, struct random_data *rand_state));
  727: # endif
  728: _GL_CXXALIASWARN (srandom_r);
  729: #elif defined GNULIB_POSIXCHECK
  730: # undef srandom_r
  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@
  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@
  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)));
  756: #  endif
  757: _GL_CXXALIAS_SYS (initstate_r, int,
  758:                   (unsigned int seed, char *buf, size_t buf_size,
  759:                    struct random_data *rand_state));
  760: # endif
  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@
  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@
  783: _GL_FUNCDECL_SYS (setstate_r, int,
  784:                   (char *arg_state, struct random_data *rand_state)
  785:                   _GL_ARG_NONNULL ((1, 2)));
  786: #  endif
  787: _GL_CXXALIAS_SYS (setstate_r, int,
  788:                   (char *arg_state, struct random_data *rand_state));
  789: # endif
  790: _GL_CXXALIASWARN (setstate_r);
  791: #elif defined GNULIB_POSIXCHECK
  792: # undef setstate_r
  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");
  818: #endif
  819: 
  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: 
  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
  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.  */
  864: # if !@HAVE_RPMATCH@
  865: _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
  866: # endif
  867: _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
  868: _GL_CXXALIASWARN (rpmatch);
  869: #elif defined GNULIB_POSIXCHECK
  870: # undef rpmatch
  871: # if HAVE_RAW_DECL_RPMATCH
  872: _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
  873:                  "use gnulib module rpmatch for portability");
  874: # endif
  875: #endif
  876: 
  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: 
  893: #if @GNULIB_SETENV@
  894: /* Set NAME to VALUE in the environment.
  895:    If REPLACE is nonzero, overwrite an existing value.  */
  896: # if @REPLACE_SETENV@
  897: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  898: #   undef setenv
  899: #   define setenv rpl_setenv
  900: #  endif
  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));
  906: # else
  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");
  923: # endif
  924: #endif
  925: 
  926: #if @GNULIB_STRTOD@
  927:  /* Parse a double from STRING, updating ENDP if appropriate.  */
  928: # if @REPLACE_STRTOD@
  929: #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  930: #   define strtod rpl_strtod
  931: #  endif
  932: #  define GNULIB_defined_strtod_function 1
  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));
  942: # endif
  943: _GL_CXXALIASWARN (strtod);
  944: #elif defined GNULIB_POSIXCHECK
  945: # undef strtod
  946: # if HAVE_RAW_DECL_STRTOD
  947: _GL_WARN_ON_USE (strtod, "strtod is unportable - "
  948:                  "use gnulib module strtod for portability");
  949: # endif
  950: #endif
  951: 
  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: 
  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.  */
  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);
  995: #elif defined GNULIB_POSIXCHECK
  996: # undef strtoll
  997: # if HAVE_RAW_DECL_STRTOLL
  998: _GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
  999:                  "use gnulib module strtoll for portability");
 1000: # endif
 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.  */
 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);
 1020: #elif defined GNULIB_POSIXCHECK
 1021: # undef strtoull
 1022: # if HAVE_RAW_DECL_STRTOULL
 1023: _GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
 1024:                  "use gnulib module strtoull for portability");
 1025: # endif
 1026: #endif
 1027: 
 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
 1069: 
 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);
 1083: #endif
 1084: 
 1085: 
 1086: #endif /* _@GUARD_PREFIX@_STDLIB_H */
 1087: #endif /* _@GUARD_PREFIX@_STDLIB_H */
 1088: #endif

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