1#ifndef SHFLAGS_OPTCS
2#if defined(SHFLAGS_DEFNS)
3__RCSID("$MirOS: src/bin/mksh/sh_flags.opt,v 1.2 2014/06/09 12:28:19 tg Exp $");
4#define FN(sname,cname,flags,ochar)			static const struct {					/* character flag (if any) */			char c;						/* OF_* */					unsigned char optflags;				/* long name of option */			char name[sizeof(sname)];		} shoptione_ ## cname = {				ochar, flags, sname			};
5#elif defined(SHFLAGS_ENUMS)
6#define FN(sname,cname,flags,ochar)	cname,
7#define F0(sname,cname,flags,ochar)	cname = 0,
8#elif defined(SHFLAGS_ITEMS)
9#define FN(sname,cname,flags,ochar)		((const char *)(&shoptione_ ## cname)) + 2,
10#endif
11#ifndef F0
12#define F0 FN
13#endif
14F0("allexport", FEXPORT, OF_ANY, 'a')
15#if HAVE_NICE
16FN("bgnice", FBGNICE, OF_ANY, 0)
17#endif
18FN("braceexpand", FBRACEEXPAND, OF_ANY, 0)
19#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
20FN("emacs", FEMACS, OF_ANY, 0)
21#endif
22FN("errexit", FERREXIT, OF_ANY, 'e')
23#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
24FN("gmacs", FGMACS, OF_ANY, 0)
25#endif
26FN("ignoreeof", FIGNOREEOF, OF_ANY, 0)
27FN("inherit-xtrace", FXTRACEREC, OF_ANY, 0)
28#ifndef SHFLAGS_NOT_CMD
29FN("interactive", FTALKING, OF_CMDLINE, 'i')
30#endif
31FN("keyword", FKEYWORD, OF_ANY, 'k')
32#ifndef SHFLAGS_NOT_CMD
33FN("login", FLOGIN, OF_CMDLINE, 'l')
34#endif
35FN("markdirs", FMARKDIRS, OF_ANY, 'X')
36#ifndef MKSH_UNEMPLOYED
37FN("monitor", FMONITOR, OF_ANY, 'm')
38#endif
39FN("noclobber", FNOCLOBBER, OF_ANY, 'C')
40FN("noexec", FNOEXEC, OF_ANY, 'n')
41FN("noglob", FNOGLOB, OF_ANY, 'f')
42FN("nohup", FNOHUP, OF_ANY, 0)
43FN("nolog", FNOLOG, OF_ANY, 0)
44#ifndef MKSH_UNEMPLOYED
45FN("notify", FNOTIFY, OF_ANY, 'b')
46#endif
47FN("nounset", FNOUNSET, OF_ANY, 'u')
48FN("physical", FPHYSICAL, OF_ANY, 0)
49FN("pipefail", FPIPEFAIL, OF_ANY, 0)
50FN("posix", FPOSIX, OF_ANY, 0)
51FN("privileged", FPRIVILEGED, OF_ANY, 'p')
52#ifndef SHFLAGS_NOT_CMD
53FN("restricted", FRESTRICTED, OF_CMDLINE, 'r')
54#endif
55FN("sh", FSH, OF_ANY, 0)
56#ifndef SHFLAGS_NOT_CMD
57FN("stdin", FSTDIN, OF_CMDLINE, 's')
58#endif
59FN("trackall", FTRACKALL, OF_ANY, 'h')
60FN("utf8-mode", FUNICODE, OF_ANY, 'U')
61FN("verbose", FVERBOSE, OF_ANY, 'v')
62#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
63FN("vi", FVI, OF_ANY, 0)
64#endif
65#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
66FN("vi-esccomplete", FVIESCCOMPLETE, OF_ANY, 0)
67#endif
68#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
69FN("vi-tabcomplete", FVITABCOMPLETE, OF_ANY, 0)
70#endif
71#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
72FN("viraw", FVIRAW, OF_ANY, 0)
73#endif
74FN("xtrace", FXTRACE, OF_ANY, 'x')
75#ifndef SHFLAGS_NOT_CMD
76FN("", FCOMMAND, OF_CMDLINE, 'c')
77#endif
78FN("", FAS_BUILTIN, OF_INTERNAL, 0)
79FN("", FTALKING_I, OF_INTERNAL, 0)
80#undef F0
81#undef FN
82#undef SHFLAGS_DEFNS
83#undef SHFLAGS_ENUMS
84#undef SHFLAGS_ITEMS
85#else
86#ifndef SHFLAGS_NOT_SET
87"A:"
88#endif
89"a"
90#ifndef MKSH_UNEMPLOYED
91"b"
92#endif
93"C"
94#ifndef SHFLAGS_NOT_CMD
95"c"
96#endif
97"e"
98"f"
99"h"
100#ifndef SHFLAGS_NOT_CMD
101"i"
102#endif
103"k"
104#ifndef SHFLAGS_NOT_CMD
105"l"
106#endif
107#ifndef MKSH_UNEMPLOYED
108"m"
109#endif
110"n"
111#ifndef SHFLAGS_NOT_CMD
112"o:"
113#endif
114#ifndef SHFLAGS_NOT_SET
115"o;"
116#endif
117"p"
118#ifndef SHFLAGS_NOT_CMD
119"r"
120#endif
121#ifndef SHFLAGS_NOT_CMD
122"s"
123#endif
124#ifndef SHFLAGS_NOT_SET
125"s"
126#endif
127#ifndef SHFLAGS_NOT_CMD
128"T:"
129#endif
130"U"
131"u"
132"v"
133"X"
134"x"
135#undef SHFLAGS_OPTCS
136#endif
137