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