14887Schin /*********************************************************************** 24887Schin * * 34887Schin * This software is part of the ast package * 4*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1982-2010 AT&T Intellectual Property * 54887Schin * and is licensed under the * 64887Schin * Common Public License, Version 1.0 * 78462SApril.Chin@Sun.COM * by AT&T Intellectual Property * 84887Schin * * 94887Schin * A copy of the License is available at * 104887Schin * http://www.opensource.org/licenses/cpl1.0.txt * 114887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 124887Schin * * 134887Schin * Information and Software Systems Research * 144887Schin * AT&T Research * 154887Schin * Florham Park NJ * 164887Schin * * 174887Schin * David Korn <dgk@research.att.com> * 184887Schin * * 194887Schin ***********************************************************************/ 204887Schin #pragma prototyped 214887Schin 22*12068SRoger.Faulkner@Oracle.COM #include "defs.h" 234887Schin #include "name.h" 244887Schin #include "shtable.h" 254887Schin 264887Schin #if SHOPT_BASH 278462SApril.Chin@Sun.COM # define bashopt(a,b) a, b|SH_BASHOPT, 284887Schin # define bashextra(a,b) a, b|SH_BASHEXTRA, 294887Schin #else 304887Schin # define bashopt(a,b) 314887Schin # define bashextra(a,b) 324887Schin #endif 334887Schin 344887Schin /* 354887Schin * This is the list of invocation and set options 364887Schin * This list must be in in ascii sorted order 374887Schin */ 384887Schin 394887Schin const Shtable_t shtab_options[] = 404887Schin { 414887Schin "allexport", SH_ALLEXPORT, 424887Schin #if SHOPT_BASH 434887Schin "bash", (SH_BASH|SH_COMMANDLINE), 444887Schin #endif 454887Schin "bgnice", SH_BGNICE, 464887Schin "braceexpand", SH_BRACEEXPAND, 474887Schin bashopt("cdable_vars", SH_CDABLE_VARS) 484887Schin bashopt("cdspell", SH_CDSPELL) 494887Schin bashopt("checkhash", SH_CHECKHASH) 504887Schin bashopt("checkwinsize", SH_CHECKWINSIZE) 514887Schin "noclobber", SH_NOCLOBBER, 524887Schin bashopt("dotglob", SH_DOTGLOB) 534887Schin "emacs", SH_EMACS, 544887Schin "errexit", SH_ERREXIT, 554887Schin "noexec", SH_NOEXEC, 564887Schin bashopt("execfail", SH_EXECFAIL) 574887Schin bashopt("expand_aliases", SH_EXPAND_ALIASES) 584887Schin bashopt("extglob", SH_EXTGLOB) 594887Schin "noglob", SH_NOGLOB, 604887Schin "globstar", SH_GLOBSTARS, 614887Schin "gmacs", SH_GMACS, 624887Schin bashextra("hashall", SH_TRACKALL) 634887Schin bashopt("histappend", SH_HISTAPPEND) 644887Schin #if SHOPT_HISTEXPAND 654887Schin "histexpand", SH_HISTEXPAND, 664887Schin #else 674887Schin bashextra("histexpand", SH_HISTEXPAND) 684887Schin #endif 694887Schin bashextra("history", SH_HISTORY2) 704887Schin bashopt("histreedit", SH_HISTREEDIT) 714887Schin bashopt("histverify", SH_HISTVERIFY) 724887Schin bashopt("hostcomplete", SH_HOSTCOMPLETE) 734887Schin bashopt("huponexit", SH_HUPONEXIT) 744887Schin "ignoreeof", SH_IGNOREEOF, 754887Schin "interactive", SH_INTERACTIVE|SH_COMMANDLINE, 764887Schin bashextra("interactive_comments", SH_INTERACTIVE_COMM) 774887Schin "keyword", SH_KEYWORD, 784887Schin bashopt("lithist", SH_LITHIST) 794887Schin "nolog", SH_NOLOG, 804887Schin "login_shell", SH_LOGIN_SHELL|SH_COMMANDLINE, 814887Schin bashopt("mailwarn", SH_MAILWARN) 824887Schin "markdirs", SH_MARKDIRS, 834887Schin "monitor", SH_MONITOR, 844887Schin "multiline", SH_MULTILINE, 854887Schin bashopt("no_empty_cmd_completion", SH_NOEMPTYCMDCOMPL) 864887Schin bashopt("nocaseglob", SH_NOCASEGLOB) 874887Schin "notify", SH_NOTIFY, 884887Schin bashopt("nullglob", SH_NULLGLOB) 894887Schin bashextra("onecmd", SH_TFLAG) 904887Schin "pipefail", SH_PIPEFAIL, 914887Schin bashextra("physical", SH_PHYSICAL) 924887Schin bashextra("posix", SH_POSIX) 934887Schin "privileged", SH_PRIVILEGED, 948462SApril.Chin@Sun.COM #if SHOPT_BASH 958462SApril.Chin@Sun.COM "profile", SH_LOGIN_SHELL|SH_COMMANDLINE, 968462SApril.Chin@Sun.COM # if SHOPT_PFSH 978462SApril.Chin@Sun.COM "pfsh", SH_PFSH|SH_COMMANDLINE, 988462SApril.Chin@Sun.COM # endif 998462SApril.Chin@Sun.COM #else 1008462SApril.Chin@Sun.COM # if SHOPT_PFSH 1014887Schin "profile", SH_PFSH|SH_COMMANDLINE, 1028462SApril.Chin@Sun.COM # endif 1034887Schin #endif 1044887Schin bashopt("progcomp", SH_PROGCOMP) 1054887Schin bashopt("promptvars", SH_PROMPTVARS) 1064887Schin "rc", SH_RC|SH_COMMANDLINE, 1074887Schin "restricted", SH_RESTRICTED, 1084887Schin bashopt("restricted_shell", SH_RESTRICTED2|SH_COMMANDLINE) 1094887Schin bashopt("shift_verbose", SH_SHIFT_VERBOSE) 1104887Schin "showme", SH_SHOWME, 1114887Schin bashopt("sourcepath", SH_SOURCEPATH) 1124887Schin "trackall", SH_TRACKALL, 1134887Schin "nounset", SH_NOUNSET, 1144887Schin "verbose", SH_VERBOSE, 1154887Schin "vi", SH_VI, 1164887Schin "viraw", SH_VIRAW, 1174887Schin bashopt("xpg_echo", SH_XPG_ECHO) 1184887Schin "xtrace", SH_XTRACE, 1194887Schin "", 0 1204887Schin }; 1214887Schin 1224887Schin const Shtable_t shtab_attributes[] = 1234887Schin { 1248462SApril.Chin@Sun.COM {"-Sshared", NV_REF|NV_TAGGED}, 1254887Schin {"-nnameref", NV_REF}, 1264887Schin {"-xexport", NV_EXPORT}, 1274887Schin {"-rreadonly", NV_RDONLY}, 1284887Schin {"-ttagged", NV_TAGGED}, 12910898Sroland.mainz@nrubsig.org {"-Aassociative array", NV_ARRAY}, 13010898Sroland.mainz@nrubsig.org {"-aindexed array", NV_ARRAY}, 1318462SApril.Chin@Sun.COM {"-llong", (NV_DOUBLE|NV_LONG)}, 1328462SApril.Chin@Sun.COM {"-Eexponential",(NV_DOUBLE|NV_EXPNOTE)}, 1338462SApril.Chin@Sun.COM {"-Xhexfloat", (NV_DOUBLE|NV_HEXFLOAT)}, 1348462SApril.Chin@Sun.COM {"-Ffloat", NV_DOUBLE}, 1354887Schin {"-llong", (NV_INTEGER|NV_LONG)}, 1364887Schin {"-sshort", (NV_INTEGER|NV_SHORT)}, 1374887Schin {"-uunsigned", (NV_INTEGER|NV_UNSIGN)}, 1384887Schin {"-iinteger", NV_INTEGER}, 1394887Schin {"-Hfilename", NV_HOST}, 1404887Schin {"-bbinary", NV_BINARY}, 1414887Schin {"-llowercase", NV_UTOL}, 1424887Schin {"-Zzerofill", NV_ZFILL}, 1434887Schin {"-Lleftjust", NV_LJUST}, 1444887Schin {"-Rrightjust", NV_RJUST}, 1454887Schin {"-uuppercase", NV_LTOU}, 1464887Schin {"++namespace", NV_TABLE}, 1474887Schin {"", 0} 1484887Schin }; 149