#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