1/* Header file for Harris CXUX. 2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 3 2006, 2007 Free Software Foundation, Inc. 4 5This file is part of GNU Emacs. 6 7GNU Emacs is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 2, or (at your option) 10any later version. 11 12GNU Emacs is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GNU Emacs; see the file COPYING. If not, write to 19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20Boston, MA 02110-1301, USA. */ 21 22 23/* 24 * Define symbols to identify the version of Unix this is. 25 * Define all the symbols that apply correctly. 26 */ 27 28/* #define UNIPLUS */ 29#define USG5 30#define USG 31/* #define HPUX */ 32/* #define UMAX */ 33/* #define BSD4_1 */ 34/* #define BSD4_2 */ 35/* #define BSD4_3 */ 36/* #define BSD_SYSTEM */ 37/* #define VMS */ 38 39#ifndef _CX_UX 40#define _CX_UX 1 41#endif 42 43/* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced 44 * support for ELF files, and while we still build emacs in COFF format, the 45 * way it is linked is different for 7.0). 46 */ 47/* #define USING_CX_UX_7 */ 48 49#ifdef USING_CX_UX_7 50#define LINKER /usr/sde/coff/usr/bin/ld 51#define LD_SWITCH_SYSTEM -L/usr/sde/coff/usr/lib -zzero_word 52#define START_FILES pre-crt0.o /usr/sde/coff/usr/lib/crt0.o /usr/sde/coff/usr/lib/m88100.o 53#else /* !USING_CX_UX_7 */ 54#ifdef _M88K 55#define START_FILES pre-crt0.o /lib/crt0.o 56#else 57#define START_FILES cxux-crt0.o /lib/crt0.o 58#endif 59#endif /* USING_CX_UX_7 */ 60 61/* SYSTEM_TYPE should indicate the kind of system you are using. 62 It sets the Lisp variable system-type. */ 63 64#define SYSTEM_TYPE "usg-unix-v" 65 66#define C_SWITCH_SYSTEM -Xa 67 68#define POSIX_SIGNALS 69 70/* With POSIX signals, also need to use sigaction rather than signal to 71 * setup signal handlers 72 */ 73#define signal sys_signal 74 75/* NOMULTIPLEJOBS should be defined if your system's shell 76 does not have "job control" (the ability to stop a program, 77 run some other program, then continue the first one). */ 78 79/* #define NOMULTIPLEJOBS */ 80 81/* Emacs can read input using SIGIO and buffering characters itself, 82 or using CBREAK mode and making C-g cause SIGINT. 83 The choice is controlled by the variable interrupt_input. 84 85 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) 86 87 Emacs uses the presence or absence of the SIGIO macro to indicate 88 whether or not signal-driven I/O is possible. It uses 89 INTERRUPT_INPUT to decide whether to use it by default. 90 91 SIGIO can be used only on systems that implement it (4.2 and 4.3). 92 CBREAK mode has two disadvantages 93 1) At least in 4.2, it is impossible to handle the Meta key properly. 94 I hear that in system V this problem does not exist. 95 2) Control-G causes output to be discarded. 96 I do not know whether this can be fixed in system V. 97 98 Another method of doing input is planned but not implemented. 99 It would have Emacs fork off a separate process 100 to read the input and send it to the true Emacs process 101 through a pipe. */ 102 103#define INTERRUPT_INPUT 104/* #define BROKEN_FIONREAD */ 105 106/* Letter to use in finding device name of first pty, 107 if system supports pty's. 'a' means it is /dev/ptya0 */ 108 109#define FIRST_PTY_LETTER 'A' 110#define PTY_ITERATION for (c = 'A'; c <= 'P'; c++) for (i = 0; i < 16; i++) 111 112/* 113 * Define HAVE_TERMIOS if the system provides POSIX-style 114 * functions and macros for terminal control. 115 * 116 * Define HAVE_TERMIO if the system provides sysV-style ioctls 117 * for terminal control. 118 * 119 * Do not define both. HAVE_TERMIOS is preferred, if it is 120 * supported on your system. 121 */ 122 123#define HAVE_TERMIOS 124/* #define HAVE_TERMIO */ 125#define NO_TERMIO 126 127/* 128 * Define HAVE_PTYS if the system supports pty devices. 129 */ 130 131#define HAVE_PTYS 132 133/* 134 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate 135 * The 4.2 opendir, etc., library functions. 136 */ 137 138/* #define NONSYSTEM_DIR_LIBRARY */ 139 140#define SYSV_SYSTEM_DIR 141 142/* Define this symbol if your system has the functions bcopy, etc. */ 143 144#define BSTRING 145 146/* subprocesses should be defined if you want to 147 have code for asynchronous subprocesses 148 (as used in M-x compile and M-x shell). 149 This is generally OS dependent, and not supported 150 under most USG systems. */ 151 152#define subprocesses 153 154/* If your system uses COFF (Common Object File Format) then define the 155 preprocessor symbol "COFF". */ 156 157#define COFF 158 159/* define MAIL_USE_FLOCK if the mailer uses flock 160 to interlock access to /usr/spool/mail/$USER. 161 The alternative is that a lock file named 162 /usr/spool/mail/$USER.lock. */ 163 164#define MAIL_USE_FLOCK 165 166/* Define CLASH_DETECTION if you want lock files to be written 167 so that Emacs can tell instantly when you try to modify 168 a file that someone else has modified in his Emacs. */ 169 170#define CLASH_DETECTION 171 172/* Define this if your operating system declares signal handlers to 173 have a type other than the usual. `The usual' is `void' for ANSI C 174 systems (i.e. when the __STDC__ macro is defined), and `int' for 175 pre-ANSI systems. If you're using GCC on an older system, __STDC__ 176 will be defined, but the system's include files will still say that 177 signal returns int or whatever; in situations like that, define 178 this to be what the system's include files want. */ 179/* #define SIGTYPE int */ 180#define SIGTYPE void 181 182/* If the character used to separate elements of the executable path 183 is not ':', #define this to be the appropriate character constant. */ 184/* #define SEPCHAR ':' */ 185 186/* Here, on a separate page, add any special hacks needed 187 to make Emacs work on this system. For example, 188 you might define certain system call names that don't 189 exist on your system, or that do different things on 190 your system and must be used only through an encapsulation 191 (Which you should place, by convention, in sysdep.c). */ 192 193/* Yes! The Night Hawk has sockets! */ 194 195#define HAVE_SOCKETS 196 197/* The symbol in the kernel where the load average is found 198 is named _avenrun. */ 199 200#define LDAV_SYMBOL "_avenrun" 201 202#define KERNEL_FILE "/unix" 203 204/* There are too many kludges required to redefine malloc - use the system 205 one */ 206#define SYSTEM_MALLOC 207 208#define _setjmp setjmp 209#define _longjmp longjmp 210 211/* const really does work, but I can't get configure to run the C compiler 212 * with the right options so it figures that out. 213 */ 214#undef const 215 216#ifdef sigmask 217#undef sigmask 218#endif 219 220/* 221 * <pwd.h> already declares getpwuid, and with a uid_t argument in ANSI C 222 * mode. Define this so xrdb.c will compile 223 */ 224#ifdef __STDC__ 225#define DECLARE_GETPWUID_WITH_UID_T 226#endif 227 228/* Some compilers tend to put everything declared static 229 into the initialized data area, which becomes pure after dumping Emacs. 230 On these systems, you must #define static as nothing to foil this. 231 Note that emacs carefully avoids static vars inside functions. */ 232 233/* #define static */ 234 235/* arch-tag: 5febe5fe-f0b0-49cb-9280-9d5a9fa43710 236 (do not change this comment) */ 237