Minishell
Loading...
Searching...
No Matches
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 <stdio.h>
15 #include <stdlib.h>
16 #include <string.h>
17 #include "epifetch.h"
18 #define RESET "\033[0m"
19 #define WHITE "\033[0;37m"
20 #define RED "\033[0;31m"
21 #define GREEN "\033[0;32m"
22 #define BLUE "\033[0;34m"
23 #define LOGO_PATH "logos/spyro.txt"
24
25typedef struct history_s {
26 FILE *file;
27 char *command;
41typedef struct env_node {
42 struct env_node *prev;
43 bool is_path;
44 char *name;
45 char *value;
46 struct env_node *next;
58
59typedef struct alias_s {
60 char *name;
61 char **value;
62 int show;
63 struct alias_s *next;
65
85void wait_child(int cpid, data_t *data);
86
87//find home on env
91alias_t *create_alias_node(const char *name, char **value);
92void alias_rc(data_t *data);
93#endif //MAIN_H
struct data data_t
struct history_s history_t
enum redirection_s redirection_t
void wait_child(int cpid, data_t *data)
Definition wait_child.c:20
env_node_t * find_name_in_path(data_t *data, char *name)
void create_config(data_t *data)
Definition create_config.c:156
struct alias_s alias_t
struct env_node env_node_t
struct run_command_s run_command_t
redirection_s
Definition main.h:30
@ DOUBLE_AMPERSAND
Definition main.h:38
@ R_REDIRECT_OW
Definition main.h:36
@ DOUBLE_PIPE
Definition main.h:39
@ SEMICOLON
Definition main.h:33
@ R_REDIRECT_AP
Definition main.h:37
@ L_REDIRECT_OW
Definition main.h:34
@ PIPE
Definition main.h:32
@ NONE
Definition main.h:31
@ L_REDIRECT_AP
Definition main.h:35
void alias_rc(data_t *data)
Definition aliasrc.c:123
alias_t * create_alias_node(const char *name, char **value)
Definition alias_builtin.c:36
void expand_aliases(data_t *data)
Definition expand_alias.c:48
Definition main.h:59
char * name
Definition main.h:60
struct alias_s * next
Definition main.h:63
int show
Definition main.h:62
char ** value
Definition main.h:61
Definition main.h:72
env_node_t * env
Definition main.h:73
char ** env_array
Definition main.h:75
char * home
Definition main.h:76
struct timespec start_time
Definition main.h:81
history_t * history
Definition main.h:80
int status
Definition main.h:77
char ** input
Definition main.h:74
alias_t * al
Definition main.h:83
epifetch_t * epifetch
Definition main.h:82
bool exit
Definition main.h:78
run_command_t * command
Definition main.h:79
Definition main.h:41
struct env_node * prev
Definition main.h:42
char * value
Definition main.h:45
char * name
Definition main.h:44
struct env_node * next
Definition main.h:46
bool is_path
Definition main.h:43
Definition epifetch.h:10
Definition main.h:25
int current_line
Definition main.h:28
FILE * file
Definition main.h:26
char * command
Definition main.h:27
Definition main.h:48
struct run_command_s * next
Definition main.h:56
redirection_t type
Definition main.h:53
char * exec_name
Definition main.h:51
char ** args
Definition main.h:54
char * com_input
Definition main.h:55
struct run_command_s * prev
Definition main.h:49
int pipes[2]
Definition main.h:52
char * exec_path
Definition main.h:50