]> git.ipfire.org Git - thirdparty/bash.git/blame - flags.h
allow some job notifications while running $PROMPT_COMMAND; allow notifications while...
[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
81e3a4fb 4/* Copyright (C) 1993-2022 Free Software Foundation, Inc.
726f6388
JA
5
6 This file is part of GNU Bash, the Bourne Again SHell.
7
2e4498b3
CR
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
2e4498b3
CR
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
2e4498b3
CR
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
d3ad40de 40extern const struct flags_alist shell_flags[];
7117c2d2 41extern char optflags[];
726f6388
JA
42
43extern int
77b3aacb
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,
3bf257a5 47 just_one_command, unbound_vars_is_error, echo_input_at_read, verbose_flag,
6dc203b8 48 echo_command_at_execute, noclobber,
45c0f7f8 49 hashing_enabled, forced_interactive, privileged_mode, jobs_m_flag,
d3a24ed2
CR
50 asynchronous_notification, interactive_comments, no_symbolic_links,
51 function_trace_mode, error_trace_mode, pipefail_opt;
726f6388 52
ec157dfe
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;
1975c9b5 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
81e3a4fb
CR
74extern int *find_flag (int);
75extern int change_flag (int, int);
76extern char *which_set_flags (void);
77extern void reset_shell_flags (void);
726f6388 78
81e3a4fb
CR
79extern char *get_current_flags (void);
80extern void set_current_flags (const char *);
8f50a023 81
81e3a4fb 82extern void initialize_flags (void);
7117c2d2 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_ */