/* This is a generated file, edit pcntl.stub.php instead.
 * Stub hash: 04e7b30c6fb23cf6ce6bc26fe094fd5b4dbfe826
 * Has decl header: yes */

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_fork, 0, 0, IS_LONG, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_waitpid, 0, 2, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0)
	ZEND_ARG_INFO(1, status)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, resource_usage, "[]")
ZEND_END_ARG_INFO()

#if defined (HAVE_WAITID) && defined (HAVE_POSIX_IDTYPES) && defined (HAVE_DECL_WEXITED) && HAVE_DECL_WEXITED == 1
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_waitid, 0, 0, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, idtype, IS_LONG, 0, "P_ALL")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, id, IS_LONG, 1, "null")
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, info, "[]")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "WEXITED")
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, resource_usage, "[]")
ZEND_END_ARG_INFO()
#endif

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_wait, 0, 1, IS_LONG, 0)
	ZEND_ARG_INFO(1, status)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, resource_usage, "[]")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_signal, 0, 2, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, signal, IS_LONG, 0)
	ZEND_ARG_INFO(0, handler)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, restart_syscalls, _IS_BOOL, 0, "true")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_pcntl_signal_get_handler, 0, 0, 1)
	ZEND_ARG_TYPE_INFO(0, signal, IS_LONG, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_signal_dispatch, 0, 0, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

#if defined(HAVE_SIGPROCMASK)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_sigprocmask, 0, 2, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO(0, signals, IS_ARRAY, 0)
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, old_signals, "null")
ZEND_END_ARG_INFO()
#endif

#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT))
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pcntl_sigwaitinfo, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
	ZEND_ARG_TYPE_INFO(0, signals, IS_ARRAY, 0)
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, info, "[]")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pcntl_sigtimedwait, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
	ZEND_ARG_TYPE_INFO(0, signals, IS_ARRAY, 0)
	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, info, "[]")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, seconds, IS_LONG, 0, "0")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, nanoseconds, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()
#endif

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_wifexited, 0, 1, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, status, IS_LONG, 0)
ZEND_END_ARG_INFO()

#define arginfo_pcntl_wifstopped arginfo_pcntl_wifexited

#if defined(HAVE_WCONTINUED)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_wifcontinued, 0, 1, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, status, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif

#define arginfo_pcntl_wifsignaled arginfo_pcntl_wifexited

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pcntl_wexitstatus, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
	ZEND_ARG_TYPE_INFO(0, status, IS_LONG, 0)
ZEND_END_ARG_INFO()

#define arginfo_pcntl_wtermsig arginfo_pcntl_wexitstatus

#define arginfo_pcntl_wstopsig arginfo_pcntl_wexitstatus

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_exec, 0, 1, IS_FALSE, 0)
	ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, args, IS_ARRAY, 0, "[]")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, env_vars, IS_ARRAY, 0, "[]")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_alarm, 0, 1, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
ZEND_END_ARG_INFO()

#define arginfo_pcntl_get_last_error arginfo_pcntl_fork

#define arginfo_pcntl_errno arginfo_pcntl_fork

#if defined(HAVE_GETPRIORITY)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pcntl_getpriority, 0, 0, MAY_BE_LONG|MAY_BE_FALSE)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, process_id, IS_LONG, 1, "null")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "PRIO_PROCESS")
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_SETPRIORITY)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_setpriority, 0, 1, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, priority, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, process_id, IS_LONG, 1, "null")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "PRIO_PROCESS")
ZEND_END_ARG_INFO()
#endif

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_strerror, 0, 1, IS_STRING, 0)
	ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_async_signals, 0, 0, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 1, "null")
ZEND_END_ARG_INFO()

