Mercurial > emacs
annotate src/s/freebsd.h @ 109064:b44ac3c3bafd
merge trunk
author | Kenichi Handa <handa@etlken> |
---|---|
date | Mon, 28 Jun 2010 12:32:18 +0900 |
parents | c05c5a981dd9 |
children | 6799ec1a7188 |
rev | line source |
---|---|
36219 | 1 /* System description header for FreeBSD systems. |
108278
9c003610b6fc
Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents:
108274
diff
changeset
|
2 |
9c003610b6fc
Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents:
108274
diff
changeset
|
3 Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
9c003610b6fc
Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents:
108274
diff
changeset
|
4 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
9c003610b6fc
Move LD_SWITCH_SYSTEM from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents:
108274
diff
changeset
|
5 Free Software Foundation, Inc. |
36219 | 6 |
101089
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
7 Author: Shawn M. Carey |
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
8 (according to authors.el) |
ffebd75993c5
Comment (add author based on authors.el).
Glenn Morris <rgm@gnu.org>
parents:
100951
diff
changeset
|
9 |
36219 | 10 This file is part of GNU Emacs. |
11 | |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
12 GNU Emacs is free software: you can redistribute it and/or modify |
36219 | 13 it under the terms of the GNU General Public License as published by |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
14 the Free Software Foundation, either version 3 of the License, or |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
15 (at your option) any later version. |
36219 | 16 |
17 GNU Emacs is distributed in the hope that it will be useful, | |
18 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 GNU General Public License for more details. | |
21 | |
22 You should have received a copy of the GNU General Public License | |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
23 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
6261 | 24 |
96303 | 25 /* Get most of the stuff from bsd-common */ |
26 #include "bsd-common.h" | |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
27 |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
28 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) |
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
29 |
28640 | 30 #define HAVE_GETLOADAVG 1 |
8869
eff6c7e4e236
(DECLARE_GETPWUID_WITH_UID_T): Defined.
Richard M. Stallman <rms@gnu.org>
parents:
7608
diff
changeset
|
31 #define DECLARE_GETPWUID_WITH_UID_T |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
32 |
108511
f8e62c2bf3e9
Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents:
108507
diff
changeset
|
33 /* This silences a few compilation warnings. */ |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
34 #undef BSD_SYSTEM |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
35 #if __FreeBSD__ == 1 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
36 #define BSD_SYSTEM 199103 |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
37 #elif __FreeBSD__ == 2 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15367
diff
changeset
|
38 #define BSD_SYSTEM 199306 |
24616
a647cbfb4169
(BSD_SYSTEM): Define for FreeBSD 4 as with FreeBSD 3.
Karl Heuer <kwzh@gnu.org>
parents:
23078
diff
changeset
|
39 #elif __FreeBSD__ >= 3 |
17351
e53338c19ba5
(BSD_SYSTEM): Alternate definition for FreeBSD v3.
Richard M. Stallman <rms@gnu.org>
parents:
16220
diff
changeset
|
40 #define BSD_SYSTEM 199506 |
9018
e8f02eb00bbf
(BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents:
8869
diff
changeset
|
41 #endif |
7339
b557aa86c53a
Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents:
6930
diff
changeset
|
42 |
15367
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
43 /* Don't close pty in process.c to make it as controlling terminal. |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
44 It is already a controlling terminal of subprocess, because we did |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
45 ioctl TIOCSCTTY. */ |
179cd20f2f8a
(DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents:
14493
diff
changeset
|
46 #define DONT_REOPEN_PTY |
19071 | 47 |
27706
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
48 /* Circumvent a bug in FreeBSD. In the following sequence of |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
49 writes/reads on a PTY, read(2) returns bogus data: |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
50 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
51 write(2) 1022 bytes |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
52 write(2) 954 bytes, get EAGAIN |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
53 read(2) 1024 bytes in process_read_output |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
54 read(2) 11 bytes in process_read_output |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
55 |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
56 That is, read(2) returns more bytes than have ever been written |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
57 successfully. The 1033 bytes read are the 1022 bytes written |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
58 successfully after processing (for example with CRs added if the |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
59 terminal is set up that way which it is here). The same bytes will |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
60 be seen again in a later read(2), without the CRs. */ |
ea4d20c43442
(BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
27169
diff
changeset
|
61 #define BROKEN_PTY_READ_AFTER_EAGAIN 1 |
28364 | 62 |
63 /* Tell that garbage collector that setjmp is known to save all | |
108511
f8e62c2bf3e9
Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents:
108507
diff
changeset
|
64 registers relevant for conservative garbage collection in the jmp_buf. */ |
28364 | 65 #define GC_SETJMP_WORKS 1 |
28572
34472501a68c
(TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
Gerd Moellmann <gerd@gnu.org>
parents:
28364
diff
changeset
|
66 |
108511
f8e62c2bf3e9
Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents:
108507
diff
changeset
|
67 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */ |
34472
76076c5b2009
(GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS instead of `1'.
Gerd Moellmann <gerd@gnu.org>
parents:
31871
diff
changeset
|
68 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
31501
735123628126
(GC_MARK_STACK, REL_ALLOC_MMAP): Define.
Gerd Moellmann <gerd@gnu.org>
parents:
30082
diff
changeset
|
69 |
31600
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
70 /* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate |
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
71 buffer text. This overrides REL_ALLOC. */ |
ac8c86ff7ee3
(USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
Gerd Moellmann <gerd@gnu.org>
parents:
31501
diff
changeset
|
72 #define USE_MMAP_FOR_BUFFERS 1 |
31871 | 73 |
52401 | 74 /* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb |
75 (do not change this comment) */ |