Update years in copyright notice; nfc.
[bpt/emacs.git] / src / s / iris3-6.h
1 /* Definitions file for GNU Emacs running on Silicon Graphics system 3.6.
2 Copyright (C) 1987, 1999, 2002, 2003, 2004,
3 2005, 2006 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
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
18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
21
22
23 /*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28 #define USG
29 #define USG5
30 #define IRIS
31
32 /* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */
34
35 #define SYSTEM_TYPE "irix"
36
37 /* nomultiplejobs should be defined if your system's shell
38 does not have "job control" (the ability to stop a program,
39 run some other program, then continue the first one). */
40
41 #define NOMULTIPLEJOBS
42
43 /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
44
45 /* #define INTERRUPT_INPUT */
46
47 /* Letter to use in finding device name of first pty,
48 if system supports pty's. 'a' means it is /dev/ptya0 */
49
50 #define FIRST_PTY_LETTER 'a'
51
52 /*
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 */
56
57 #define HAVE_TERMIO
58
59 /*
60 * Define HAVE_PTYS if the system supports pty devices.
61 */
62
63 #define HAVE_PTYS
64
65 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
66
67 #define HAVE_SOCKETS
68
69 /*
70 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
71 * The 4.2 opendir, etc., library functions.
72 */
73
74 /* #define NONSYSTEM_DIR_LIBRARY */
75
76 /* Define this symbol if your system has the functions bcopy, etc. */
77
78 #define BSTRING
79
80 /* subprocesses should be defined if you want to
81 have code for asynchronous subprocesses
82 (as used in M-x compile and M-x shell).
83 This is generally OS dependent, and not supported
84 under most USG systems. */
85
86 #define subprocesses
87
88 /* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */
90
91 /* #define COFF */
92
93 /* define MAIL_USE_FLOCK if the mailer uses flock
94 to interlock access to /usr/spool/mail/$USER.
95 The alternative is that a lock file named
96 /usr/spool/mail/$USER.lock. */
97
98 #define MAIL_USE_FLOCK
99
100 /* Define CLASH_DETECTION if you want lock files to be written
101 so that Emacs can tell instantly when you try to modify
102 a file that someone else has modified in his Emacs. */
103
104 /* #define CLASH_DETECTION */
105
106 /* The file containing the kernel's symbol table is called /vmunix. */
107
108 #define KERNEL_FILE "/vmunix"
109
110 /* The symbol in the kernel where the load average is found
111 is named _avenrun. */
112
113 #define LDAV_SYMBOL "_avenrun"
114
115 \f
116 /* Special hacks needed to make Emacs run on this system. */
117
118 /*
119 * Make the sigsetmask function go away. Don't know what the
120 * ramifications of this are, but doesn't seem possible to
121 * emulate it properly anyway at this point.
122 */
123
124 #define sigsetmask(mask) /* Null expansion */
125 #define sigblock(x) x
126
127 /* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
128 #define BROKEN_SIGIO
129
130 #define LIBS_MACHINE -lbsd -ldbm -lPW
131 #define C_SWITCH_MACHINE -I/usr/include/bsd
132
133 /* setjmp and longjmp can safely replace _setjmp and _longjmp,
134 but they will run slower. */
135
136 #define _setjmp setjmp
137 #define _longjmp longjmp
138
139 /* On USG systems these have different names */
140
141 #define index strchr
142 #define rindex strrchr
143
144 /* USG systems tend to put everything declared static
145 into the initialized data area, which becomes pure after dumping Emacs.
146 Foil this. Emacs carefully avoids static vars inside functions. */
147
148 /* #define static */
149
150 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
151
152 #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
153
154 /* some errno.h's don't actually allocate the variable itself */
155
156 #define NEED_ERRNO
157
158 /* This is how to get the device name of the tty end of a pty. */
159 #define PTY_TTY_NAME_SPRINTF \
160 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
161
162 /* arch-tag: cdf2033e-a2d5-43e1-a1a2-a7243cf41a11
163 (do not change this comment) */