Add missing ChangeLog entry for ldap.el change in 2011-09-17T21:28:17Z!cyd@stupidchic...
[emacs.git] / src / s / irix6-5.h
blob26eb7dcde77929424ca3259c4a3ad872e7a2600e
1 /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 6.5.
3 Copyright (C) 1999-2011 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 #define IRIX6_5 /* used in m/iris4d */
22 #include "usg5-4-common.h"
24 #undef _longjmp /* use system versions, not conservative aliases */
25 #undef _setjmp
27 #define SETPGRP_RELEASES_CTTY
29 #ifdef SYSTEM_TYPE
30 #undef SYSTEM_TYPE
31 #endif
32 #define SYSTEM_TYPE "irix"
34 #ifdef SETUP_SLAVE_PTY
35 #undef SETUP_SLAVE_PTY
36 #endif
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
42 /* Letter to use in finding device name of first pty,
43 if system supports pty's. 'a' means it is /dev/ptya0 */
44 #undef FIRST_PTY_LETTER
45 #define FIRST_PTY_LETTER 'q'
47 /* No need to use sprintf to get the tty name--we get that from _getpty. */
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
55 char *_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 struct stat stb; \
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
101 /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
102 were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
103 the value field of a LISP_OBJECT). */
104 #define DATA_START 0x10000000
105 #define DATA_SEG_BITS 0x10000000