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