41b658356cfcabcbd8104a228583a2b6bcf23f92
[mech_eap.git] / wlantest / wlantest_ctrl.h
1 /*
2  * wlantest control interface
3  * Copyright (c) 2010-2013, Jouni Malinen <j@w1.fi>
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8
9 #ifndef WLANTEST_CTRL_H
10 #define WLANTEST_CTRL_H
11
12 #define WLANTEST_SOCK_NAME "w1.fi.wlantest"
13 #define WLANTEST_CTRL_MAX_CMD_LEN 1000
14 #define WLANTEST_CTRL_MAX_RESP_LEN 1000
15
16 enum wlantest_ctrl_cmd {
17         WLANTEST_CTRL_SUCCESS,
18         WLANTEST_CTRL_FAILURE,
19         WLANTEST_CTRL_INVALID_CMD,
20         WLANTEST_CTRL_UNKNOWN_CMD,
21         WLANTEST_CTRL_PING,
22         WLANTEST_CTRL_TERMINATE,
23         WLANTEST_CTRL_LIST_BSS,
24         WLANTEST_CTRL_LIST_STA,
25         WLANTEST_CTRL_FLUSH,
26         WLANTEST_CTRL_CLEAR_STA_COUNTERS,
27         WLANTEST_CTRL_CLEAR_BSS_COUNTERS,
28         WLANTEST_CTRL_GET_STA_COUNTER,
29         WLANTEST_CTRL_GET_BSS_COUNTER,
30         WLANTEST_CTRL_INJECT,
31         WLANTEST_CTRL_VERSION,
32         WLANTEST_CTRL_ADD_PASSPHRASE,
33         WLANTEST_CTRL_INFO_STA,
34         WLANTEST_CTRL_INFO_BSS,
35         WLANTEST_CTRL_SEND,
36         WLANTEST_CTRL_CLEAR_TDLS_COUNTERS,
37         WLANTEST_CTRL_GET_TDLS_COUNTER,
38         WLANTEST_CTRL_RELOG,
39 };
40
41 enum wlantest_ctrl_attr {
42         WLANTEST_ATTR_BSSID,
43         WLANTEST_ATTR_STA_ADDR,
44         WLANTEST_ATTR_STA_COUNTER,
45         WLANTEST_ATTR_BSS_COUNTER,
46         WLANTEST_ATTR_COUNTER,
47         WLANTEST_ATTR_INJECT_FRAME,
48         WLANTEST_ATTR_INJECT_SENDER_AP,
49         WLANTEST_ATTR_INJECT_PROTECTION,
50         WLANTEST_ATTR_VERSION,
51         WLANTEST_ATTR_PASSPHRASE,
52         WLANTEST_ATTR_STA_INFO,
53         WLANTEST_ATTR_BSS_INFO,
54         WLANTEST_ATTR_INFO,
55         WLANTEST_ATTR_FRAME,
56         WLANTEST_ATTR_TDLS_COUNTER,
57         WLANTEST_ATTR_STA2_ADDR,
58         WLANTEST_ATTR_WEPKEY,
59 };
60
61 enum wlantest_bss_counter {
62         WLANTEST_BSS_COUNTER_VALID_BIP_MMIE,
63         WLANTEST_BSS_COUNTER_INVALID_BIP_MMIE,
64         WLANTEST_BSS_COUNTER_MISSING_BIP_MMIE,
65         WLANTEST_BSS_COUNTER_BIP_DEAUTH,
66         WLANTEST_BSS_COUNTER_BIP_DISASSOC,
67         NUM_WLANTEST_BSS_COUNTER
68 };
69
70 enum wlantest_sta_counter {
71         WLANTEST_STA_COUNTER_AUTH_TX,
72         WLANTEST_STA_COUNTER_AUTH_RX,
73         WLANTEST_STA_COUNTER_ASSOCREQ_TX,
74         WLANTEST_STA_COUNTER_REASSOCREQ_TX,
75         WLANTEST_STA_COUNTER_PTK_LEARNED,
76         WLANTEST_STA_COUNTER_VALID_DEAUTH_TX,
77         WLANTEST_STA_COUNTER_VALID_DEAUTH_RX,
78         WLANTEST_STA_COUNTER_INVALID_DEAUTH_TX,
79         WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX,
80         WLANTEST_STA_COUNTER_VALID_DISASSOC_TX,
81         WLANTEST_STA_COUNTER_VALID_DISASSOC_RX,
82         WLANTEST_STA_COUNTER_INVALID_DISASSOC_TX,
83         WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX,
84         WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_TX,
85         WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_RX,
86         WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_TX,
87         WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_RX,
88         WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_TX,
89         WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_RX,
90         WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_TX,
91         WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_RX,
92         WLANTEST_STA_COUNTER_PING_OK,
93         WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK,
94         WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK,
95         WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC,
96         WLANTEST_STA_COUNTER_VALID_DEAUTH_RX_ACK,
97         WLANTEST_STA_COUNTER_VALID_DISASSOC_RX_ACK,
98         WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX_ACK,
99         WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX_ACK,
100         WLANTEST_STA_COUNTER_DEAUTH_RX_ASLEEP,
101         WLANTEST_STA_COUNTER_DEAUTH_RX_AWAKE,
102         WLANTEST_STA_COUNTER_DISASSOC_RX_ASLEEP,
103         WLANTEST_STA_COUNTER_DISASSOC_RX_AWAKE,
104         WLANTEST_STA_COUNTER_PROT_DATA_TX,
105         WLANTEST_STA_COUNTER_DEAUTH_RX_RC6,
106         WLANTEST_STA_COUNTER_DEAUTH_RX_RC7,
107         WLANTEST_STA_COUNTER_DISASSOC_RX_RC6,
108         WLANTEST_STA_COUNTER_DISASSOC_RX_RC7,
109         NUM_WLANTEST_STA_COUNTER
110 };
111
112 enum wlantest_tdls_counter {
113         WLANTEST_TDLS_COUNTER_VALID_DIRECT_LINK,
114         WLANTEST_TDLS_COUNTER_INVALID_DIRECT_LINK,
115         WLANTEST_TDLS_COUNTER_VALID_AP_PATH,
116         WLANTEST_TDLS_COUNTER_INVALID_AP_PATH,
117         WLANTEST_TDLS_COUNTER_SETUP_REQ,
118         WLANTEST_TDLS_COUNTER_SETUP_RESP_OK,
119         WLANTEST_TDLS_COUNTER_SETUP_RESP_FAIL,
120         WLANTEST_TDLS_COUNTER_SETUP_CONF_OK,
121         WLANTEST_TDLS_COUNTER_SETUP_CONF_FAIL,
122         WLANTEST_TDLS_COUNTER_TEARDOWN,
123         NUM_WLANTEST_TDLS_COUNTER
124 };
125
126 enum wlantest_inject_frame {
127         WLANTEST_FRAME_AUTH,
128         WLANTEST_FRAME_ASSOCREQ,
129         WLANTEST_FRAME_REASSOCREQ,
130         WLANTEST_FRAME_DEAUTH,
131         WLANTEST_FRAME_DISASSOC,
132         WLANTEST_FRAME_SAQUERYREQ,
133 };
134
135 /**
136  * enum wlantest_inject_protection - WLANTEST_CTRL_INJECT protection
137  * @WLANTEST_INJECT_NORMAL: Use normal rules (protect if key is set)
138  * @WLANTEST_INJECT_PROTECTED: Force protection (fail if not possible)
139  * @WLANTEST_INJECT_UNPROTECTED: Force unprotected
140  * @WLANTEST_INJECT_INCORRECT_KEY: Force protection with incorrect key
141  */
142 enum wlantest_inject_protection {
143         WLANTEST_INJECT_NORMAL,
144         WLANTEST_INJECT_PROTECTED,
145         WLANTEST_INJECT_UNPROTECTED,
146         WLANTEST_INJECT_INCORRECT_KEY,
147 };
148
149 enum wlantest_sta_info {
150         WLANTEST_STA_INFO_PROTO,
151         WLANTEST_STA_INFO_PAIRWISE,
152         WLANTEST_STA_INFO_KEY_MGMT,
153         WLANTEST_STA_INFO_RSN_CAPAB,
154         WLANTEST_STA_INFO_STATE,
155         WLANTEST_STA_INFO_GTK,
156 };
157
158 enum wlantest_bss_info {
159         WLANTEST_BSS_INFO_PROTO,
160         WLANTEST_BSS_INFO_PAIRWISE,
161         WLANTEST_BSS_INFO_GROUP,
162         WLANTEST_BSS_INFO_GROUP_MGMT,
163         WLANTEST_BSS_INFO_KEY_MGMT,
164         WLANTEST_BSS_INFO_RSN_CAPAB,
165 };
166
167 #endif /* WLANTEST_CTRL_H */