]> git.ipfire.org Git - thirdparty/bash.git/blame - execute_cmd.h
Bash-4.4 patch 8
[thirdparty/bash.git] / execute_cmd.h
CommitLineData
726f6388
JA
1/* execute_cmd.h - functions from execute_cmd.c. */
2
a0c0a00f 3/* Copyright (C) 1993-2015 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
f73dda09 38extern struct fd_bitmap *new_fd_bitmap __P((int));
726f6388
JA
39extern void dispose_fd_bitmap __P((struct fd_bitmap *));
40extern void close_fd_bitmap __P((struct fd_bitmap *));
ccc6cda3 41extern int executing_line_number __P((void));
726f6388
JA
42extern int execute_command __P((COMMAND *));
43extern int execute_command_internal __P((COMMAND *, int, int, int, struct fd_bitmap *));
44extern int shell_execve __P((char *, char **, char **));
726f6388 45extern void setup_async_signals __P((void));
cce855bc 46extern void dispose_exec_redirects __P ((void));
726f6388 47
bb70624e
JA
48extern int execute_shell_function __P((SHELL_VAR *, WORD_LIST *));
49
3185942a
JA
50extern struct coproc *getcoprocbypid __P((pid_t));
51extern struct coproc *getcoprocbyname __P((const char *));
52
53extern void coproc_init __P((struct coproc *));
54extern struct coproc *coproc_alloc __P((char *, pid_t));
55extern void coproc_dispose __P((struct coproc *));
56extern void coproc_flush __P((void));
57extern void coproc_close __P((struct coproc *));
58extern void coproc_closeall __P((void));
17345e5a 59extern void coproc_reap __P((void));
3185942a
JA
60
61extern void coproc_rclose __P((struct coproc *, int));
62extern void coproc_wclose __P((struct coproc *, int));
63extern void coproc_fdclose __P((struct coproc *, int));
64
65extern void coproc_checkfd __P((struct coproc *, int));
66extern void coproc_fdchk __P((int));
67
17345e5a 68extern void coproc_pidchk __P((pid_t, int));
3185942a
JA
69
70extern void coproc_fdsave __P((struct coproc *));
71extern void coproc_fdrestore __P((struct coproc *));
72
73extern void coproc_setvars __P((struct coproc *));
74extern void coproc_unsetvars __P((struct coproc *));
75
726f6388
JA
76#if defined (PROCESS_SUBSTITUTION)
77extern void close_all_files __P((void));
78#endif
79
a0c0a00f
CR
80#if defined (ARRAY_VARS)
81extern void restore_funcarray_state __P((struct func_array_state *));
82#endif
83
726f6388 84#endif /* _EXECUTE_CMD_H_ */