Nuke arch-tags.
[emacs.git] / src / s / irix6-5.h
blobf755e119bc684bfaa6f386240b85e2653643699f
1 /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
6 This file is part of GNU Emacs.
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 #define IRIX6_5 /* used in m/iris4d */
23 #include "usg5-4-common.h"
25 #undef _longjmp /* use system versions, not conservative aliases */
26 #undef _setjmp
28 #define SETPGRP_RELEASES_CTTY
30 #ifdef SYSTEM_TYPE
31 #undef SYSTEM_TYPE
32 #endif
33 #define SYSTEM_TYPE "irix"
35 #ifdef SETUP_SLAVE_PTY
36 #undef SETUP_SLAVE_PTY
37 #endif
39 /* thomas@mathematik.uni-bremen.de says this is needed. */
40 /* Make process_send_signal work by "typing" a signal character on the pty. */
41 #define SIGNALS_VIA_CHARACTERS
43 /* Letter to use in finding device name of first pty,
44 if system supports pty's. 'a' means it is /dev/ptya0 */
45 #undef FIRST_PTY_LETTER
46 #define FIRST_PTY_LETTER 'q'
48 /* No need to use sprintf to get the tty name--we get that from _getpty. */
49 #define PTY_TTY_NAME_SPRINTF
50 /* No need to get the pty name at all. */
51 #ifdef PTY_NAME_SPRINTF
52 #undef PTY_NAME_SPRINTF
53 #endif
54 #define PTY_NAME_SPRINTF
55 #ifdef emacs
56 char *_getpty();
57 #endif
58 /* We need only try once to open a pty. */
59 #define PTY_ITERATION
60 /* Here is how to do it. */
61 #define PTY_OPEN \
62 { \
63 struct sigaction ocstat, cstat; \
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); \
80 /* Ulimit(UL_GMEMLIM) is busted... */
81 #define ULIMIT_BREAK_VALUE 0x14000000
83 /* Tell process_send_signal to use VSUSP instead of VSWTCH. */
84 #define PREFER_VSUSP
86 #define NARROWPROTO 1
88 #if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
89 #define _LP64 /* lisp.h takes care of the rest */
90 #endif /* _MIPS_SZLONG */
92 #undef SA_RESTART
94 #undef TIOCSIGSEND /* defined in usg5-4-common.h */
96 /* Tested on Irix 6.5. SCM worked on earlier versions. */
97 #define GC_SETJMP_WORKS 1
98 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS