1/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 5.0.
2
3   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
4                 2007  Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 2, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING.  If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA.  */
22
23
24#include "usg5-4.h"
25
26#define IRIX5
27
28#undef sigsetmask  /* use sys_sigsetmask */
29#undef _longjmp /* use system versions, not conservative aliases */
30#undef _setjmp
31
32#define SETPGRP_RELEASES_CTTY
33
34#ifdef LIBS_SYSTEM
35#undef LIBS_SYSTEM
36#endif
37
38#ifdef LIB_STANDARD
39#undef LIB_STANDARD
40#endif
41
42#ifdef SYSTEM_TYPE
43#undef SYSTEM_TYPE
44#endif
45#define SYSTEM_TYPE "irix"
46
47#ifdef SETUP_SLAVE_PTY
48#undef SETUP_SLAVE_PTY
49#endif
50
51/* thomas@mathematik.uni-bremen.de says this is needed.  */
52/* Make process_send_signal work by "typing" a signal character on the pty.  */
53#define SIGNALS_VIA_CHARACTERS
54
55/* SGI has all the fancy wait stuff, but we can't include sys/wait.h
56   because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.)  Instead
57   we'll just define WNOHANG right here.
58   (An implicit decl is good enough for wait3.)  */
59
60/* #define WNOHANG		0x1 */
61
62/* No need to use sprintf to get the tty name--we get that from _getpty.  */
63#ifdef PTY_TTY_NAME_SPRINTF
64#undef PTY_TTY_NAME_SPRINTF
65#endif
66#define PTY_TTY_NAME_SPRINTF
67/* No need to get the pty name at all.  */
68#ifdef PTY_NAME_SPRINTF
69#undef PTY_NAME_SPRINTF
70#endif
71#define PTY_NAME_SPRINTF
72#ifdef emacs
73char *_getpty();
74#endif
75/* We need only try once to open a pty.  */
76#define PTY_ITERATION
77/* Here is how to do it.  */
78#define PTY_OPEN					    \
79{							    \
80  struct sigaction ocstat, cstat;			    \
81  char * name;						    \
82  sigemptyset(&cstat.sa_mask);				    \
83  cstat.sa_handler = SIG_DFL;				    \
84  cstat.sa_flags = 0;					    \
85  sigaction(SIGCLD, &cstat, &ocstat);			    \
86  name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0);	    \
87  sigaction(SIGCLD, &ocstat, (struct sigaction *)0);	    \
88  if (name == 0)					    \
89    return -1;						    \
90  if (fd < 0)						    \
91    return -1;						    \
92  if (fstat (fd, &stb) < 0)				    \
93    return -1;						    \
94  strcpy (pty_name, name);				    \
95}
96
97/* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
98   throughout. */
99#define POSIX_SIGNALS
100
101/* Info from simon@lia.di.epfl.ch (Simon Leinen) suggests this is needed.  */
102#define GETPGRP_NO_ARG
103
104/* Ulimit(UL_GMEMLIM) is busted...  */
105#define ULIMIT_BREAK_VALUE 0x14000000
106
107/* Tell process_send_signal to use VSUSP instead of VSWTCH.  */
108#define PREFER_VSUSP
109
110/* define MAIL_USE_FLOCK if the mailer uses flock
111   to interlock access to /usr/spool/mail/$USER.
112   The alternative is that a lock file named
113   /usr/spool/mail/$USER.lock.  */
114
115#define MAIL_USE_FLOCK
116
117/* use K&R C */
118#if 0
119#ifndef __GNUC__
120#define C_SWITCH_SYSTEM -cckr
121#endif
122#endif
123
124/* -g used not to work on Irix unless you used gas, and since gcc
125   warns if you use it, turn off the warning.  */
126/* -g does now work, at least on recent Irix 6 versions with gcc 2.95;
127    I'm not sure about Irix 5 -- fx  */
128#ifdef __GNUC__
129#define C_DEBUG_SWITCH
130#endif
131
132/* Prevent the variable ospeed from being defined by -lcurses
133   because it defines it with too few bytes.  */
134#define ospeed ospeed_
135
136#define NARROWPROTO 1
137
138#define USE_MMAP_FOR_BUFFERS 1
139
140/* arch-tag: ad0660e0-acf8-46ae-b866-4f3df5b1101b
141   (do not change this comment) */
142