]> git.ipfire.org Git - thirdparty/bash.git/blame - flags.h
Bash-5.0 patch 4: the wait builtin without arguments only waits for known children...
[thirdparty/bash.git] / flags.h
CommitLineData
726f6388
JA
1/* flags.h -- a list of all the flags that the shell knows about. You add
2 a flag to this program by adding the name here, and in flags.c. */
3
a0c0a00f 4/* Copyright (C) 1993-2015 Free Software Foundation, Inc.
726f6388
JA
5
6 This file is part of GNU Bash, the Bourne Again SHell.
7
3185942a
JA
8 Bash is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
726f6388 12
3185942a
JA
13 Bash is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
726f6388 17
3185942a
JA
18 You should have received a copy of the GNU General Public License
19 along with Bash. If not, see <http://www.gnu.org/licenses/>.
20*/
726f6388 21
ccc6cda3
JA
22#if !defined (_FLAGS_H_)
23#define _FLAGS_H_
726f6388
JA
24
25#include "stdc.h"
26
27/* Welcome to the world of Un*x, where everything is slightly backwards. */
28#define FLAG_ON '-'
29#define FLAG_OFF '+'
30
31#define FLAG_ERROR -1
32#define FLAG_UNKNOWN (int *)0
33
34/* The thing that we build the array of flags out of. */
35struct flags_alist {
36 char name;
37 int *value;
38};
39
3185942a 40extern const struct flags_alist shell_flags[];
7117c2d2 41extern char optflags[];
726f6388
JA
42
43extern int
ac50fbac
CR
44 mark_modified_vars, errexit_flag, exit_immediately_on_error,
45 disallow_filename_globbing,
ccc6cda3 46 place_keywords_in_env, read_but_dont_execute,
a0c0a00f 47 just_one_command, unbound_vars_is_error, echo_input_at_read, verbose_flag,
ccc6cda3 48 echo_command_at_execute, no_invisible_vars, noclobber,
ac50fbac 49 hashing_enabled, forced_interactive, privileged_mode, jobs_m_flag,
b80f6443
JA
50 asynchronous_notification, interactive_comments, no_symbolic_links,
51 function_trace_mode, error_trace_mode, pipefail_opt;
726f6388 52
d233b485
CR
53/* -c, -s invocation options -- not really flags, but they show up in $- */
54extern int want_pending_command, read_from_stdin;
55
ccc6cda3
JA
56#if 0
57extern int lexical_scoping;
58#endif
59
60#if defined (BRACE_EXPANSION)
61extern int brace_expansion;
62#endif
63
726f6388
JA
64#if defined (BANG_HISTORY)
65extern int history_expansion;
d233b485 66extern int histexp_flag;
726f6388
JA
67#endif /* BANG_HISTORY */
68
69#if defined (RESTRICTED_SHELL)
70extern int restricted;
b72432fd 71extern int restricted_shell;
726f6388
JA
72#endif /* RESTRICTED_SHELL */
73
74extern int *find_flag __P((int));
75extern int change_flag __P((int, int));
76extern char *which_set_flags __P((void));
d166f048 77extern void reset_shell_flags __P((void));
726f6388 78
a0c0a00f
CR
79extern char *get_current_flags __P((void));
80extern void set_current_flags __P((const char *));
81
7117c2d2
JA
82extern void initialize_flags __P((void));
83
726f6388
JA
84/* A macro for efficiency. */
85#define change_flag_char(flag, on_or_off) change_flag (flag, on_or_off)
86
ccc6cda3 87#endif /* _FLAGS_H_ */