1 /* 2 * WPA Supplicant - privilege separation commands 3 * Copyright (c) 2007-2009, Jouni Malinen <j (at) 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_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 37 struct 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 52 struct 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 64 enum 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