wlantest: Add counters and AP/direct path validation for TDLS
[mech_eap.git] / wlantest / wlantest_ctrl.h
1 /*
2  * wlantest control interface
3  * Copyright (c) 2010, 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 #ifndef WLANTEST_CTRL_H
16 #define WLANTEST_CTRL_H
17
18 #define WLANTEST_SOCK_NAME "w1.fi.wlantest"
19 #define WLANTEST_CTRL_MAX_CMD_LEN 1000
20 #define WLANTEST_CTRL_MAX_RESP_LEN 1000
21
22 enum wlantest_ctrl_cmd {
23         WLANTEST_CTRL_SUCCESS,
24         WLANTEST_CTRL_FAILURE,
25         WLANTEST_CTRL_INVALID_CMD,
26         WLANTEST_CTRL_UNKNOWN_CMD,
27         WLANTEST_CTRL_PING,
28         WLANTEST_CTRL_TERMINATE,
29         WLANTEST_CTRL_LIST_BSS,
30         WLANTEST_CTRL_LIST_STA,
31         WLANTEST_CTRL_FLUSH,
32         WLANTEST_CTRL_CLEAR_STA_COUNTERS,
33         WLANTEST_CTRL_CLEAR_BSS_COUNTERS,
34         WLANTEST_CTRL_GET_STA_COUNTER,
35         WLANTEST_CTRL_GET_BSS_COUNTER,
36         WLANTEST_CTRL_INJECT,
37         WLANTEST_CTRL_VERSION,
38         WLANTEST_CTRL_ADD_PASSPHRASE,
39         WLANTEST_CTRL_INFO_STA,
40         WLANTEST_CTRL_INFO_BSS,
41         WLANTEST_CTRL_SEND,
42         WLANTEST_CTRL_CLEAR_TDLS_COUNTERS,
43         WLANTEST_CTRL_GET_TDLS_COUNTER,
44 };
45
46 enum wlantest_ctrl_attr {
47         WLANTEST_ATTR_BSSID,
48         WLANTEST_ATTR_STA_ADDR,
49         WLANTEST_ATTR_STA_COUNTER,
50         WLANTEST_ATTR_BSS_COUNTER,
51         WLANTEST_ATTR_COUNTER,
52         WLANTEST_ATTR_INJECT_FRAME,
53         WLANTEST_ATTR_INJECT_SENDER_AP,
54         WLANTEST_ATTR_INJECT_PROTECTION,
55         WLANTEST_ATTR_VERSION,
56         WLANTEST_ATTR_PASSPHRASE,
57         WLANTEST_ATTR_STA_INFO,
58         WLANTEST_ATTR_BSS_INFO,
59         WLANTEST_ATTR_INFO,
60         WLANTEST_ATTR_FRAME,
61         WLANTEST_ATTR_TDLS_COUNTER,
62         WLANTEST_ATTR_STA2_ADDR,
63 };
64
65 enum wlantest_bss_counter {
66         WLANTEST_BSS_COUNTER_VALID_BIP_MMIE,
67         WLANTEST_BSS_COUNTER_INVALID_BIP_MMIE,
68         WLANTEST_BSS_COUNTER_MISSING_BIP_MMIE,
69         WLANTEST_BSS_COUNTER_BIP_DEAUTH,
70         WLANTEST_BSS_COUNTER_BIP_DISASSOC,
71         NUM_WLANTEST_BSS_COUNTER
72 };
73
74 enum wlantest_sta_counter {
75         WLANTEST_STA_COUNTER_AUTH_TX,
76         WLANTEST_STA_COUNTER_AUTH_RX,
77         WLANTEST_STA_COUNTER_ASSOCREQ_TX,
78         WLANTEST_STA_COUNTER_REASSOCREQ_TX,
79         WLANTEST_STA_COUNTER_PTK_LEARNED,
80         WLANTEST_STA_COUNTER_VALID_DEAUTH_TX,
81         WLANTEST_STA_COUNTER_VALID_DEAUTH_RX,
82         WLANTEST_STA_COUNTER_INVALID_DEAUTH_TX,
83         WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX,
84         WLANTEST_STA_COUNTER_VALID_DISASSOC_TX,
85         WLANTEST_STA_COUNTER_VALID_DISASSOC_RX,
86         WLANTEST_STA_COUNTER_INVALID_DISASSOC_TX,
87         WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX,
88         WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_TX,
89         WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_RX,
90         WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_TX,
91         WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_RX,
92         WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_TX,
93         WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_RX,
94         WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_TX,
95         WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_RX,
96         WLANTEST_STA_COUNTER_PING_OK,
97         WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK,
98         WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK,
99         NUM_WLANTEST_STA_COUNTER
100 };
101
102 enum wlantest_tdls_counter {
103         WLANTEST_TDLS_COUNTER_VALID_DIRECT_LINK,
104         WLANTEST_TDLS_COUNTER_INVALID_DIRECT_LINK,
105         WLANTEST_TDLS_COUNTER_VALID_AP_PATH,
106         WLANTEST_TDLS_COUNTER_INVALID_AP_PATH,
107         NUM_WLANTEST_TDLS_COUNTER
108 };
109
110 enum wlantest_inject_frame {
111         WLANTEST_FRAME_AUTH,
112         WLANTEST_FRAME_ASSOCREQ,
113         WLANTEST_FRAME_REASSOCREQ,
114         WLANTEST_FRAME_DEAUTH,
115         WLANTEST_FRAME_DISASSOC,
116         WLANTEST_FRAME_SAQUERYREQ,
117 };
118
119 /**
120  * enum wlantest_inject_protection - WLANTEST_CTRL_INJECT protection
121  * @WLANTEST_INJECT_NORMAL: Use normal rules (protect if key is set)
122  * @WLANTEST_INJECT_PROTECTED: Force protection (fail if not possible)
123  * @WLANTEST_INJECT_UNPROTECTED: Force unprotected
124  * @WLANTEST_INJECT_INCORRECT_KEY: Force protection with incorrect key
125  */
126 enum wlantest_inject_protection {
127         WLANTEST_INJECT_NORMAL,
128         WLANTEST_INJECT_PROTECTED,
129         WLANTEST_INJECT_UNPROTECTED,
130         WLANTEST_INJECT_INCORRECT_KEY,
131 };
132
133 enum wlantest_sta_info {
134         WLANTEST_STA_INFO_PROTO,
135         WLANTEST_STA_INFO_PAIRWISE,
136         WLANTEST_STA_INFO_KEY_MGMT,
137         WLANTEST_STA_INFO_RSN_CAPAB,
138         WLANTEST_STA_INFO_STATE,
139 };
140
141 enum wlantest_bss_info {
142         WLANTEST_BSS_INFO_PROTO,
143         WLANTEST_BSS_INFO_PAIRWISE,
144         WLANTEST_BSS_INFO_GROUP,
145         WLANTEST_BSS_INFO_GROUP_MGMT,
146         WLANTEST_BSS_INFO_KEY_MGMT,
147         WLANTEST_BSS_INFO_RSN_CAPAB,
148 };
149
150 #endif /* WLANTEST_CTRL_H */