/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* minishell.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet # include # include # include # include # include # include t_list **init_env(char **env); int set_value_by_key(char *key, char *value, t_list **env); char *get_value_by_key(char *key, t_list **head); int ft_syntatic_verif(const char *str); int ft_file_is_readable(const char *path); int ft_file_is_writable(const char *path); int ft_file_is_appendable(const char *path); char *ft_get_file_path(const char *infile); int ft_infile(char *line); int ft_outfile(char *line); int ft_heredoc(char *stop); size_t ft_seglen_quoted(const char *str, char c); int ft_cmds_executor(t_list **cmds, t_list **env); char **ft_split_quoted(const char *s, char c); void ft_cmddel(void *content); void env_del(void *content); t_list **ft_parse_cmds(char *line, t_list **env, int infile, int outfile); int ft_cmd_filler(t_list *current, char **args, t_list **env); char *ft_normalizer(char *str); char *ft_env_filler(t_list **env, const char *str); typedef struct s_cmd { int fd_in; int fd_out; char *executable; char **args; } t_cmd; typedef struct s_data { t_list **env; int heredoc; } t_data; typedef struct s_env { void *key; void *value; } t_env; #endif