1 /*
2  * WPA Supplicant - privilege separation commands
3  * Copyright (c) 2007-2009, 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 PRIVSEP_COMMANDS_H
10 #define PRIVSEP_COMMANDS_H
11 
12 enum privsep_cmd {
13 	PRIVSEP_CMD_REGISTER,
14 	PRIVSEP_CMD_UNREGISTER,
15 	PRIVSEP_CMD_SCAN,
16 	PRIVSEP_CMD_GET_SCAN_RESULTS,
17 	PRIVSEP_CMD_ASSOCIATE,
18 	PRIVSEP_CMD_GET_BSSID,
19 	PRIVSEP_CMD_GET_SSID,
20 	PRIVSEP_CMD_SET_KEY,
21 	PRIVSEP_CMD_GET_CAPA,
22 	PRIVSEP_CMD_L2_REGISTER,
23 	PRIVSEP_CMD_L2_UNREGISTER,
24 	PRIVSEP_CMD_L2_NOTIFY_AUTH_START,
25 	PRIVSEP_CMD_L2_SEND,
26 	PRIVSEP_CMD_SET_COUNTRY,
27 };
28 
29 struct privsep_cmd_associate
30 {
31 	u8 bssid[ETH_ALEN];
32 	u8 ssid[32];
33 	size_t ssid_len;
34 	int freq;
35 	int pairwise_suite;
36 	int group_suite;
37 	int key_mgmt_suite;
38 	int auth_alg;
39 	int mode;
40 	size_t wpa_ie_len;
41 	/* followed by wpa_ie_len bytes of wpa_ie */
42 };
43 
44 struct privsep_cmd_set_key
45 {
46 	int alg;
47 	u8 addr[ETH_ALEN];
48 	int key_idx;
49 	int set_tx;
50 	u8 seq[8];
51 	size_t seq_len;
52 	u8 key[32];
53 	size_t key_len;
54 };
55 
56 enum privsep_event {
57 	PRIVSEP_EVENT_SCAN_RESULTS,
58 	PRIVSEP_EVENT_ASSOC,
59 	PRIVSEP_EVENT_DISASSOC,
60 	PRIVSEP_EVENT_ASSOCINFO,
61 	PRIVSEP_EVENT_MICHAEL_MIC_FAILURE,
62 	PRIVSEP_EVENT_INTERFACE_STATUS,
63 	PRIVSEP_EVENT_PMKID_CANDIDATE,
64 	PRIVSEP_EVENT_STKSTART,
65 	PRIVSEP_EVENT_FT_RESPONSE,
66 	PRIVSEP_EVENT_RX_EAPOL,
67 };
68 
69 #endif /* PRIVSEP_COMMANDS_H */
70