xref: /dflybsd-src/contrib/wpa_supplicant/src/common/cli.h (revision 3a84a4273475ed07d0ab1c2dfeffdfedef35d9cd)
1*a1157835SDaniel Fojt /*
2*a1157835SDaniel Fojt  * Common hostapd/wpa_supplicant command line interface functionality
3*a1157835SDaniel Fojt  * Copyright (c) 2004-2016, Jouni Malinen <j@w1.fi>
4*a1157835SDaniel Fojt  *
5*a1157835SDaniel Fojt  * This software may be distributed under the terms of the BSD license.
6*a1157835SDaniel Fojt  * See README for more details.
7*a1157835SDaniel Fojt  */
8*a1157835SDaniel Fojt 
9*a1157835SDaniel Fojt #ifndef CLI_H
10*a1157835SDaniel Fojt #define CLI_H
11*a1157835SDaniel Fojt 
12*a1157835SDaniel Fojt #include "utils/list.h"
13*a1157835SDaniel Fojt 
14*a1157835SDaniel Fojt extern const char *const cli_license;
15*a1157835SDaniel Fojt extern const char *const cli_full_license;
16*a1157835SDaniel Fojt 
17*a1157835SDaniel Fojt struct cli_txt_entry {
18*a1157835SDaniel Fojt 	struct dl_list list;
19*a1157835SDaniel Fojt 	char *txt;
20*a1157835SDaniel Fojt };
21*a1157835SDaniel Fojt 
22*a1157835SDaniel Fojt void cli_txt_list_free(struct cli_txt_entry *e);
23*a1157835SDaniel Fojt void cli_txt_list_flush(struct dl_list *list);
24*a1157835SDaniel Fojt 
25*a1157835SDaniel Fojt struct cli_txt_entry *
26*a1157835SDaniel Fojt cli_txt_list_get(struct dl_list *txt_list, const char *txt);
27*a1157835SDaniel Fojt 
28*a1157835SDaniel Fojt void cli_txt_list_del(struct dl_list *txt_list, const char *txt);
29*a1157835SDaniel Fojt void cli_txt_list_del_addr(struct dl_list *txt_list, const char *txt);
30*a1157835SDaniel Fojt void cli_txt_list_del_word(struct dl_list *txt_list, const char *txt,
31*a1157835SDaniel Fojt 			   int separator);
32*a1157835SDaniel Fojt 
33*a1157835SDaniel Fojt int cli_txt_list_add(struct dl_list *txt_list, const char *txt);
34*a1157835SDaniel Fojt int cli_txt_list_add_addr(struct dl_list *txt_list, const char *txt);
35*a1157835SDaniel Fojt int cli_txt_list_add_word(struct dl_list *txt_list, const char *txt,
36*a1157835SDaniel Fojt 			  int separator);
37*a1157835SDaniel Fojt 
38*a1157835SDaniel Fojt char ** cli_txt_list_array(struct dl_list *txt_list);
39*a1157835SDaniel Fojt 
40*a1157835SDaniel Fojt int get_cmd_arg_num(const char *str, int pos);
41*a1157835SDaniel Fojt int write_cmd(char *buf, size_t buflen, const char *cmd, int argc,
42*a1157835SDaniel Fojt 	      char *argv[]);
43*a1157835SDaniel Fojt 
44*a1157835SDaniel Fojt #define max_args 10
45*a1157835SDaniel Fojt int tokenize_cmd(char *cmd, char *argv[]);
46*a1157835SDaniel Fojt 
47*a1157835SDaniel Fojt #endif /* CLI_H */
48