/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* minishell_structs.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: lperrey +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/10/08 02:35:52 by lperrey #+# #+# */ /* Updated: 2021/10/24 19:18:28 by lperrey ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MINISHELL_STRUCTS_H # define MINISHELL_STRUCTS_H enum e_token_id { T_TOKEN = 0, T_LESS = '<', T_GREAT = '>', T_PIPE = '|', T_DLESS, //'<<' T_DGREAT, //'>>' T_WORD }; typedef struct s_token { char *content; struct s_token *next; enum e_token_id id; } t_token; struct s_all; typedef int (*t_builtin_ptr)(int,char **,struct s_all *); typedef struct s_cmd { char **argv; pid_t pid; t_builtin_ptr *builtin_command; int fd_in; int fd_out; } t_cmd; typedef struct s_all { t_cmd **cmd_arr; char **envp; char *prompt_base; char *prompt; t_token *token_list; int last_exit_status; } t_all; #endif