1/*
2 * WPA Supplicant - privilege separation commands
3 * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * Alternatively, this software may be distributed under the terms of BSD
10 * license.
11 *
12 * See README and COPYING for more details.
13 */
14
15#ifndef PRIVSEP_COMMANDS_H
16#define PRIVSEP_COMMANDS_H
17
18enum privsep_cmd {
19	PRIVSEP_CMD_REGISTER,
20	PRIVSEP_CMD_UNREGISTER,
21	PRIVSEP_CMD_SET_WPA,
22	PRIVSEP_CMD_SCAN,
23	PRIVSEP_CMD_GET_SCAN_RESULTS,
24	PRIVSEP_CMD_ASSOCIATE,
25	PRIVSEP_CMD_GET_BSSID,
26	PRIVSEP_CMD_GET_SSID,
27	PRIVSEP_CMD_SET_KEY,
28	PRIVSEP_CMD_GET_CAPA,
29	PRIVSEP_CMD_L2_REGISTER,
30	PRIVSEP_CMD_L2_UNREGISTER,
31	PRIVSEP_CMD_L2_NOTIFY_AUTH_START,
32	PRIVSEP_CMD_L2_SEND,
33	PRIVSEP_CMD_SET_MODE,
34	PRIVSEP_CMD_SET_COUNTRY,
35};
36
37struct privsep_cmd_associate
38{
39	u8 bssid[ETH_ALEN];
40	u8 ssid[32];
41	size_t ssid_len;
42	int freq;
43	int pairwise_suite;
44	int group_suite;
45	int key_mgmt_suite;
46	int auth_alg;
47	int mode;
48	size_t wpa_ie_len;
49	/* followed by wpa_ie_len bytes of wpa_ie */
50};
51
52struct privsep_cmd_set_key
53{
54	int alg;
55	u8 addr[ETH_ALEN];
56	int key_idx;
57	int set_tx;
58	u8 seq[8];
59	size_t seq_len;
60	u8 key[32];
61	size_t key_len;
62};
63
64enum privsep_event {
65	PRIVSEP_EVENT_SCAN_RESULTS,
66	PRIVSEP_EVENT_ASSOC,
67	PRIVSEP_EVENT_DISASSOC,
68	PRIVSEP_EVENT_ASSOCINFO,
69	PRIVSEP_EVENT_MICHAEL_MIC_FAILURE,
70	PRIVSEP_EVENT_INTERFACE_STATUS,
71	PRIVSEP_EVENT_PMKID_CANDIDATE,
72	PRIVSEP_EVENT_STKSTART,
73	PRIVSEP_EVENT_FT_RESPONSE,
74	PRIVSEP_EVENT_RX_EAPOL,
75	PRIVSEP_EVENT_STA_RX,
76};
77
78#endif /* PRIVSEP_COMMANDS_H */
79