| /*HEADER********************************************************************** |
| ****************************************************************************** |
| *** |
| *** |
| *** Copyright (c) 2011, 2012, Imagination Technologies Ltd. |
| *** |
| *** This program is free software; you can redistribute it and/or |
| *** modify it under the terms of the GNU General Public License |
| *** as published by the Free Software Foundation; either version 2 |
| *** of the License, or (at your option) any later version. |
| *** |
| *** This program is distributed in the hope that it will be useful, |
| *** but WITHOUT ANY WARRANTY; without even the implied warranty of |
| *** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| *** GNU General Public License for more details. |
| *** |
| *** You should have received a copy of the GNU General Public License |
| *** along with this program; if not, write to the Free Software |
| *** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, |
| *** USA. |
| *** |
| *** File Name : lmac_if.h |
| *** |
| *** File Description: |
| *** This file contains the helper functions exported by LMAC interface module for |
| *** sending commands and receiving events from the LMAC |
| ***************************************************************************** |
| *END**************************************************************************/ |
| |
| #ifndef _UCCP310WLAN_LMAC_IF_H_ |
| #define _UCCP310WLAN_LMAC_IF_H_ |
| #include <linux/skbuff.h> |
| |
| #include "hal.h" |
| #include "umac_lmac_if.h" |
| struct umac_key { |
| unsigned char *peer_mac; |
| unsigned char *tx_mic; |
| unsigned char *rx_mic; |
| unsigned char *key; |
| }; |
| |
| /* Commands */ |
| |
| extern int uccp310wlan_prog_reset(unsigned int reset_type); |
| extern int uccp310wlan_prog_scan_ind(unsigned int scan_ind); |
| extern int uccp310wlan_prog_vif_ctrl(int index, |
| unsigned char *vif_addr, |
| unsigned int vif_type, |
| unsigned int add_vif); |
| extern int uccp310wlan_prog_vif_basic_rates(int index, |
| unsigned char *vif_addr, |
| unsigned int basic_rate_set); |
| extern int uccp310wlan_prog_vif_short_slot(int index, |
| unsigned char *vif_addr, |
| unsigned int use_short_slot); |
| extern int uccp310wlan_prog_vif_powersave_mode(int index, |
| unsigned char *vif_addr, |
| unsigned int powersave_mode); |
| extern int uccp310wlan_prog_vif_atim_window(int index, |
| unsigned char *vif_addr, |
| unsigned int atim_window); |
| extern int uccp310wlan_prog_vif_aid(int index, |
| unsigned char *vif_addr, |
| unsigned int aid); |
| extern int uccp310wlan_prog_vif_assoc_cap(int index, |
| unsigned char *vif_addr, |
| unsigned int caps); |
| extern int uccp310wlan_prog_vif_apsd_type(int index, |
| unsigned char *vif_addr, |
| unsigned int uapsd_type); |
| extern int uccp310wlan_prog_vif_long_retry(int index, |
| unsigned char *vif_addr, |
| unsigned int long_retry); |
| extern int uccp310wlan_prog_vif_short_retry(int index, |
| unsigned char *vif_addr, |
| unsigned int short_retry); |
| extern int uccp310wlan_prog_vif_bssid(int index, |
| unsigned char *vif_addr, |
| unsigned char *bssid); |
| extern int uccp310wlan_prog_powersave_state(int index, |
| unsigned char *vif_addr, |
| unsigned int powersave_state); |
| |
| extern int uccp310wlan_prog_global_cfg(unsigned int rx_msdu_lifetime, |
| unsigned int tx_msdu_lifetime, |
| unsigned int sensitivity, |
| unsigned int dyn_ed_enabled, |
| unsigned int dyn_ed_ceiling, |
| unsigned char *rf_params); |
| extern int uccp310wlan_prog_txpower(unsigned int txpower); |
| extern int uccp310wlan_prog_mcast_addr_cfg(unsigned char *mcast_addr, |
| unsigned int add_filter); |
| extern int uccp310wlan_prog_mcast_filter_control(unsigned int enable_mcast_filtering); |
| extern int uccp310wlan_prog_rcv_bcn_mode(unsigned int bcn_rcv_mode); |
| extern int uccp310wlan_prog_txq_params(int index, |
| unsigned char *vif_addr, |
| unsigned int queue, |
| unsigned int aifs, |
| unsigned int txop, |
| unsigned int cwmin, |
| unsigned int cwmax); |
| extern int uccp310wlan_prog_channel(unsigned int ch); |
| extern int uccp310wlan_prog_peer_key(int index, |
| unsigned char *vif_addr, |
| unsigned int op, |
| unsigned int key_id, |
| unsigned int key_type, |
| unsigned int cipher_type, |
| struct umac_key *key); |
| extern int uccp310wlan_prog_if_key(int index, |
| unsigned char *vif_addr, |
| unsigned int op, |
| unsigned int key_id, |
| unsigned int cipher_type, |
| struct umac_key *key); |
| |
| extern int uccp310wlan_prog_mib_stats(void); |
| extern int uccp310wlan_prog_phy_stats(void); |
| |
| extern int uccp310wlan_prog_tx(struct sk_buff *skb); |
| |
| /* Events */ |
| extern void uccp310wlan_reset_complete(char *lmac_version, void *context); |
| extern void uccp310wlan_tx_complete(struct umac_event_tx_done *txdone, void *context); |
| extern void uccp310wlan_rx_frame(struct sk_buff *skb, void *context); |
| extern void uccp310wlan_mib_stats(struct umac_event_mib_stats *mib_stats, void *context); |
| extern void uccp310wlan_noa_event(int event, void *msg, void *context, struct sk_buff *skb); |
| |
| /* Init/Deinit */ |
| |
| extern int uccp310wlan_lmac_if_init(void *context, const char *name); |
| extern void uccp310wlan_lmac_if_deinit(void); |
| #endif /* _UCCP310WLAN_LMAC_IF_H_ */ |
| |
| /* EOF */ |
| |