1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
#if defined(SHFLAGS_DEFNS)
__RCSID("$MirOS: src/bin/mksh/sh_flags.h,v 1.12 2012/06/28 20:14:17 tg Exp $");
#define FN(sname,cname,ochar,flags) /* nothing */
#elif defined(SHFLAGS_ENUMS)
#define FN(sname,cname,ochar,flags) cname,
#define F0(sname,cname,ochar,flags) cname = 0,
#elif defined(SHFLAGS_ITEMS)
#define FN(sname,cname,ochar,flags) { sname, ochar, flags },
#endif
#ifndef F0
#define F0 FN
#endif
/*
* special cases (see parse_args()): -A, -o, -s
*
* options are sorted by their longnames
*/
/* -a all new parameters are created with the export attribute */
F0("allexport", FEXPORT, 'a', OF_ANY)
#if HAVE_NICE
/* ./. bgnice */
FN("bgnice", FBGNICE, 0, OF_ANY)
#endif
/* ./. enable {} globbing (non-standard) */
FN("braceexpand", FBRACEEXPAND, 0, OF_ANY)
#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
/* ./. Emacs command line editing mode */
FN("emacs", FEMACS, 0, OF_ANY)
#endif
/* -e quit on error */
FN("errexit", FERREXIT, 'e', OF_ANY)
#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
/* ./. Emacs command line editing mode, gmacs variant */
FN("gmacs", FGMACS, 0, OF_ANY)
#endif
/* ./. reading EOF does not exit */
FN("ignoreeof", FIGNOREEOF, 0, OF_ANY)
/* -i interactive shell */
FN("interactive", FTALKING, 'i', OF_CMDLINE)
/* -k name=value are recognised anywhere */
FN("keyword", FKEYWORD, 'k', OF_ANY)
/* -l login shell */
FN("login", FLOGIN, 'l', OF_CMDLINE)
/* -X mark dirs with / in file name completion */
FN("markdirs", FMARKDIRS, 'X', OF_ANY)
#ifndef MKSH_UNEMPLOYED
/* -m job control monitoring */
FN("monitor", FMONITOR, 'm', OF_ANY)
#endif
/* -C don't overwrite existing files */
FN("noclobber", FNOCLOBBER, 'C', OF_ANY)
/* -n don't execute any commands */
FN("noexec", FNOEXEC, 'n', OF_ANY)
/* -f don't do file globbing */
FN("noglob", FNOGLOB, 'f', OF_ANY)
/* ./. don't kill running jobs when login shell exits */
FN("nohup", FNOHUP, 0, OF_ANY)
/* ./. don't save functions in history (no effect) */
FN("nolog", FNOLOG, 0, OF_ANY)
#ifndef MKSH_UNEMPLOYED
/* -b asynchronous job completion notification */
FN("notify", FNOTIFY, 'b', OF_ANY)
#endif
/* -u using an unset variable is an error */
FN("nounset", FNOUNSET, 'u', OF_ANY)
/* ./. don't do logical cds/pwds (non-standard) */
FN("physical", FPHYSICAL, 0, OF_ANY)
/* ./. pdksh compat: somewhat more POSIXish mode (non-standard) */
FN("posix", FPOSIX, 0, OF_ANY)
/* -p use suid_profile; privileged shell */
FN("privileged", FPRIVILEGED, 'p', OF_ANY)
/* -r restricted shell */
FN("restricted", FRESTRICTED, 'r', OF_CMDLINE)
/* ./. pdksh compat: called as sh not mksh; kludge mode (non-standard) */
FN("sh", FSH, 0, OF_ANY)
/* -s (invocation) parse stdin (pseudo non-standard) */
FN("stdin", FSTDIN, 's', OF_CMDLINE)
/* -h create tracked aliases for all commands */
FN("trackall", FTRACKALL, 'h', OF_ANY)
/* -U enable UTF-8 processing (non-standard) */
FN("utf8-mode", FUNICODE, 'U', OF_ANY)
/* -v echo input */
FN("verbose", FVERBOSE, 'v', OF_ANY)
#if !defined(MKSH_NO_CMDLINE_EDITING) || defined(MKSH_LEGACY_MODE)
/* ./. Vi command line editing mode */
FN("vi", FVI, 0, OF_ANY)
/* ./. enable ESC as file name completion character (non-standard) */
FN("vi-esccomplete", FVIESCCOMPLETE, 0, OF_ANY)
/* ./. enable Tab as file name completion character (non-standard) */
FN("vi-tabcomplete", FVITABCOMPLETE, 0, OF_ANY)
/* ./. always read in raw mode (no effect) */
FN("viraw", FVIRAW, 0, OF_ANY)
#endif
/* -x execution trace (display commands as they are run) */
FN("xtrace", FXTRACE, 'x', OF_ANY)
/* -c (invocation) execute specified command */
FN(NULL, FCOMMAND, 'c', OF_CMDLINE)
/*
* anonymous flags: used internally by shell only (not visible to user)
*/
/* ./. direct builtin call (divined from argv[0] multi-call binary) */
FN(NULL, FAS_BUILTIN, 0, OF_INTERNAL)
/* ./. (internal) initial shell was interactive */
FN(NULL, FTALKING_I, 0, OF_INTERNAL)
#undef FN
#undef F0
#undef SHFLAGS_DEFNS
#undef SHFLAGS_ENUMS
#undef SHFLAGS_ITEMS
|