Remove src/m/*.
[bpt/emacs.git] / src / s / irix6-5.h
CommitLineData
3423be79
GM
1/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
2
acaf905b 3Copyright (C) 1999-2012 Free Software Foundation, Inc.
3423be79
GM
4
5This file is part of GNU Emacs.
6
4b158629 7GNU Emacs is free software: you can redistribute it and/or modify
3423be79 8it under the terms of the GNU General Public License as published by
4b158629
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
3423be79
GM
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
4b158629 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
3423be79
GM
19
20
7fa3ed62 21#define IRIX6_5 /* used in m/iris4d */
1b231651 22#include "usg5-4-common.h"
9d2818d6 23
9d2818d6
DN
24#undef _longjmp /* use system versions, not conservative aliases */
25#undef _setjmp
26
27#define SETPGRP_RELEASES_CTTY
28
9d2818d6
DN
29#ifdef SYSTEM_TYPE
30#undef SYSTEM_TYPE
31#endif
32#define SYSTEM_TYPE "irix"
33
34#ifdef SETUP_SLAVE_PTY
35#undef SETUP_SLAVE_PTY
36#endif
37
38/* thomas@mathematik.uni-bremen.de says this is needed. */
39/* Make process_send_signal work by "typing" a signal character on the pty. */
40#define SIGNALS_VIA_CHARACTERS
41
c3a398a1 42/* Letter to use in finding device name of first pty,
e05aebe9 43 if system supports pty's. 'a' means it is /dev/ptya0 */
c3a398a1
DN
44#undef FIRST_PTY_LETTER
45#define FIRST_PTY_LETTER 'q'
46
9d2818d6 47/* No need to use sprintf to get the tty name--we get that from _getpty. */
9d2818d6
DN
48#define PTY_TTY_NAME_SPRINTF
49/* No need to get the pty name at all. */
50#ifdef PTY_NAME_SPRINTF
51#undef PTY_NAME_SPRINTF
52#endif
53#define PTY_NAME_SPRINTF
54#ifdef emacs
55char *_getpty();
56#endif
57/* We need only try once to open a pty. */
58#define PTY_ITERATION
59/* Here is how to do it. */
60#define PTY_OPEN \
61{ \
62 struct sigaction ocstat, cstat; \
57048744 63 struct stat stb; \
9d2818d6
DN
64 char * name; \
65 sigemptyset(&cstat.sa_mask); \
66 cstat.sa_handler = SIG_DFL; \
67 cstat.sa_flags = 0; \
68 sigaction(SIGCLD, &cstat, &ocstat); \
69 name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
70 sigaction(SIGCLD, &ocstat, (struct sigaction *)0); \
71 if (name == 0) \
72 return -1; \
73 if (fd < 0) \
74 return -1; \
75 if (fstat (fd, &stb) < 0) \
76 return -1; \
77 strcpy (pty_name, name); \
78}
79
9d2818d6
DN
80/* Ulimit(UL_GMEMLIM) is busted... */
81#define ULIMIT_BREAK_VALUE 0x14000000
82
83/* Tell process_send_signal to use VSUSP instead of VSWTCH. */
84#define PREFER_VSUSP
85
9d2818d6
DN
86#define NARROWPROTO 1
87
808903ab
KH
88#undef SA_RESTART
89
1b231651 90#undef TIOCSIGSEND /* defined in usg5-4-common.h */
ab5796a9 91
77c0df4f
RS
92/* Tested on Irix 6.5. SCM worked on earlier versions. */
93#define GC_SETJMP_WORKS 1
76b397fb
DN
94
95
96/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
97 were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
98 the value field of a LISP_OBJECT). */
99#define DATA_START 0x10000000
100#define DATA_SEG_BITS 0x10000000