s/usg5-4.h:
[emacs.git] / src / s / iris3-5.h
blob7659289ad9b5e526db2c1ba47b27f5557fd6272e
1 /* Definitions file for GNU Emacs running on Silicon Graphics 3.5
2 Copyright (C) 1987, 1999 Free Software Foundation, Inc.
4 This file is part of GNU Emacs.
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.
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.
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, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
23 * Define symbols to identify the version of Unix this is.
24 * Define all the symbols that apply correctly.
27 #define USG
28 #define USG5
29 #define IRIS
31 /* SYSTEM_TYPE should indicate the kind of system you are using.
32 It sets the Lisp variable system-type. */
34 #define SYSTEM_TYPE "irix"
36 /* nomultiplejobs should be defined if your system's shell
37 does not have "job control" (the ability to stop a program,
38 run some other program, then continue the first one). */
40 #define NOMULTIPLEJOBS
42 /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
44 /* #define INTERRUPT_INPUT */
46 /* Letter to use in finding device name of first pty,
47 if system supports pty's. 'a' means it is /dev/ptya0 */
49 #define FIRST_PTY_LETTER 'a'
52 * Define HAVE_TERMIO if the system provides sysV-style ioctls
53 * for terminal control.
56 #define HAVE_TERMIO
59 * Define HAVE_PTYS if the system supports pty devices.
62 #define HAVE_PTYS
64 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
66 #define HAVE_SOCKETS
69 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
70 * The 4.2 opendir, etc., library functions.
73 /* #define NONSYSTEM_DIR_LIBRARY */
75 /* Define this symbol if your system has the functions bcopy, etc. */
77 #define BSTRING
79 /* subprocesses should be defined if you want to
80 have code for asynchronous subprocesses
81 (as used in M-x compile and M-x shell).
82 This is generally OS dependent, and not supported
83 under most USG systems. */
85 #define subprocesses
87 /* If your system uses COFF (Common Object File Format) then define the
88 preprocessor symbol "COFF". */
90 /* #define COFF */
92 /* define MAIL_USE_FLOCK if the mailer uses flock
93 to interlock access to /usr/spool/mail/$USER.
94 The alternative is that a lock file named
95 /usr/spool/mail/$USER.lock. */
97 #define MAIL_USE_FLOCK
99 /* Define CLASH_DETECTION if you want lock files to be written
100 so that Emacs can tell instantly when you try to modify
101 a file that someone else has modified in his Emacs. */
103 /* #define CLASH_DETECTION */
105 /* We use the Berkeley (and usg5.2.2) interface to nlist. */
107 #define NLIST_STRUCT
109 /* The file containing the kernel's symbol table is called /vmunix. */
111 #define KERNEL_FILE "/vmunix"
113 /* The symbol in the kernel where the load average is found
114 is named _avenrun. */
116 #define LDAV_SYMBOL "_avenrun"
119 /* Special hacks needed to make Emacs run on this system. */
122 * Make the sigsetmask function go away. Don't know what the
123 * ramifications of this are, but doesn't seem possible to
124 * emulate it properly anyway at this point.
127 #define sigsetmask(mask) /* Null expansion */
129 /* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
130 #define BROKEN_SIGIO
132 #define LIBS_MACHINE -lbsd -ldbm -lPW
133 #define C_SWITCH_MACHINE -I/usr/include/bsd
135 /* setjmp and longjmp can safely replace _setjmp and _longjmp,
136 but they will run slower. */
138 #define _setjmp setjmp
139 #define _longjmp longjmp
141 /* On USG systems these have different names */
143 #define index strchr
144 #define rindex strrchr
146 /* USG systems tend to put everything declared static
147 into the initialized data area, which becomes pure after dumping Emacs.
148 Foil this. Emacs carefully avoids static vars inside functions. */
150 /* #define static */
152 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
154 #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
156 /* some errno.h's don't actually allocate the variable itself */
158 #define NEED_ERRNO
160 /* The symbol FIONREAD is defined, but the feature does not work. */
162 #define BROKEN_FIONREAD
164 /* This is how to get the device name of the tty end of a pty. */
165 #define PTY_TTY_NAME_SPRINTF \
166 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));