4dc34c4ad322b370ed96b79ae301b4d7404f241b
[mech_eap.git] / src / common / privsep_commands.h
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 hwmode;
35         int freq;
36         int channel;
37         int pairwise_suite;
38         int group_suite;
39         int key_mgmt_suite;
40         int auth_alg;
41         int mode;
42         size_t wpa_ie_len;
43         /* followed by wpa_ie_len bytes of wpa_ie */
44 };
45
46 struct privsep_cmd_set_key
47 {
48         int alg;
49         u8 addr[ETH_ALEN];
50         int key_idx;
51         int set_tx;
52         u8 seq[8];
53         size_t seq_len;
54         u8 key[32];
55         size_t key_len;
56 };
57
58 enum privsep_event {
59         PRIVSEP_EVENT_SCAN_RESULTS,
60         PRIVSEP_EVENT_ASSOC,
61         PRIVSEP_EVENT_DISASSOC,
62         PRIVSEP_EVENT_ASSOCINFO,
63         PRIVSEP_EVENT_MICHAEL_MIC_FAILURE,
64         PRIVSEP_EVENT_INTERFACE_STATUS,
65         PRIVSEP_EVENT_PMKID_CANDIDATE,
66         PRIVSEP_EVENT_STKSTART,
67         PRIVSEP_EVENT_FT_RESPONSE,
68         PRIVSEP_EVENT_RX_EAPOL,
69 };
70
71 #endif /* PRIVSEP_COMMANDS_H */