65621405dad439b6459be6dd7605dad3deb8834f
[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 #include "common/ieee802_11_defs.h"
13
14 enum privsep_cmd {
15         PRIVSEP_CMD_REGISTER,
16         PRIVSEP_CMD_UNREGISTER,
17         PRIVSEP_CMD_SCAN,
18         PRIVSEP_CMD_GET_SCAN_RESULTS,
19         PRIVSEP_CMD_ASSOCIATE,
20         PRIVSEP_CMD_GET_BSSID,
21         PRIVSEP_CMD_GET_SSID,
22         PRIVSEP_CMD_SET_KEY,
23         PRIVSEP_CMD_GET_CAPA,
24         PRIVSEP_CMD_L2_REGISTER,
25         PRIVSEP_CMD_L2_UNREGISTER,
26         PRIVSEP_CMD_L2_NOTIFY_AUTH_START,
27         PRIVSEP_CMD_L2_SEND,
28         PRIVSEP_CMD_SET_COUNTRY,
29 };
30
31 struct privsep_cmd_associate
32 {
33         u8 bssid[ETH_ALEN];
34         u8 ssid[SSID_MAX_LEN];
35         size_t ssid_len;
36         int hwmode;
37         int freq;
38         int channel;
39         int pairwise_suite;
40         int group_suite;
41         int key_mgmt_suite;
42         int auth_alg;
43         int mode;
44         size_t wpa_ie_len;
45         /* followed by wpa_ie_len bytes of wpa_ie */
46 };
47
48 struct privsep_cmd_set_key
49 {
50         int alg;
51         u8 addr[ETH_ALEN];
52         int key_idx;
53         int set_tx;
54         u8 seq[8];
55         size_t seq_len;
56         u8 key[32];
57         size_t key_len;
58 };
59
60 enum privsep_event {
61         PRIVSEP_EVENT_SCAN_RESULTS,
62         PRIVSEP_EVENT_ASSOC,
63         PRIVSEP_EVENT_DISASSOC,
64         PRIVSEP_EVENT_ASSOCINFO,
65         PRIVSEP_EVENT_MICHAEL_MIC_FAILURE,
66         PRIVSEP_EVENT_INTERFACE_STATUS,
67         PRIVSEP_EVENT_PMKID_CANDIDATE,
68         PRIVSEP_EVENT_STKSTART,
69         PRIVSEP_EVENT_FT_RESPONSE,
70         PRIVSEP_EVENT_RX_EAPOL,
71         PRIVSEP_EVENT_SCAN_STARTED,
72 };
73
74 #endif /* PRIVSEP_COMMANDS_H */