Minishell
Loading...
Searching...
No Matches
include
main.h
Go to the documentation of this file.
1
/*
2
** EPITECH PROJECT, 2025
3
** B-PSU-200-BAR-2-1-bsminishell1-gerard.du-pre
4
** File description:
5
** main
6
*/
7
#ifndef MAIN_H
8
#define MAIN_H
9
#include <stdbool.h>
10
#include <time.h>
11
#include <unistd.h>
12
#include "
mini_printf.h
"
13
#include "
arguments.h
"
14
#include "
epifetch.h
"
15
16
typedef
enum
redirection_s
{
17
NONE
,
18
PIPE
,
19
SEMICOLON
,
20
L_REDIRECT_OW
,
21
L_REDIRECT_AP
,
22
R_REDIRECT_OW
,
23
R_REDIRECT_AP
,
24
}
redirection_t
;
25
typedef
struct
env_node
{
26
struct
env_node
*
prev
;
27
bool
is_path
;
28
char
*
name
;
29
char
*
value
;
30
struct
env_node
*
next
;
31
}
env_node_t
;
32
typedef
struct
run_command_s
{
33
struct
run_command_s
*
prev
;
34
char
*
exec_path
;
35
char
*
exec_name
;
36
int
pipes
[2];
37
redirection_t
type
;
38
char
**
args
;
39
char
*
com_input
;
40
struct
run_command_s
*
next
;
41
}
run_command_t
;
48
typedef
struct
data
{
49
env_node_t
*
env
;
50
char
**
input
;
51
char
**
env_array
;
52
char
*
home
;
53
int
status
;
54
bool
exit
;
55
run_command_t
*
command
;
56
struct
timespec
start_time
;
57
epifetch_t
*
epifetch
;
58
}
data_t
;
59
void
wait_child
(
int
cpid,
data_t
*
data
);
60
#endif
//MAIN_H
arguments.h
epifetch.h
data_t
struct data data_t
redirection_t
enum redirection_s redirection_t
wait_child
void wait_child(int cpid, data_t *data)
Definition
wait_child.c:20
env_node_t
struct env_node env_node_t
run_command_t
struct run_command_s run_command_t
redirection_s
redirection_s
Definition
main.h:16
R_REDIRECT_OW
@ R_REDIRECT_OW
Definition
main.h:22
SEMICOLON
@ SEMICOLON
Definition
main.h:19
R_REDIRECT_AP
@ R_REDIRECT_AP
Definition
main.h:23
L_REDIRECT_OW
@ L_REDIRECT_OW
Definition
main.h:20
PIPE
@ PIPE
Definition
main.h:18
NONE
@ NONE
Definition
main.h:17
L_REDIRECT_AP
@ L_REDIRECT_AP
Definition
main.h:21
mini_printf.h
data
Definition
main.h:48
data::env
env_node_t * env
Definition
main.h:49
data::env_array
char ** env_array
Definition
main.h:51
data::home
char * home
Definition
main.h:52
data::start_time
struct timespec start_time
Definition
main.h:56
data::status
int status
Definition
main.h:53
data::input
char ** input
Definition
main.h:50
data::epifetch
epifetch_t * epifetch
Definition
main.h:57
data::exit
bool exit
Definition
main.h:54
data::command
run_command_t * command
Definition
main.h:55
env_node
Definition
main.h:25
env_node::prev
struct env_node * prev
Definition
main.h:26
env_node::value
char * value
Definition
main.h:29
env_node::name
char * name
Definition
main.h:28
env_node::next
struct env_node * next
Definition
main.h:30
env_node::is_path
bool is_path
Definition
main.h:27
epifetch_s
Definition
epifetch.h:10
run_command_s
Definition
main.h:32
run_command_s::next
struct run_command_s * next
Definition
main.h:40
run_command_s::type
redirection_t type
Definition
main.h:37
run_command_s::exec_name
char * exec_name
Definition
main.h:35
run_command_s::args
char ** args
Definition
main.h:38
run_command_s::com_input
char * com_input
Definition
main.h:39
run_command_s::prev
struct run_command_s * prev
Definition
main.h:33
run_command_s::pipes
int pipes[2]
Definition
main.h:36
run_command_s::exec_path
char * exec_path
Definition
main.h:34
Generated by
1.12.0