1 /* 2 * This file is part of wl18xx 3 * 4 * Copyright (C) 2011 Texas Instruments. All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 * 02110-1301 USA 19 * 20 */ 21 22 #ifndef __WL18XX_CMD_H__ 23 #define __WL18XX_CMD_H__ 24 25 #include "../wlcore/wlcore.h" 26 #include "../wlcore/acx.h" 27 28 struct wl18xx_cmd_channel_switch { 29 struct wl1271_cmd_header header; 30 31 u8 role_id; 32 33 /* The new serving channel */ 34 u8 channel; 35 /* Relative time of the serving channel switch in TBTT units */ 36 u8 switch_time; 37 /* Stop the role TX, should expect it after radar detection */ 38 u8 stop_tx; 39 40 __le32 local_supported_rates; 41 42 u8 channel_type; 43 u8 band; 44 45 u8 padding[2]; 46 } __packed; 47 48 struct wl18xx_cmd_smart_config_start { 49 struct wl1271_cmd_header header; 50 51 __le32 group_id_bitmask; 52 } __packed; 53 54 struct wl18xx_cmd_smart_config_set_group_key { 55 struct wl1271_cmd_header header; 56 57 __le32 group_id; 58 59 u8 key[16]; 60 } __packed; 61 62 int wl18xx_cmd_channel_switch(struct wl1271 *wl, 63 struct wl12xx_vif *wlvif, 64 struct ieee80211_channel_switch *ch_switch); 65 int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap); 66 int wl18xx_cmd_smart_config_stop(struct wl1271 *wl); 67 int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id, 68 u8 key_len, u8 *key); 69 #endif 70