Mercurial > emacs
annotate src/syswait.h @ 34097:0225d8e15f2c
(coordinates_in_window): Handle computations for
positions on the vertical bar and fringes differently for
window-system frames. Consider some pixels near the vertical bar
as on the bar if the frame doesn't have vertical scroll bars.
Associate positions between mode or header lines with the
right window, the left one.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 01 Dec 2000 20:44:31 +0000 |
parents | d57d77adc6da |
children | f1b3a7278c62 |
rev | line source |
---|---|
4626 | 1 /* Define wait system call interface for Emacs. |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
2 Copyright (C) 1993, 1994, 1995, 2000 Free Software Foundation, Inc. |
4626 | 3 |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11235
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11235
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
4626 | 20 |
21 /* Define the structure that the wait system call stores. | |
22 On many systems, there is a structure defined for this. | |
23 But on vanilla-ish USG systems there is not. */ | |
24 | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
25 #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
|
26 #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
|
27 |
4626 | 28 #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
|
29 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
30 /* Try the approach recommended by autoconf. If this doesn't cause |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
31 trouble anywhere, remove the original code, which is #if'd out |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
32 below. */ |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
33 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
34 #if 1 |
30465 | 35 #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
|
36 |
30465 | 37 /* Old code included a comment that HPUX version 7 has broken |
38 definitions of some of the macros and `the convex' does too. | |
39 HAVE_SYS_WAIT_H probably won't be defined on them if they still get | |
40 used, but for safety... -- fx */ | |
41 #if (defined (HPUX) && !defined (HPUX8)) || defined (convex) | |
42 #undef HAVE_SYS_WAIT_H | |
43 #endif | |
44 | |
45 #if defined HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid | |
46 definitions. */ | |
47 | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
48 #include <sys/wait.h> |
30465 | 49 #ifndef WCOREDUMP /* not POSIX */ |
50 #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
|
51 #endif |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
52 |
30465 | 53 #else /* !HAVE_SYS_WAIT_H */ |
54 | |
55 /* Note that sys/wait.h may still be included by stdlib.h or something | |
56 according to XPG. */ | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
57 |
30465 | 58 #undef WEXITSTATUS |
59 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) | |
60 #undef WIFEXITED | |
61 #define WIFEXITED(status) (WTERMSIG(status) == 0) | |
62 #undef WIFSTOPPED | |
63 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) | |
64 #undef WIFSIGNALED | |
65 #define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) | |
66 #undef WSTOPSIG | |
67 #define WSTOPSIG(status) WEXITSTATUS(status) | |
68 #undef WTERMSIG | |
69 #define WTERMSIG(status) ((status) & 0x7f) | |
70 #undef WCOREDUMP | |
71 #define WCOREDUMP(status) ((status) & 0x80) | |
72 #endif /* HAVE_SYS_WAIT_H */ | |
73 | |
74 #undef WAITTYPE | |
75 #define WAITTYPE int | |
76 #undef WRETCODE | |
77 #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
|
78 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
79 #else /* !1 */ |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
80 |
4626 | 81 #ifndef WAITTYPE |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
82 |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
83 #ifdef WAIT_USE_INT |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
84 /* Some systems have union wait in their header, but we should use |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
85 int regardless of that. */ |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
86 #include <sys/wait.h> |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
87 #define WAITTYPE int |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
88 #define WRETCODE(w) WEXITSTATUS (w) |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
89 |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
90 #else /* not WAIT_USE_INT */ |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
91 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
92 #if (!defined (BSD_SYSTEM) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) |
4626 | 93 #define WAITTYPE int |
94 #define WIFSTOPPED(w) ((w&0377) == 0177) | |
95 #define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) | |
96 #define WIFEXITED(w) ((w&0377) == 0) | |
97 #define WRETCODE(w) (w >> 8) | |
98 #define WSTOPSIG(w) (w >> 8) | |
30465 | 99 #define WTERMSIG(w) (w & 0177) |
4626 | 100 #ifndef WCOREDUMP |
101 #define WCOREDUMP(w) ((w&0200) != 0) | |
102 #endif | |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
103 |
4626 | 104 #else |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
105 |
4626 | 106 #ifdef BSD4_1 |
107 #include <wait.h> | |
108 #else | |
109 #include <sys/wait.h> | |
110 #endif /* not BSD 4.1 */ | |
111 | |
112 #define WAITTYPE union wait | |
113 #define WRETCODE(w) w.w_retcode | |
6015
1a2b17eab8d9
[BSD]: #undef WCOREDUMP before defining it.
Roland McGrath <roland@gnu.org>
parents:
4955
diff
changeset
|
114 #undef WCOREDUMP /* Later BSDs define this name differently. */ |
4626 | 115 #define WCOREDUMP(w) w.w_coredump |
116 | |
4955 | 117 #if defined (HPUX) || defined (convex) |
4626 | 118 /* HPUX version 7 has broken definitions of these. */ |
4955 | 119 /* pvogel@convex.com says the convex does too. */ |
4626 | 120 #undef WTERMSIG |
121 #undef WSTOPSIG | |
122 #undef WIFSTOPPED | |
123 #undef WIFSIGNALED | |
124 #undef WIFEXITED | |
4955 | 125 #endif /* HPUX | convex */ |
4626 | 126 |
127 #ifndef WTERMSIG | |
128 #define WTERMSIG(w) w.w_termsig | |
129 #endif | |
130 #ifndef WSTOPSIG | |
131 #define WSTOPSIG(w) w.w_stopsig | |
132 #endif | |
133 #ifndef WIFSTOPPED | |
134 #define WIFSTOPPED(w) (WTERMSIG (w) == 0177) | |
135 #endif | |
136 #ifndef WIFSIGNALED | |
137 #define WIFSIGNALED(w) (WTERMSIG (w) != 0177 && (WSTOPSIG (w)) == 0) | |
138 #endif | |
139 #ifndef WIFEXITED | |
140 #define WIFEXITED(w) (WTERMSIG (w) == 0) | |
141 #endif | |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
142 #endif /* BSD_SYSTEM || UNIPLUS || STRIDE || HPUX */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
143 #endif /* not WAIT_USE_INT */ |
4626 | 144 #endif /* no WAITTYPE */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
145 |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
146 #endif /* 1 */ |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
147 |
4626 | 148 #else /* VMS */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
149 |
4626 | 150 #define WAITTYPE int |
151 #define WIFSTOPPED(w) 0 | |
152 #define WIFSIGNALED(w) 0 | |
153 #define WIFEXITED(w) ((w) != -1) | |
154 #define WRETCODE(w) (w) | |
155 #define WSTOPSIG(w) (w) | |
156 #define WCOREDUMP(w) 0 | |
157 #define WTERMSIG(w) (w) | |
158 #include <ssdef.h> | |
159 #include <iodef.h> | |
160 #include <clidef.h> | |
161 #include "vmsproc.h" | |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
162 |
4626 | 163 #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
|
164 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
165 #endif /* EMACS_SYSWAIT_H */ |