48 lines
1.8 KiB
C
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
|