1*4887Schin /*********************************************************************** 2*4887Schin * * 3*4887Schin * This software is part of the ast package * 4*4887Schin * Copyright (c) 1982-2007 AT&T Knowledge Ventures * 5*4887Schin * and is licensed under the * 6*4887Schin * Common Public License, Version 1.0 * 7*4887Schin * by AT&T Knowledge Ventures * 8*4887Schin * * 9*4887Schin * A copy of the License is available at * 10*4887Schin * http://www.opensource.org/licenses/cpl1.0.txt * 11*4887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 12*4887Schin * * 13*4887Schin * Information and Software Systems Research * 14*4887Schin * AT&T Research * 15*4887Schin * Florham Park NJ * 16*4887Schin * * 17*4887Schin * David Korn <dgk@research.att.com> * 18*4887Schin * * 19*4887Schin ***********************************************************************/ 20*4887Schin #pragma prototyped 21*4887Schin 22*4887Schin #include <defs.h> 23*4887Schin #include "FEATURE/options" 24*4887Schin #include "name.h" 25*4887Schin #include "shtable.h" 26*4887Schin 27*4887Schin #if SHOPT_BASH 28*4887Schin # define bashopt(a,b) a, b|SH_BASHOPT, 29*4887Schin # define bashextra(a,b) a, b|SH_BASHEXTRA, 30*4887Schin #else 31*4887Schin # define bashopt(a,b) 32*4887Schin # define bashextra(a,b) 33*4887Schin #endif 34*4887Schin 35*4887Schin /* 36*4887Schin * This is the list of invocation and set options 37*4887Schin * This list must be in in ascii sorted order 38*4887Schin */ 39*4887Schin 40*4887Schin const Shtable_t shtab_options[] = 41*4887Schin { 42*4887Schin "allexport", SH_ALLEXPORT, 43*4887Schin #if SHOPT_BASH 44*4887Schin "bash", (SH_BASH|SH_COMMANDLINE), 45*4887Schin #endif 46*4887Schin "bgnice", SH_BGNICE, 47*4887Schin "braceexpand", SH_BRACEEXPAND, 48*4887Schin bashopt("cdable_vars", SH_CDABLE_VARS) 49*4887Schin bashopt("cdspell", SH_CDSPELL) 50*4887Schin bashopt("checkhash", SH_CHECKHASH) 51*4887Schin bashopt("checkwinsize", SH_CHECKWINSIZE) 52*4887Schin "noclobber", SH_NOCLOBBER, 53*4887Schin bashopt("dotglob", SH_DOTGLOB) 54*4887Schin "emacs", SH_EMACS, 55*4887Schin "errexit", SH_ERREXIT, 56*4887Schin "noexec", SH_NOEXEC, 57*4887Schin bashopt("execfail", SH_EXECFAIL) 58*4887Schin bashopt("expand_aliases", SH_EXPAND_ALIASES) 59*4887Schin bashopt("extglob", SH_EXTGLOB) 60*4887Schin "noglob", SH_NOGLOB, 61*4887Schin "globstar", SH_GLOBSTARS, 62*4887Schin "gmacs", SH_GMACS, 63*4887Schin bashextra("hashall", SH_TRACKALL) 64*4887Schin bashopt("histappend", SH_HISTAPPEND) 65*4887Schin #if SHOPT_HISTEXPAND 66*4887Schin "histexpand", SH_HISTEXPAND, 67*4887Schin #else 68*4887Schin bashextra("histexpand", SH_HISTEXPAND) 69*4887Schin #endif 70*4887Schin bashextra("history", SH_HISTORY2) 71*4887Schin bashopt("histreedit", SH_HISTREEDIT) 72*4887Schin bashopt("histverify", SH_HISTVERIFY) 73*4887Schin bashopt("hostcomplete", SH_HOSTCOMPLETE) 74*4887Schin bashopt("huponexit", SH_HUPONEXIT) 75*4887Schin "ignoreeof", SH_IGNOREEOF, 76*4887Schin "interactive", SH_INTERACTIVE|SH_COMMANDLINE, 77*4887Schin bashextra("interactive_comments", SH_INTERACTIVE_COMM) 78*4887Schin "keyword", SH_KEYWORD, 79*4887Schin bashopt("lithist", SH_LITHIST) 80*4887Schin "nolog", SH_NOLOG, 81*4887Schin "login_shell", SH_LOGIN_SHELL|SH_COMMANDLINE, 82*4887Schin bashopt("mailwarn", SH_MAILWARN) 83*4887Schin "markdirs", SH_MARKDIRS, 84*4887Schin "monitor", SH_MONITOR, 85*4887Schin "multiline", SH_MULTILINE, 86*4887Schin bashopt("no_empty_cmd_completion", SH_NOEMPTYCMDCOMPL) 87*4887Schin bashopt("nocaseglob", SH_NOCASEGLOB) 88*4887Schin "notify", SH_NOTIFY, 89*4887Schin bashopt("nullglob", SH_NULLGLOB) 90*4887Schin bashextra("onecmd", SH_TFLAG) 91*4887Schin "pipefail", SH_PIPEFAIL, 92*4887Schin bashextra("physical", SH_PHYSICAL) 93*4887Schin bashextra("posix", SH_POSIX) 94*4887Schin "privileged", SH_PRIVILEGED, 95*4887Schin #if SHOPT_PFSH 96*4887Schin "profile", SH_PFSH|SH_COMMANDLINE, 97*4887Schin #endif 98*4887Schin bashopt("progcomp", SH_PROGCOMP) 99*4887Schin bashopt("promptvars", SH_PROMPTVARS) 100*4887Schin "rc", SH_RC|SH_COMMANDLINE, 101*4887Schin "restricted", SH_RESTRICTED, 102*4887Schin bashopt("restricted_shell", SH_RESTRICTED2|SH_COMMANDLINE) 103*4887Schin bashopt("shift_verbose", SH_SHIFT_VERBOSE) 104*4887Schin "showme", SH_SHOWME, 105*4887Schin bashopt("sourcepath", SH_SOURCEPATH) 106*4887Schin "trackall", SH_TRACKALL, 107*4887Schin "nounset", SH_NOUNSET, 108*4887Schin "verbose", SH_VERBOSE, 109*4887Schin "vi", SH_VI, 110*4887Schin "viraw", SH_VIRAW, 111*4887Schin bashopt("xpg_echo", SH_XPG_ECHO) 112*4887Schin "xtrace", SH_XTRACE, 113*4887Schin "", 0 114*4887Schin }; 115*4887Schin 116*4887Schin const Shtable_t shtab_attributes[] = 117*4887Schin { 118*4887Schin {"-nnameref", NV_REF}, 119*4887Schin {"-xexport", NV_EXPORT}, 120*4887Schin {"-rreadonly", NV_RDONLY}, 121*4887Schin {"-ttagged", NV_TAGGED}, 122*4887Schin {"-llong", (NV_INTEGER|NV_DOUBLE|NV_LONG)}, 123*4887Schin {"-Eexponential",(NV_INTEGER|NV_DOUBLE|NV_EXPNOTE)}, 124*4887Schin {"-Ffloat", (NV_INTEGER|NV_DOUBLE)}, 125*4887Schin {"-llong", (NV_INTEGER|NV_LONG)}, 126*4887Schin {"-sshort", (NV_INTEGER|NV_SHORT)}, 127*4887Schin {"-uunsigned", (NV_INTEGER|NV_UNSIGN)}, 128*4887Schin {"-iinteger", NV_INTEGER}, 129*4887Schin {"-Hfilename", NV_HOST}, 130*4887Schin {"-bbinary", NV_BINARY}, 131*4887Schin {"-llowercase", NV_UTOL}, 132*4887Schin {"-Zzerofill", NV_ZFILL}, 133*4887Schin {"-Lleftjust", NV_LJUST}, 134*4887Schin {"-Rrightjust", NV_RJUST}, 135*4887Schin {"-uuppercase", NV_LTOU}, 136*4887Schin {"-Aassociative array", NV_ARRAY}, 137*4887Schin {"-aindexed array", NV_ARRAY}, 138*4887Schin {"++namespace", NV_TABLE}, 139*4887Schin {"", 0} 140*4887Schin }; 141