139beb93cSSam Leffler /* 239beb93cSSam Leffler * WPA Supplicant - privilege separation commands 339beb93cSSam Leffler * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi> 439beb93cSSam Leffler * 5f05cddf9SRui Paulo * This software may be distributed under the terms of the BSD license. 6f05cddf9SRui Paulo * See README for more details. 739beb93cSSam Leffler */ 839beb93cSSam Leffler 939beb93cSSam Leffler #ifndef PRIVSEP_COMMANDS_H 1039beb93cSSam Leffler #define PRIVSEP_COMMANDS_H 1139beb93cSSam Leffler 1239beb93cSSam Leffler enum privsep_cmd { 1339beb93cSSam Leffler PRIVSEP_CMD_REGISTER, 1439beb93cSSam Leffler PRIVSEP_CMD_UNREGISTER, 1539beb93cSSam Leffler PRIVSEP_CMD_SCAN, 1639beb93cSSam Leffler PRIVSEP_CMD_GET_SCAN_RESULTS, 1739beb93cSSam Leffler PRIVSEP_CMD_ASSOCIATE, 1839beb93cSSam Leffler PRIVSEP_CMD_GET_BSSID, 1939beb93cSSam Leffler PRIVSEP_CMD_GET_SSID, 2039beb93cSSam Leffler PRIVSEP_CMD_SET_KEY, 2139beb93cSSam Leffler PRIVSEP_CMD_GET_CAPA, 2239beb93cSSam Leffler PRIVSEP_CMD_L2_REGISTER, 2339beb93cSSam Leffler PRIVSEP_CMD_L2_UNREGISTER, 2439beb93cSSam Leffler PRIVSEP_CMD_L2_NOTIFY_AUTH_START, 2539beb93cSSam Leffler PRIVSEP_CMD_L2_SEND, 2639beb93cSSam Leffler PRIVSEP_CMD_SET_COUNTRY, 2739beb93cSSam Leffler }; 2839beb93cSSam Leffler 2939beb93cSSam Leffler struct privsep_cmd_associate 3039beb93cSSam Leffler { 3139beb93cSSam Leffler u8 bssid[ETH_ALEN]; 3239beb93cSSam Leffler u8 ssid[32]; 3339beb93cSSam Leffler size_t ssid_len; 34*5b9c547cSRui Paulo int hwmode; 3539beb93cSSam Leffler int freq; 36*5b9c547cSRui Paulo int channel; 3739beb93cSSam Leffler int pairwise_suite; 3839beb93cSSam Leffler int group_suite; 3939beb93cSSam Leffler int key_mgmt_suite; 4039beb93cSSam Leffler int auth_alg; 4139beb93cSSam Leffler int mode; 4239beb93cSSam Leffler size_t wpa_ie_len; 4339beb93cSSam Leffler /* followed by wpa_ie_len bytes of wpa_ie */ 4439beb93cSSam Leffler }; 4539beb93cSSam Leffler 4639beb93cSSam Leffler struct privsep_cmd_set_key 4739beb93cSSam Leffler { 4839beb93cSSam Leffler int alg; 4939beb93cSSam Leffler u8 addr[ETH_ALEN]; 5039beb93cSSam Leffler int key_idx; 5139beb93cSSam Leffler int set_tx; 5239beb93cSSam Leffler u8 seq[8]; 5339beb93cSSam Leffler size_t seq_len; 5439beb93cSSam Leffler u8 key[32]; 5539beb93cSSam Leffler size_t key_len; 5639beb93cSSam Leffler }; 5739beb93cSSam Leffler 5839beb93cSSam Leffler enum privsep_event { 5939beb93cSSam Leffler PRIVSEP_EVENT_SCAN_RESULTS, 6039beb93cSSam Leffler PRIVSEP_EVENT_ASSOC, 6139beb93cSSam Leffler PRIVSEP_EVENT_DISASSOC, 6239beb93cSSam Leffler PRIVSEP_EVENT_ASSOCINFO, 6339beb93cSSam Leffler PRIVSEP_EVENT_MICHAEL_MIC_FAILURE, 6439beb93cSSam Leffler PRIVSEP_EVENT_INTERFACE_STATUS, 6539beb93cSSam Leffler PRIVSEP_EVENT_PMKID_CANDIDATE, 6639beb93cSSam Leffler PRIVSEP_EVENT_STKSTART, 6739beb93cSSam Leffler PRIVSEP_EVENT_FT_RESPONSE, 6839beb93cSSam Leffler PRIVSEP_EVENT_RX_EAPOL, 6939beb93cSSam Leffler }; 7039beb93cSSam Leffler 7139beb93cSSam Leffler #endif /* PRIVSEP_COMMANDS_H */ 72