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