#if defined(HAVE_UNSHARE)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_unshare, 0, 1, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_RFORK)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_rfork, 0, 1, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, signal, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_FORKX)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_forkx, 0, 1, IS_LONG, 0)
	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_PIDFD_OPEN)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_setns, 0, 0, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, process_id, IS_LONG, 1, "null")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, nstype, IS_LONG, 0, "CLONE_NEWNET")
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_SCHED_SETAFFINITY)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pcntl_getcpuaffinity, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, process_id, IS_LONG, 1, "null")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_setcpuaffinity, 0, 0, _IS_BOOL, 0)
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, process_id, IS_LONG, 1, "null")
	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cpu_ids, IS_ARRAY, 0, "[]")
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_SCHED_GETCPU)
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_getcpu, 0, 0, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif

#if defined(HAVE_PTHREAD_SET_QOS_CLASS_SELF_NP)
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_pcntl_getqos_class, 0, 0, Pcntl\\QosClass, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_setqos_class, 0, 0, IS_VOID, 0)
	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, qos_class, Pcntl\\QosClass, 0, "Pcntl\\QosClass::Default")
ZEND_END_ARG_INFO()
#endif

ZEND_FUNCTION(pcntl_fork);
ZEND_FUNCTION(pcntl_waitpid);
#if defined (HAVE_WAITID) && defined (HAVE_POSIX_IDTYPES) && defined (HAVE_DECL_WEXITED) && HAVE_DECL_WEXITED == 1
ZEND_FUNCTION(pcntl_waitid);
#endif
ZEND_FUNCTION(pcntl_wait);
ZEND_FUNCTION(pcntl_signal);
ZEND_FUNCTION(pcntl_signal_get_handler);
ZEND_FUNCTION(pcntl_signal_dispatch);
#if defined(HAVE_SIGPROCMASK)
ZEND_FUNCTION(pcntl_sigprocmask);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT))
ZEND_FUNCTION(pcntl_sigwaitinfo);
ZEND_FUNCTION(pcntl_sigtimedwait);
#endif
ZEND_FUNCTION(pcntl_wifexited);
ZEND_FUNCTION(pcntl_wifstopped);
#if defined(HAVE_WCONTINUED)
ZEND_FUNCTION(pcntl_wifcontinued);
#endif
ZEND_FUNCTION(pcntl_wifsignaled);
ZEND_FUNCTION(pcntl_wexitstatus);
ZEND_FUNCTION(pcntl_wtermsig);
ZEND_FUNCTION(pcntl_wstopsig);
ZEND_FUNCTION(pcntl_exec);
ZEND_FUNCTION(pcntl_alarm);
ZEND_FUNCTION(pcntl_get_last_error);
#if defined(HAVE_GETPRIORITY)
ZEND_FUNCTION(pcntl_getpriority);
#endif
#if defined(HAVE_SETPRIORITY)
ZEND_FUNCTION(pcntl_setpriority);
#endif
ZEND_FUNCTION(pcntl_strerror);
ZEND_FUNCTION(pcntl_async_signals);
#if defined(HAVE_UNSHARE)
ZEND_FUNCTION(pcntl_unshare);
#endif
#if defined(HAVE_RFORK)
ZEND_FUNCTION(pcntl_rfork);
#endif
#if defined(HAVE_FORKX)
ZEND_FUNCTION(pcntl_forkx);
#endif
#if defined(HAVE_PIDFD_OPEN)
ZEND_FUNCTION(pcntl_setns);
#endif
#if defined(HAVE_SCHED_SETAFFINITY)
ZEND_FUNCTION(pcntl_getcpuaffinity);
ZEND_FUNCTION(pcntl_setcpuaffinity);
#endif
#if defined(HAVE_SCHED_GETCPU)
ZEND_FUNCTION(pcntl_getcpu);
#endif
#if defined(HAVE_PTHREAD_SET_QOS_CLASS_SELF_NP)
ZEND_FUNCTION(pcntl_getqos_class);
ZEND_FUNCTION(pcntl_setqos_class);
#endif

