annotate src/s/freebsd.h @ 112233:3b840e622de1

Merge: make-dist distributes test/ files too.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 14 Jan 2011 10:58:35 -0800
parents 417b1e4d63cd
children ef719132ddfa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36219
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
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,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
4 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
79756
68df465b9550 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78259
diff changeset
5 Free Software Foundation, Inc.
36219
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
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
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
10 This file is part of GNU Emacs.
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
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
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
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
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
16
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
17 GNU Emacs is distributed in the hope that it will be useful,
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
20 GNU General Public License for more details.
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
21
f440b9766968 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 34472
diff changeset
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
b838645548a0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
24
96303
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 94715
diff changeset
25 /* Get most of the stuff from bsd-common */
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 94715
diff changeset
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
7f198d98ac14 Revert HAVE_GETLOADAVG changes.
Dave Love <fx@gnu.org>
parents: 28596
diff changeset
30 #define HAVE_GETLOADAVG 1
96925
c3d63bafd463 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96833
diff changeset
31
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
32 /* This silences a few compilation warnings. */
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15367
diff changeset
33 #undef BSD_SYSTEM
9018
e8f02eb00bbf (BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents: 8869
diff changeset
34 #if __FreeBSD__ == 1
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15367
diff changeset
35 #define BSD_SYSTEM 199103
9018
e8f02eb00bbf (BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents: 8869
diff changeset
36 #elif __FreeBSD__ == 2
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15367
diff changeset
37 #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
38 #elif __FreeBSD__ >= 3
17351
e53338c19ba5 (BSD_SYSTEM): Alternate definition for FreeBSD v3.
Richard M. Stallman <rms@gnu.org>
parents: 16220
diff changeset
39 #define BSD_SYSTEM 199506
9018
e8f02eb00bbf (BSD): Have two definitions according to version number.
Richard M. Stallman <rms@gnu.org>
parents: 8869
diff changeset
40 #endif
7339
b557aa86c53a Don't use netbsd.h. Do all that right here.
Richard M. Stallman <rms@gnu.org>
parents: 6930
diff changeset
41
15367
179cd20f2f8a (DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 14493
diff changeset
42 /* 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
43 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
44 ioctl TIOCSCTTY. */
179cd20f2f8a (DONT_REOPEN_PTY): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 14493
diff changeset
45 #define DONT_REOPEN_PTY
19071
687bc839bd2c Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 17351
diff changeset
46
27706
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
47 /* 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
48 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
49
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
50 write(2) 1022 bytes
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
51 write(2) 954 bytes, get EAGAIN
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
52 read(2) 1024 bytes in process_read_output
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
53 read(2) 11 bytes in process_read_output
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
54
ea4d20c43442 (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27169
diff changeset
55 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
56 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
57 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
58 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
59 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
60 #define BROKEN_PTY_READ_AFTER_EAGAIN 1
28364
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27706
diff changeset
61
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27706
diff changeset
62 /* 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
63 registers relevant for conservative garbage collection in the jmp_buf. */
28364
e24d2e75dea0 (GC_SETJMP_WORKS): Define.
Gerd Moellmann <gerd@gnu.org>
parents: 27706
diff changeset
64 #define GC_SETJMP_WORKS 1
28572
34472501a68c (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
Gerd Moellmann <gerd@gnu.org>
parents: 28364
diff changeset
65
108511
f8e62c2bf3e9 Reformat some comments in src/s/*.h.
Glenn Morris <rgm@gnu.org>
parents: 108507
diff changeset
66 /* 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
67 #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
68
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 52264
diff changeset
69 /* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 52264
diff changeset
70 (do not change this comment) */