]> git.ipfire.org Git - thirdparty/bash.git/blob - execute_cmd.h
Bash-4.4 patch 6
[thirdparty/bash.git] / execute_cmd.h
1 /* execute_cmd.h - functions from execute_cmd.c. */
2
3 /* Copyright (C) 1993-2015 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
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.
11
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.
16
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 */
20
21 #if !defined (_EXECUTE_CMD_H_)
22 #define _EXECUTE_CMD_H_
23
24 #include "stdc.h"
25
26 #if defined (ARRAY_VARS)
27 struct 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
38 extern struct fd_bitmap *new_fd_bitmap __P((int));
39 extern void dispose_fd_bitmap __P((struct fd_bitmap *));
40 extern void close_fd_bitmap __P((struct fd_bitmap *));
41 extern int executing_line_number __P((void));
42 extern int execute_command __P((COMMAND *));
43 extern int execute_command_internal __P((COMMAND *, int, int, int, struct fd_bitmap *));
44 extern int shell_execve __P((char *, char **, char **));
45 extern void setup_async_signals __P((void));
46 extern void dispose_exec_redirects __P ((void));
47
48 extern int execute_shell_function __P((SHELL_VAR *, WORD_LIST *));
49
50 extern struct coproc *getcoprocbypid __P((pid_t));
51 extern struct coproc *getcoprocbyname __P((const char *));
52
53 extern void coproc_init __P((struct coproc *));
54 extern struct coproc *coproc_alloc __P((char *, pid_t));
55 extern void coproc_dispose __P((struct coproc *));
56 extern void coproc_flush __P((void));
57 extern void coproc_close __P((struct coproc *));
58 extern void coproc_closeall __P((void));
59 extern void coproc_reap __P((void));
60
61 extern void coproc_rclose __P((struct coproc *, int));
62 extern void coproc_wclose __P((struct coproc *, int));
63 extern void coproc_fdclose __P((struct coproc *, int));
64
65 extern void coproc_checkfd __P((struct coproc *, int));
66 extern void coproc_fdchk __P((int));
67
68 extern void coproc_pidchk __P((pid_t, int));
69
70 extern void coproc_fdsave __P((struct coproc *));
71 extern void coproc_fdrestore __P((struct coproc *));
72
73 extern void coproc_setvars __P((struct coproc *));
74 extern void coproc_unsetvars __P((struct coproc *));
75
76 #if defined (PROCESS_SUBSTITUTION)
77 extern void close_all_files __P((void));
78 #endif
79
80 #if defined (ARRAY_VARS)
81 extern void restore_funcarray_state __P((struct func_array_state *));
82 #endif
83
84 #endif /* _EXECUTE_CMD_H_ */