613
+ − 1 /* Definitions file for XEmacs running on AT&T's System V Release 4
428
+ − 2 Copyright (C) 1987, 1990 Free Software Foundation, Inc.
+ − 3
613
+ − 4 This file is part of XEmacs.
428
+ − 5
613
+ − 6 XEmacs is free software; you can redistribute it and/or modify
428
+ − 7 it under the terms of the GNU General Public License as published by
+ − 8 the Free Software Foundation; either version 2, or (at your option)
+ − 9 any later version.
+ − 10
613
+ − 11 XEmacs is distributed in the hope that it will be useful,
428
+ − 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 14 GNU General Public License for more details.
+ − 15
+ − 16 You should have received a copy of the GNU General Public License
+ − 17 along with XEmacs; see the file COPYING. If not, write to
+ − 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 19 Boston, MA 02111-1307, USA. */
+ − 20
+ − 21 /* Synched up with: FSF 19.31. */
+ − 22
+ − 23 /* This file written by James Van Artsdalen of Dell Computer Corporation.
+ − 24 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric
+ − 25 * S. Raymond <esr@snark.thyrsus.com>.
+ − 26 */
+ − 27
+ − 28 /* Use the SysVr3 file for at least base configuration. */
+ − 29
+ − 30 #define DONT_DEFINE_NO_REMAP /* `static' hack not needed */
+ − 31 #include "usg5-3.h"
+ − 32
+ − 33 #define USG5_4
+ − 34
+ − 35 #define LIBS_SYSTEM "-lsocket -lnsl -lelf"
+ − 36 #define ORDINARY_LINK
+ − 37
+ − 38 #if 0
+ − 39 #ifdef ORDINARY_LINK
+ − 40 #define LIB_STANDARD "-lc /usr/ucblib/libucb.a"
+ − 41 #else
+ − 42 #define START_FILES "pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o"
+ − 43 #define LIB_STANDARD "-lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o"
+ − 44 #endif
+ − 45 #else
+ − 46
+ − 47 #ifdef ORDINARY_LINK
+ − 48 #define LIB_STANDARD
+ − 49 #else
+ − 50 #define START_FILES "pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o"
+ − 51 #define LIB_STANDARD "-lc /usr/ccs/lib/crtn.o"
+ − 52 #endif
+ − 53 #endif
+ − 54
+ − 55 /* there are no -lg libraries on this system, and no libPW */
+ − 56
+ − 57 #define LIBS_DEBUG
+ − 58
+ − 59 /* No <sioctl.h> */
+ − 60
+ − 61 #define NO_SIOCTL_H
+ − 62
+ − 63 /* Undump with ELF */
+ − 64
+ − 65 #undef COFF
+ − 66
+ − 67 #define UNEXEC "unexelf.o"
+ − 68
+ − 69 /* Get <sys/ttold.h> to get struct
+ − 70 * tchars. But get <termio.h> first to make sure ttold.h doesn't
+ − 71 * interfere.
+ − 72 */
+ − 73
+ − 74 #ifndef NOT_C_CODE
+ − 75 #include <sys/wait.h>
+ − 76 #endif
+ − 77
+ − 78 #ifdef emacs
+ − 79 #include <sys/filio.h>
+ − 80 #include <termio.h>
+ − 81 #include <sys/ttold.h>
+ − 82 #include <sys/stream.h>
+ − 83 #include <sys/termios.h>
+ − 84 #endif
+ − 85
+ − 86 #undef BROKEN_SIGIO
+ − 87
+ − 88 /* We need bss_end from emacs.c for undumping */
+ − 89
+ − 90 #ifndef USG_SHARED_LIBRARIES
+ − 91 #define USG_SHARED_LIBRARIES
+ − 92 #endif
+ − 93
+ − 94 #undef BROKEN_TIOCGWINSZ
+ − 95 #undef BROKEN_TIOCGETC
+ − 96
+ − 97 /* This change means that we don't loop through allocate_pty too many
+ − 98 times in the (rare) event of a failure. */
+ − 99
+ − 100 #undef FIRST_PTY_LETTER
+ − 101 #define FIRST_PTY_LETTER 'z'
+ − 102
+ − 103 /* This sets the name of the master side of the PTY. */
+ − 104
+ − 105 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
+ − 106
+ − 107 /* This sets the name of the slave side of the PTY. On SysVr4,
+ − 108 grantpt(3) forks a subprocess, so keep sigchld_handler() from
+ − 109 intercepting that death. If any child but grantpt's should die
+ − 110 within, it should be caught after EMACS_UNBLOCK_SIGNAL. */
+ − 111
+ − 112 /* XEmacs change */
+ − 113 #ifndef NOT_C_CODE
+ − 114 # if !__STDC__ && !defined(STDC_HEADERS)
+ − 115 char *ptsname ();
+ − 116 # endif
+ − 117 #endif
+ − 118
+ − 119 #define PTY_TTY_NAME_SPRINTF \
+ − 120 { \
+ − 121 char *ptyname; \
+ − 122 \
+ − 123 EMACS_BLOCK_SIGCHLD; \
+ − 124 if (grantpt (fd) == -1) \
+ − 125 { close (fd); return -1; } \
+ − 126 EMACS_UNBLOCK_SIGCHLD; \
+ − 127 if (unlockpt (fd) == -1) \
+ − 128 { close (fd); return -1; } \
+ − 129 if (!(ptyname = ptsname (fd))) \
+ − 130 { close (fd); return -1; } \
+ − 131 strncpy (pty_name, ptyname, sizeof (pty_name)); \
+ − 132 pty_name[sizeof (pty_name) - 1] = 0; \
+ − 133 }
+ − 134
+ − 135 /* Push various streams modules onto a PTY channel. */
+ − 136
+ − 137 #define SETUP_SLAVE_PTY \
+ − 138 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
+ − 139 fatal ("ioctl I_PUSH ptem: errno %d\n", errno); \
+ − 140 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
+ − 141 fatal ("ioctl I_PUSH ldterm: errno %d\n", errno); \
+ − 142 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
+ − 143 fatal ("ioctl I_PUSH ttcompat: errno %d\n", errno);
+ − 144
+ − 145 /* Tell x11term.c and keyboard.c we have the system V streams feature. */
+ − 146 #define SYSV_STREAMS
+ − 147 /* On Some SysV System , w3 freeze. If freeze your xemacs , Add below definition */
+ − 148 /* This definition added by Shogo Fujii(shogo@bsd1.kbnes.nec.co.jp) */
+ − 149 #define PROCESS_IO_BLOCKING