Updated GPL version to 2.
[bpt/emacs.git] / src / s / bsd4-1.h
1 /* Definitions file for GNU Emacs running on bsd 4.1.
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc.
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
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20
21 /*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26 #define BSD4_1
27
28 #define BSD
29
30 /* SYSTEM_TYPE should indicate the kind of system you are using.
31 It sets the Lisp variable system-type. */
32
33 #define SYSTEM_TYPE "berkeley-unix"
34
35 /* nomultiplejobs should be defined if your system's shell
36 does not have "job control" (the ability to stop a program,
37 run some other program, then continue the first one). */
38
39 /* #define NOMULTIPLEJOBS */
40
41 /* Default is to set interrupt_input to 1: do input buffering within Emacs */
42
43 #define INTERRUPT_INPUT
44
45 /* First pty name is /dev/ptyp0. */
46
47 #define FIRST_PTY_LETTER 'p'
48
49 /*
50 * Define HAVE_TIMEVAL if the system supports the BSD style clock values.
51 * Look in <sys/time.h> for a timeval structure.
52 */
53
54 #undef HAVE_TIMEVAL
55
56 /*
57 * Define HAVE_SELECT if the system supports the `select' system call.
58 */
59
60 /* #define HAVE_SELECT */
61
62 /*
63 * Define HAVE_PTYS if the system supports pty devices.
64 */
65
66 /* #define HAVE_PTYS */
67
68 /* Define this macro if system defines a type `union wait'. */
69
70 #define HAVE_UNION_WAIT
71
72 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
73
74 /* #define HAVE_SOCKETS */
75
76 /*
77 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
78 * The 4.2 opendir, etc., library functions.
79 */
80
81 #define NONSYSTEM_DIR_LIBRARY
82
83 /* Define this symbol if your system has the functions bcopy, etc. */
84
85 /* #define BSTRING */
86
87 /* subprocesses should be defined if you want to
88 have code for asynchronous subprocesses
89 (as used in M-x compile and M-x shell).
90 This is generally OS dependent, and not supported
91 under most USG systems. */
92
93 #define subprocesses
94
95 /* If your system uses COFF (Common Object File Format) then define the
96 preprocessor symbol "COFF". */
97
98 /* #define COFF */
99
100 /* define MAIL_USE_FLOCK if the mailer uses flock
101 to interlock access to /usr/spool/mail/$USER.
102 The alternative is that a lock file named
103 /usr/spool/mail/$USER.lock. */
104
105 /* #define MAIL_USE_FLOCK */
106
107 /* Define CLASH_DETECTION if you want lock files to be written
108 so that Emacs can tell instantly when you try to modify
109 a file that someone else has modified in his Emacs. */
110
111 #undef CLASH_DETECTION /* Might work; not tried yet. */
112
113 /* We use the Berkeley (and usg5.2.2) interface to nlist. */
114
115 #define NLIST_STRUCT
116
117 /* The file containing the kernel's symbol table is called /vmunix. */
118
119 #define KERNEL_FILE "/vmunix"
120
121 /* The symbol in the kernel where the load average is found
122 is named _avenrun. */
123
124 #define LDAV_SYMBOL "_avenrun"
125 \f
126 /* Special hacks needed to make Emacs run on this system. */
127
128 /* Make the function `signal' act as in 4.2. */
129
130 #define signal sigset
131
132 #define _longjmp longjmp
133 #define _setjmp setjmp
134
135 #define lstat stat
136
137 /* sys_open handles the necessary 4.2 features for open. */
138
139 #define open sys_open
140
141 /* Names of flags for open. */
142 #define O_RDONLY 0
143 #define O_WRONLY 1
144 #define O_RDWR 2
145 #define O_EXCL 2000
146 #define O_CREAT 1000
147
148 /* Special library needed for linking for 4.1. */
149 #define LIBS_SYSTEM -ljobs