* m/iris4d.h (UNEXEC): Move definition ...
[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
4b158629 3Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
114f9c96 4 2008, 2009, 2010 Free Software Foundation, Inc.
3423be79
GM
5
6This file is part of GNU Emacs.
7
4b158629 8GNU Emacs is free software: you can redistribute it and/or modify
3423be79 9it under the terms of the GNU General Public License as published by
4b158629
GM
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
3423be79
GM
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
4b158629 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
3423be79
GM
20
21
7fa3ed62 22#define IRIX6_5 /* used in m/iris4d */
9d2818d6
DN
23#include "usg5-4.h"
24
9d2818d6
DN
25#undef _longjmp /* use system versions, not conservative aliases */
26#undef _setjmp
27
28#define SETPGRP_RELEASES_CTTY
29
9d2818d6
DN
30#ifdef LIB_STANDARD
31#undef LIB_STANDARD
32#endif
33
34#ifdef SYSTEM_TYPE
35#undef SYSTEM_TYPE
36#endif
37#define SYSTEM_TYPE "irix"
38
39#ifdef SETUP_SLAVE_PTY
40#undef SETUP_SLAVE_PTY
41#endif
42
43/* thomas@mathematik.uni-bremen.de says this is needed. */
44/* Make process_send_signal work by "typing" a signal character on the pty. */
45#define SIGNALS_VIA_CHARACTERS
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; \
63 char * name; \
64 sigemptyset(&cstat.sa_mask); \
65 cstat.sa_handler = SIG_DFL; \
66 cstat.sa_flags = 0; \
67 sigaction(SIGCLD, &cstat, &ocstat); \
68 name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
69 sigaction(SIGCLD, &ocstat, (struct sigaction *)0); \
70 if (name == 0) \
71 return -1; \
72 if (fd < 0) \
73 return -1; \
74 if (fstat (fd, &stb) < 0) \
75 return -1; \
76 strcpy (pty_name, name); \
77}
78
9d2818d6
DN
79/* Ulimit(UL_GMEMLIM) is busted... */
80#define ULIMIT_BREAK_VALUE 0x14000000
81
82/* Tell process_send_signal to use VSUSP instead of VSWTCH. */
83#define PREFER_VSUSP
84
863bf481
DN
85#define UNEXEC unexelf.o
86
9d2818d6
DN
87/* define MAIL_USE_FLOCK if the mailer uses flock
88 to interlock access to /usr/spool/mail/$USER.
89 The alternative is that a lock file named
90 /usr/spool/mail/$USER.lock. */
91
92#define MAIL_USE_FLOCK
93
9d2818d6
DN
94#define NARROWPROTO 1
95
96#define USE_MMAP_FOR_BUFFERS 1
97
98/* arch-tag: ad0660e0-acf8-46ae-b866-4f3df5b1101b
99 (do not change this comment) */
100
808903ab 101
2b565005 102#if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
c952a617 103#define _LP64 /* lisp.h takes care of the rest */
2b565005 104#endif /* _MIPS_SZLONG */
808903ab 105
808903ab
KH
106#undef SA_RESTART
107
e61a9a9b 108#undef TIOCSIGSEND /* defined in usg5-4.h */
ab5796a9 109
77c0df4f
RS
110/* Tested on Irix 6.5. SCM worked on earlier versions. */
111#define GC_SETJMP_WORKS 1
112#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
113
ab5796a9
MB
114/* arch-tag: d7ad9ec2-54ad-4b2f-adf2-0070c5c63e83
115 (do not change this comment) */