annotate src/s/usg5-4.h @ 90906:f8694254fa1d

(w32font_info): Remove subranges. (QCsubranges, Qmodern, Qswiss, Qroman): Remove. (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif) (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian) (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali) (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada) (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian) (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham) (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan) (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun) (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical): New symbols. (font_callback_data): New struct. (w32font_list, w32font_match): Use it. (w32font_open): Don't populate subranges. (w32font_has_char): Use script Lisp symbols, not subrange bitmask. (w32font_encode_char): Always return unicode code-point as-is. (w32font_text_extents): Supply a tranformation matrix to GetGlyphOutline. Never look up by glyph index. Avoid looping twice. Use unicode version of GetTexExtentPoint32 instead of glyph index version. (set_fonts_frame): Remove (w32_enumfont_pattern_entity): Add frame parameter, use it to set frame parameter. Use backward compatible fake foundries. Save generic family in extra slot under QCfamily. Make width slot constant. Save QCspacing value. Save list of scripts instead of binary subranges. (w32_generic_family, logfonts_match, font_matches_spec): New functions. (add_font_entity_to_list): Use font_callback_data struct. Filter unwanted fonts. (add_one_font_entity_to_list): Use font_callback_data struct. (w32_registry): Default to iso10646_1; (fill_in_logfont): Use dpi from extra slot. Don't bother with string font registries. Don't fill in font name if it is a generic family name, fill family instead. Use spacing, family and script extra info to fill pitch, family and charset fields. (list_all_matching_fonts): Use font_callback_data struct. (unicode_range_for_char): Remove. (font_supported_scripts): New function. (w32font_initialize): Remove. (syms_of_w32font): Update which symbols are defined.
author Jason Rumney <jasonr@gnu.org>
date Sat, 02 Jun 2007 23:42:23 +0000
parents 95d0cdf160ea
children f55f9811f5d7
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
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
2 Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004,
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
3 2005, 2006, 2007 Free Software Foundation, Inc.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
7 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
8 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
9 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
10 any later version.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
12 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
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
15 GNU General Public License for more details.
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
16
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
17 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
18 along with GNU Emacs; see the file COPYING. If not, write to
64083
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 /* 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
23 * 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
24 * S. Raymond <esr@snark.thyrsus.com>.
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 /* Use the SysVr3 file for at least base configuration. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
1868
f84d4b4b53da * s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
Jim Blandy <jimb@redhat.com>
parents: 1179
diff changeset
29 #include "usg5-3.h"
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 #define USG5_4
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 /* We do have multiple jobs. Handle ^Z. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 #undef NOMULTIPLEJOBS
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36
26678
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
37 /* Motif needs -lgen. */
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
38 #define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
1179
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
39 #define ORDINARY_LINK
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
41 #if 0
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
42 #ifdef ORDINARY_LINK
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
43 #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
44 #else
1179
7961d1af11a7 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 1039
diff changeset
45 #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
46 #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
47 #endif
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
48 #else
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
49
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
50 #ifdef ORDINARY_LINK
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
51 #define LIB_STANDARD
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
52 #else
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
53 #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
54 #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
55 #endif
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
56 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
58 /* 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
59
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
60 #define LIBS_DEBUG
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 /* Undump with ELF */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 #undef COFF
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 #define UNEXEC unexelf.o
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67
8300
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
68 /* <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
69 * 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
70 */
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
71
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
72 #undef static
95b09cdfc59d Move #undef static before the includes.
Richard M. Stallman <rms@gnu.org>
parents: 8283
diff changeset
73
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 /* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 * tchars. But get <termio.h> first to make sure ttold.h doesn't
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 * interfere. And don't try to use SIGIO yet.
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78
13466
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
79 #ifndef NOT_C_CODE
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
80 #include <sys/wait.h>
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
81 #endif
e31afd8b6355 Always include sys/wait.h unless NOT_C_CODE;
Richard M. Stallman <rms@gnu.org>
parents: 12734
diff changeset
82
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 #ifdef emacs
15844
090728aee80a Don't include filio.h if NO_FILIO_H.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
84 #ifndef NO_FILIO_H
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 #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
86 #endif
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 #include <termio.h>
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 #include <sys/ttold.h>
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #include <signal.h>
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
90 #include <sys/stream.h>
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
91 #include <sys/stropts.h>
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
92 #include <sys/termios.h>
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
93 #define BROKEN_SIGIO
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
96 /* 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
97 * 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
98 * 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
99 */
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
100 #define NSIG_MINIMUM 32
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
101
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 /* We need bss_end from emacs.c for undumping */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 #ifndef USG_SHARED_LIBRARIES
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 #define USG_SHARED_LIBRARIES
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 #endif
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 /* We can support this */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 #define CLASH_DETECTION
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 #define HAVE_PTYS
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
113 #define HAVE_TERMIOS
4295
04801cc935e6 (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
Richard M. Stallman <rms@gnu.org>
parents: 3824
diff changeset
114 #undef BROKEN_TIOCGWINSZ
04801cc935e6 (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
Richard M. Stallman <rms@gnu.org>
parents: 3824
diff changeset
115 #undef BROKEN_TIOCGETC
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 /* It is possible to receive SIGCHLD when there are no children
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 waiting, because a previous waitsys(2) cleaned up the carcass of child
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 without clearing the SIGCHLD pending info. So, use a non-blocking
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 wait3 instead, which maps to waitpid(2) in SysVr4. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 #define HAVE_WAIT_HEADER
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 #define WAITTYPE int
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 #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
125 waitpid ((pid_t) -1, (status), (options))
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 #define WRETCODE(w) (w >> 8)
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 /* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 this is all we need. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #define TIOCSIGSEND TIOCSIGNAL
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 /* This change means that we don't loop through allocate_pty too many
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 times in the (rare) event of a failure. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 #undef FIRST_PTY_LETTER
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 #define FIRST_PTY_LETTER 'z'
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 /* This sets the name of the master side of the PTY. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 /* This sets the name of the slave side of the PTY. On SysVr4,
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 grantpt(3) forks a subprocess, so keep sigchld_handler() from
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 intercepting that death. If any child but grantpt's should die
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 within, it should be caught after sigrelse(2). */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148
8283
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
149 #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
150 { \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
151 char *ptsname (), *ptyname; \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
152 \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
153 sighold (SIGCLD); \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
154 if (grantpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
155 { 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
156 sigrelse (SIGCLD); \
32427329c42c (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
Richard M. Stallman <rms@gnu.org>
parents: 7947
diff changeset
157 if (unlockpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
158 { 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
159 if (!(ptyname = ptsname (fd))) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 23914
diff changeset
160 { 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
161 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
162 pty_name[sizeof (pty_name) - 1] = 0; \
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 }
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 /* Push various streams modules onto a PTY channel. */
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167 #define SETUP_SLAVE_PTY \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169 fatal ("ioctl I_PUSH ptem", errno); \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 fatal ("ioctl I_PUSH ldterm", errno); \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 fatal ("ioctl I_PUSH ttcompat", errno);
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
175 /* 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
176 #undef LIB_X11_LIB
2116
76df2de3dd55 * s/usg5-4.h: Changes from Eric Raymond:
Jim Blandy <jimb@redhat.com>
parents: 1868
diff changeset
177
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
178 /* 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
179 /* 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
180 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
181 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
182 linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
183 #undef LIBX10_SYSTEM
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
184 #undef LIBX11_SYSTEM
456
c0335c02f1d7 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
185
1039
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
186 /* 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
187 #define SYSV_STREAMS
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
188
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
189 /* This definition was suggested for next release.
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
190 So give it a try. */
8ab465f7a7ff *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
191 #define HAVE_SOCKETS
4336
96d3869ae231 (bzero, bcmp, bcopy): New macros.
Richard M. Stallman <rms@gnu.org>
parents: 4295
diff changeset
192
26678
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
193 /* 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
194 SINIX. */
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
195 #undef LIBS_SYSTEM
54fc79fa7000 (LIBS_SYSTEM): Add -lgen because that's needed
Gerd Moellmann <gerd@gnu.org>
parents: 26090
diff changeset
196 #define LIBS_SYSTEM -lgen
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 48457
diff changeset
197
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 48457
diff changeset
198 /* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 48457
diff changeset
199 (do not change this comment) */