aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-04-02 15:50:13 +0200
committerCharles <sircharlesaze@gmail.com>2020-04-03 08:57:45 +0200
commite5393671a265e1c301c6c303f21f938c4cf9ca75 (patch)
tree0190ff9ba762cf820b1846b01adc339092370e2c /include
parentf66cb8f28a2779159baeef6ea91a7684d59cc295 (diff)
downloadminishell-e5393671a265e1c301c6c303f21f938c4cf9ca75.tar.gz
minishell-e5393671a265e1c301c6c303f21f938c4cf9ca75.tar.bz2
minishell-e5393671a265e1c301c6c303f21f938c4cf9ca75.zip
Evaluation pipe frame (not tested)
Diffstat (limited to 'include')
-rw-r--r--include/ast.h4
-rw-r--r--include/eval.h11
2 files changed, 12 insertions, 3 deletions
diff --git a/include/ast.h b/include/ast.h
index 0d14779..6470a17 100644
--- a/include/ast.h
+++ b/include/ast.h
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 17:05:38 by charles #+# #+# */
-/* Updated: 2020/04/01 17:52:43 by charles ### ########.fr */
+/* Updated: 2020/04/02 13:27:59 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -76,12 +76,14 @@ typedef struct s_cmd
** \brief AST node tag (type)
** \param TAG_CMD Command AST node
** \param TAG_LINE Line AST node
+** \param TAG_ROOT Root line AST node
*/
typedef enum e_ast_tag
{
TAG_CMD,
TAG_LINE,
+ TAG_ROOT,
} t_ast_tag;
/*
diff --git a/include/eval.h b/include/eval.h
index 31f729b..31f79c2 100644
--- a/include/eval.h
+++ b/include/eval.h
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 17:05:30 by charles #+# #+# */
-/* Updated: 2020/04/01 17:53:26 by charles ### ########.fr */
+/* Updated: 2020/04/02 15:38:11 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -43,11 +43,17 @@ typedef struct s_eval_status
int status;
} t_eval_status;
+typedef struct
+{
+ int pipe_in[2];
+ int pipe_out[2];
+} t_io_frame;
+
/*
** eval.c
*/
-int eval(t_eval_state *state, t_ast *ast);
+int eval(t_io_frame *frame, t_eval_state *state, t_ast *ast);
/*
** exec.c
@@ -63,5 +69,6 @@ char *exec_search_path(t_path path, char *path_var, char *exec_name);
int pipe_setup_parent(t_cmd *cmd, int pipe_in[2], int pipe_out[2]);
int pipe_setup_child(int pipe_in[2], int pipe_out[2]);
+int io_frame_init(t_io_frame *frame);
#endif