/* Definitions file for XEmacs running on AT&T's System V Release 4 Copyright (C) 1987, 1990 Free Software Foundation, Inc. This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see . */ /* Synced up with: FSF 23.1.92. */ /* Synced by: Ben Wing, 2-18-10. */ /* This file written by James Van Artsdalen of Dell Computer Corporation. * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric * S. Raymond . */ #define USG /* System III, System V, etc */ #define USG5 #define USG5_4 /* SYSTEM_TYPE should indicate the kind of system you are using. * It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "usg-unix-v" /* Delete HAVE_TERMIO, SYSV_SYSTEM_DIR, KERNEL_FILE, LDAV_SYMBOL, sigsetmask, _setjmp, _longjmp, HAVE_INDEX, HAVE_RINDEX, TERMINFO, HAVE_SYSV_SIGPAUSE, BSTRING, SIGTYPE -- not used in XEmacs or found by configure */ /* Letter to use in finding device name of first pty, * if system supports pty's. 'p' means it is /dev/ptyp0 */ #define FIRST_PTY_LETTER 'z' /* define MAIL_USE_FLOCK if the mailer uses flock * to interlock access to /usr/spool/mail/$USER. * The alternative is that a lock file named * /usr/spool/mail/$USER.lock. */ /* #define MAIL_USE_FLOCK */ /* Special hacks needed to make Emacs run on this system. */ /* On USG systems the system calls are interruptible by signals * that the user program has elected to catch. Thus the system call * must be retried in these cases. To handle this without massive * changes in the source code, we remap the standard system call names * to names for our own functions in sysdep.c that do the system call * with retries. */ #define INTERRUPTIBLE_OPEN #define INTERRUPTIBLE_IO /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ #define ADDR_CORRECT(x) (x) /* Prevent -lg from being used for debugging. Not implemented? */ #define LIBS_DEBUG /* 5.3 apparently makes close() interruptible */ #define INTERRUPTIBLE_CLOSE /* Apparently -lg is provided in 5.3 */ #undef LIBS_DEBUG /* Enable support for shared libraries in unexec. */ #define USG_SHARED_LIBRARIES #define LIBS_SYSTEM "-lsocket -lnsl -lelf" #define ORDINARY_LINK #define LIB_STANDARD /* there are no -lg libraries on this system, and no libPW */ /* XEmacs deleted LIBS_DEBUG, LIB_STANDARD */ /* No */ #define NO_SIOCTL_H #define UNEXEC "unexelf.o" /* Get to get struct * tchars. But get first to make sure ttold.h doesn't * interfere. */ #ifndef NOT_C_CODE #include #endif #ifdef emacs #include #include #include #include #include #endif /* This sets the name of the master side of the PTY. */ #define PTY_NAME_SPRINTF qxestrcpy_ascii (pty_name, "/dev/ptmx"); /* This sets the name of the slave side of the PTY. On SysVr4, grantpt(3) forks a subprocess, so keep sigchld_handler() from intercepting that death. If any child but grantpt's should die within, it should be caught after EMACS_UNBLOCK_SIGNAL. */ /* XEmacs change */ #ifndef NOT_C_CODE # if !__STDC__ && !defined(STDC_HEADERS) char *ptsname (); # endif #endif #define PTY_TTY_NAME_SPRINTF \ { \ char *ptyname; \ \ EMACS_BLOCK_SIGCHLD; \ if (grantpt (fd) == -1) \ { close (fd); return -1; } \ EMACS_UNBLOCK_SIGCHLD; \ if (unlockpt (fd) == -1) \ { close (fd); return -1; } \ if (!(ptyname = ptsname (fd))) \ { close (fd); return -1; } \ qxestrncpy_ascii (pty_name, ptyname, \ sizeof (pty_name)); \ pty_name[sizeof (pty_name) - 1] = 0; \ } /* Push various streams modules onto a PTY channel. */ #define SETUP_SLAVE_PTY \ if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ fatal ("ioctl I_PUSH ptem: errno %d\n", errno); \ if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ fatal ("ioctl I_PUSH ldterm: errno %d\n", errno); \ if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ fatal ("ioctl I_PUSH ttcompat: errno %d\n", errno); /* Tell x11term.c and keyboard.c we have the system V streams feature. */ #define SYSV_STREAMS /* On Some SysV System , w3 freeze. If freeze your xemacs , Add below definition */ /* This definition added by Shogo Fujii(shogo@bsd1.kbnes.nec.co.jp) */ #define PROCESS_IO_BLOCKING