PageRenderTime 42ms CodeModel.GetById 39ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/net/wireless/sd8797/mlan/mlan_uap.h

https://bitbucket.org/cyanogenmod/android_kernel_asus_tf300t
C Header | 104 lines | 51 code | 17 blank | 36 comment | 2 complexity | 8d7b8a9b84c497c9e8ea985ec2c1ac1d MD5 | raw file
Possible License(s): LGPL-2.0, AGPL-1.0, GPL-2.0
  1/** @file mlan_uap.h
  2 *
  3 *  @brief This file contains related macros, enum, and struct
  4 *  of uap functionalities
  5 *
  6 *  Copyright (C) 2009-2011, Marvell International Ltd. 
  7 *
  8 *  This software file (the "File") is distributed by Marvell International 
  9 *  Ltd. under the terms of the GNU General Public License Version 2, June 1991 
 10 *  (the "License").  You may use, redistribute and/or modify this File in 
 11 *  accordance with the terms and conditions of the License, a copy of which 
 12 *  is available by writing to the Free Software Foundation, Inc.,
 13 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
 14 *  worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 15 *
 16 *  THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 
 17 *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 
 18 *  ARE EXPRESSLY DISCLAIMED.  The License provides additional details about 
 19 *  this warranty disclaimer.
 20 */
 21
 22/********************************************************
 23Change log:
 24    02/05/2009: initial version
 25********************************************************/
 26
 27#ifndef _MLAN_UAP_H_
 28#define _MLAN_UAP_H_
 29
 30#ifdef BIG_ENDIAN_SUPPORT
 31/** Convert TxPD to little endian format from CPU format */
 32#define uap_endian_convert_TxPD(x)                                          \
 33    {                                                                   \
 34        (x)->tx_pkt_length = wlan_cpu_to_le16((x)->tx_pkt_length);      \
 35        (x)->tx_pkt_offset = wlan_cpu_to_le16((x)->tx_pkt_offset);      \
 36        (x)->tx_pkt_type = wlan_cpu_to_le16((x)->tx_pkt_type);      \
 37        (x)->tx_control = wlan_cpu_to_le32((x)->tx_control);      \
 38    }
 39
 40/** Convert RxPD from little endian format to CPU format */
 41#define uap_endian_convert_RxPD(x)                                          \
 42    {                                                                   \
 43        (x)->rx_pkt_length = wlan_le16_to_cpu((x)->rx_pkt_length);      \
 44        (x)->rx_pkt_offset = wlan_le16_to_cpu((x)->rx_pkt_offset);      \
 45        (x)->rx_pkt_type = wlan_le16_to_cpu((x)->rx_pkt_type);      \
 46        (x)->seq_num = wlan_le16_to_cpu((x)->seq_num);              \
 47    }
 48#else
 49/** Convert TxPD to little endian format from CPU format */
 50#define uap_endian_convert_TxPD(x)  do {} while (0)
 51/** Convert RxPD from little endian format to CPU format */
 52#define uap_endian_convert_RxPD(x)  do {} while (0)
 53#endif /* BIG_ENDIAN_SUPPORT */
 54
 55/** Band config 5GHz */
 56#define UAP_BAND_CONFIG_5GHZ  0x01
 57
 58/** Packet forwarding to be done by FW or host */
 59#define PKT_FWD_FW_BIT  0x01
 60/** Intra-BSS broadcast packet forwarding allow bit */
 61#define PKT_FWD_INTRA_BCAST 0x02
 62/** Intra-BSS unicast packet forwarding allow bit */
 63#define PKT_FWD_INTRA_UCAST 0x04
 64/** Inter-BSS unicast packet forwarding allow bit */
 65#define PKT_FWD_INTER_UCAST 0x08
 66/** Intra-BSS unicast packet */
 67#define PKT_INTRA_UCAST     0x01
 68/** Inter-BSS unicast packet */
 69#define PKT_INTER_UCAST     0x02
 70/** Enable Host PKT forwarding */
 71#define PKT_FWD_ENABLE_BIT  0x01
 72
 73mlan_status wlan_uap_get_channel(IN pmlan_private pmpriv);
 74
 75mlan_status wlan_uap_set_channel(IN pmlan_private pmpriv,
 76                                 IN t_u8 uap_band_cfg, IN t_u8 channel);
 77
 78mlan_status wlan_uap_get_beacon_dtim(IN pmlan_private pmpriv);
 79
 80mlan_status wlan_ops_uap_ioctl(t_void * adapter, pmlan_ioctl_req pioctl_req);
 81
 82mlan_status wlan_ops_uap_prepare_cmd(IN t_void * priv,
 83                                     IN t_u16 cmd_no,
 84                                     IN t_u16 cmd_action,
 85                                     IN t_u32 cmd_oid,
 86                                     IN t_void * pioctl_buf,
 87                                     IN t_void * pdata_buf,
 88                                     IN t_void * pcmd_buf);
 89
 90mlan_status wlan_ops_uap_process_cmdresp(IN t_void * priv,
 91                                         IN t_u16 cmdresp_no,
 92                                         IN t_void * pcmd_buf,
 93                                         IN t_void * pioctl);
 94
 95mlan_status wlan_ops_uap_process_rx_packet(IN t_void * adapter,
 96                                           IN pmlan_buffer pmbuf);
 97
 98mlan_status wlan_ops_uap_process_event(IN t_void * priv);
 99
100t_void *wlan_ops_uap_process_txpd(IN t_void * priv, IN pmlan_buffer pmbuf);
101
102mlan_status wlan_ops_uap_init_cmd(IN t_void * priv, IN t_u8 first_bss);
103
104#endif /* _MLAN_UAP_H_ */