pipex/bonus/pipex_bonus.h
Etienne Rey-bethbeder 6f5907bf3b 666
2023-03-21 16:13:08 +01:00

48 lines
1.8 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* pipex_bonus.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/20 09:59:23 by erey-bet #+# #+# */
/* Updated: 2023/03/21 15:23:03 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef PIPEX_BONUS_H
# define PIPEX_BONUS_H
# include "../libft/libft.h"
# include "../get_next_line/get_next_line.h"
# include <fcntl.h>
# include <unistd.h>
# include <sys/types.h>
# include <sys/wait.h>
typedef struct s_data
{
char **cmds;
char ***flgs;
int fd1;
int fd2;
int fd[2][2];
char **env;
int argc;
} t_data;
int print_error(int type, char *error);
char **get_flags(char *cmd);
char *get_command(char *cmd);
int parsing(int argc, char *argv[], char **env, t_data *data);
char *test_acces(char **s, char **cmd, char **path, int *y);
char *cmd_exist(char **env, char **cmd, int y, char **s);
char *find_command(char **env, char *cmd);
int here_doc(int argc, char *argv[], char **env, t_data *data);
int pipex_loop(int argc, int **fk, t_data data);
int verification_command(char *argv[], t_data data);
int free_all(t_data *data);
int open_close_pipe(t_data *data, int boolean, int file);
#endif