static const zend_function_entry ext_functions[] = {
	ZEND_FE(pcntl_fork, arginfo_pcntl_fork)
	ZEND_FE(pcntl_waitpid, arginfo_pcntl_waitpid)
#if defined (HAVE_WAITID) && defined (HAVE_POSIX_IDTYPES) && defined (HAVE_DECL_WEXITED) && HAVE_DECL_WEXITED == 1
	ZEND_FE(pcntl_waitid, arginfo_pcntl_waitid)
#endif
	ZEND_FE(pcntl_wait, arginfo_pcntl_wait)
	ZEND_FE(pcntl_signal, arginfo_pcntl_signal)
	ZEND_FE(pcntl_signal_get_handler, arginfo_pcntl_signal_get_handler)
	ZEND_FE(pcntl_signal_dispatch, arginfo_pcntl_signal_dispatch)
#if defined(HAVE_SIGPROCMASK)
	ZEND_FE(pcntl_sigprocmask, arginfo_pcntl_sigprocmask)
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT))
	ZEND_FE(pcntl_sigwaitinfo, arginfo_pcntl_sigwaitinfo)
	ZEND_FE(pcntl_sigtimedwait, arginfo_pcntl_sigtimedwait)
#endif
	ZEND_FE(pcntl_wifexited, arginfo_pcntl_wifexited)
	ZEND_FE(pcntl_wifstopped, arginfo_pcntl_wifstopped)
#if defined(HAVE_WCONTINUED)
	ZEND_FE(pcntl_wifcontinued, arginfo_pcntl_wifcontinued)
#endif
	ZEND_FE(pcntl_wifsignaled, arginfo_pcntl_wifsignaled)
	ZEND_FE(pcntl_wexitstatus, arginfo_pcntl_wexitstatus)
	ZEND_FE(pcntl_wtermsig, arginfo_pcntl_wtermsig)
	ZEND_FE(pcntl_wstopsig, arginfo_pcntl_wstopsig)
	ZEND_FE(pcntl_exec, arginfo_pcntl_exec)
	ZEND_FE(pcntl_alarm, arginfo_pcntl_alarm)
	ZEND_FE(pcntl_get_last_error, arginfo_pcntl_get_last_error)
	ZEND_RAW_FENTRY("pcntl_errno", zif_pcntl_get_last_error, arginfo_pcntl_errno, 0, NULL, NULL)
#if defined(HAVE_GETPRIORITY)
	ZEND_FE(pcntl_getpriority, arginfo_pcntl_getpriority)
#endif
#if defined(HAVE_SETPRIORITY)
	ZEND_FE(pcntl_setpriority, arginfo_pcntl_setpriority)
#endif
	ZEND_FE(pcntl_strerror, arginfo_pcntl_strerror)
	ZEND_FE(pcntl_async_signals, arginfo_pcntl_async_signals)
#if defined(HAVE_UNSHARE)
	ZEND_FE(pcntl_unshare, arginfo_pcntl_unshare)
#endif
#if defined(HAVE_RFORK)
	ZEND_FE(pcntl_rfork, arginfo_pcntl_rfork)
#endif
#if defined(HAVE_FORKX)
	ZEND_FE(pcntl_forkx, arginfo_pcntl_forkx)
#endif
#if defined(HAVE_PIDFD_OPEN)
	ZEND_FE(pcntl_setns, arginfo_pcntl_setns)
#endif
#if defined(HAVE_SCHED_SETAFFINITY)
	ZEND_FE(pcntl_getcpuaffinity, arginfo_pcntl_getcpuaffinity)
	ZEND_FE(pcntl_setcpuaffinity, arginfo_pcntl_setcpuaffinity)
#endif
#if defined(HAVE_SCHED_GETCPU)
	ZEND_FE(pcntl_getcpu, arginfo_pcntl_getcpu)
#endif
#if defined(HAVE_PTHREAD_SET_QOS_CLASS_SELF_NP)
	ZEND_FE(pcntl_getqos_class, arginfo_pcntl_getqos_class)
	ZEND_FE(pcntl_setqos_class, arginfo_pcntl_setqos_class)
