]> git.ipfire.org Git - thirdparty/bash.git/blame - flags.h
Bash-4.3 patch 43
[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
3185942a 4/* Copyright (C) 1993-2009 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,
726f6388 47 just_one_command, unbound_vars_is_error, echo_input_at_read,
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
ccc6cda3
JA
53#if 0
54extern int lexical_scoping;
55#endif
56
57#if defined (BRACE_EXPANSION)
58extern int brace_expansion;
59#endif
60
726f6388
JA
61#if defined (BANG_HISTORY)
62extern int history_expansion;
63#endif /* BANG_HISTORY */
64
65#if defined (RESTRICTED_SHELL)
66extern int restricted;
b72432fd 67extern int restricted_shell;
726f6388
JA
68#endif /* RESTRICTED_SHELL */
69
70extern int *find_flag __P((int));
71extern int change_flag __P((int, int));
72extern char *which_set_flags __P((void));
d166f048 73extern void reset_shell_flags __P((void));
726f6388 74
7117c2d2
JA
75extern void initialize_flags __P((void));
76
726f6388
JA
77/* A macro for efficiency. */
78#define change_flag_char(flag, on_or_off) change_flag (flag, on_or_off)
79
ccc6cda3 80#endif /* _FLAGS_H_ */