]> git.ipfire.org Git - thirdparty/bash.git/blame - make_cmd.h
bash-5.0 distribution sources and documentation
[thirdparty/bash.git] / make_cmd.h
CommitLineData
726f6388
JA
1/* make_cmd.h -- Declarations of functions found in make_cmd.c */
2
3185942a 3/* Copyright (C) 1993-2009 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 (_MAKE_CMD_H_)
22#define _MAKE_CMD_H_
23
24#include "stdc.h"
25
d233b485
CR
26extern int here_doc_first_line;
27
7117c2d2 28extern void cmd_init __P((void));
726f6388 29
95732b49 30extern WORD_DESC *alloc_word_desc __P((void));
f73dda09
JA
31extern WORD_DESC *make_bare_word __P((const char *));
32extern WORD_DESC *make_word_flags __P((WORD_DESC *, const char *));
33extern WORD_DESC *make_word __P((const char *));
726f6388
JA
34extern WORD_DESC *make_word_from_token __P((int));
35
7117c2d2
JA
36extern WORD_LIST *make_word_list __P((WORD_DESC *, WORD_LIST *));
37
38#define add_string_to_list(s, l) make_word_list (make_word(s), (l))
39
726f6388
JA
40extern COMMAND *make_command __P((enum command_type, SIMPLE_COM *));
41extern COMMAND *command_connect __P((COMMAND *, COMMAND *, int));
b80f6443 42extern COMMAND *make_for_command __P((WORD_DESC *, WORD_LIST *, COMMAND *, int));
726f6388 43extern COMMAND *make_group_command __P((COMMAND *));
b80f6443 44extern COMMAND *make_case_command __P((WORD_DESC *, PATTERN_LIST *, int));
726f6388
JA
45extern PATTERN_LIST *make_pattern_list __P((WORD_LIST *, COMMAND *));
46extern COMMAND *make_if_command __P((COMMAND *, COMMAND *, COMMAND *));
47extern COMMAND *make_while_command __P((COMMAND *, COMMAND *));
48extern COMMAND *make_until_command __P((COMMAND *, COMMAND *));
49extern COMMAND *make_bare_simple_command __P((void));
50extern COMMAND *make_simple_command __P((ELEMENT, COMMAND *));
3185942a 51extern void make_here_document __P((REDIRECT *, int));
0001803f 52extern REDIRECT *make_redirection __P((REDIRECTEE, enum r_instruction, REDIRECTEE, int));
ccc6cda3 53extern COMMAND *make_function_def __P((WORD_DESC *, COMMAND *, int, int));
726f6388 54extern COMMAND *clean_simple_command __P((COMMAND *));
726f6388 55
cce855bc
JA
56extern COMMAND *make_arith_command __P((WORD_LIST *));
57
b80f6443 58extern COMMAND *make_select_command __P((WORD_DESC *, WORD_LIST *, COMMAND *, int));
726f6388 59
cce855bc
JA
60#if defined (COND_COMMAND)
61extern COND_COM *make_cond_node __P((int, WORD_DESC *, COND_COM *, COND_COM *));
62extern COMMAND *make_cond_command __P((COND_COM *));
63#endif
64
bb70624e
JA
65extern COMMAND *make_arith_for_command __P((WORD_LIST *, COMMAND *, int));
66
67extern COMMAND *make_subshell_command __P((COMMAND *));
3185942a 68extern COMMAND *make_coproc_command __P((char *, COMMAND *));
bb70624e 69
726f6388
JA
70extern COMMAND *connect_async_list __P((COMMAND *, COMMAND *, int));
71
72#endif /* !_MAKE_CMD_H */