105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A POSIX-like <sys/wait.h>.
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Copyright (C) 2001-2003, 2005-2012 Free Software Foundation, Inc.
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is free software; you can redistribute it and/or modify
605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   it under the terms of the GNU General Public License as published by
705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   the Free Software Foundation; either version 3, or (at your option)
805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   any later version.
905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is distributed in the hope that it will be useful,
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   but WITHOUT ANY WARRANTY; without even the implied warranty of
1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   GNU General Public License for more details.
1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   You should have received a copy of the GNU General Public License
1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_SYS_WAIT_H
2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#pragma GCC system_header
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The include_next requires a split double-inclusion guard.  */
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# include_next <sys/wait.h>
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_SYS_WAIT_H
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_SYS_WAIT_H
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Get pid_t.  */
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include <sys/types.h>
3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_CXXDEFS_H
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXDEFS_H
4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The three most frequent use cases of these macros are:
4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   * For providing a substitute for a function that is missing on some
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     platforms, but is declared and works fine on the platforms on which
4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     it exists:
4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #if @GNULIB_FOO@
4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # if !@HAVE_FOO@
5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_FUNCDECL_SYS (foo, ...);
5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # endif
5205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIAS_SYS (foo, ...);
5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIASWARN (foo);
5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #elif defined GNULIB_POSIXCHECK
5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ...
5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #endif
5705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   * For providing a replacement for a function that exists on all platforms,
5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     but is broken/insufficient and needs to be replaced on some platforms:
6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #if @GNULIB_FOO@
6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # if @REPLACE_FOO@
6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #   undef foo
6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #   define foo rpl_foo
6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  endif
6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_FUNCDECL_RPL (foo, ...);
6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIAS_RPL (foo, ...);
6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # else
7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIAS_SYS (foo, ...);
7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # endif
7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIASWARN (foo);
7305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #elif defined GNULIB_POSIXCHECK
7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ...
7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #endif
7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   * For providing a replacement for a function that exists on some platforms
7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     but is broken/insufficient and needs to be replaced on some of them and
7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     is additionally either missing or undeclared on some other platforms:
8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #if @GNULIB_FOO@
8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # if @REPLACE_FOO@
8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #   undef foo
8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #   define foo rpl_foo
8605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  endif
8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_FUNCDECL_RPL (foo, ...);
8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIAS_RPL (foo, ...);
8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # else
9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  if !@HAVE_FOO@   or   if !@HAVE_DECL_FOO@
9105436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_FUNCDECL_SYS (foo, ...);
9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #  endif
9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIAS_SYS (foo, ...);
9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       # endif
9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang       _GL_CXXALIASWARN (foo);
9605436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #elif defined GNULIB_POSIXCHECK
9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ...
9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       #endif
9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang*/
10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_EXTERN_C declaration;
10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   performs the declaration with C linkage.  */
10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus
10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern "C"
10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern
10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declares a replacement function, named rpl_func, with the given prototype,
11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   consisting of return type, parameters, and attributes.
11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Example:
11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                  _GL_ARG_NONNULL ((1)));
11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declares the system function, named func, with the given prototype,
12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   consisting of return type, parameters, and attributes.
12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Example:
12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                  _GL_ARG_NONNULL ((1)));
12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  _GL_EXTERN_C rettype func parameters_and_attributes
13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL (func, rettype, parameters);
13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declares a C++ alias called GNULIB_NAMESPACE::func
13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Example:
13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    namespace GNULIB_NAMESPACE                                \
14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {                                                         \
14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      rettype (*const func) parameters = ::rpl_func;          \
14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }                                                         \
14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is like  _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   except that the C function rpl_func may have a slightly different
15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declaration.  A cast is used to silence the "invalid conversion" error
15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   that would otherwise occur.  */
15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    namespace GNULIB_NAMESPACE                                     \
15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {                                                              \
16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang      rettype (*const func) parameters =                           \
16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        reinterpret_cast<rettype(*)parameters>(::rpl_func);        \
16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }                                                              \
16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS (func, rettype, parameters);
17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declares a C++ alias called GNULIB_NAMESPACE::func
17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   that redirects to the system provided function func, if GNULIB_NAMESPACE
17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is defined.
17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Example:
17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang */
17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* If we were to write
17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       rettype (*const func) parameters = ::func;
17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     better (remove an indirection through a 'static' pointer variable),
18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     but then the _GL_CXXALIASWARN macro below would cause a warning not only
18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     for uses of ::func but also for uses of GNULIB_NAMESPACE::func.  */
18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    namespace GNULIB_NAMESPACE                     \
18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {                                              \
18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang      static rettype (*func) parameters = ::func;  \
18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }                                              \
18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   except that the C function func may have a slightly different declaration.
19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   A cast is used to silence the "invalid conversion" error that would
19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   otherwise occur.  */
19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    namespace GNULIB_NAMESPACE                          \
20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {                                                   \
20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang      static rettype (*func) parameters =               \
20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang        reinterpret_cast<rettype(*)parameters>(::func); \
20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }                                                   \
20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is like  _GL_CXXALIAS_SYS (func, rettype, parameters);
21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   except that the C function is picked among a set of overloaded functions,
21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   namely the one with rettype2 and parameters2.  Two consecutive casts
21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   are used to silence the "cannot find a match" and "invalid conversion"
21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   errors that would otherwise occur.  */
21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* The outer cast must be a reinterpret_cast.
22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     The inner cast: When the function is defined as a set of overloaded
22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     functions, it works as a static_cast<>, choosing the designated variant.
22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     When the function is defined as a single variant, it works as a
22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     reinterpret_cast<>. The parenthesized cast syntax works both ways.  */
22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    namespace GNULIB_NAMESPACE                                                \
22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    {                                                                         \
22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang      static rettype (*func) parameters =                                     \
22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang        reinterpret_cast<rettype(*)parameters>(                               \
22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang          (rettype2(*)parameters2)(::func));                                  \
23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    }                                                                         \
23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN (func);
23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   causes a warning to be emitted when ::func is used but not when
23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   GNULIB_NAMESPACE::func is used.  func must be defined without overloaded
24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   variants.  */
24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \
24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_1(func,namespace) \
24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   _GL_CXXALIASWARN_2 (func, namespace)
24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   we enable the warning only when not optimizing.  */
24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__
24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN_2(func,namespace) \
25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_WARN_ON_USE (func, \
25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                     "The symbol ::" #func " refers to the system function. " \
25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                     "Use " #namespace "::" #func " instead.")
25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN_2(func,namespace) \
25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     extern __typeof__ (func) func
25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN_2(func,namespace) \
25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_EXTERN_C int _gl_cxxalias_dummy
25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \
26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   causes a warning to be emitted when the given overloaded variant of ::func
26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is used but not when GNULIB_NAMESPACE::func is used.  */
26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE
26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                        GNULIB_NAMESPACE)
27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   we enable the warning only when not optimizing.  */
27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__
27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         "The symbol ::" #func " refers to the system function. " \
28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         "Use " #namespace "::" #func " instead.")
28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     extern __typeof__ (func) func
28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     _GL_EXTERN_C int _gl_cxxalias_dummy
28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    _GL_EXTERN_C int _gl_cxxalias_dummy
29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_CXXDEFS_H */
29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_WARN_ON_USE is copied here.  */
29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE
29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A compiler attribute is available in gcc versions 4.3.0 and later.  */
30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE(function, message) \
30105436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function __attribute__ ((__warning__ (message)))
30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function.  */
30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE(function, message) \
30505436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function
30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported.  */
30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE(function, message) \
30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use
30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
31205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is like _GL_WARN_ON_USE (function, "string"), except that the function is
31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declared with the given prototype, consisting of return type, parameters,
31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   and attributes.
31605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   not work in this case.  */
31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE_CXX
31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
32105436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes \
32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     __attribute__ ((__warning__ (msg)))
32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function.  */
32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
32605436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes
32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported.  */
32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use
33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
33205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_EXTERN_C declaration;
33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   performs the declaration with C linkage.  */
33505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_EXTERN_C
33605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus
33705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_EXTERN_C extern "C"
33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
33905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define _GL_WARN_EXTERN_C extern
34005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
34105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
34205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
34505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Unix API.  */
34605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The following macros apply to an argument x, that is a status of a process,
34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   as returned by waitpid().
34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   On nearly all systems, including Linux/x86, WEXITSTATUS are bits 15..8 and
35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   WTERMSIG are bits 7..0, while BeOS uses the opposite.  Therefore programs
35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   have to use the abstract macros.  */
35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* For valid x, exactly one of WIFSIGNALED(x), WIFEXITED(x), WIFSTOPPED(x)
35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   is true.  */
35505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WIFSIGNALED
35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WIFSIGNALED(x) (WTERMSIG (x) != 0 && WTERMSIG(x) != 0x7f)
35705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
35805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WIFEXITED
35905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WIFEXITED(x) (WTERMSIG (x) == 0)
36005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
36105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WIFSTOPPED
36205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WIFSTOPPED(x) (WTERMSIG (x) == 0x7f)
36305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
36405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
36505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The termination signal. Only to be accessed if WIFSIGNALED(x) is true.  */
36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WTERMSIG
36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WTERMSIG(x) ((x) & 0x7f)
36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
36905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
37005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The exit status. Only to be accessed if WIFEXITED(x) is true.  */
37105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WEXITSTATUS
37205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WEXITSTATUS(x) (((x) >> 8) & 0xff)
37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
37505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The stopping signal. Only to be accessed if WIFSTOPPED(x) is true.  */
37605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WSTOPSIG
37705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WSTOPSIG(x) (((x) >> 8) & 0x7f)
37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
38005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* True if the process dumped core.  Not standardized by POSIX.  */
38105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef WCOREDUMP
38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define WCOREDUMP(x) ((x) & 0x80)
38305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
38505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
38605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Native Windows API.  */
38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# include <signal.h> /* for SIGTERM */
38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
39005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The following macros apply to an argument x, that is a status of a process,
39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   as returned by waitpid() or, equivalently, _cwait() or GetExitCodeProcess().
39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This value is simply an 'int', not composed of bit fields.  */
39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* When an unhandled fatal signal terminates a process, the exit code is 3.  */
39505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WIFSIGNALED(x) ((x) == 3)
39605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WIFEXITED(x) ((x) != 3)
39705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WIFSTOPPED(x) 0
39805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
39905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The signal that terminated a process is not known posthum.  */
40005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WTERMSIG(x) SIGTERM
40105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
40205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WEXITSTATUS(x) (x)
40305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
40405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* There are no stopping signals.  */
40505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WSTOPSIG(x) 0
40605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
40705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* There are no core dumps.  */
40805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define WCOREDUMP(x) 0
40905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
41005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
41105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
41205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
41305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Declarations of functions.  */
41405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
41505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1
41605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
41705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options));
41805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
41905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options));
42005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (waitpid);
42105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
42205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef waitpid
42305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_WAITPID
42405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (waitpid, "waitpid is unportable - "
42505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sys_wait for portability");
42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
42805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_SYS_WAIT_H */
43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_SYS_WAIT_H */
432