Mercurial > hg > xemacs-beta
annotate src/s/usg5-4.h @ 5940:c608d4b0b75e cygwin64 tip
rescue lost branch from 64bit.backup
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Thu, 16 Dec 2021 18:48:58 +0000 |
parents | 1f0b15040456 |
children |
rev | line source |
---|---|
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 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
6 XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
7 under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
8 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
9 option) any later version. |
428 | 10 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
14 for more details. |
428 | 15 |
16 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
428 | 18 |
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
19 /* Synced up with: FSF 23.1.92. */ |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
20 /* Synced by: Ben Wing, 2-18-10. */ |
428 | 21 |
22 /* This file written by James Van Artsdalen of Dell Computer Corporation. | |
23 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric | |
24 * S. Raymond <esr@snark.thyrsus.com>. | |
25 */ | |
26 | |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
27 #define USG /* System III, System V, etc */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
28 #define USG5 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
29 #define USG5_4 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
30 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
31 /* SYSTEM_TYPE should indicate the kind of system you are using. |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
32 * It sets the Lisp variable system-type. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
33 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
34 #define SYSTEM_TYPE "usg-unix-v" |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
35 |
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
36 /* Delete HAVE_TERMIO, SYSV_SYSTEM_DIR, KERNEL_FILE, LDAV_SYMBOL, |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
37 sigsetmask, _setjmp, _longjmp, HAVE_INDEX, HAVE_RINDEX, TERMINFO, |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
38 HAVE_SYSV_SIGPAUSE, BSTRING, SIGTYPE -- not used in XEmacs or found by |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
39 configure */ |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
40 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
41 /* Letter to use in finding device name of first pty, |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
42 * if system supports pty's. 'p' means it is /dev/ptyp0 */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
43 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
44 #define FIRST_PTY_LETTER 'z' |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
45 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
46 /* define MAIL_USE_FLOCK if the mailer uses flock |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
47 * to interlock access to /usr/spool/mail/$USER. |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
48 * The alternative is that a lock file named |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
49 * /usr/spool/mail/$USER.lock. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
50 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
51 /* #define MAIL_USE_FLOCK */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
52 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
53 /* Special hacks needed to make Emacs run on this system. */ |
428 | 54 |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
55 /* On USG systems the system calls are interruptible by signals |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
56 * that the user program has elected to catch. Thus the system call |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
57 * must be retried in these cases. To handle this without massive |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
58 * changes in the source code, we remap the standard system call names |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
59 * to names for our own functions in sysdep.c that do the system call |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
60 * with retries. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
61 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
62 #define INTERRUPTIBLE_OPEN |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
63 #define INTERRUPTIBLE_IO |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
64 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
65 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
66 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
67 #define ADDR_CORRECT(x) (x) |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
68 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
69 /* Prevent -lg from being used for debugging. Not implemented? */ |
428 | 70 |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
71 #define LIBS_DEBUG |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
72 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
73 /* 5.3 apparently makes close() interruptible */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
74 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
75 #define INTERRUPTIBLE_CLOSE |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
76 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
77 /* Apparently -lg is provided in 5.3 */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
78 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
79 #undef LIBS_DEBUG |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
80 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
81 /* Enable support for shared libraries in unexec. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
82 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
83 #define USG_SHARED_LIBRARIES |
428 | 84 |
85 #define LIBS_SYSTEM "-lsocket -lnsl -lelf" | |
86 #define ORDINARY_LINK | |
87 #define LIB_STANDARD | |
88 | |
89 /* there are no -lg libraries on this system, and no libPW */ | |
90 | |
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
91 /* XEmacs deleted LIBS_DEBUG, LIB_STANDARD */ |
428 | 92 |
93 /* No <sioctl.h> */ | |
94 | |
95 #define NO_SIOCTL_H | |
96 | |
97 #define UNEXEC "unexelf.o" | |
98 | |
99 /* Get <sys/ttold.h> to get struct | |
100 * tchars. But get <termio.h> first to make sure ttold.h doesn't | |
101 * interfere. | |
102 */ | |
103 | |
104 #ifndef NOT_C_CODE | |
105 #include <sys/wait.h> | |
106 #endif | |
107 | |
108 #ifdef emacs | |
109 #include <sys/filio.h> | |
110 #include <termio.h> | |
111 #include <sys/ttold.h> | |
112 #include <sys/stream.h> | |
113 #include <sys/termios.h> | |
114 #endif | |
115 | |
116 /* This sets the name of the master side of the PTY. */ | |
117 | |
5340
9dd4559b9e9a
Try again, s/usg5-4.h, this type with qxestrcpy_ascii(), etc.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5337
diff
changeset
|
118 #define PTY_NAME_SPRINTF qxestrcpy_ascii (pty_name, "/dev/ptmx"); |
428 | 119 |
120 /* This sets the name of the slave side of the PTY. On SysVr4, | |
121 grantpt(3) forks a subprocess, so keep sigchld_handler() from | |
122 intercepting that death. If any child but grantpt's should die | |
123 within, it should be caught after EMACS_UNBLOCK_SIGNAL. */ | |
124 | |
125 /* XEmacs change */ | |
126 #ifndef NOT_C_CODE | |
127 # if !__STDC__ && !defined(STDC_HEADERS) | |
128 char *ptsname (); | |
129 # endif | |
130 #endif | |
131 | |
132 #define PTY_TTY_NAME_SPRINTF \ | |
133 { \ | |
134 char *ptyname; \ | |
135 \ | |
136 EMACS_BLOCK_SIGCHLD; \ | |
137 if (grantpt (fd) == -1) \ | |
138 { close (fd); return -1; } \ | |
139 EMACS_UNBLOCK_SIGCHLD; \ | |
140 if (unlockpt (fd) == -1) \ | |
141 { close (fd); return -1; } \ | |
142 if (!(ptyname = ptsname (fd))) \ | |
143 { close (fd); return -1; } \ | |
5340
9dd4559b9e9a
Try again, s/usg5-4.h, this type with qxestrcpy_ascii(), etc.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5337
diff
changeset
|
144 qxestrncpy_ascii (pty_name, ptyname, \ |
9dd4559b9e9a
Try again, s/usg5-4.h, this type with qxestrcpy_ascii(), etc.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5337
diff
changeset
|
145 sizeof (pty_name)); \ |
428 | 146 pty_name[sizeof (pty_name) - 1] = 0; \ |
147 } | |
148 | |
149 /* Push various streams modules onto a PTY channel. */ | |
150 | |
151 #define SETUP_SLAVE_PTY \ | |
152 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ | |
153 fatal ("ioctl I_PUSH ptem: errno %d\n", errno); \ | |
154 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ | |
155 fatal ("ioctl I_PUSH ldterm: errno %d\n", errno); \ | |
156 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ | |
157 fatal ("ioctl I_PUSH ttcompat: errno %d\n", errno); | |
158 | |
159 /* Tell x11term.c and keyboard.c we have the system V streams feature. */ | |
160 #define SYSV_STREAMS | |
161 /* On Some SysV System , w3 freeze. If freeze your xemacs , Add below definition */ | |
162 /* This definition added by Shogo Fujii(shogo@bsd1.kbnes.nec.co.jp) */ | |
163 #define PROCESS_IO_BLOCKING |