annotate src/s/usg5-4.h @ 32125:7f987164a4c3

*** empty log message ***
author Dave Love <fx@gnu.org>
date Wed, 04 Oct 2000 09:36:30 +0000
parents 54fc79fa7000
children d4c7ac767031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Definitions file for GNU Emacs running on AT&T's System V Release 4
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
2 Copyright (C) 1987, 1990, 1999 Free Software Foundation, Inc.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
7 it under the terms of the GNU General Public License as published by
3699
7be0f0a02725 Updated GPL version to 2.
Jim Blandy <jimb@redhat.com>
parents: 2989
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
9 any later version.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
14 GNU General Public License for more details.
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
15
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
16 You should have received a copy of the GNU General Public License
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13529
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13529
diff changeset
19 Boston, MA 02111-1307, USA. */
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 /* This file written by James Van Artsdalen of Dell Computer Corporation.
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
22 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
23 * S. Raymond <esr@snark.thyrsus.com>.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 /* Use the SysVr3 file for at least base configuration. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
1868
f84d4b4b53da * s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
Jim Blandy <jimb@redhat.com>
parents: 1179
diff changeset
28 #include "usg5-3.h"
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 #define USG5_4
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 /* We do have multiple jobs. Handle ^Z. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 #undef NOMULTIPLEJOBS
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35
26678
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
36 /* Motif needs -lgen. */
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
37 #define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
1179
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
38 #define ORDINARY_LINK
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
40 #if 0
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
41 #ifdef ORDINARY_LINK
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
42 #define LIB_STANDARD -lc /usr/ucblib/libucb.a
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
43 #else
1179
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
44 #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
45 #define LIB_STANDARD -lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
46 #endif
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
47 #else
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
48
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
49 #ifdef ORDINARY_LINK
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
50 #define LIB_STANDARD
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
51 #else
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
52 #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
53 #define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
54 #endif
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
55 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
57 /* there are no -lg libraries on this system, and no libPW */
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
58
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
59 #define LIBS_DEBUG
13529
1ebbef179f1e (LIBS_STANDARD): Definition deleted.
Richard M. Stallman <rms@gnu.org>
parents: 13466
diff changeset
60 /* This is turned off because nobody actually uses LIBS_STANDARD (Nov 1995).
1ebbef179f1e (LIBS_STANDARD): Definition deleted.
Richard M. Stallman <rms@gnu.org>
parents: 13466
diff changeset
61 That name is a typo. The next step is to delete this entirely. */
1ebbef179f1e (LIBS_STANDARD): Definition deleted.
Richard M. Stallman <rms@gnu.org>
parents: 13466
diff changeset
62 /* #define LIBS_STANDARD -lc */
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
63
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
64 /* No <sioctl.h> */
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
66 #define NO_SIOCTL_H
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 /* Undump with ELF */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 #undef COFF
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 #define UNEXEC unexelf.o
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73
8300
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
74 /* <sys/stat.h> *defines* stat(2) as a static function. If "static"
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
75 * is blank, then many files will have a public definition for stat(2).
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
76 */
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
77
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
78 #undef static
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
79
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 /* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 * tchars. But get <termio.h> first to make sure ttold.h doesn't
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 * interfere. And don't try to use SIGIO yet.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
13466
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
85 #ifndef NOT_C_CODE
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
86 #include <sys/wait.h>
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
87 #endif
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
88
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #ifdef emacs
15844
090728aee80a Don't include filio.h if NO_FILIO_H.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
90 #ifndef NO_FILIO_H
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 #include <sys/filio.h>
15844
090728aee80a Don't include filio.h if NO_FILIO_H.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
92 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 #include <termio.h>
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 #include <sys/ttold.h>
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 #include <signal.h>
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
96 #include <sys/stream.h>
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
97 #include <sys/stropts.h>
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
98 #include <sys/termios.h>
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
99 #define BROKEN_SIGIO
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
102 /* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments;
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
103 * instead, there's a system variable _sys_nsig. Unfortunately, we need the
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
104 * constant to dimension an array. So wire in the appropriate value here.
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
105 */
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
106 #define NSIG_MINIMUM 32
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
107
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 /* We need bss_end from emacs.c for undumping */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 #ifndef USG_SHARED_LIBRARIES
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 #define USG_SHARED_LIBRARIES
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 /* We can support this */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 #define CLASH_DETECTION
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 #define HAVE_PTYS
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
119 #define HAVE_TERMIOS
4295
04801cc935e6 (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
Richard M. Stallman <rms@gnu.org>
parents: 3824
diff changeset
120 #undef BROKEN_TIOCGWINSZ
04801cc935e6 (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
Richard M. Stallman <rms@gnu.org>
parents: 3824
diff changeset
121 #undef BROKEN_TIOCGETC
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 /* It is possible to receive SIGCHLD when there are no children
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 waiting, because a previous waitsys(2) cleaned up the carcass of child
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 without clearing the SIGCHLD pending info. So, use a non-blocking
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 wait3 instead, which maps to waitpid(2) in SysVr4. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 #define HAVE_WAIT_HEADER
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 #define WAITTYPE int
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 #define wait3(status, options, rusage) \
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
131 waitpid ((pid_t) -1, (status), (options))
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #define WRETCODE(w) (w >> 8)
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 /* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 this is all we need. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137
23914
17d161505a18 (TIOCSIGSEND): Don't define this if irix6.
Karl Heuer <kwzh@gnu.org>
parents: 15844
diff changeset
138 #ifndef IRIX6
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 #define TIOCSIGSEND TIOCSIGNAL
23914
17d161505a18 (TIOCSIGSEND): Don't define this if irix6.
Karl Heuer <kwzh@gnu.org>
parents: 15844
diff changeset
140 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 /* This change means that we don't loop through allocate_pty too many
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 times in the (rare) event of a failure. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 #undef FIRST_PTY_LETTER
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 #define FIRST_PTY_LETTER 'z'
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 /* This sets the name of the master side of the PTY. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152 /* This sets the name of the slave side of the PTY. On SysVr4,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 grantpt(3) forks a subprocess, so keep sigchld_handler() from
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 intercepting that death. If any child but grantpt's should die
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 within, it should be caught after sigrelse(2). */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
157 #define PTY_TTY_NAME_SPRINTF \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
158 { \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
159 char *ptsname (), *ptyname; \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
160 \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
161 sighold (SIGCLD); \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
162 if (grantpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
163 { emacs_close (fd); return -1; } \
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
164 sigrelse (SIGCLD); \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
165 if (unlockpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
166 { emacs_close (fd); return -1; } \
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
167 if (!(ptyname = ptsname (fd))) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
168 { emacs_close (fd); return -1; } \
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
169 strncpy (pty_name, ptyname, sizeof (pty_name)); \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
170 pty_name[sizeof (pty_name) - 1] = 0; \
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 }
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 /* Push various streams modules onto a PTY channel. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175 #define SETUP_SLAVE_PTY \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177 fatal ("ioctl I_PUSH ptem", errno); \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179 fatal ("ioctl I_PUSH ldterm", errno); \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181 fatal ("ioctl I_PUSH ttcompat", errno);
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
182
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
183 /* Undo the SVr3 X11 library definition */
2165
c84b2198f633 * s/usg5-4.h: Remove extraneous text after #undef LIB_X11_LIB.
Jim Blandy <jimb@redhat.com>
parents: 2116
diff changeset
184 #undef LIB_X11_LIB
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
185
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
186 /* The definition of this in s-usg5-3.h is not needed in 5.4. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
187 /* liblnsl_s should never be used. The _s suffix implies a shared
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
188 library, as opposed to a DLL. Share libraries were used in SVR3, and are
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
189 available only in order to allow SVR3 binaries to run. They should not be
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
190 linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
191 #undef LIBX10_SYSTEM
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
192 #undef LIBX11_SYSTEM
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
194 /* Tell x11term.c and keyboard.c we have the system V streams feature. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
195 #define SYSV_STREAMS
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
196
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
197 /* This definition was suggested for next release.
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
198 So give it a try. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
199 #define HAVE_SOCKETS
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
200
23914
17d161505a18 (TIOCSIGSEND): Don't define this if irix6.
Karl Heuer <kwzh@gnu.org>
parents: 15844
diff changeset
201 #ifndef IRIX6
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
202 #define bcopy(src,dst,n) memmove (dst,src,n)
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
203 #define bcmp(src,dst,n) memcmp (src,dst,n)
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
204 #define bzero(s,n) memset (s,0,n)
23914
17d161505a18 (TIOCSIGSEND): Don't define this if irix6.
Karl Heuer <kwzh@gnu.org>
parents: 15844
diff changeset
205 #endif
26678
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
206
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
207 /* Markus Weiand <weiand@khof.com> says this is needed for Motif on
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
208 SINIX. */
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
209 #undef LIBS_SYSTEM
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
210 #define LIBS_SYSTEM -lgen