a99e9ca187ce98d1968777643a0d68a88d6dcf69
[chise/xemacs-chise.git.1] / src / s / irix4-0.h
1 /* Synched up with: FSF 19.31. */
2
3 #include "irix3-3.h"
4
5 #define USG5_3
6 #define IRIX4
7
8 #undef NEED_SIOCTL
9
10 /* use K&R C */
11 /* XEmacs change -- use ANSI, not K&R */
12 #ifndef __GNUC__
13 #define C_SWITCH_SYSTEM "-xansi"
14 #endif
15
16 /* SGI has all the fancy wait stuff, but we can't include sys/wait.h
17    because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.)  Instead
18    we'll just define WNOHANG right here.
19    (An implicit decl is good enough for wait3.)  */
20 /* [XEmacs: Now that we don't use BIG_ENDIAN/LITTLE_ENDIAN, it's safe
21    to include wait.h.  Should something change here?] */
22
23 #define WNOHANG         0x1
24
25 /* No need to use sprintf to get the tty name--we get that from _getpty.  */
26 #undef PTY_TTY_NAME_SPRINTF
27 #define PTY_TTY_NAME_SPRINTF
28 /* No need to get the pty name at all.  */
29 #define PTY_NAME_SPRINTF
30 /* We need only try once to open a pty.  */
31 #define PTY_ITERATION
32 /* Here is how to do it.  */
33 /* It is necessary to prevent SIGCHLD signals within _getpty.
34    So we block them. */
35 #define PTY_OPEN                                                \
36 {                                                               \
37   char *name;                                                   \
38   struct stat stb;                                              \
39   EMACS_BLOCK_SIGCHLD;                                          \
40   name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0);             \
41   EMACS_UNBLOCK_SIGCHLD;                                        \
42   if (name == 0)                                                \
43     return -1;                                                  \
44   if (fd < 0)                                                   \
45     return -1;                                                  \
46   if (fstat (fd, &stb) < 0)                                     \
47     return -1;                                                  \
48   strcpy (pty_name, name);                                      \
49 }
50
51 /* jpff@maths.bath.ac.uk reports `struct exception' is not defined
52    on this system, so inhibit use of matherr.  */
53 #define NO_MATHERR