#ifndef ARGPARSER_H #define ARGPARSER_H #include "aliases.h" typedef struct argparser argparser_t; typedef enum { ARG_TYPE_POSITIONAL, ARG_TYPE_NAMED, ARG_TYPE_FLAG, COUNT_ARG_TYPE, } arg_type_t; typedef struct { arg_type_t type; const char *short_name; const char *long_name; } arg_t; argparser_t *create_parser(void); void destroy_parser(argparser_t **parser); void add_argument(argparser_t *parser, arg_t arg); void print_usage(argparser_t *parser); #endif // !ARGPARSER_H