Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries. * All rights reserved. */ #ifndef WILC_FW_H #define WILC_FW_H #include <linux/ieee80211.h> #define WILC_MAX_NUM_STA 9 #define WILC_MAX_RATES_SUPPORTED 12 #define WILC_MAX_NUM_PMKIDS 16 #define WILC_MAX_NUM_SCANNED_CH 14 struct wilc_assoc_resp { __le16 capab_info; __le16 status_code; __le16 aid; } __packed; struct wilc_pmkid { u8 bssid[ETH_ALEN]; u8 pmkid[WLAN_PMKID_LEN]; } __packed; struct wilc_pmkid_attr { u8 numpmkid; struct wilc_pmkid pmkidlist[WILC_MAX_NUM_PMKIDS]; } __packed; struct wilc_reg_frame { u8 reg; u8 reg_id; __le16 frame_type; } __packed; struct wilc_drv_handler { __le32 handler; u8 mode; } __packed; struct wilc_sta_wpa_ptk { u8 mac_addr[ETH_ALEN]; u8 key_len; u8 key[]; } __packed; struct wilc_ap_wpa_ptk { u8 mac_addr[ETH_ALEN]; u8 index; u8 key_len; u8 key[]; } __packed; struct wilc_wpa_igtk { u8 index; u8 pn_len; u8 pn[6]; u8 key_len; u8 key[]; } __packed; struct wilc_gtk_key { u8 mac_addr[ETH_ALEN]; u8 rsc[8]; u8 index; u8 key_len; u8 key[]; } __packed; struct wilc_op_mode { __le32 mode; } __packed; struct wilc_noa_opp_enable { u8 ct_window; u8 cnt; __le32 duration; __le32 interval; __le32 start_time; } __packed; struct wilc_noa_opp_disable { u8 cnt; __le32 duration; __le32 interval; __le32 start_time; } __packed; struct wilc_join_bss_param { char ssid[IEEE80211_MAX_SSID_LEN]; u8 ssid_terminator; u8 bss_type; u8 ch; __le16 cap_info; u8 sa[ETH_ALEN]; u8 bssid[ETH_ALEN]; __le16 beacon_period; u8 dtim_period; u8 supp_rates[WILC_MAX_RATES_SUPPORTED + 1]; u8 wmm_cap; u8 uapsd_cap; u8 ht_capable; u8 rsn_found; u8 rsn_grp_policy; u8 mode_802_11i; u8 p_suites[3]; u8 akm_suites[3]; u8 rsn_cap[2]; u8 noa_enabled; __le32 tsf_lo; u8 idx; u8 opp_enabled; union { struct wilc_noa_opp_disable opp_dis; struct wilc_noa_opp_enable opp_en; }; } __packed; struct wilc_external_auth_param { u8 action; u8 bssid[ETH_ALEN]; u8 ssid[IEEE80211_MAX_SSID_LEN]; u8 ssid_len; __le32 key_mgmt_suites; __le16 status; } __packed; #endif