summaryrefslogtreecommitdiffstats
path: root/src/s_struct.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/s_struct.h')
-rw-r--r--src/s_struct.h68
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