#define _FALSE FALSE
#endif
-#ifdef PLATFORM_WINDOWS
-
- typedef signed char s8;
- typedef unsigned char u8;
-
- typedef signed short s16;
- typedef unsigned short u16;
-
- typedef signed long s32;
- typedef unsigned long u32;
-
- typedef unsigned int uint;
- typedef signed int sint;
-
-
- typedef signed long long s64;
- typedef unsigned long long u64;
-
- #ifdef NDIS50_MINIPORT
-
- #define NDIS_MAJOR_VERSION 5
- #define NDIS_MINOR_VERSION 0
-
- #endif
-
- #ifdef NDIS51_MINIPORT
-
- #define NDIS_MAJOR_VERSION 5
- #define NDIS_MINOR_VERSION 1
-
- #endif
-
- typedef NDIS_PROC proc_t;
-
- typedef LONG atomic_t;
-
+#include <linux/types.h>
+#define IN
+#define OUT
+#define VOID void
+#define NDIS_OID uint
+#define NDIS_STATUS uint
+
+typedef signed int sint;
+
+#ifndef PVOID
+typedef void * PVOID;
+//#define PVOID (void *)
#endif
+#define UCHAR u8
+#define USHORT u16
+#define UINT u32
+#define ULONG u32
-#ifdef PLATFORM_LINUX
-
- #include <linux/types.h>
- #define IN
- #define OUT
- #define VOID void
- #define NDIS_OID uint
- #define NDIS_STATUS uint
-
- typedef signed int sint;
-
- #ifndef PVOID
- typedef void * PVOID;
- //#define PVOID (void *)
- #endif
+typedef void (*proc_t)(void*);
- #define UCHAR u8
- #define USHORT u16
- #define UINT u32
- #define ULONG u32
-
- typedef void (*proc_t)(void*);
-
- typedef __kernel_size_t SIZE_T;
- typedef __kernel_ssize_t SSIZE_T;
- #define FIELD_OFFSET(s,field) ((SSIZE_T)&((s*)(0))->field)
-
-#endif
-
-
-#ifdef PLATFORM_FREEBSD
-
- typedef signed char s8;
- typedef unsigned char u8;
-
- typedef signed short s16;
- typedef unsigned short u16;
-
- typedef signed int s32;
- typedef unsigned int u32;
-
- typedef unsigned int uint;
- typedef signed int sint;
- typedef long atomic_t;
-
- typedef signed long long s64;
- typedef unsigned long long u64;
- #define IN
- #define OUT
- #define VOID void
- #define NDIS_OID uint
- #define NDIS_STATUS uint
-
- #ifndef PVOID
- typedef void * PVOID;
- //#define PVOID (void *)
- #endif
- typedef u32 dma_addr_t;
- #define UCHAR u8
- #define USHORT u16
- #define UINT u32
- #define ULONG u32
-
- typedef void (*proc_t)(void*);
-
- typedef unsigned int __kernel_size_t;
- typedef int __kernel_ssize_t;
-
- typedef __kernel_size_t SIZE_T;
- typedef __kernel_ssize_t SSIZE_T;
- #define FIELD_OFFSET(s,field) ((SSIZE_T)&((s*)(0))->field)
-
-#endif
+typedef __kernel_size_t SIZE_T;
+typedef __kernel_ssize_t SSIZE_T;
+#define FIELD_OFFSET(s,field) ((SSIZE_T)&((s*)(0))->field)
#define MEM_ALIGNMENT_OFFSET (sizeof (SIZE_T))
#define MEM_ALIGNMENT_PADDING (sizeof(SIZE_T) - 1)
#include <drv_conf.h>
#include <osdep_service.h>
-#ifdef PLATFORM_OS_XP
-#include <drv_types_xp.h>
-#endif
-
-#ifdef PLATFORM_OS_CE
-#include <drv_types_ce.h>
-#endif
-
-#ifdef PLATFORM_LINUX
-#include <drv_types_linux.h>
-#endif
-
typedef enum cust_gpio_modes {
WLAN_PWDN_ON,
WLAN_PWDN_OFF,
//for Android here. If you are sure there is no risk on your system about this,
//mask this macro define to support non-printable ascii ssid.
//#define CONFIG_VALIDATE_SSID
-#ifdef CONFIG_PLATFORM_ARM_SUNxI
- #ifdef CONFIG_VALIDATE_SSID
- #undef CONFIG_VALIDATE_SSID
- #endif
-#endif
//Android expect dbm as the rx signal strength unit
#define CONFIG_SIGNAL_DISPLAY_DBM
#include <wlan_bssdef.h>
-#ifdef PLATFORM_OS_XP
-#include <drv_types_xp.h>
-#endif
-
-#ifdef PLATFORM_OS_CE
-#include <drv_types_ce.h>
-#endif
-
-#ifdef PLATFORM_LINUX
-#include <drv_types_linux.h>
-#endif
-
enum _NIC_VERSION {
RTL8711_NIC,
u8 * usb_vendor_req_buf;
#endif
-#ifdef PLATFORM_WINDOWS
- //related device objects
- PDEVICE_OBJECT pphysdevobj;//pPhysDevObj;
- PDEVICE_OBJECT pfuncdevobj;//pFuncDevObj;
- PDEVICE_OBJECT pnextdevobj;//pNextDevObj;
-
- u8 nextdevstacksz;//unsigned char NextDeviceStackSize; //= (CHAR)CEdevice->pUsbDevObj->StackSize + 1;
-
- //urb for control diescriptor request
-
-#ifdef PLATFORM_OS_XP
- struct _URB_CONTROL_DESCRIPTOR_REQUEST descriptor_urb;
- PUSB_CONFIGURATION_DESCRIPTOR pconfig_descriptor;//UsbConfigurationDescriptor;
-#endif
-
-#ifdef PLATFORM_OS_CE
- WCHAR active_path[MAX_ACTIVE_REG_PATH]; // adapter regpath
- USB_EXTENSION usb_extension;
-
- _nic_hdl pipehdls_r8192c[0x10];
-#endif
-
- u32 config_descriptor_len;//ULONG UsbConfigurationDescriptorLength;
-#endif//PLATFORM_WINDOWS
-
-#ifdef PLATFORM_LINUX
- struct usb_interface *pusbintf;
- struct usb_device *pusbdev;
-#endif//PLATFORM_LINUX
-
-#ifdef PLATFORM_FREEBSD
struct usb_interface *pusbintf;
struct usb_device *pusbdev;
-#endif//PLATFORM_FREEBSD
ATOMIC_T continual_urb_error;
#endif//CONFIG_USB_HCI
#ifdef CONFIG_PCI_HCI
-#ifdef PLATFORM_LINUX
struct pci_dev *ppcidev;
//PCI MEM map
u8 b_support_aspm; // If it supports ASPM, Offset[560h] = 0x40, otherwise Offset[560h] = 0x00.
u8 b_support_backdoor;
u8 bdma64;
-#endif//PLATFORM_LINUX
-
#endif//CONFIG_PCI_HCI
};
-#ifdef PLATFORM_LINUX
static struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
{
/* todo: get interface type from dvobj and the return the dev accordingly */
return &dvobj->ppcidev->dev;
#endif
}
-#endif
enum _IFACE_TYPE {
IFACE_PORT0, //mapping to port0 for C/D series chips
_thread_hdl_ xmitThread;
_thread_hdl_ recvThread;
-#ifndef PLATFORM_LINUX
- NDIS_STATUS (*dvobj_init)(struct dvobj_priv *dvobj);
- void (*dvobj_deinit)(struct dvobj_priv *dvobj);
-#endif
-
void (*intf_start)(_adapter * adapter);
void (*intf_stop)(_adapter * adapter);
-#ifdef PLATFORM_WINDOWS
- _nic_hdl hndis_adapter;//hNdisAdapter(NDISMiniportAdapterHandle);
- _nic_hdl hndis_config;//hNdisConfiguration;
- NDIS_STRING fw_img;
-
- u32 NdisPacketFilter;
- u8 MCList[MAX_MCAST_LIST_NUM][6];
- u32 MCAddrCount;
-#endif //end of PLATFORM_WINDOWS
-
-
-#ifdef PLATFORM_LINUX
_nic_hdl pnetdev;
// used by rtw_rereg_nd_name related function
#ifdef CONFIG_IOCTL_CFG80211
struct wireless_dev *rtw_wdev;
#endif //CONFIG_IOCTL_CFG80211
-
-#endif //end of PLATFORM_LINUX
-
-#ifdef PLATFORM_FREEBSD
- _nic_hdl pifp;
- int bup;
- _lock glock;
-#endif //PLATFORM_FREEBSD
int net_closed;
u8 bFWReady;
+++ /dev/null
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * 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, USA
- *
- *
- ******************************************************************************/
-#ifndef __DRV_TYPES_LINUX_H__
-#define __DRV_TYPES_LINUX_H__
-
-
-#endif
#ifndef CONFIG_RTL8711FW
- #include <drv_conf.h>
- #include <osdep_service.h>
- #include <drv_types.h>
- #include "wifi.h"
-
- #if defined PLATFORM_OS_XP
- #include <ntstrsafe.h>
- #endif
- #if defined PLATFORM_LINUX
- #include <linux/wireless.h>
- #endif
-#else
-
- #include <list.h>
+#include <drv_conf.h>
+#include <osdep_service.h>
+#include <drv_types.h>
+#include "wifi.h"
+#include <linux/wireless.h>
+#else
+#include <list.h>
#endif
#define MGMT_QUEUE_NUM 5
_list list;
};
-#if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8711FW)||defined(PLATFORM_FREEBSD)
-
struct rtw_ieee80211_hdr {
u16 frame_ctl;
u16 duration_id;
u16 length;
} __attribute__ ((packed));
-#endif
-
-
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-struct rtw_ieee80211_hdr {
- u16 frame_ctl;
- u16 duration_id;
- u8 addr1[ETH_ALEN];
- u8 addr2[ETH_ALEN];
- u8 addr3[ETH_ALEN];
- u16 seq_ctl;
- u8 addr4[ETH_ALEN];
-};
-
-struct rtw_ieee80211_hdr_3addr {
- u16 frame_ctl;
- u16 duration_id;
- u8 addr1[ETH_ALEN];
- u8 addr2[ETH_ALEN];
- u8 addr3[ETH_ALEN];
- u16 seq_ctl;
-};
-
-
-struct rtw_ieee80211_hdr_qos {
- struct rtw_ieee80211_hdr wlan_hdr;
- u16 qc;
-};
-
-struct rtw_ieee80211_hdr_3addr_qos {
- struct rtw_ieee80211_hdr_3addr wlan_hdr;
- u16 qc;
-};
-
-struct eapol {
- u8 snap[6];
- u16 ethertype;
- u8 version;
- u8 type;
- u16 length;
-};
-#pragma pack()
-
-#endif
-
-
enum eap_type {
EAP_PACKET = 0,
#define P80211_OUI_LEN 3
-#if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8711FW) || defined(PLATFORM_FREEBSD)
-
struct ieee80211_snap_hdr {
u8 dsap; /* always 0xAA */
} __attribute__ ((packed));
-#endif
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-struct ieee80211_snap_hdr {
-
- u8 dsap; /* always 0xAA */
- u8 ssap; /* always 0xAA */
- u8 ctrl; /* always 0x03 */
- u8 oui[P80211_OUI_LEN]; /* organizational universal id */
-
-};
-#pragma pack()
-
-#endif
-
#define SNAP_SIZE sizeof(struct ieee80211_snap_hdr)
u8 dst_addr[ETH_ALEN];
};
-#ifndef PLATFORM_FREEBSD //Baron BSD has already defined
struct ieee80211_stats {
uint tx_unicast_frames;
uint tx_multicast_frames;
uint rx_message_in_msg_fragments;
uint rx_message_in_bad_msg_fragments;
};
-#endif //PLATFORM_FREEBSD
struct ieee80211_softmac_stats{
uint rx_ass_ok;
uint rx_ass_err;
-#if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8711FW)
-
struct ieee80211_security {
u16 active_key:2,
enabled:1,
u16 flags;
} __attribute__ ((packed));
-#endif
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-struct ieee80211_security {
- u16 active_key:2,
- enabled:1,
- auth_mode:2,
- auth_algo:4,
- unicast_uses_group:1;
- u8 key_sizes[WEP_KEYS];
- u8 keys[WEP_KEYS][WEP_KEY_LEN];
- u8 level;
- u16 flags;
-} ;
-#pragma pack()
-
-#endif
-
/*
802.11 data frame from AP
#define MFIE_TYPE_RATES_EX 50
#define MFIE_TYPE_GENERIC 221
-#if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8711FW)
-
struct ieee80211_info_element_hdr {
u8 id;
u8 len;
u8 len;
u8 data[0];
} __attribute__ ((packed));
-#endif
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-struct ieee80211_info_element_hdr {
- u8 id;
- u8 len;
-} ;
-
-struct ieee80211_info_element {
- u8 id;
- u8 len;
- u8 data[0];
-} ;
-#pragma pack()
-
-#endif
-
/*
* These are the data types that can make up management packets
#define IEEE80211_DEFAULT_BASIC_RATE 10
-#if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8711FW)
-
-
struct ieee80211_authentication {
struct ieee80211_header_data header;
u16 algorithm;
u16 aid;
// struct ieee80211_info_element info_element; /* supported rates */
} __attribute__ ((packed));
-#endif
-
-
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-
-struct ieee80211_authentication {
- struct ieee80211_header_data header;
- u16 algorithm;
- u16 transaction;
- u16 status;
- //struct ieee80211_info_element_hdr info_element;
-} ;
-
-
-struct ieee80211_probe_response {
- struct ieee80211_header_data header;
- u32 time_stamp[2];
- u16 beacon_interval;
- u16 capability;
- struct ieee80211_info_element info_element;
-} ;
-
-struct ieee80211_probe_request {
- struct ieee80211_header_data header;
- /*struct ieee80211_info_element info_element;*/
-} ;
-
-struct ieee80211_assoc_request_frame {
- struct rtw_ieee80211_hdr_3addr header;
- u16 capability;
- u16 listen_interval;
- //u8 current_ap[ETH_ALEN];
- struct ieee80211_info_element_hdr info_element;
-} ;
-
-struct ieee80211_assoc_response_frame {
- struct rtw_ieee80211_hdr_3addr header;
- u16 capability;
- u16 status;
- u16 aid;
-// struct ieee80211_info_element info_element; /* supported rates */
-};
-
-#pragma pack()
-
-#endif
-
-
struct ieee80211_txb {
> 0: TID
*/
-#ifndef PLATFORM_FREEBSD //Baron BSD has already defined
-
enum ieee80211_state {
/* the card is not linked at all */
IEEE80211_LINKED_SCANNING,
};
-#endif //PLATFORM_FREEBSD
#define DEFAULT_MAX_SCAN_AGE (15 * HZ)
#define DEFAULT_FTS 2346
#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
-#ifdef PLATFORM_FREEBSD //Baron change func to macro
-#define is_multicast_mac_addr(Addr) ((((Addr[0]) & 0x01) == 0x01) && ((Addr[0]) != 0xff))
-#define is_broadcast_mac_addr(Addr) ((((Addr[0]) & 0xff) == 0xff) && (((Addr[1]) & 0xff) == 0xff) && \
-(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
-(((Addr[5]) & 0xff) == 0xff))
-#else
extern __inline int is_multicast_mac_addr(const u8 *addr)
{
return ((addr[0] != 0xff) && (0x01 & addr[0]));
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
}
-#endif //PLATFORM_FREEBSD
#define CFG_IEEE80211_RESERVE_FCS (1<<0)
#define CFG_IEEE80211_COMPUTE_FCS (1<<1)
#define OUI_MICROSOFT 0x0050f2 /* Microsoft (also used in Wi-Fi specs)
* 00:50:F2 */
-#ifndef PLATFORM_FREEBSD //Baron BSD has defined
#define WME_OUI_TYPE 2
-#endif //PLATFORM_FREEBSD
#define WME_OUI_SUBTYPE_INFORMATION_ELEMENT 0
#define WME_OUI_SUBTYPE_PARAMETER_ELEMENT 1
#define WME_OUI_SUBTYPE_TSPEC_ELEMENT 2
#define PMKID_LEN 16
-#ifdef PLATFORM_LINUX
struct wpa_ie_hdr {
u8 elem_id;
u8 len;
} __attribute__ ((packed));
-#endif
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-
-struct wpa_ie_hdr {
- u8 elem_id;
- u8 len;
- u8 oui[4]; /* 24-bit OUI followed by 8-bit OUI type */
- u8 version[2]; /* little endian */
-};
-
-struct rsn_ie_hdr {
- u8 elem_id; /* WLAN_EID_RSN */
- u8 len;
- u8 version[2]; /* little endian */
-};
-
-#pragma pack()
-
-#endif
#define WPA_PUT_LE16(a, val) \
do { \
WLAN_BACK_TIMER = 2,
};
-#ifdef PLATFORM_LINUX
struct ieee80211_mgmt {
u16 frame_control;
} __attribute__ ((packed)) u;
}__attribute__ ((packed));
-#endif
-
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-
-struct ieee80211_mgmt {
- u16 frame_control;
- u16 duration;
- u8 da[6];
- u8 sa[6];
- u8 bssid[6];
- u16 seq_ctrl;
- union {
- struct {
- u16 auth_alg;
- u16 auth_transaction;
- u16 status_code;
- /* possibly followed by Challenge text */
- u8 variable[0];
- } auth;
- struct {
- u16 reason_code;
- } deauth;
- struct {
- u16 capab_info;
- u16 listen_interval;
- /* followed by SSID and Supported rates */
- u8 variable[0];
- } assoc_req;
- struct {
- u16 capab_info;
- u16 status_code;
- u16 aid;
- /* followed by Supported rates */
- u8 variable[0];
- } assoc_resp, reassoc_resp;
- struct {
- u16 capab_info;
- u16 listen_interval;
- u8 current_ap[6];
- /* followed by SSID and Supported rates */
- u8 variable[0];
- } reassoc_req;
- struct {
- u16 reason_code;
- } disassoc;
-#if 0
- struct {
- __le64 timestamp;
- u16 beacon_int;
- u16 capab_info;
- /* followed by some of SSID, Supported rates,
- * FH Params, DS Params, CF Params, IBSS Params, TIM */
- u8 variable[0];
- } beacon;
- struct {
- /* only variable items: SSID, Supported rates */
- u8 variable[0];
- } probe_req;
-
- struct {
- __le64 timestamp;
- u16 beacon_int;
- u16 capab_info;
- /* followed by some of SSID, Supported rates,
- * FH Params, DS Params, CF Params, IBSS Params */
- u8 variable[0];
- } probe_resp;
-#endif
- struct {
- u8 category;
- union {
- struct {
- u8 action_code;
- u8 dialog_token;
- u8 status_code;
- u8 variable[0];
- } wme_action;
-/*
- struct{
- u8 action_code;
- u8 element_id;
- u8 length;
- struct ieee80211_channel_sw_ie sw_elem;
- } chan_switch;
- struct{
- u8 action_code;
- u8 dialog_token;
- u8 element_id;
- u8 length;
- struct ieee80211_msrment_ie msr_elem;
- } measurement;
-*/
- struct{
- u8 action_code;
- u8 dialog_token;
- u16 capab;
- u16 timeout;
- u16 start_seq_num;
- } addba_req;
- struct{
- u8 action_code;
- u8 dialog_token;
- u16 status;
- u16 capab;
- u16 timeout;
- } addba_resp;
- struct{
- u8 action_code;
- u16 params;
- u16 reason_code;
- } delba;
- struct{
- u8 action_code;
- /* capab_info for open and confirm,
- * reason for close
- */
- u16 aux;
- /* Followed in plink_confirm by status
- * code, AID and supported rates,
- * and directly by supported rates in
- * plink_open and plink_close
- */
- u8 variable[0];
- } plink_action;
- struct{
- u8 action_code;
- u8 variable[0];
- } mesh_action;
- } u;
- } action;
- } u;
-} ;
-
-#pragma pack()
-
-#endif
-
/* mgmt header + 1 byte category code */
#define IEEE80211_MIN_ACTION_SIZE FIELD_OFFSET(struct ieee80211_mgmt, u.action.u)
#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
#define IPOPT_TS_PRESPEC 3 /* specified modules only */
-#ifdef PLATFORM_LINUX
-
struct ip_options {
__u32 faddr; /* Saved first hop address */
unsigned char optlen;
};
#define optlength(opt) (sizeof(struct ip_options) + opt->optlen)
-#endif
struct iphdr {
#if defined(__LITTLE_ENDIAN_BITFIELD)
#include <osdep_service.h>
#include <drv_types.h>
-#if defined(PLATFORM_WINDOWS) || defined(PLATFORM_MPIXEL)
-extern int time_after(u32 now, u32 old);
-#endif
-
extern void rtw_init_mlme_timer(_adapter *padapter);
extern void rtw_os_indicate_disconnect( _adapter *adapter );
extern void rtw_os_indicate_connect( _adapter *adapter );
_mutex ioctl_mutex;
-#ifdef PLATFORM_LINUX
- #ifdef CONFIG_USB_HCI
+#ifdef CONFIG_USB_HCI
// when in USB, IO is through interrupt in/out endpoints
struct usb_device *udev;
PURB piorw_urb;
_timer io_timer;
u8 bio_irp_timeout;
u8 bio_timer_cancel;
- #endif
#endif
-
-#ifdef PLATFORM_OS_XP
- #ifdef CONFIG_SDIO_HCI
- // below is for io_rwmem...
- PMDL pmdl;
- PSDBUS_REQUEST_PACKET sdrp;
- PSDBUS_REQUEST_PACKET recv_sdrp;
- PSDBUS_REQUEST_PACKET xmit_sdrp;
-
- PIRP piorw_irp;
-
- #endif
- #ifdef CONFIG_USB_HCI
- PURB piorw_urb;
- PIRP piorw_irp;
- u8 io_irp_cnt;
- u8 bio_irp_pending;
- struct semaphore io_retevt;
- #endif
-#endif
-
};
#endif
void rtw_cancel_all_timer(_adapter *padapter);
-#ifdef PLATFORM_LINUX
int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
static void rtw_proc_init_one(struct net_device *dev){}
static void rtw_proc_remove_one(struct net_device *dev){}
#endif //!CONFIG_PROC_DEBUG
-#endif //PLATFORM_LINUX
-
-
-#ifdef PLATFORM_FREEBSD
-extern int rtw_ioctl(struct ifnet * ifp, u_long cmd, caddr_t data);
-#endif
void rtw_ips_dev_unload(_adapter *padapter);
extern u32 rtw_is_list_empty(_list *phead);
extern void rtw_list_insert_head(_list *plist, _list *phead);
extern void rtw_list_insert_tail(_list *plist, _list *phead);
-#ifndef PLATFORM_FREEBSD
extern void rtw_list_delete(_list *plist);
-#endif //PLATFORM_FREEBSD
extern void _rtw_mutex_init(_mutex *pmutex);
extern void _rtw_mutex_free(_mutex *pmutex);
#define MAX_RSPSZ 512
#define MAX_EVTSZ 1024
-#ifdef PLATFORM_OS_CE
- #define CMDBUFF_ALIGN_SZ 4
-#else
#define CMDBUFF_ALIGN_SZ 512
-#endif
struct cmd_obj {
_adapter *padapter;
#if defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI)
u8 *c2h_mem;
u8 *allocated_c2h_mem;
-#ifdef PLATFORM_OS_XP
- PMDL pc2h_mdl;
-#endif
#endif
};
extern void read_eeprom_content_by_attrib(_adapter * padapter );
-#ifdef PLATFORM_LINUX
#ifdef CONFIG_ADAPTOR_INFO_CACHING_FILE
extern int isAdaptorInfoFileValid(void);
extern int storeAdaptorInfoFile(char *path, struct eeprom_priv * eeprom_priv);
extern int retriveAdaptorInfoFile(char *path, struct eeprom_priv * eeprom_priv);
#endif //CONFIG_ADAPTOR_INFO_CACHING_FILE
-#endif //PLATFORM_LINUX
#endif //__RTL871X_EEPROM_H__
#include <osdep_service.h>
#ifndef CONFIG_RTL8711FW
-#ifdef PLATFORM_LINUX
#include <wlan_bssdef.h>
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
#include <asm/semaphore.h>
#include <linux/semaphore.h>
#endif
#include <linux/sem.h>
-#endif
#else
#include <wlan_bssdef.h>
#endif//CONFIG_RTL8711FW
#include <osdep_service.h>
#include <osdep_intf.h>
-#ifdef PLATFORM_LINUX
#include <asm/byteorder.h>
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
#include <asm/semaphore.h>
#endif //CONFIG_USB_HCI
-#endif //PLATFORM_LINUX
-
#define NUM_IOREQ 8
-#ifdef PLATFORM_WINDOWS
-#define MAX_PROT_SZ 64
-#endif
-#ifdef PLATFORM_LINUX
#define MAX_PROT_SZ (64-16)
-#endif
#define _IOREADY 0
#define _IO_WAIT_COMPLETE 1
u8 *pbuf;
struct semaphore sema;
-#ifdef PLATFORM_OS_CE
-#ifdef CONFIG_USB_HCI
- // URB handler for rtw_write_mem
- USB_TRANSFER usb_transfer_write_mem;
-#endif
-#endif
-
void (*_async_io_callback)(_adapter *padater, struct io_req *pio_req, u8 *cnxt);
u8 *cnxt;
-
-#ifdef PLATFORM_OS_XP
- PMDL pmdl;
- PIRP pirp;
-
-#ifdef CONFIG_SDIO_HCI
- PSDBUS_REQUEST_PACKET sdrp;
-#endif
-
-#endif
-
-
};
struct intf_hdl {
NDIS_STATUS (*oidfuns)(struct oid_par_priv *poid_par_priv);
};
-#ifdef PLATFORM_WINDOWS
-int TranslateNdisPsToRtPs(IN NDIS_802_11_POWER_MODE ndisPsMode);
-
-//OID Handler for Segment 1
-NDIS_STATUS oid_gen_supported_list_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_hardware_status_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_media_supported_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_media_in_use_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_maximum_lookahead_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_maximum_frame_size_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_link_speed_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_transmit_buffer_space_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_receive_buffer_space_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_transmit_block_size_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_receive_block_size_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_vendor_id_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_vendor_description_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_current_packet_filter_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_current_lookahead_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_driver_version_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_maximum_total_size_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_protocol_options_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_mac_options_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_media_connect_status_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_maximum_send_packets_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_vendor_driver_version_hdl(struct oid_par_priv* poid_par_priv);
-
-
-//OID Handler for Segment 2
-NDIS_STATUS oid_gen_physical_medium_hdl(struct oid_par_priv* poid_par_priv);
-
-//OID Handler for Segment 3
-NDIS_STATUS oid_gen_xmit_ok_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_rcv_ok_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_xmit_error_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_rcv_error_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_gen_rcv_no_buffer_hdl(struct oid_par_priv* poid_par_priv);
-
-
-//OID Handler for Segment 4
-NDIS_STATUS oid_802_3_permanent_address_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_current_address_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_multicast_list_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_maximum_list_size_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_mac_options_hdl(struct oid_par_priv* poid_par_priv);
-
-
-
-//OID Handler for Segment 5
-NDIS_STATUS oid_802_3_rcv_error_alignment_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_one_collision_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_more_collisions_hdl(struct oid_par_priv* poid_par_priv);
-
-
-//OID Handler for Segment 6
-NDIS_STATUS oid_802_3_xmit_deferred_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_max_collisions_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_rcv_overrun_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_underrun_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_heartbeat_failure_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_times_crs_lost_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_3_xmit_late_collisions_hdl(struct oid_par_priv* poid_par_priv);
-
-
-
-//OID Handler for Segment 7
-NDIS_STATUS oid_pnp_capabilities_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_set_power_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_query_power_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_add_wake_up_pattern_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_remove_wake_up_pattern_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_wake_up_pattern_list_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_pnp_enable_wake_up_hdl(struct oid_par_priv* poid_par_priv);
-
-
-
-//OID Handler for Segment 8
-NDIS_STATUS oid_802_11_bssid_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_ssid_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_infrastructure_mode_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_add_wep_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_remove_wep_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_disassociate_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_authentication_mode_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_privacy_filter_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_bssid_list_scan_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_encryption_status_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_reload_defaults_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_add_key_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_remove_key_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_association_information_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_test_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_media_stream_mode_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_capability_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_pmkid_hdl(struct oid_par_priv* poid_par_priv);
-
-
-
-
-
-//OID Handler for Segment 9
-NDIS_STATUS oid_802_11_network_types_supported_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_network_type_in_use_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_tx_power_level_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_rssi_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_rssi_trigger_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_fragmentation_threshold_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_rts_threshold_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_number_of_antennas_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_rx_antenna_selected_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_tx_antenna_selected_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_supported_rates_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_desired_rates_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_configuration_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_power_mode_hdl(struct oid_par_priv* poid_par_priv);
-NDIS_STATUS oid_802_11_bssid_list_hdl(struct oid_par_priv* poid_par_priv);
-
-
-//OID Handler for Segment 10
-NDIS_STATUS oid_802_11_statistics_hdl(struct oid_par_priv* poid_par_priv);
-
-
-//OID Handler for Segment ED
-NDIS_STATUS oid_rt_mh_vender_id_hdl(struct oid_par_priv* poid_par_priv);
-
-void Set_802_3_MULTICAST_LIST(ADAPTER *pAdapter, UCHAR *MCListbuf, ULONG MCListlen, bool bAcceptAllMulticast);
-
-#endif// end of PLATFORM_WINDOWS
-
-#if defined(PLATFORM_LINUX) && defined(CONFIG_WIRELESS_EXT)
+#if defined(CONFIG_WIRELESS_EXT)
extern struct iw_handler_def rtw_handlers_def;
#endif
+++ /dev/null
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * 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, USA
- *
- *
- ******************************************************************************/
-#ifndef _RTW_IOCTL_QUERY_H_
-#define _RTW_IOCTL_QUERY_H_
-
-#include <drv_conf.h>
-#include <drv_types.h>
-
-
-#ifdef PLATFORM_WINDOWS
-
-u8 query_802_11_capability(_adapter* padapter,u8* pucBuf,u32 * pulOutLen);
-u8 query_802_11_association_information (_adapter * padapter, PNDIS_802_11_ASSOCIATION_INFORMATION pAssocInfo);
-
-#endif
-
-
-#endif
} BSSIDInfo, *PBSSIDInfo;
-#ifdef PLATFORM_OS_XP
-typedef struct _NDIS_802_11_PMKID {
- u32 Length;
- u32 BSSIDInfoCount;
- BSSIDInfo BSSIDInfo[1];
-} NDIS_802_11_PMKID, *PNDIS_802_11_PMKID;
-#endif
-
-
-#ifdef PLATFORM_WINDOWS
-u8 rtw_set_802_11_reload_defaults(_adapter * padapter, NDIS_802_11_RELOAD_DEFAULTS reloadDefaults);
-u8 rtw_set_802_11_test(_adapter * padapter, NDIS_802_11_TEST * test);
-u8 rtw_set_802_11_pmkid(_adapter *pdapter, NDIS_802_11_PMKID *pmkid);
-
-u8 rtw_pnp_set_power_sleep(_adapter* padapter);
-u8 rtw_pnp_set_power_wakeup(_adapter* padapter);
-
-void rtw_pnp_resume_wk(void *context);
-void rtw_pnp_sleep_wk(void * context);
-
-#endif
-
u8 rtw_set_802_11_add_key(_adapter * padapter, NDIS_802_11_KEY * key);
u8 rtw_set_802_11_authentication_mode(_adapter *pdapter, NDIS_802_11_AUTHENTICATION_MODE authmode);
u8 rtw_set_802_11_bssid(_adapter* padapter, u8 *bssid);
u8 bLedStartToLinkBlinkInProgress;
u8 bLedScanBlinkInProgress;
- #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)|| defined PLATFORM_FREEBSD
_workitem BlinkWorkItem; // Workitem used by BlinkTimer to manipulate H/W to blink LED.
- #endif
#endif //defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI)
#if defined(CONFIG_PCI_HCI)
_adapter *adapter;
-#ifdef PLATFORM_WINDOWS
- _nic_hdl RxPktPoolHdl;
- _nic_hdl RxBufPoolHdl;
-
-#ifdef PLATFORM_OS_XP
- PMDL pbytecnt_mdl;
-#endif
- uint counter; //record the number that up-layer will return to drv; only when counter==0 can we release recv_priv
- NDIS_EVENT recv_resource_evt ;
-#endif
-
u32 bIsAnyNonBEPkts;
u64 rx_bytes;
u64 rx_pkts;
u8 rx_pending_cnt;
#ifdef CONFIG_USB_INTERRUPT_IN_PIPE
-#ifdef PLATFORM_LINUX
PURB int_in_urb;
-#endif
u8 *int_in_buf;
#endif //CONFIG_USB_INTERRUPT_IN_PIPE
#endif
-#if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD)
-#ifdef PLATFORM_FREEBSD
- struct task irq_prepare_beacon_tasklet;
- struct task recv_tasklet;
-#else //PLATFORM_FREEBSD
struct tasklet_struct irq_prepare_beacon_tasklet;
struct tasklet_struct recv_tasklet;
-#endif //PLATFORM_FREEBSD
struct sk_buff_head free_recv_skb_queue;
struct sk_buff_head rx_skb_queue;
#ifdef CONFIG_RX_INDICATE_QUEUE
#ifdef CONFIG_USE_USB_BUFFER_ALLOC_RX
_queue recv_buf_pending_queue;
#endif // CONFIG_USE_USB_BUFFER_ALLOC_RX
-#endif //defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD)
u8 *pallocated_recv_buf;
u8 *precv_buf; // 4 alignment
#ifdef CONFIG_USB_HCI
- #if defined(PLATFORM_OS_XP)||defined(PLATFORM_LINUX)||defined(PLATFORM_FREEBSD)
PURB purb;
dma_addr_t dma_transfer_addr; /* (in) dma addr for transfer_buffer */
u32 alloc_sz;
- #endif
-
- #ifdef PLATFORM_OS_XP
- PIRP pirp;
- #endif
-
- #ifdef PLATFORM_OS_CE
- USB_TRANSFER usb_transfer_read_port;
- #endif
u8 irp_pending;
int transfer_len;
-
#endif
-#ifdef PLATFORM_LINUX
_pkt *pskb;
u8 reuse;
-#endif
-#ifdef PLATFORM_FREEBSD //skb solution
- struct sk_buff *pskb;
- u8 reuse;
-#endif //PLATFORM_FREEBSD //skb solution
};
if(precvframe==NULL)
return NULL;
-#ifdef PLATFORM_WINDOWS
- NdisQueryPacket(precvframe->u.hdr.pkt, NULL, NULL, &buf_desc, NULL);
-#endif
return buf_desc;
}
u8 * buf_star;
union recv_frame * precv_frame;
-#ifdef PLATFORM_WINDOWS
- _buffer * buf_desc;
- uint len;
-
- NdisQueryPacket(pkt, NULL, NULL, &buf_desc, &len);
- NdisQueryBufferSafe(buf_desc, &buf_star, &len, HighPagePriority);
-#endif
precv_frame = rxmem_to_recvframe((unsigned char*)buf_star);
return precv_frame;
WLAN_BSSID_EX sec_bss; //for joinbss (h2c buffer) usage
NDIS_802_11_WEP ndiswep;
-#ifdef PLATFORM_WINDOWS
- u8 KeyMaterial[16];// variable length depending on above field.
-#endif
u8 assoc_info[600];
u8 szofcapability[256]; //for wpa2 usage
u8 *lnkid, u8 *rsnie, u8 *timeoutie, u8 *ftie);
#endif //CONFIG_TDLS
-#ifdef PLATFORM_WINDOWS
-void rtw_use_tkipkey_handler (
- IN PVOID SystemSpecific1,
- IN PVOID FunctionContext,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3
- );
-#endif
-#ifdef PLATFORM_LINUX
-void rtw_use_tkipkey_handler(void* FunctionContext);
-#endif
-
-#ifdef PLATFORM_FREEBSD
void rtw_use_tkipkey_handler(void* FunctionContext);
-#endif //PLATFORM_FREEBSD
#endif //__RTL871X_SECURITY_H_
#define MAX_VENDOR_REQ_CMD_SIZE 254 //8188cu SIE Support
#define MAX_USB_IO_CTL_SIZE (MAX_VENDOR_REQ_CMD_SIZE +ALIGNMENT_UNIT)
-#ifdef PLATFORM_LINUX
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12))
#define rtw_usb_control_msg(dev, pipe, request, requesttype, value, index, data, size, timeout_ms) \
usb_control_msg((dev), (pipe), (request), (requesttype), (value), (index), (data), (size), (timeout_ms))
((timeout_ms) == 0) ||((timeout_ms)*HZ/1000>0)?((timeout_ms)*HZ/1000):1)
#endif
#include <usb_ops_linux.h>
-#endif //PLATFORM_LINUX
#ifdef CONFIG_RTL8192C
void rtl8192cu_set_hw_type(_adapter *padapter);
#define hal_set_hw_type rtl8192du_set_hw_type
void rtl8192du_set_intf_ops(struct _io_ops *pops);
#define usb_set_intf_ops rtl8192du_set_intf_ops
-#ifndef PLATFORM_FREEBSD
void rtl8192du_recv_tasklet(void *priv);
-#else // PLATFORM_FREEBSD
-void rtl8192du_recv_tasklet(void *priv, int npending);
-#ifdef CONFIG_RX_INDICATE_QUEUE
-void rtw_rx_indicate_tasklet(void *priv, int npending);
-#endif // CONFIG_RX_INDICATE_QUEUE
-#endif // PLATFORM_FREEBSD
void rtl8192du_xmit_tasklet(void *priv);
#endif
* This structure refers to "HT BlockAckReq" as
* described in 802.11n draft section 7.2.1.7.1
*/
- #if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8712FW)
struct rtw_ieee80211_bar {
unsigned short frame_control;
unsigned short duration;
unsigned short control;
unsigned short start_seq_num;
} __attribute__((packed));
- #endif
/* 802.11 BAR control masks */
#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004
- #if defined(PLATFORM_LINUX) || defined(CONFIG_RTL8712FW) || defined(PLATFORM_FREEBSD)
-
-
-
/**
* struct rtw_ieee80211_ht_cap - HT capabilities
*
} __attribute__ ((packed));
-
-#endif
-
-
-#ifdef PLATFORM_WINDOWS
-
-#pragma pack(1)
-
-struct rtw_ieee80211_ht_cap {
- unsigned short cap_info;
- unsigned char ampdu_params_info;
- unsigned char supp_mcs_set[16];
- unsigned short extended_ht_cap_info;
- unsigned int tx_BF_cap_info;
- unsigned char antenna_selection_info;
-};
-
-
-struct ieee80211_ht_addt_info {
- unsigned char control_chan;
- unsigned char ht_param;
- unsigned short operation_mode;
- unsigned short stbc_param;
- unsigned char basic_set[16];
-};
-
-struct HT_caps_element
-{
- union
- {
- struct
- {
- unsigned short HT_caps_info;
- unsigned char AMPDU_para;
- unsigned char MCS_rate[16];
- unsigned short HT_ext_caps;
- unsigned int Beamforming_caps;
- unsigned char ASEL_caps;
- } HT_cap_element;
- unsigned char HT_cap[26];
- };
-};
-
-struct HT_info_element
-{
- unsigned char primary_channel;
- unsigned char infos[5];
- unsigned char MCS_rate[16];
-};
-
-struct AC_param
-{
- unsigned char ACI_AIFSN;
- unsigned char CW;
- unsigned short TXOP_limit;
-};
-
-struct WMM_para_element
-{
- unsigned char QoS_info;
- unsigned char reserved;
- struct AC_param ac_param[4];
-};
-
-struct ADDBA_request
-{
- unsigned char dialog_token;
- unsigned short BA_para_set;
- unsigned short BA_timeout_value;
- unsigned short BA_starting_seqctrl;
-};
-
-
-#pragma pack()
-
-#endif
-
typedef enum _HT_CAP_AMPDU_FACTOR {
MAX_AMPDU_FACTOR_8K = 0,
MAX_AMPDU_FACTOR_16K = 1,
#define MAX_IE_SZ 768
-#ifdef PLATFORM_LINUX
-
#define NDIS_802_11_LENGTH_SSID 32
#define NDIS_802_11_LENGTH_RATES 8
#define NDIS_802_11_LENGTH_RATES_EX 16
} NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
-
-
-
typedef struct _NDIS_802_11_FIXED_IEs
{
UCHAR Timestamp[8];
}tt;
} NDIS_802_11_TEST, *PNDIS_802_11_TEST;
-
-#endif //end of #ifdef PLATFORM_LINUX
-
-#ifdef PLATFORM_FREEBSD
-
-#define NDIS_802_11_LENGTH_SSID 32
-#define NDIS_802_11_LENGTH_RATES 8
-#define NDIS_802_11_LENGTH_RATES_EX 16
-
-typedef unsigned char NDIS_802_11_MAC_ADDRESS[6];
-typedef long NDIS_802_11_RSSI; // in dBm
-typedef unsigned char NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data rates
-typedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data rates
-
-
-typedef ULONG NDIS_802_11_KEY_INDEX;
-typedef unsigned long long NDIS_802_11_KEY_RSC;
-
-
-typedef struct _NDIS_802_11_SSID
-{
- ULONG SsidLength;
- UCHAR Ssid[32];
-} NDIS_802_11_SSID, *PNDIS_802_11_SSID;
-
-typedef enum _NDIS_802_11_NETWORK_TYPE
-{
- Ndis802_11FH,
- Ndis802_11DS,
- Ndis802_11OFDM5,
- Ndis802_11OFDM24,
- Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound
-} NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
-
-typedef struct _NDIS_802_11_CONFIGURATION_FH
-{
- ULONG Length; // Length of structure
- ULONG HopPattern; // As defined by 802.11, MSB set
- ULONG HopSet; // to one if non-802.11
- ULONG DwellTime; // units are Kusec
-} NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
-
-
-/*
- FW will only save the channel number in DSConfig.
- ODI Handler will convert the channel number to freq. number.
-*/
-typedef struct _NDIS_802_11_CONFIGURATION
-{
- ULONG Length; // Length of structure
- ULONG BeaconPeriod; // units are Kusec
- ULONG ATIMWindow; // units are Kusec
- ULONG DSConfig; // Frequency, units are kHz
- NDIS_802_11_CONFIGURATION_FH FHConfig;
-} NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
-
-
-
-typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE
-{
- Ndis802_11IBSS,
- Ndis802_11Infrastructure,
- Ndis802_11AutoUnknown,
- Ndis802_11InfrastructureMax, // Not a real value, defined as upper bound
- Ndis802_11APMode
-} NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
-
-
-
-
-
-typedef struct _NDIS_802_11_FIXED_IEs
-{
- UCHAR Timestamp[8];
- USHORT BeaconInterval;
- USHORT Capabilities;
-} NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
-
-
-
-typedef struct _NDIS_802_11_VARIABLE_IEs
-{
- UCHAR ElementID;
- UCHAR Length;
- UCHAR data[1];
-} NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;
-
-
-
-/*
-
-
-
-Length is the 4 bytes multiples of the sume of
- sizeof (NDIS_802_11_MAC_ADDRESS) + 2 + sizeof (NDIS_802_11_SSID) + sizeof (ULONG)
-+ sizeof (NDIS_802_11_RSSI) + sizeof (NDIS_802_11_NETWORK_TYPE) + sizeof (NDIS_802_11_CONFIGURATION)
-+ sizeof (NDIS_802_11_RATES_EX) + IELength
-
-Except the IELength, all other fields are fixed length. Therefore, we can define a marco to present the
-partial sum.
-
-*/
-#if 0
-typedef struct _NDIS_WLAN_BSSID_EX
-{
- ULONG Length;
- NDIS_802_11_MAC_ADDRESS MacAddress;
- UCHAR Reserved[2];//[0]: IS beacon frame, [1]:optimum_antenna=>For antenna diversity;
- NDIS_802_11_SSID Ssid;
- ULONG Privacy;
- NDIS_802_11_RSSI Rssi;
- NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
- NDIS_802_11_CONFIGURATION Configuration;
- NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
- NDIS_802_11_RATES_EX SupportedRates;
- ULONG IELength;
- UCHAR IEs[MAX_IE_SZ]; //(timestamp, beacon interval, and capability information)
-} NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;
-
-
-typedef struct _NDIS_802_11_BSSID_LIST_EX
-{
- ULONG NumberOfItems;
- NDIS_WLAN_BSSID_EX Bssid[1];
-} NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
-#endif
-
-typedef enum _NDIS_802_11_AUTHENTICATION_MODE
-{
- Ndis802_11AuthModeOpen,
- Ndis802_11AuthModeShared,
- Ndis802_11AuthModeAutoSwitch,
- Ndis802_11AuthModeWPA,
- Ndis802_11AuthModeWPAPSK,
- Ndis802_11AuthModeWPANone,
- Ndis802_11AuthModeMax // Not a real mode, defined as upper bound
-} NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;
-
-typedef enum _NDIS_802_11_WEP_STATUS
-{
- Ndis802_11WEPEnabled,
- Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
- Ndis802_11WEPDisabled,
- Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
- Ndis802_11WEPKeyAbsent,
- Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
- Ndis802_11WEPNotSupported,
- Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
- Ndis802_11Encryption2Enabled,
- Ndis802_11Encryption2KeyAbsent,
- Ndis802_11Encryption3Enabled,
- Ndis802_11Encryption3KeyAbsent
-} NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS,
- NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;
-
-
-#define NDIS_802_11_AI_REQFI_CAPABILITIES 1
-#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
-#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
-
-#define NDIS_802_11_AI_RESFI_CAPABILITIES 1
-#define NDIS_802_11_AI_RESFI_STATUSCODE 2
-#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
-
-typedef struct _NDIS_802_11_AI_REQFI
-{
- USHORT Capabilities;
- USHORT ListenInterval;
- NDIS_802_11_MAC_ADDRESS CurrentAPAddress;
-} NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI;
-
-typedef struct _NDIS_802_11_AI_RESFI
-{
- USHORT Capabilities;
- USHORT StatusCode;
- USHORT AssociationId;
-} NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI;
-
-typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION
-{
- ULONG Length;
- USHORT AvailableRequestFixedIEs;
- NDIS_802_11_AI_REQFI RequestFixedIEs;
- ULONG RequestIELength;
- ULONG OffsetRequestIEs;
- USHORT AvailableResponseFixedIEs;
- NDIS_802_11_AI_RESFI ResponseFixedIEs;
- ULONG ResponseIELength;
- ULONG OffsetResponseIEs;
-} NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION;
-
-typedef enum _NDIS_802_11_RELOAD_DEFAULTS
-{
- Ndis802_11ReloadWEPKeys
-} NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS;
-
-
-// Key mapping keys require a BSSID
-typedef struct _NDIS_802_11_KEY
-{
- ULONG Length; // Length of this structure
- ULONG KeyIndex;
- ULONG KeyLength; // length of key in bytes
- NDIS_802_11_MAC_ADDRESS BSSID;
- NDIS_802_11_KEY_RSC KeyRSC;
- UCHAR KeyMaterial[32]; // variable length depending on above field
-} NDIS_802_11_KEY, *PNDIS_802_11_KEY;
-
-typedef struct _NDIS_802_11_REMOVE_KEY
-{
- ULONG Length; // Length of this structure
- ULONG KeyIndex;
- NDIS_802_11_MAC_ADDRESS BSSID;
-} NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
-
-typedef struct _NDIS_802_11_WEP
-{
- ULONG Length; // Length of this structure
- ULONG KeyIndex; // 0 is the per-client key, 1-N are the global keys
- ULONG KeyLength; // length of key in bytes
- UCHAR KeyMaterial[16];// variable length depending on above field
-} NDIS_802_11_WEP, *PNDIS_802_11_WEP;
-
-typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST
-{
- ULONG Length; // Length of structure
- NDIS_802_11_MAC_ADDRESS Bssid;
- ULONG Flags;
-} NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
-
-typedef enum _NDIS_802_11_STATUS_TYPE
-{
- Ndis802_11StatusType_Authentication,
- Ndis802_11StatusType_MediaStreamMode,
- Ndis802_11StatusType_PMKID_CandidateList,
- Ndis802_11StatusTypeMax // not a real type, defined as an upper bound
-} NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
-
-typedef struct _NDIS_802_11_STATUS_INDICATION
-{
- NDIS_802_11_STATUS_TYPE StatusType;
-} NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
-
-// mask for authentication/integrity fields
-#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
-#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
-#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
-#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
-#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E
-
-// MIC check time, 60 seconds.
-#define MIC_CHECK_TIME 60000000
-
-typedef struct _NDIS_802_11_AUTHENTICATION_EVENT
-{
- NDIS_802_11_STATUS_INDICATION Status;
- NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
-} NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
-
-typedef struct _NDIS_802_11_TEST
-{
- ULONG Length;
- ULONG Type;
- union
- {
- NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent;
- NDIS_802_11_RSSI RssiTrigger;
- }tt;
-} NDIS_802_11_TEST, *PNDIS_802_11_TEST;
-
-
-#endif //PLATFORM_FREEBSD
#ifndef Ndis802_11APMode
#define Ndis802_11APMode (Ndis802_11InfrastructureMax+1)
#endif
unsigned char ht_info_infos_0;
}WLAN_BCN_INFO,*PWLAN_BCN_INFO;
-/* temporally add #pragma pack for structure alignment issue of
-* WLAN_BSSID_EX and get_WLAN_BSSID_EX_sz()
-*/
-#ifdef PLATFORM_WINDOWS
-#pragma pack(push)
-#pragma pack(1)
-#endif
typedef struct _WLAN_BSSID_EX
{
ULONG Length;
WLAN_PHY_INFO PhyInfo;
ULONG IELength;
UCHAR IEs[MAX_IE_SZ]; //(timestamp, beacon interval, and capability information)
-}
-#ifndef PLATFORM_WINDOWS
-__attribute__((packed))
-#endif
+}__attribute__((packed))
WLAN_BSSID_EX, *PWLAN_BSSID_EX;
-#ifdef PLATFORM_WINDOWS
-#pragma pack(pop)
-#endif
__inline static uint get_WLAN_BSSID_EX_sz(WLAN_BSSID_EX *bss)
{
int join_res;
WLAN_BSSID_EX network; //must be the last item
WLAN_BCN_INFO BcnInfo;
-#ifdef PLATFORM_WINDOWS
- unsigned char iebuf[MAX_IE_SZ];
-#endif
-
};
enum VRTL_CARRIER_SENSE
* WPA2
*/
-#ifndef PLATFORM_OS_CE
typedef struct _PMKID_CANDIDATE {
NDIS_802_11_MAC_ADDRESS BSSID;
ULONG Flags;
NDIS_802_11_AUTHENTICATION_ENCRYPTION AuthenticationEncryptionSupported[1];
} NDIS_802_11_CAPABILITY, *PNDIS_802_11_CAPABILITY;
-#endif
#endif //#ifndef WLAN_BSSDEF_H_
SIZE_T buf_len;
};
-#ifdef PLATFORM_WINDOWS
-
-#ifdef PLATFORM_OS_XP
-#ifdef CONFIG_USB_HCI
-#include <usb.h>
-#include <usbdlib.h>
-#include <usbioctl.h>
-#endif
-#endif
-
-#ifdef CONFIG_GSPI_HCI
-#define NR_XMITFRAME 64
-#else
-#define NR_XMITFRAME 128
-#endif
-
-#define ETH_ALEN 6
-
-extern NDIS_STATUS rtw_xmit_entry(
-IN _nic_hdl cnxt,
-IN NDIS_PACKET *pkt,
-IN UINT flags
-);
-
-#endif
-
-#ifdef PLATFORM_FREEBSD
-#define NR_XMITFRAME 256
-extern int rtw_xmit_entry(_pkt *pkt, _nic_hdl pnetdev);
-extern void rtw_xmit_entry_wrap (struct ifnet * pifp);
-#endif //PLATFORM_FREEBSD
-
-#ifdef PLATFORM_LINUX
#define NR_XMITFRAME 256
extern int rtw_xmit_entry(_pkt *pkt, _nic_hdl pnetdev);
-#endif
-
void rtw_os_xmit_schedule(_adapter *padapter);
int rtw_os_xmit_resource_alloc(_adapter *padapter, struct xmit_buf *pxmitbuf,u32 alloc_sz);
#include <drv_types.h>
#include <rtw_ioctl.h>
#include <rtw_ioctl_set.h>
-#include <rtw_ioctl_query.h>
#include <xmit_osdep.h>
#ifdef CONFIG_IOCTL_CFG80211
#include <rtw_mlme_ext.h>
#include <rtw_ioctl.h>
#include <rtw_ioctl_set.h>
-#include <rtw_ioctl_query.h>
#ifdef CONFIG_USB_HCI
#include <usb_ops.h>