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