/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* minishell.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/10 13:07:44 by jhalford #+# #+# */ /* Updated: 2017/03/20 09:37:28 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MINISHELL_H # define MINISHELL_H # define SHELL_NAME "minishell" # include # include # include # include # include # include "../libft/includes/libft.h" # include "types.h" # include "lexer.h" # include "parser.h" # include "ft_readline.h" # include "job_control.h" # include "exec.h" # include "builtin.h" # include "glob.h" # include "completion.h" # include "hash.h" #ifndef DEBUG # define DEBUG_MODE 0 #else # define DEBUG_MODE 1 #endif struct s_data { t_flag opts; char **av_data; char *c_arg; int fd; char **env; int argc; char **argv; t_line line; t_lexer lexer; t_parser parser; t_comp *comp; t_exec exec; t_jobc jobc; char **local_var; t_list *lst_func; }; int shell_init(int ac, char **av); void shell_exit(void); int data_init(int ac, char **av); void data_exit(void); int get_c_arg(char ***av, t_data *data); void content_free(void *data, size_t content_size); char *ft_putast(void *node); void ft_putast2(void *node); #endif