00001 /*- 00002 * Copyright (c) 1991 The Regents of the University of California. 00003 * All rights reserved. 00004 * 00005 * This code is derived from software contributed to Berkeley by 00006 * Kenneth Almquist. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 1. Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 2. Redistributions in binary form must reproduce the above copyright 00014 * notice, this list of conditions and the following disclaimer in the 00015 * documentation and/or other materials provided with the distribution. 00016 * 3. All advertising materials mentioning features or use of this software 00017 * must display the following acknowledgement: 00018 * This product includes software developed by the University of 00019 * California, Berkeley and its contributors. 00020 * 4. Neither the name of the University nor the names of its contributors 00021 * may be used to endorse or promote products derived from this software 00022 * without specific prior written permission. 00023 * 00024 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 00025 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00027 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 00028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 00030 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00031 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00032 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00033 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00034 * SUCH DAMAGE. 00035 * 00036 * @(#)shell.h 5.4 (Berkeley) 4/12/91 00037 */ 00038 00039 /* 00040 * The follow should be set to reflect the type of system you have: 00041 * JOBS -> 1 if you have Berkeley job control, 0 otherwise. 00042 * SYMLINKS -> 1 if your system includes symbolic links, 0 otherwise. 00043 * DIRENT -> 1 if your system has the SVR3 directory(3X) routines. 00044 * UDIR -> 1 if you want the shell to simulate the /u directory. 00045 * TILDE -> 1 if you want the shell to expand ~logname. 00046 * USEGETPW -> 1 if getpwnam() must be used to look up a name. 00047 * ATTY -> 1 to include code for atty(1). 00048 * SHORTNAMES -> 1 if your linker cannot handle long names. 00049 * READLINE -> 1 if line editing by readline() should be enabled. 00050 * define BSD if you are running 4.2 BSD or later. 00051 * define SYSV if you are running under System V. 00052 * define DEBUG=1 to compile in debugging (set global "debug" to turn on) 00053 * define DEBUG=2 to compile in and turn on debugging. 00054 * 00055 * When debugging is on, debugging info will be written to $HOME/trace and 00056 * a quit signal will generate a core dump. 00057 */ 00058 00059 00060 #define JOBS 0 00061 00062 /* Set SYMLINKS to 0 by request of Giovanni Falzoni, who wrote the 00063 * symlink patches for Minix; email to minix-devel-l of thu 3 nov. 00064 */ 00065 00066 #if 0 00067 #define SYMLINKS defined(S_ISLNK) 00068 #else 00069 #define SYMLINKS 0 00070 #endif 00071 00072 #define DIRENT 1 00073 #define UDIR 0 00074 #define TILDE 1 00075 #define USEGETPW 0 00076 #define ATTY 0 00077 #define READLINE 1 00078 #define HASHBANG 0 00079 /* #define BSD */ 00080 #define POSIX 1 00081 #define DEBUG 0 00082 00083 #ifdef __STDC__ 00084 typedef void *pointer; 00085 #ifndef NULL 00086 #define NULL (void *)0 00087 #endif 00088 #else /* not __STDC__ */ 00089 typedef char *pointer; 00090 #ifndef NULL 00091 #define NULL 0 00092 #endif 00093 #endif /* not __STDC__ */ 00094 #define STATIC /* empty */ 00095 #define MKINIT /* empty */ 00096 00097 #include <sys/cdefs.h> 00098 #include <sys/types.h> 00099 00100 extern char nullstr[1]; /* null string */ 00101 00102 00103 #if DEBUG 00104 #define TRACE(param) trace param 00105 #else 00106 #define TRACE(param) 00107 #endif
1.4.6