* Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
* Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* unlawful or unlicensed copies of an Apple operating system, or to
* circumvent, violate, or enable the circumvention or violation of, any
* terms of an Apple operating system software license agreement.
* unlawful or unlicensed copies of an Apple operating system, or to
* circumvent, violate, or enable the circumvention or violation of, any
* terms of an Apple operating system software license agreement.
* Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this file.
* Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this file.
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
* @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
* @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
-#include <sys/signal.h> /* [XSI] for siginfo_t */
-#include <sys/resource.h> /* [XSI] for struct rusage */
+#include <sys/signal.h> /* [XSI] for siginfo_t */
+#include <sys/resource.h> /* [XSI] for struct rusage */
* this option is done, it is as though they were still running... nothing
* about them is returned.
*/
* this option is done, it is as though they were still running... nothing
* about them is returned.
*/
-#define WNOHANG 0x00000001 /* [XSI] no hang in wait/no child to reap */
-#define WUNTRACED 0x00000002 /* [XSI] notify on stop, untraced child */
+#define WNOHANG 0x00000001 /* [XSI] no hang in wait/no child to reap */
+#define WUNTRACED 0x00000002 /* [XSI] notify on stop, untraced child */
/*
* Macros to test the exit status returned by wait
* and extract the relevant values.
*/
#if defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE)
/*
* Macros to test the exit status returned by wait
* and extract the relevant values.
*/
#if defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE)
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
/* These macros are permited, as they are in the implementation namespace */
#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
/* These macros are permited, as they are in the implementation namespace */
/*
* [XSI] The <sys/wait.h> header shall define the following macros for
* analysis of process status values
*/
#if __DARWIN_UNIX03
/*
* [XSI] The <sys/wait.h> header shall define the following macros for
* analysis of process status values
*/
#if __DARWIN_UNIX03
-#define WIFSTOPPED(x) (_WSTATUS(x) == _WSTOPPED && WSTOPSIG(x) != 0x13)
-#define WIFEXITED(x) (_WSTATUS(x) == 0)
-#define WIFSIGNALED(x) (_WSTATUS(x) != _WSTOPPED && _WSTATUS(x) != 0)
-#define WTERMSIG(x) (_WSTATUS(x))
+#define WIFSTOPPED(x) (_WSTATUS(x) == _WSTOPPED && WSTOPSIG(x) != 0x13)
+#define WIFEXITED(x) (_WSTATUS(x) == 0)
+#define WIFSIGNALED(x) (_WSTATUS(x) != _WSTOPPED && _WSTATUS(x) != 0)
+#define WTERMSIG(x) (_WSTATUS(x))
-#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
-#define W_STOPCODE(sig) ((sig) << 8 | _WSTOPPED)
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#define W_STOPCODE(sig) ((sig) << 8 | _WSTOPPED)
-#define WCONTINUED 0x00000010 /* [XSI] Any child stopped then continued */
-#define WNOWAIT 0x00000020 /* [XSI] Leave process returned waitable */
+#define WCONTINUED 0x00000010 /* [XSI] Any child stopped then continued */
+#define WNOWAIT 0x00000020 /* [XSI] Leave process returned waitable */
-#define WAIT_ANY (-1) /* any process */
-#define WAIT_MYPGRP 0 /* any process in my process group */
+#define WAIT_ANY (-1) /* any process */
+#define WAIT_MYPGRP 0 /* any process in my process group */
-#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN
- unsigned int w_Termsig:7, /* termination signal */
- w_Coredump:1, /* core dump indicator */
- w_Retcode:8, /* exit code if w_termsig==0 */
- w_Filler:16; /* upper bits filler */
+#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN
+ unsigned int w_Termsig:7, /* termination signal */
+ w_Coredump:1, /* core dump indicator */
+ w_Retcode:8, /* exit code if w_termsig==0 */
+ w_Filler:16; /* upper bits filler */
-#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
- unsigned int w_Filler:16, /* upper bits filler */
- w_Retcode:8, /* exit code if w_termsig==0 */
- w_Coredump:1, /* core dump indicator */
- w_Termsig:7; /* termination signal */
+#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
+ unsigned int w_Filler:16, /* upper bits filler */
+ w_Retcode:8, /* exit code if w_termsig==0 */
+ w_Coredump:1, /* core dump indicator */
+ w_Termsig:7; /* termination signal */
-#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN
- unsigned int w_Stopval:8, /* == W_STOPPED if stopped */
- w_Stopsig:8, /* signal that stopped us */
- w_Filler:16; /* upper bits filler */
+#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN
+ unsigned int w_Stopval:8, /* == W_STOPPED if stopped */
+ w_Stopsig:8, /* signal that stopped us */
+ w_Filler:16; /* upper bits filler */
-#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
- unsigned int w_Filler:16, /* upper bits filler */
- w_Stopsig:8, /* signal that stopped us */
- w_Stopval:8; /* == W_STOPPED if stopped */
+#if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
+ unsigned int w_Filler:16, /* upper bits filler */
+ w_Stopsig:8, /* signal that stopped us */
+ w_Stopval:8; /* == W_STOPPED if stopped */
-#define w_termsig w_T.w_Termsig
-#define w_coredump w_T.w_Coredump
-#define w_retcode w_T.w_Retcode
-#define w_stopval w_S.w_Stopval
-#define w_stopsig w_S.w_Stopsig
+#define w_termsig w_T.w_Termsig
+#define w_coredump w_T.w_Coredump
+#define w_retcode w_T.w_Retcode
+#define w_stopval w_S.w_Stopval
+#define w_stopsig w_S.w_Stopsig
-pid_t wait(int *) __DARWIN_ALIAS_C(wait);
-pid_t waitpid(pid_t, int *, int) __DARWIN_ALIAS_C(waitpid);
+pid_t wait(int *) __DARWIN_ALIAS_C(wait);
+pid_t waitpid(pid_t, int *, int) __DARWIN_ALIAS_C(waitpid);
-int waitid(idtype_t, id_t, siginfo_t *, int) __DARWIN_ALIAS_C(waitid);
+int waitid(idtype_t, id_t, siginfo_t *, int) __DARWIN_ALIAS_C(waitid);
-pid_t wait3(int *, int, struct rusage *);
-pid_t wait4(pid_t, int *, int, struct rusage *);
+pid_t wait3(int *, int, struct rusage *);
+pid_t wait4(pid_t, int *, int, struct rusage *);