From f6d7b19d2df68d2f549a76cf182c06d38970884f Mon Sep 17 00:00:00 2001 From: BanceDev Date: Sun, 1 Sep 2024 13:17:10 -0400 Subject: initial commit --- src/lush.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/lush.h (limited to 'src/lush.h') diff --git a/src/lush.h b/src/lush.h new file mode 100644 index 0000000..65846b0 --- /dev/null +++ b/src/lush.h @@ -0,0 +1,37 @@ +/* +Copyright (c) 2024, Lance Borden +All rights reserved. + +This software is licensed under the BSD 3-Clause License. +You may obtain a copy of the license at: +https://opensource.org/licenses/BSD-3-Clause + +Redistribution and use in source and binary forms, with or without +modification, are permitted under the conditions stated in the BSD 3-Clause +License. + +THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +*/ + +#ifndef LUSH_H +#define LUSH_H + +int lush_cd(char ***args); +int lush_help(char ***args); +int lush_exit(char ***args); +int lush_time(char ***args); + +int lush_num_builtins(); + +int lush_run(char ***commands, int num_commands); + +char *lush_read_line(); +char **lush_split_pipes(char *line); +char ***lush_split_args(char **commands, int *status); + +void lush_execute_command(char **args, int input_fd, int output_fd); +int lush_execute_pipeline(char ***commands, int num_commands); + +#endif // LUSH_H -- cgit v1.2.3-59-g8ed1b