aboutsummaryrefslogtreecommitdiff
path: root/src/Cli/Cli.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Cli/Cli.h')
-rw-r--r--src/Cli/Cli.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Cli/Cli.h b/src/Cli/Cli.h
new file mode 100644
index 0000000..9695fd4
--- /dev/null
+++ b/src/Cli/Cli.h
@@ -0,0 +1,30 @@
+#ifndef YAPSSG_CLI_H
+#define YAPSSG_CLI_H
+
+#include "Logger/Logger.h"
+
+typedef enum {
+ INPUT_TYPE_NONE,
+ INPUT_TYPE_FILE,
+ INPUT_TYPE_DIRECTORY
+} InputType;
+
+typedef enum {
+ CLI_PARSE_ERROR = -1,
+ CLI_PARSE_OK,
+ CLI_PARSE_HELP,
+ CLI_PARSE_VERSION
+} CliParseResult;
+
+typedef struct {
+ InputType input_type;
+ const char *input_path;
+ const char *output_path;
+ int overwrite_output;
+ LogLevel log_level;
+} CliOptions;
+
+CliParseResult cli_parse(int argc, char **argv, CliOptions *options);
+void cli_print_usage(const char *program_name);
+
+#endif