]> git.ipfire.org Git - thirdparty/bash.git/blame - execute_cmd.h
Bash-5.2 patch 26: fix typo when specifying readline's custom color prefix
[thirdparty/bash.git] / execute_cmd.h
CommitLineData
726f6388
JA
1/* execute_cmd.h - functions from execute_cmd.c. */
2
d233b485 3/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
726f6388
JA
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
3185942a
JA
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
726f6388 11
3185942a
JA
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
726f6388 16
3185942a
JA
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
726f6388
JA
20
21#if !defined (_EXECUTE_CMD_H_)
22#define _EXECUTE_CMD_H_
23
24#include "stdc.h"
25
a0c0a00f
CR
26#if defined (ARRAY_VARS)
27struct func_array_state
28 {
29 ARRAY *funcname_a;
30 SHELL_VAR *funcname_v;
31 ARRAY *source_a;
32 SHELL_VAR *source_v;
33 ARRAY *lineno_a;
34 SHELL_VAR *lineno_v;
35 };
36#endif
37
d233b485
CR
38/* Placeholder for later expansion to include more execution state */
39/* XXX - watch out for pid_t */
40struct execstate
41 {
42 pid_t pid;
43 int subshell_env;
44 };
45
46
8868edaf 47/* Variables declared in execute_cmd.c, used by many other files */
d233b485
CR
48extern int return_catch_flag;
49extern int return_catch_value;
50extern volatile int last_command_exit_value;
51extern int last_command_exit_signal;
52extern int builtin_ignoring_errexit;
53extern int executing_builtin;
54extern int executing_list;
55extern int comsub_ignore_return;
56extern int subshell_level;
57extern int match_ignore_case;
58extern int executing_command_builtin;
59extern int funcnest, funcnest_max;
60extern int evalnest, evalnest_max;
61extern int sourcenest, sourcenest_max;
62extern int stdin_redir;
63extern int line_number_for_err_trap;
64
65extern char *the_printed_command_except_trap;
66
67extern char *this_command_name;
68extern SHELL_VAR *this_shell_function;
69
8868edaf 70/* Functions declared in execute_cmd.c, used by many other files */
d233b485 71
8868edaf
CR
72extern struct fd_bitmap *new_fd_bitmap PARAMS((int));
73extern void dispose_fd_bitmap PARAMS((struct fd_bitmap *));
74extern void close_fd_bitmap PARAMS((struct fd_bitmap *));
75extern int executing_line_number PARAMS((void));
76extern int execute_command PARAMS((COMMAND *));
77extern int execute_command_internal PARAMS((COMMAND *, int, int, int, struct fd_bitmap *));
78extern int shell_execve PARAMS((char *, char **, char **));
79extern void setup_async_signals PARAMS((void));
80extern void async_redirect_stdin PARAMS((void));
d233b485 81
8868edaf
CR
82extern void undo_partial_redirects PARAMS((void));
83extern void dispose_partial_redirects PARAMS((void));
84extern void dispose_exec_redirects PARAMS((void));
726f6388 85
8868edaf 86extern int execute_shell_function PARAMS((SHELL_VAR *, WORD_LIST *));
bb70624e 87
8868edaf
CR
88extern struct coproc *getcoprocbypid PARAMS((pid_t));
89extern struct coproc *getcoprocbyname PARAMS((const char *));
3185942a 90
8868edaf
CR
91extern void coproc_init PARAMS((struct coproc *));
92extern struct coproc *coproc_alloc PARAMS((char *, pid_t));
93extern void coproc_dispose PARAMS((struct coproc *));
94extern void coproc_flush PARAMS((void));
95extern void coproc_close PARAMS((struct coproc *));
96extern void coproc_closeall PARAMS((void));
97extern void coproc_reap PARAMS((void));
98extern pid_t coproc_active PARAMS((void));
3185942a 99
8868edaf
CR
100extern void coproc_rclose PARAMS((struct coproc *, int));
101extern void coproc_wclose PARAMS((struct coproc *, int));
102extern void coproc_fdclose PARAMS((struct coproc *, int));
3185942a 103
8868edaf
CR
104extern void coproc_checkfd PARAMS((struct coproc *, int));
105extern void coproc_fdchk PARAMS((int));
3185942a 106
8868edaf 107extern void coproc_pidchk PARAMS((pid_t, int));
3185942a 108
8868edaf
CR
109extern void coproc_fdsave PARAMS((struct coproc *));
110extern void coproc_fdrestore PARAMS((struct coproc *));
3185942a 111
8868edaf
CR
112extern void coproc_setvars PARAMS((struct coproc *));
113extern void coproc_unsetvars PARAMS((struct coproc *));
3185942a 114
726f6388 115#if defined (PROCESS_SUBSTITUTION)
8868edaf 116extern void close_all_files PARAMS((void));
726f6388
JA
117#endif
118
a0c0a00f 119#if defined (ARRAY_VARS)
8868edaf 120extern void restore_funcarray_state PARAMS((struct func_array_state *));
a0c0a00f
CR
121#endif
122
726f6388 123#endif /* _EXECUTE_CMD_H_ */