htils 1
A small set of utilities for C programming.
Loading...
Searching...
No Matches
cli.h
Go to the documentation of this file.
1#ifndef HTILS_CLI_H
2#define HTILS_CLI_H
3
4/***********************************/
5
6#include <htils/arena.h>
7#include <htils/basictypes.h>
8#include <htils/darray.h>
9#include <htils/string.h>
10
11/***********************************/
12
31
66
85htils_cli_t *cli_new(arena_t *arena, i64 argc, cstr **argv, const string *name,
86 const string *desc);
87
88//
89//
90//
91
106void cli_add(htils_cli_t *cli, const string *name, const string *desc,
107 b32 requires_arg);
108
109//
110//
111//
112
128
129#endif // !HTILS_CLI_H
struct arena arena_t
An atomic arena.
u32 b32
Definition basictypes.h:43
int64_t i64
Definition basictypes.h:34
uint8_t u8
Definition basictypes.h:13
char cstr
Definition basictypes.h:59
int16_t i16
Definition basictypes.h:28
i16 parse_cli(htils_cli_t *cli)
Parse the next CLI argument.
Definition cli.c:213
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:181
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:194
struct cli htils_cli_t
The cli state thats used during parsing.
An atomic arena.
Definition arena.h:45
A cli option.
Definition cli.h:23
string * cli_short
Definition cli.h:26
b32 has_arg
Definition cli.h:29
u8 cli_short_short
Definition cli.h:28
string * desc
Definition cli.h:25
string * cli_long
Definition cli.h:27
string * name
Definition cli.h:24
The cli state thats used during parsing.
Definition cli.h:50
i64 optidx
Definition cli.h:61
arena_t * arena
Definition cli.h:58
i16 optopt
Definition cli.h:64
void(* usage)(struct cli *cli, cstr **argv)
Definition cli.h:59
cstr ** argv
Definition cli.h:52
string * cli_name
Definition cli.h:54
i64 argc
Definition cli.h:51
cstr * optarg
Definition cli.h:63
i16 next_char
Definition cli.h:62
htils_cli_option_t ** options
Definition cli.h:56
string * cli_desc
Definition cli.h:55