]> code.delx.au - gnu-emacs/blob - src/s/irix4-0.h
Initial revision.
[gnu-emacs] / src / s / irix4-0.h
1 #include "irix3-3.h"
2
3 #define USG5_3
4 #define IRIX4
5 /* XPointer is not defined in the older X headers -- JPff@maths.bath.ac.uk */
6 #define XPointer caddr_t
7
8 #define HAVE_ALLOCA
9 #ifndef NOT_C_CODE
10 #include <alloca.h>
11 #endif
12
13 #undef NEED_SIOCTL
14
15 /* Include unistd.h, even though we don't define POSIX. */
16 #define NEED_UNISTD_H
17
18 /* Make process_send_signal work by "typing" a signal character on the pty. */
19 #define SIGNALS_VIA_CHARACTERS
20
21 #ifndef __GNUC__
22 /* use K&R C */
23 /* We need to increase the expression tree space with -Wf,-XNh
24 (ghazi@caip.rutgers.edu 7/8/97.)
25 */
26 #define C_SWITCH_SYSTEM -cckr -Wf,-XNh4000
27 #endif
28
29 /* SGI has all the fancy wait stuff, but we can't include sys/wait.h
30 because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.) Instead
31 we'll just define WNOHANG right here.
32 (An implicit decl is good enough for wait3.) */
33
34 #define WNOHANG 0x1
35
36 /* No need to use sprintf to get the tty name--we get that from _getpty. */
37 #undef PTY_TTY_NAME_SPRINTF
38 #define PTY_TTY_NAME_SPRINTF
39 /* No need to get the pty name at all. */
40 #define PTY_NAME_SPRINTF
41 /* We need only try once to open a pty. */
42 #define PTY_ITERATION
43 /* Here is how to do it. */
44 /* It is necessary to prevent SIGCHLD signals within _getpty.
45 So we block them. */
46 #define PTY_OPEN \
47 { \
48 int mask = sigblock (sigmask (SIGCHLD)); \
49 char *name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); \
50 sigsetmask(mask); \
51 if (name == 0) \
52 return -1; \
53 if (fd < 0) \
54 return -1; \
55 if (fstat (fd, &stb) < 0) \
56 return -1; \
57 strcpy (pty_name, name); \
58 }