1/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 4.0
2
3   Copyright (C) 1999, 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 "irix3-3.h"
25
26#define USG5_3
27#define IRIX4
28/* XPointer is not defined in the older X headers  -- JPff@maths.bath.ac.uk */
29#define XPointer caddr_t
30
31#undef NEED_SIOCTL
32
33/* Include unistd.h, even though we don't define POSIX.  */
34#define NEED_UNISTD_H
35
36/* Make process_send_signal work by "typing" a signal character on the pty.  */
37#define SIGNALS_VIA_CHARACTERS
38
39#ifndef __GNUC__
40/* use K&R C */
41/* We need to increase the expression tree space with -Wf,-XNh
42   (ghazi@caip.rutgers.edu 7/8/97.)
43*/
44#define C_SWITCH_SYSTEM -cckr -Wf,-XNh4000
45#endif
46
47/* SGI has all the fancy wait stuff, but we can't include sys/wait.h
48   because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.)  Instead
49   we'll just define WNOHANG right here.
50   (An implicit decl is good enough for wait3.)  */
51
52#define WNOHANG		0x1
53
54/* No need to use sprintf to get the tty name--we get that from _getpty.  */
55#undef PTY_TTY_NAME_SPRINTF
56#define PTY_TTY_NAME_SPRINTF
57/* No need to get the pty name at all.  */
58#define PTY_NAME_SPRINTF
59/* We need only try once to open a pty.  */
60#define PTY_ITERATION
61/* Here is how to do it.  */
62/* It is necessary to prevent SIGCHLD signals within _getpty.
63   So we block them. */
64#define PTY_OPEN						\
65{								\
66  int mask = sigblock (sigmask (SIGCHLD));			\
67  char *name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0);	\
68  sigsetmask(mask);						\
69  if (name == 0)						\
70    return -1;							\
71  if (fd < 0)							\
72    return -1;							\
73  if (fstat (fd, &stb) < 0)					\
74    return -1;							\
75  strcpy (pty_name, name);					\
76}
77
78/* arch-tag: cfd7e200-a4dc-4f67-9a32-4184c10b0c57
79   (do not change this comment) */
80