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
14enum 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
31struct 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
48struct 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
60enum 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};
72
73#endif /* PRIVSEP_COMMANDS_H */
74