#endif
	ZEND_FE_END
};

static void register_pcntl_symbols(int module_number)
{
#if defined(WNOHANG)
	REGISTER_LONG_CONSTANT("WNOHANG", LONG_CONST(WNOHANG), CONST_PERSISTENT);
#endif
#if defined(WUNTRACED)
	REGISTER_LONG_CONSTANT("WUNTRACED", LONG_CONST(WUNTRACED), CONST_PERSISTENT);
#endif
#if defined(HAVE_WCONTINUED)
	REGISTER_LONG_CONSTANT("WCONTINUED", LONG_CONST(WCONTINUED), CONST_PERSISTENT);
#endif
#if defined (HAVE_DECL_WEXITED) && HAVE_DECL_WEXITED == 1
	REGISTER_LONG_CONSTANT("WEXITED", LONG_CONST(WEXITED), CONST_PERSISTENT);
#endif
#if defined (HAVE_DECL_WSTOPPED) && HAVE_DECL_WSTOPPED == 1
	REGISTER_LONG_CONSTANT("WSTOPPED", LONG_CONST(WSTOPPED), CONST_PERSISTENT);
#endif
#if defined (HAVE_DECL_WNOWAIT) && HAVE_DECL_WNOWAIT== 1
	REGISTER_LONG_CONSTANT("WNOWAIT", LONG_CONST(WNOWAIT), CONST_PERSISTENT);
#endif
#if defined(HAVE_WAITID) && defined(HAVE_POSIX_IDTYPES)
	REGISTER_LONG_CONSTANT("P_ALL", LONG_CONST(P_ALL), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("P_PID", LONG_CONST(P_PID), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("P_PGID", LONG_CONST(P_PGID), CONST_PERSISTENT);
#endif
#if defined(HAVE_WAITID) && defined(HAVE_LINUX_IDTYPES)
	REGISTER_LONG_CONSTANT("P_PIDFD", LONG_CONST(P_PIDFD), CONST_PERSISTENT);
#endif
#if defined(HAVE_WAITID) && defined(HAVE_NETBSD_IDTYPES)
	REGISTER_LONG_CONSTANT("P_UID", LONG_CONST(P_UID), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("P_GID", LONG_CONST(P_GID), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("P_SID", LONG_CONST(P_SID), CONST_PERSISTENT);
#endif
#if defined(HAVE_WAITID) && defined(HAVE_FREEBSD_IDTYPES)
	REGISTER_LONG_CONSTANT("P_JAILID", LONG_CONST(P_JAILID), CONST_PERSISTENT);
#endif
	REGISTER_LONG_CONSTANT("SIG_IGN", LONG_CONST(SIG_IGN), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIG_DFL", LONG_CONST(SIG_DFL), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIG_ERR", LONG_CONST(SIG_ERR), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGHUP", LONG_CONST(SIGHUP), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGINT", LONG_CONST(SIGINT), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGQUIT", LONG_CONST(SIGQUIT), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGILL", LONG_CONST(SIGILL), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGTRAP", LONG_CONST(SIGTRAP), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGABRT", LONG_CONST(SIGABRT), CONST_PERSISTENT);
#if defined(SIGIOT)
	REGISTER_LONG_CONSTANT("SIGIOT", LONG_CONST(SIGIOT), CONST_PERSISTENT);
#endif
	REGISTER_LONG_CONSTANT("SIGBUS", LONG_CONST(SIGBUS), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGFPE", LONG_CONST(SIGFPE), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGKILL", LONG_CONST(SIGKILL), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGUSR1", LONG_CONST(SIGUSR1), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGSEGV", LONG_CONST(SIGSEGV), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGUSR2", LONG_CONST(SIGUSR2), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGPIPE", LONG_CONST(SIGPIPE), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGALRM", LONG_CONST(SIGALRM), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGTERM", LONG_CONST(SIGTERM), CONST_PERSISTENT);
#if defined(SIGSTKFLT)
	REGISTER_LONG_CONSTANT("SIGSTKFLT", LONG_CONST(SIGSTKFLT), CONST_PERSISTENT);
#endif
#if defined(SIGCLD)
	REGISTER_LONG_CONSTANT("SIGCLD", LONG_CONST(SIGCLD), CONST_PERSISTENT);
#endif
#if defined(SIGCHLD)
	REGISTER_LONG_CONSTANT("SIGCHLD", LONG_CONST(SIGCHLD), CONST_PERSISTENT);
#endif
	REGISTER_LONG_CONSTANT("SIGCONT", LONG_CONST(SIGCONT), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGSTOP", LONG_CONST(SIGSTOP), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGTSTP", LONG_CONST(SIGTSTP), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGTTIN", LONG_CONST(SIGTTIN), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGTTOU", LONG_CONST(SIGTTOU), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGURG", LONG_CONST(SIGURG), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGXCPU", LONG_CONST(SIGXCPU), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGXFSZ", LONG_CONST(SIGXFSZ), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGVTALRM", LONG_CONST(SIGVTALRM), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGPROF", LONG_CONST(SIGPROF), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGWINCH", LONG_CONST(SIGWINCH), CONST_PERSISTENT);
#if defined(SIGPOLL)
	REGISTER_LONG_CONSTANT("SIGPOLL", LONG_CONST(SIGPOLL), CONST_PERSISTENT);
#endif
#if defined(SIGIO)
	REGISTER_LONG_CONSTANT("SIGIO", LONG_CONST(SIGIO), CONST_PERSISTENT);
#endif
#if defined(SIGPWR)
	REGISTER_LONG_CONSTANT("SIGPWR", LONG_CONST(SIGPWR), CONST_PERSISTENT);
#endif
#if defined(SIGINFO)
	REGISTER_LONG_CONSTANT("SIGINFO", LONG_CONST(SIGINFO), CONST_PERSISTENT);
#endif
#if defined(SIGSYS)
	REGISTER_LONG_CONSTANT("SIGSYS", LONG_CONST(SIGSYS), CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIGBABY", LONG_CONST(SIGSYS), CONST_PERSISTENT);
#endif
#if defined(SIGCKPT)
	REGISTER_LONG_CONSTANT("SIGCKPT", LONG_CONST(SIGCKPT), CONST_PERSISTENT);
#endif
#if defined(SIGCKPTEXIT)
	REGISTER_LONG_CONSTANT("SIGCKPTEXIT", LONG_CONST(SIGCKPTEXIT), CONST_PERSISTENT);
#endif
#if defined(SIGRTMIN)
	REGISTER_LONG_CONSTANT("SIGRTMIN", LONG_CONST(SIGRTMIN), CONST_PERSISTENT);
#endif
#if defined(SIGRTMAX)
	REGISTER_LONG_CONSTANT("SIGRTMAX", LONG_CONST(SIGRTMAX), CONST_PERSISTENT);
#endif
#if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY))
	REGISTER_LONG_CONSTANT("PRIO_PGRP", PRIO_PGRP, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("PRIO_USER", PRIO_USER, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("PRIO_PROCESS", PRIO_PROCESS, CONST_PERSISTENT);
#endif
#if (defined(HAVE_GETPRIORITY) || defined(HAVE_SETPRIORITY)) && defined(PRIO_DARWIN_BG)
	REGISTER_LONG_CONSTANT("PRIO_DARWIN_BG", PRIO_DARWIN_BG, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("PRIO_DARWIN_THREAD", PRIO_DARWIN_THREAD, CONST_PERSISTENT);
#endif
#if defined(HAVE_SIGPROCMASK)
	REGISTER_LONG_CONSTANT("SIG_BLOCK", SIG_BLOCK, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIG_UNBLOCK", SIG_UNBLOCK, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SIG_SETMASK", SIG_SETMASK, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT))
	REGISTER_LONG_CONSTANT("SI_USER", SI_USER, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_NOINFO)
	REGISTER_LONG_CONSTANT("SI_NOINFO", SI_NOINFO, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_KERNEL)
	REGISTER_LONG_CONSTANT("SI_KERNEL", SI_KERNEL, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT))
	REGISTER_LONG_CONSTANT("SI_QUEUE", SI_QUEUE, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SI_TIMER", SI_TIMER, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SI_MESGQ", SI_MESGQ, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("SI_ASYNCIO", SI_ASYNCIO, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_SIGIO)
	REGISTER_LONG_CONSTANT("SI_SIGIO", SI_SIGIO, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SI_TKILL)
	REGISTER_LONG_CONSTANT("SI_TKILL", SI_TKILL, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_EXITED)
	REGISTER_LONG_CONSTANT("CLD_EXITED", CLD_EXITED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_KILLED)
	REGISTER_LONG_CONSTANT("CLD_KILLED", CLD_KILLED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_DUMPED)
	REGISTER_LONG_CONSTANT("CLD_DUMPED", CLD_DUMPED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_TRAPPED)
	REGISTER_LONG_CONSTANT("CLD_TRAPPED", CLD_TRAPPED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_STOPPED)
	REGISTER_LONG_CONSTANT("CLD_STOPPED", CLD_STOPPED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(CLD_CONTINUED)
	REGISTER_LONG_CONSTANT("CLD_CONTINUED", CLD_CONTINUED, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(TRAP_BRKPT)
	REGISTER_LONG_CONSTANT("TRAP_BRKPT", TRAP_BRKPT, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(TRAP_TRACE)
	REGISTER_LONG_CONSTANT("TRAP_TRACE", TRAP_TRACE, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_IN)
	REGISTER_LONG_CONSTANT("POLL_IN", POLL_IN, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_OUT)
	REGISTER_LONG_CONSTANT("POLL_OUT", POLL_OUT, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_MSG)
	REGISTER_LONG_CONSTANT("POLL_MSG", POLL_MSG, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_ERR)
	REGISTER_LONG_CONSTANT("POLL_ERR", POLL_ERR, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_PRI)
	REGISTER_LONG_CONSTANT("POLL_PRI", POLL_PRI, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(POLL_HUP)
	REGISTER_LONG_CONSTANT("POLL_HUP", POLL_HUP, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLOPC)
	REGISTER_LONG_CONSTANT("ILL_ILLOPC", ILL_ILLOPC, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLOPN)
	REGISTER_LONG_CONSTANT("ILL_ILLOPN", ILL_ILLOPN, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLADR)
	REGISTER_LONG_CONSTANT("ILL_ILLADR", ILL_ILLADR, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_ILLTRP)
	REGISTER_LONG_CONSTANT("ILL_ILLTRP", ILL_ILLTRP, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_PRVOPC)
	REGISTER_LONG_CONSTANT("ILL_PRVOPC", ILL_PRVOPC, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_PRVREG)
	REGISTER_LONG_CONSTANT("ILL_PRVREG", ILL_PRVREG, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_COPROC)
	REGISTER_LONG_CONSTANT("ILL_COPROC", ILL_COPROC, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(ILL_BADSTK)
	REGISTER_LONG_CONSTANT("ILL_BADSTK", ILL_BADSTK, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_INTDIV)
	REGISTER_LONG_CONSTANT("FPE_INTDIV", FPE_INTDIV, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_INTOVF)
	REGISTER_LONG_CONSTANT("FPE_INTOVF", FPE_INTOVF, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTDIV)
	REGISTER_LONG_CONSTANT("FPE_FLTDIV", FPE_FLTDIV, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTOVF)
	REGISTER_LONG_CONSTANT("FPE_FLTOVF", FPE_FLTOVF, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTUND)
	REGISTER_LONG_CONSTANT("FPE_FLTUND", FPE_FLTUND, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTRES)
	REGISTER_LONG_CONSTANT("FPE_FLTRES", FPE_FLTRES, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTINV)
	REGISTER_LONG_CONSTANT("FPE_FLTINV", FPE_FLTINV, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(FPE_FLTSUB)
	REGISTER_LONG_CONSTANT("FPE_FLTSUB", FPE_FLTSUB, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SEGV_MAPERR)
	REGISTER_LONG_CONSTANT("SEGV_MAPERR", SEGV_MAPERR, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(SEGV_ACCERR)
	REGISTER_LONG_CONSTANT("SEGV_ACCERR", SEGV_ACCERR, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_ADRALN)
	REGISTER_LONG_CONSTANT("BUS_ADRALN", BUS_ADRALN, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_ADRERR)
	REGISTER_LONG_CONSTANT("BUS_ADRERR", BUS_ADRERR, CONST_PERSISTENT);
#endif
#if (defined(HAVE_SIGWAITINFO) && defined(HAVE_SIGTIMEDWAIT)) && defined(BUS_OBJERR)
	REGISTER_LONG_CONSTANT("BUS_OBJERR", BUS_OBJERR, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE)
	REGISTER_LONG_CONSTANT("CLONE_NEWNS", CLONE_NEWNS, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWIPC)
	REGISTER_LONG_CONSTANT("CLONE_NEWIPC", CLONE_NEWIPC, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWUTS)
	REGISTER_LONG_CONSTANT("CLONE_NEWUTS", CLONE_NEWUTS, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWNET)
	REGISTER_LONG_CONSTANT("CLONE_NEWNET", CLONE_NEWNET, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWPID)
	REGISTER_LONG_CONSTANT("CLONE_NEWPID", CLONE_NEWPID, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWUSER)
	REGISTER_LONG_CONSTANT("CLONE_NEWUSER", CLONE_NEWUSER, CONST_PERSISTENT);
#endif
#if defined(HAVE_UNSHARE) && defined(CLONE_NEWCGROUP)
	REGISTER_LONG_CONSTANT("CLONE_NEWCGROUP", CLONE_NEWCGROUP, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFPROC)
	REGISTER_LONG_CONSTANT("RFPROC", RFPROC, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFNOWAIT)
	REGISTER_LONG_CONSTANT("RFNOWAIT", RFNOWAIT, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFCFDG)
	REGISTER_LONG_CONSTANT("RFCFDG", RFCFDG, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFFDG)
	REGISTER_LONG_CONSTANT("RFFDG", RFFDG, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFLINUXTHPN)
	REGISTER_LONG_CONSTANT("RFLINUXTHPN", RFLINUXTHPN, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFTSIGZMB)
	REGISTER_LONG_CONSTANT("RFTSIGZMB", RFTSIGZMB, CONST_PERSISTENT);
#endif
#if defined(HAVE_RFORK) && defined(RFTHREAD)
	REGISTER_LONG_CONSTANT("RFTHREAD", RFTHREAD, CONST_PERSISTENT);
#endif
#if defined(HAVE_FORKX)
	REGISTER_LONG_CONSTANT("FORK_NOSIGCHLD", FORK_NOSIGCHLD, CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("FORK_WAITPID", FORK_WAITPID, CONST_PERSISTENT);
#endif
#if defined(EINTR)
	REGISTER_LONG_CONSTANT("PCNTL_EINTR", EINTR, CONST_PERSISTENT);
#endif
#if defined(ECHILD)
	REGISTER_LONG_CONSTANT("PCNTL_ECHILD", ECHILD, CONST_PERSISTENT);
#endif
#if defined(EINVAL)
	REGISTER_LONG_CONSTANT("PCNTL_EINVAL", EINVAL, CONST_PERSISTENT);
#endif
#if defined(EAGAIN)
	REGISTER_LONG_CONSTANT("PCNTL_EAGAIN", EAGAIN, CONST_PERSISTENT);
#endif
#if defined(ESRCH)
	REGISTER_LONG_CONSTANT("PCNTL_ESRCH", ESRCH, CONST_PERSISTENT);
#endif
#if defined(EACCES)
	REGISTER_LONG_CONSTANT("PCNTL_EACCES", EACCES, CONST_PERSISTENT);
#endif
#if defined(EPERM)
	REGISTER_LONG_CONSTANT("PCNTL_EPERM", EPERM, CONST_PERSISTENT);
#endif
#if defined(ENOMEM)
	REGISTER_LONG_CONSTANT("PCNTL_ENOMEM", ENOMEM, CONST_PERSISTENT);
#endif
#if defined(E2BIG)
	REGISTER_LONG_CONSTANT("PCNTL_E2BIG", E2BIG, CONST_PERSISTENT);
#endif
#if defined(EFAULT)
	REGISTER_LONG_CONSTANT("PCNTL_EFAULT", EFAULT, CONST_PERSISTENT);
#endif
#if defined(EIO)
	REGISTER_LONG_CONSTANT("PCNTL_EIO", EIO, CONST_PERSISTENT);
#endif
#if defined(EISDIR)
	REGISTER_LONG_CONSTANT("PCNTL_EISDIR", EISDIR, CONST_PERSISTENT);
#endif
#if defined(ELIBBAD)
	REGISTER_LONG_CONSTANT("PCNTL_ELIBBAD", ELIBBAD, CONST_PERSISTENT);
#endif
#if defined(ELOOP)
	REGISTER_LONG_CONSTANT("PCNTL_ELOOP", ELOOP, CONST_PERSISTENT);
#endif
#if defined(EMFILE)
	REGISTER_LONG_CONSTANT("PCNTL_EMFILE", EMFILE, CONST_PERSISTENT);
#endif
#if defined(ENAMETOOLONG)
	REGISTER_LONG_CONSTANT("PCNTL_ENAMETOOLONG", ENAMETOOLONG, CONST_PERSISTENT);
#endif
#if defined(ENFILE)
	REGISTER_LONG_CONSTANT("PCNTL_ENFILE", ENFILE, CONST_PERSISTENT);
#endif
#if defined(ENOENT)
	REGISTER_LONG_CONSTANT("PCNTL_ENOENT", ENOENT, CONST_PERSISTENT);
#endif
#if defined(ENOEXEC)
	REGISTER_LONG_CONSTANT("PCNTL_ENOEXEC", ENOEXEC, CONST_PERSISTENT);
#endif
#if defined(ENOTDIR)
	REGISTER_LONG_CONSTANT("PCNTL_ENOTDIR", ENOTDIR, CONST_PERSISTENT);
#endif
#if defined(ETXTBSY)
	REGISTER_LONG_CONSTANT("PCNTL_ETXTBSY", ETXTBSY, CONST_PERSISTENT);
#endif
#if defined(ENOSPC)
	REGISTER_LONG_CONSTANT("PCNTL_ENOSPC", ENOSPC, CONST_PERSISTENT);
#endif
#if defined(EUSERS)
	REGISTER_LONG_CONSTANT("PCNTL_EUSERS", EUSERS, CONST_PERSISTENT);
#endif
#if defined(ECAPMODE)
	REGISTER_LONG_CONSTANT("PCNTL_ECAPMODE", ECAPMODE, CONST_PERSISTENT);
#endif
}

static zend_class_entry *register_class_Pcntl_QosClass(void)
{
	zend_class_entry *class_entry = zend_register_internal_enum("Pcntl\\QosClass", IS_UNDEF, NULL);

	zend_enum_add_case_cstr(class_entry, "UserInteractive", NULL);

	zend_enum_add_case_cstr(class_entry, "UserInitiated", NULL);

	zend_enum_add_case_cstr(class_entry, "Default", NULL);

	zend_enum_add_case_cstr(class_entry, "Utility", NULL);

	zend_enum_add_case_cstr(class_entry, "Background", NULL);

	return class_entry;
}
