示例#1
0
static void hostapd_cli_interactive(void)
{
	char *hfile = NULL;
	char *home;

	printf("\nInteractive mode\n\n");

#ifdef CONFIG_HOSTAPD_CLI_HISTORY_DIR
	home = CONFIG_HOSTAPD_CLI_HISTORY_DIR;
#else /* CONFIG_HOSTAPD_CLI_HISTORY_DIR */
	home = getenv("HOME");
#endif /* CONFIG_HOSTAPD_CLI_HISTORY_DIR */
	if (home) {
		const char *fname = ".hostapd_cli_history";
		int hfile_len = os_strlen(home) + 1 + os_strlen(fname) + 1;
		hfile = os_malloc(hfile_len);
		if (hfile)
			os_snprintf(hfile, hfile_len, "%s/%s", home, fname);
	}

	eloop_register_signal_terminate(hostapd_cli_eloop_terminate, NULL);
	edit_init(hostapd_cli_edit_cmd_cb, hostapd_cli_edit_eof_cb,
		  hostapd_cli_edit_completion_cb, NULL, hfile, NULL);
	eloop_register_timeout(ping_interval, 0, hostapd_cli_ping, NULL, NULL);

	eloop_run();

	cli_txt_list_flush(&stations);
	edit_deinit(hfile, NULL);
	os_free(hfile);
	eloop_cancel_timeout(hostapd_cli_ping, NULL, NULL);
}
示例#2
0
static void wlantest_cli_interactive(int s)
{
    struct wlantest_cli cli;
    char *home, *hfile = NULL;

    if (eloop_init())
        return;

    home = getenv("HOME");
    if (home) {
        const char *fname = ".wlantest_cli_history";
        int hfile_len = os_strlen(home) + 1 + os_strlen(fname) + 1;
        hfile = os_malloc(hfile_len);
        if (hfile)
            os_snprintf(hfile, hfile_len, "%s/%s", home, fname);
    }

    cli.s = s;
    eloop_register_signal_terminate(wlantest_cli_eloop_terminate, &cli);
    edit_init(wlantest_cli_edit_cmd_cb, wlantest_cli_edit_eof_cb,
              wlantest_cli_edit_completion_cb, &cli, hfile, NULL);

    eloop_run();

    edit_deinit(hfile, NULL);
    os_free(hfile);
    eloop_destroy();
}
示例#3
0
static void hostapd_cli_interactive(void)
{
	printf("\nInteractive mode\n\n");

	eloop_register_signal_terminate(hostapd_cli_eloop_terminate, NULL);
	edit_init(hostapd_cli_edit_cmd_cb, hostapd_cli_edit_eof_cb,
		  NULL, NULL, NULL, NULL);
	eloop_register_timeout(ping_interval, 0, hostapd_cli_ping, NULL, NULL);

	eloop_run();

	edit_deinit(NULL, NULL);
	eloop_cancel_timeout(hostapd_cli_ping, NULL, NULL);
}