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