diff options
author | scratko <m@scratko.xyz> | 2024-11-23 01:24:26 +0300 |
---|---|---|
committer | scratko <m@scratko.xyz> | 2024-11-23 21:36:30 +0300 |
commit | 4a41d75085d5135c1ff521c02afbb2afe7d38533 (patch) | |
tree | 9996d731e6a675b0a4cfe307d936b252b1903c3a /shell.h | |
parent | 52f877a23cd26f57393e20b6fffef0dc4e093315 (diff) | |
download | shell-4a41d75085d5135c1ff521c02afbb2afe7d38533.tar.gz shell-4a41d75085d5135c1ff521c02afbb2afe7d38533.tar.bz2 shell-4a41d75085d5135c1ff521c02afbb2afe7d38533.zip |
Shell-VII release
Diffstat (limited to 'shell.h')
-rw-r--r-- | shell.h | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -4,6 +4,8 @@ #include "dynamic_array.h" #include "queue.h" +#include <signal.h> + enum { end_of_file = 4, new_line = 10, @@ -18,7 +20,10 @@ enum { enum { append = '>' + 1, and = '&' + 1, - or = '|' + 1 + or = '|' + 1, + next_command = ';', + start_subshell = '(', + end_subshell = ')' }; /* error codes */ @@ -29,7 +34,10 @@ enum { err_bg_process = 4, err_empty_command = 5, err_extra_chars_after_filename = 6, - err_odd_double_quotes = 7 + err_odd_double_quotes = 7, + err_set_failure = 8, + err_missing_closing_bracket = 9, + err_repeated_background_ch = 10 }; /* storing file names to redirect standard input/output streams */ @@ -48,12 +56,19 @@ struct param_type { int tokens; int wrong_command; struct io_type streams; - int last_execution_status; int pipeline; int new_readline; + int general_pipe_pgid; + int general_subshell_pgid; int general_pgid; + int subshell; + int fd_read_for_channel; + int fd_read_for_subshell; + int background_process; }; +extern volatile sig_atomic_t last_execution_status; + int filename_waiting(struct param_type *params); void add_filename(struct dynamic_array *tmp_word, struct param_type *params); void add_word(struct w_queue *word_chain, struct dynamic_array *tmp_word, |