driver_common.c revision 1f69aa52ea2e0a73ac502565df8c666ee49cab6a
1/*
2 * Common driver-related functions
3 * Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * Alternatively, this software may be distributed under the terms of BSD
10 * license.
11 *
12 * See README and COPYING for more details.
13 */
14
15#include "includes.h"
16#include "utils/common.h"
17#include "driver.h"
18
19void wpa_scan_results_free(struct wpa_scan_results *res)
20{
21	size_t i;
22
23	if (res == NULL)
24		return;
25
26	for (i = 0; i < res->num; i++)
27		os_free(res->res[i]);
28	os_free(res->res);
29	os_free(res);
30}
31
32
33const char * event_to_string(enum wpa_event_type event)
34{
35#define E2S(n) case EVENT_ ## n: return #n
36	switch (event) {
37	E2S(ASSOC);
38	E2S(DISASSOC);
39	E2S(MICHAEL_MIC_FAILURE);
40	E2S(SCAN_RESULTS);
41	E2S(ASSOCINFO);
42	E2S(INTERFACE_STATUS);
43	E2S(PMKID_CANDIDATE);
44	E2S(STKSTART);
45	E2S(TDLS);
46	E2S(FT_RESPONSE);
47	E2S(IBSS_RSN_START);
48	E2S(AUTH);
49	E2S(DEAUTH);
50	E2S(ASSOC_REJECT);
51	E2S(AUTH_TIMED_OUT);
52	E2S(ASSOC_TIMED_OUT);
53	E2S(FT_RRB_RX);
54	E2S(WPS_BUTTON_PUSHED);
55	E2S(TX_STATUS);
56	E2S(RX_FROM_UNKNOWN);
57	E2S(RX_MGMT);
58	E2S(RX_ACTION);
59	E2S(REMAIN_ON_CHANNEL);
60	E2S(CANCEL_REMAIN_ON_CHANNEL);
61	E2S(MLME_RX);
62	E2S(RX_PROBE_REQ);
63	E2S(NEW_STA);
64	E2S(EAPOL_RX);
65	E2S(SIGNAL_CHANGE);
66	E2S(INTERFACE_ENABLED);
67	E2S(INTERFACE_DISABLED);
68	E2S(CHANNEL_LIST_CHANGED);
69	E2S(INTERFACE_UNAVAILABLE);
70	E2S(BEST_CHANNEL);
71	E2S(UNPROT_DEAUTH);
72	E2S(UNPROT_DISASSOC);
73	E2S(STATION_LOW_ACK);
74	E2S(P2P_DEV_FOUND);
75	E2S(P2P_GO_NEG_REQ_RX);
76	E2S(P2P_GO_NEG_COMPLETED);
77	E2S(P2P_PROV_DISC_REQUEST);
78	E2S(P2P_PROV_DISC_RESPONSE);
79	E2S(P2P_SD_REQUEST);
80	E2S(P2P_SD_RESPONSE);
81	E2S(IBSS_PEER_LOST);
82	E2S(DRIVER_GTK_REKEY);
83	E2S(SCHED_SCAN_STOPPED);
84	E2S(DRIVER_CLIENT_POLL_OK);
85	E2S(EAPOL_TX_STATUS);
86	}
87
88	return "UNKNOWN";
89#undef E2S
90}
91