diff options
Diffstat (limited to 'src/s_struct.h')
-rw-r--r-- | src/s_struct.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/s_struct.h b/src/s_struct.h new file mode 100644 index 0000000..8c72012 --- /dev/null +++ b/src/s_struct.h @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* s_struct.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef S_STRUCT_H +#define S_STRUCT_H + +#include <stdint.h> + +#include "d_define.h" + +/* +** redir(int8_t) index +** -------------------- +** -1: < +** 1: > +** 2: >> +** 0: means no redirection +*/ + +typedef struct s_lpipes *t_lpipes; + +typedef struct s_lvars +{ + char *name; + char *val; + struct s_lvars *next; +} t_lvars; + +typedef struct s_lcom +{ + char *com; + char **argv; + int8_t redir; + int32_t rdrfd; + char *rdrpath; + struct s_lpipes *pipes; + struct s_lcom *next; +} t_lcom; + +struct s_lpipes +{ + struct s_lcom *one; + struct s_lpipes *next; +}; + +typedef struct s_msh +{ + char **envp; + char *ps_one; + char *cwd; + uint8_t ret; + char *shname; + char **bu_ref; + uint8_t (*bu_ptr[FT_BUILTINS_COUNT])(char **, struct s_msh*); + struct s_lcom *curr; + struct s_lvars *vars; +} t_msh; + +#endif |