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