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