u32 b32
Definition basictypes.h:38
int64_t i64
Definition basictypes.h:29
uint8_t u8
Definition basictypes.h:8
char cstr
Definition basictypes.h:50
int16_t i16
Definition basictypes.h:23
i16 parse_cli(htils_cli_t *cli)
Parse the cli through looping.
Definition cli.c:196
void cli_add(htils_cli_t *cli, const string *name, const string *desc, b32 requires_arg)
Add an option to the cli.
Definition cli.c:183
struct cli_option htils_cli_option_t
A cli option.
htils_cli_t * cli_new(arena_t *arena, i64 argc, cstr **argv, const string *name, const string *desc)
Create a new cli.
Definition cli.c:46
struct cli htils_cli_t
The cli state thats used during parsing.
An arena.
Definition arena.h:26
A cli option.
Definition cli.h:27
string * cli_short
Definition cli.h:30
b32 has_arg
Definition cli.h:33
u8 cli_short_short
Definition cli.h:32
string * desc
Definition cli.h:29
string * cli_long
Definition cli.h:31
string * name
Definition cli.h:28
The cli state thats used during parsing.
Definition cli.h:54
i64 optidx
Definition cli.h:65
arena_t * arena
Definition cli.h:62
i16 optopt
Definition cli.h:68
void(* usage)(struct cli *cli, cstr **argv)
Definition cli.h:63
cstr ** argv
Definition cli.h:56
string * cli_name
Definition cli.h:58
i64 argc
Definition cli.h:55
cstr * optarg
Definition cli.h:67
i16 next_char
Definition cli.h:66
htils_cli_option_t ** options
Definition cli.h:60
string * cli_desc
Definition cli.h:59