Mercurial > emacs
annotate src/syswait.h @ 97034:5b5b0194f293
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1356
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sat, 26 Jul 2008 09:13:26 +0000 |
parents | 3bea8ede5bd0 |
children | c3512b2085a0 |
rev | line source |
---|---|
4626 | 1 /* Define wait system call interface for Emacs. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, |
79759 | 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
4626 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87730
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
4626 | 8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87730
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87730
diff
changeset
|
10 (at your option) any later version. |
4626 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87730
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
4626 | 19 |
20 /* Define the structure that the wait system call stores. | |
21 On many systems, there is a structure defined for this. | |
22 But on vanilla-ish USG systems there is not. */ | |
23 | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
24 #ifndef EMACS_SYSWAIT_H |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
25 #define EMACS_SYSWAIT_H |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
26 |
4626 | 27 #ifndef VMS |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
28 |
30465 | 29 #include <sys/types.h> |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
30 |
41185
d12c8d3334f4
Delete conditionals for HPUX7, ISC 4.1, and convex.
Richard M. Stallman <rms@gnu.org>
parents:
41138
diff
changeset
|
31 #ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */ |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
32 #include <sys/wait.h> |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
33 #endif /* !HAVE_SYS_WAIT_H */ |
30465 | 34 |
35 #ifndef WCOREDUMP /* not POSIX */ | |
36 #define WCOREDUMP(status) ((status) & 0x80) | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
37 #endif |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
38 #ifndef WEXITSTATUS |
30465 | 39 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
40 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
41 #ifndef WIFEXITED |
30465 | 42 #define WIFEXITED(status) (WTERMSIG(status) == 0) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
43 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
44 #ifndef WIFSTOPPED |
30465 | 45 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
46 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
47 #ifndef WIFSIGNALED |
30465 | 48 #define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
49 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
50 #ifndef WSTOPSIG |
30465 | 51 #define WSTOPSIG(status) WEXITSTATUS(status) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
52 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
53 #ifndef WTERMSIG |
30465 | 54 #define WTERMSIG(status) ((status) & 0x7f) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
55 #endif |
30465 | 56 |
57 #undef WRETCODE | |
58 #define WRETCODE(status) WEXITSTATUS (status) | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
59 |
4626 | 60 #else /* VMS */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
61 |
4626 | 62 #define WIFSTOPPED(w) 0 |
63 #define WIFSIGNALED(w) 0 | |
64 #define WIFEXITED(w) ((w) != -1) | |
65 #define WRETCODE(w) (w) | |
66 #define WSTOPSIG(w) (w) | |
67 #define WCOREDUMP(w) 0 | |
68 #define WTERMSIG(w) (w) | |
69 #include <ssdef.h> | |
70 #include <iodef.h> | |
71 #include <clidef.h> | |
72 #include "vmsproc.h" | |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
73 |
4626 | 74 #endif /* VMS */ |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
75 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
76 #endif /* EMACS_SYSWAIT_H */ |
52401 | 77 |
78 /* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899 | |
79 (do not change this comment) */ |