mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2026-07-06 11:35:42 +00:00
update
This commit is contained in:
parent
02f846fa9a
commit
8face3e309
158 changed files with 43738 additions and 3116 deletions
|
|
@ -0,0 +1,161 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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 __FREERTOS_INTFS_H_
|
||||
#define __FREERTOS_INTFS_H_
|
||||
|
||||
//TODO
|
||||
#if 0
|
||||
|
||||
struct intf_priv {
|
||||
|
||||
u8 *intf_dev;
|
||||
u32 max_iosz; //USB2.0: 128, USB1.1: 64, SDIO:64
|
||||
u32 max_xmitsz; //USB2.0: unlimited, SDIO:512
|
||||
u32 max_recvsz; //USB2.0: unlimited, SDIO:512
|
||||
|
||||
volatile u8 *io_rwmem;
|
||||
volatile u8 *allocated_io_rwmem;
|
||||
u32 io_wsz; //unit: 4bytes
|
||||
u32 io_rsz;//unit: 4bytes
|
||||
u8 intf_status;
|
||||
|
||||
void (*_bus_io)(u8 *priv);
|
||||
|
||||
/*
|
||||
Under Sync. IRP (SDIO/USB)
|
||||
A protection mechanism is necessary for the io_rwmem(read/write protocol)
|
||||
|
||||
Under Async. IRP (SDIO/USB)
|
||||
The protection mechanism is through the pending queue.
|
||||
*/
|
||||
|
||||
_mutex ioctl_mutex;
|
||||
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
#ifdef CONFIG_USB_HCI
|
||||
// when in USB, IO is through interrupt in/out endpoints
|
||||
struct usb_device *udev;
|
||||
PURB piorw_urb;
|
||||
u8 io_irp_cnt;
|
||||
u8 bio_irp_pending;
|
||||
_sema io_retevt;
|
||||
_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;
|
||||
_sema io_retevt;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
#ifdef CONFIG_R871X_TEST
|
||||
int rtw_start_pseudo_adhoc(_adapter *padapter);
|
||||
int rtw_stop_pseudo_adhoc(_adapter *padapter);
|
||||
#endif
|
||||
|
||||
#endif //#if 0
|
||||
|
||||
typedef struct _driver_priv {
|
||||
int drv_registered;
|
||||
|
||||
_mutex hw_init_mutex;
|
||||
#if defined(CONFIG_CONCURRENT_MODE) || defined(CONFIG_DUALMAC_CONCURRENT)
|
||||
//global variable
|
||||
_mutex h2c_fwcmd_mutex;
|
||||
_mutex setch_mutex;
|
||||
_mutex setbw_mutex;
|
||||
#endif
|
||||
} drv_priv, *pdrv_priv;
|
||||
|
||||
|
||||
struct net_device *rtw_init_netdev(_adapter *padapter);
|
||||
void rtw_os_indicate_disconnect( _adapter *adapter );
|
||||
|
||||
#ifdef CONFIG_PROC_DEBUG
|
||||
void rtw_proc_init_one(struct net_device *dev);
|
||||
void rtw_proc_remove_one(struct net_device *dev);
|
||||
#else
|
||||
//static void should be declared in .c file
|
||||
//proc is not supported in freertos
|
||||
//static void rtw_proc_init_one(struct net_device *dev){}
|
||||
//static void rtw_proc_remove_one(struct net_device *dev){}
|
||||
#define rtw_proc_init_one(dev)
|
||||
#define rtw_proc_remove_one(dev)
|
||||
#endif
|
||||
|
||||
extern int rtw_set_wpa_ie(_adapter *padapter, char *pie, unsigned short ielen);
|
||||
extern void rtw_os_indicate_connect(_adapter *adapter);
|
||||
extern void indicate_wx_custom_event(_adapter *padapter, char *msg);
|
||||
extern int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
|
||||
extern void netdev_lwip_post_sleep_processing(void);
|
||||
extern void wireless_send_event(struct net_device *dev, unsigned int cmd, union iwreq_data *wrqu, char *extra);
|
||||
|
||||
#ifdef CONFIG_CONCURRENT_MODE
|
||||
struct _io_ops;
|
||||
_adapter *rtw_drv_if2_init(_adapter *primary_padapter, char *name, void (*set_intf_ops)(struct _io_ops *pops));
|
||||
void rtw_drv_if2_free(_adapter *pbuddy_padapter);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ISR_THREAD_MODE_POLLING) || defined(CONFIG_ISR_THREAD_MODE_INTERRUPT)
|
||||
extern thread_return rtw_interrupt_thread(thread_context context);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RECV_TASKLET_THREAD
|
||||
extern thread_return rtw_recv_tasklet(thread_context context);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_XMIT_TASKLET_THREAD
|
||||
extern thread_return rtw_xmit_tasklet(thread_context context);
|
||||
#endif
|
||||
|
||||
extern struct net_device *rtw_drv_probe(struct net_device* parent_dev, u32 mode); //Wlan driver init entry
|
||||
extern void rtw_drv_entry(void);
|
||||
extern void rtw_drv_halt(void);
|
||||
extern int rtw_dev_remove(struct net_device *pnetdev);
|
||||
extern int rtw_ioctl(struct net_device *dev, struct iwreq *rq, int cmd);
|
||||
|
||||
#if defined(CONFIG_LX_HCI)
|
||||
u32 lextra_bus_dma_Interrupt (void* data);
|
||||
#endif
|
||||
|
||||
#endif //__FREERTOS_INTFS_H_
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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 __FREERTOS_RECV_H_
|
||||
#define __FREERTOS_RECV_H_
|
||||
|
||||
extern sint _rtw_init_recv_priv(struct recv_priv *precvpriv, _adapter *padapter);
|
||||
extern void _rtw_free_recv_priv (struct recv_priv *precvpriv);
|
||||
|
||||
|
||||
extern s32 rtw_recv_entry(union recv_frame *precv_frame);
|
||||
extern int rtw_recv_indicatepkt(_adapter *adapter, union recv_frame *precv_frame);
|
||||
extern void rtw_recv_returnpacket(IN _nic_hdl cnxt, IN _pkt *preturnedpkt);
|
||||
|
||||
extern void rtw_hostapd_mlme_rx(_adapter *padapter, union recv_frame *precv_frame);
|
||||
#if BAD_MIC_COUNTERMEASURE
|
||||
extern void rtw_handle_tkip_mic_err(_adapter *padapter,u8 bgroup);
|
||||
#endif
|
||||
|
||||
int rtw_init_recv_priv(struct recv_priv *precvpriv, _adapter *padapter);
|
||||
void rtw_free_recv_priv (struct recv_priv *precvpriv);
|
||||
|
||||
|
||||
int rtw_os_recv_resource_init(struct recv_priv *precvpriv, _adapter *padapter);
|
||||
int rtw_os_recv_resource_alloc(_adapter *padapter, union recv_frame *precvframe);
|
||||
void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
|
||||
|
||||
|
||||
int rtw_os_recvbuf_resource_alloc(_adapter *padapter, struct recv_buf *precvbuf);
|
||||
int rtw_os_recvbuf_resource_free(_adapter *padapter, struct recv_buf *precvbuf);
|
||||
|
||||
void rtw_os_read_port(_adapter *padapter, struct recv_buf *precvbuf);
|
||||
|
||||
void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl);
|
||||
|
||||
void rltk_netif_rx(struct sk_buff *skb);
|
||||
|
||||
#endif //__FREERTOS_RECV_H_
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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 _FREERTOS_SKBUFF_H_
|
||||
#define _FREERTOS_SKBUFF_H_
|
||||
|
||||
#if (RTL8195A_SUPPORT == 1)
|
||||
// For Lextra(PCI-E like interface), RX buffer along with its skb is required to be
|
||||
// pre-allocation and set into rx buffer descriptor ring during initialization.
|
||||
#if (SKB_PRE_ALLOCATE_RX==1)
|
||||
#define MAX_SKB_BUF_NUM (8 + 4) //tx+rx (8 + RX_Q_DESC_NUM) Reduce rx skb number due to memory limitation
|
||||
#define MAX_LOCAL_SKB_NUM (10 + 18) //tx+rx
|
||||
#else
|
||||
#if WIFI_LOGO_CERTIFICATION
|
||||
#define MAX_SKB_BUF_NUM 10 //tx+rx, ping 10k test
|
||||
#elif defined(CONFIG_INIC_EN)&&(CONFIG_INIC_EN==1) //For iNIC throughput request
|
||||
#define MAX_SKB_BUF_NUM 59
|
||||
#else
|
||||
#define MAX_SKB_BUF_NUM 8 //tx+rx
|
||||
#endif
|
||||
#define MAX_LOCAL_SKB_NUM (MAX_SKB_BUF_NUM + 2) //tx+rx, +2: AP mode broadcast
|
||||
#endif
|
||||
#elif (RTL8711B_SUPPORT == 1)
|
||||
#if (SKB_PRE_ALLOCATE_RX==1)
|
||||
#define MAX_SKB_BUF_NUM (8 + 4) //tx+rx (8 + RX_Q_DESC_NUM) Reduce rx skb number due to memory limitation
|
||||
#define MAX_LOCAL_SKB_NUM (10 + 18) //tx+rx
|
||||
#else
|
||||
#if WIFI_LOGO_CERTIFICATION
|
||||
#define MAX_SKB_BUF_NUM 10 //tx+rx, ping 10k test
|
||||
#elif defined(CONFIG_INIC_EN)&&(CONFIG_INIC_EN==1) //For iNIC throughput request
|
||||
#define MAX_SKB_BUF_NUM 59
|
||||
#else
|
||||
#define MAX_SKB_BUF_NUM 8 //tx+rx
|
||||
#endif
|
||||
#define MAX_LOCAL_SKB_NUM (MAX_SKB_BUF_NUM + 2) //tx+rx, +2: AP mode broadcast
|
||||
#endif
|
||||
#else
|
||||
#ifndef CONFIG_DONT_CARE_TP
|
||||
#ifndef CONFIG_HIGH_TP
|
||||
#define MAX_LOCAL_SKB_NUM 10
|
||||
#define MAX_SKB_BUF_NUM 7
|
||||
#else
|
||||
#define MAX_LOCAL_SKB_NUM 100
|
||||
#define MAX_SKB_BUF_NUM 100
|
||||
#endif
|
||||
#else
|
||||
#define MAX_LOCAL_SKB_NUM 10
|
||||
#define MAX_TX_SKB_BUF_NUM 6
|
||||
#define MAX_RX_SKB_BUF_NUM 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern int max_local_skb_num;
|
||||
extern int max_skb_buf_num;
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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 __FREERTOS_XMIT_H_
|
||||
#define __FREERTOS_XMIT_H_
|
||||
|
||||
struct pkt_file {
|
||||
_pkt *pkt;
|
||||
SIZE_T pkt_len; //the remainder length of the open_file
|
||||
_buffer *cur_buffer;
|
||||
u8 *buf_start;
|
||||
u8 *cur_addr;
|
||||
SIZE_T buf_len;
|
||||
};
|
||||
|
||||
//Decrease xmit frame due to memory limitation - Alex Fang
|
||||
#if USE_XMIT_EXTBUFF
|
||||
#define NR_XMITFRAME 16 //NR_XMITBUFF + NR_XMIT_EXTBUFF
|
||||
#else
|
||||
#ifndef CONFIG_HIGH_TP
|
||||
//#define NR_XMITFRAME 8
|
||||
#define NR_XMITFRAME 6 //Decrease recv frame due to memory limitation - YangJue
|
||||
#else
|
||||
#define NR_XMITFRAME 100
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern int rtw_xmit_entry(_pkt *pkt, _nic_hdl pnetdev);
|
||||
extern void rtw_os_xmit_schedule(_adapter *padapter);
|
||||
|
||||
extern int rtw_os_xmit_resource_alloc(_adapter *padapter, struct xmit_buf *pxmitbuf,u32 alloc_sz);
|
||||
extern void rtw_os_xmit_resource_free(_adapter *padapter, struct xmit_buf *pxmitbuf,u32 free_sz);
|
||||
|
||||
extern void rtw_set_tx_chksum_offload(_pkt *pkt, struct pkt_attrib *pattrib);
|
||||
|
||||
extern uint rtw_remainder_len(struct pkt_file *pfile);
|
||||
extern void _rtw_open_pktfile(_pkt *pkt, struct pkt_file *pfile);
|
||||
extern uint _rtw_pktfile_read (struct pkt_file *pfile, u8 *rmem, uint rlen);
|
||||
extern sint rtw_endofpktfile (struct pkt_file *pfile);
|
||||
|
||||
extern void rtw_os_pkt_complete(_adapter *padapter, _pkt *pkt);
|
||||
extern void rtw_os_xmit_complete(_adapter *padapter, struct xmit_frame *pxframe);
|
||||
|
||||
|
||||
#endif //__FREERTOS_XMIT_H_
|
||||
|
||||
|
|
@ -1,10 +1,27 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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
|
||||
*
|
||||
*
|
||||
******************************************************************************
|
||||
* Wrapper provide a linux-like interface
|
||||
************************************************************************/
|
||||
#ifndef __WRAPPER_H__
|
||||
#define __WRAPPER_H__
|
||||
/**************************************************************************
|
||||
* Wrapper provide a linux-like interface
|
||||
*
|
||||
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
||||
************************************************************************/
|
||||
|
||||
|
||||
//----- ------------------------------------------------------------------
|
||||
// Include Files
|
||||
|
|
@ -13,8 +30,11 @@
|
|||
#include <string.h>
|
||||
#include "wireless.h"
|
||||
#include <skbuff.h>
|
||||
#ifdef PLATFORM_FREERTOS
|
||||
#include "freertos_service.h"
|
||||
|
||||
#elif defined(PLATFORM_CMSIS_RTOS)
|
||||
#include "rtx_service.h"
|
||||
#endif
|
||||
#ifndef __LIST_H
|
||||
#warning "DLIST_NOT_DEFINE!!!!!!"
|
||||
//----- ------------------------------------------------------------------
|
||||
|
|
@ -392,27 +412,27 @@ struct net_device_stats {
|
|||
};
|
||||
|
||||
struct net_device {
|
||||
char name[16]; //+0
|
||||
void *priv; //+16 _adapter /* pointer to private data */
|
||||
unsigned char dev_addr[6]; //+20 /* set during bootup */
|
||||
int (*init)(void); //+28
|
||||
int (*open)(struct net_device *dev); //+32
|
||||
int (*stop)(struct net_device *dev); //+36
|
||||
int (*hard_start_xmit)(struct sk_buff *skb, struct net_device *dev); //+40
|
||||
int (*do_ioctl)(struct net_device *dev, struct iwreq *ifr, int cmd); //+44
|
||||
struct net_device_stats* (*get_stats)(struct net_device *dev); //+48
|
||||
char name[16];
|
||||
void *priv; /* pointer to private data */
|
||||
unsigned char dev_addr[6]; /* set during bootup */
|
||||
int (*init)(void);
|
||||
int (*open)(struct net_device *dev);
|
||||
int (*stop)(struct net_device *dev);
|
||||
int (*hard_start_xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
int (*do_ioctl)(struct net_device *dev, struct iwreq *ifr, int cmd);
|
||||
struct net_device_stats* (*get_stats)(struct net_device *dev);
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct net_device *dev; //+0 /* Binding wlan driver netdev */
|
||||
void *skb; //+4 /* pending Rx packet */
|
||||
unsigned int tx_busy; //+8
|
||||
unsigned int rx_busy; //+12
|
||||
unsigned char enable; //+16
|
||||
unsigned char mac[6]; //+17..23
|
||||
struct net_device *dev; /* Binding wlan driver netdev */
|
||||
void *skb; /* pending Rx packet */
|
||||
unsigned int tx_busy;
|
||||
unsigned int rx_busy;
|
||||
unsigned char enable;
|
||||
unsigned char mac[6];
|
||||
} Rltk_wlan_t;
|
||||
|
||||
#define netdev_priv(dev) dev->priv
|
||||
#define netdev_priv(dev) dev->priv
|
||||
|
||||
extern struct net_device *alloc_etherdev(int sizeof_priv);
|
||||
void free_netdev(struct net_device *dev);
|
||||
|
|
@ -424,13 +444,13 @@ int dev_alloc_name(struct net_device *net_dev, const char *ifname);
|
|||
//----- ------------------------------------------------------------------
|
||||
void init_timer(struct timer_list *timer);
|
||||
void mod_timer(struct timer_list *timer, u32 delay_time_ms);
|
||||
void cancel_timer_ex(struct timer_list * timer);
|
||||
void cancel_timer_ex(struct timer_list * timer);
|
||||
void del_timer_sync(struct timer_list * timer);
|
||||
void init_timer_wrapper(void);
|
||||
void deinit_timer_wrapper(void);
|
||||
|
||||
void rtw_init_timer(_timer *ptimer, void *adapter, TIMER_FUN pfunc,void* cntx, const char *name);
|
||||
void rtw_set_timer(_timer *ptimer, u32 delay_time);
|
||||
void rtw_set_timer(_timer *ptimer,u32 delay_time);
|
||||
u8 rtw_cancel_timer(_timer *ptimer);
|
||||
void rtw_del_timer(_timer *ptimer);
|
||||
|
||||
|
|
|
|||
|
|
@ -22,16 +22,24 @@
|
|||
#include <autoconf.h>
|
||||
#include <lwip_intf.h>
|
||||
#include <lwip/netif.h>
|
||||
#if !DEVICE_EMAC
|
||||
#include <lwip_netconf.h>
|
||||
#include <ethernetif.h>
|
||||
#endif
|
||||
#include <osdep_service.h>
|
||||
#include <wifi/wifi_util.h>
|
||||
|
||||
//----- ------------------------------------------------------------------
|
||||
// External Reference
|
||||
//----- ------------------------------------------------------------------
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
extern struct netif xnetif[]; //LWIP netif
|
||||
#if DEVICE_EMAC
|
||||
extern struct netif *xnetif[];
|
||||
#else
|
||||
extern struct netif xnetif[]; //LWIP netif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* rltk_wlan_set_netif_info - set netif hw address and register dev pointer to netif device
|
||||
|
|
@ -46,9 +54,13 @@ extern struct netif xnetif[]; //LWIP netif
|
|||
void rltk_wlan_set_netif_info(int idx_wlan, void * dev, unsigned char * dev_addr)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
#if DEVICE_EMAC
|
||||
rtw_memcpy(xnetif[idx_wlan]->hwaddr, dev_addr, 6);
|
||||
#else
|
||||
rtw_memcpy(xnetif[idx_wlan].hwaddr, dev_addr, 6);
|
||||
xnetif[idx_wlan].state = dev;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -62,45 +74,47 @@ void rltk_wlan_set_netif_info(int idx_wlan, void * dev, unsigned char * dev_addr
|
|||
*/
|
||||
int rltk_wlan_send(int idx, struct eth_drv_sg *sg_list, int sg_len, int total_len)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
struct eth_drv_sg *last_sg;
|
||||
struct sk_buff *skb = NULL;
|
||||
int ret = 0;
|
||||
struct sk_buff *skb = NULL;
|
||||
int ret = 0;
|
||||
|
||||
if(idx == -1){
|
||||
DBG_ERR("netif is DOWN");
|
||||
return -1;
|
||||
}
|
||||
DBG_TRACE("%s is called", __FUNCTION__);
|
||||
|
||||
save_and_cli();
|
||||
|
||||
save_and_cli();
|
||||
if(rltk_wlan_check_isup(idx))
|
||||
rltk_wlan_tx_inc(idx);
|
||||
rltk_wlan_tx_inc(idx);
|
||||
else {
|
||||
DBG_ERR("netif is DOWN");
|
||||
restore_flags();
|
||||
return -1;
|
||||
}
|
||||
restore_flags();
|
||||
restore_flags();
|
||||
|
||||
skb = rltk_wlan_alloc_skb(total_len);
|
||||
if (skb == NULL) {
|
||||
skb = rltk_wlan_alloc_skb(total_len);
|
||||
if (skb == NULL) {
|
||||
//DBG_ERR("rltk_wlan_alloc_skb() for data len=%d failed!", total_len);
|
||||
ret = -1;
|
||||
goto exit;
|
||||
}
|
||||
ret = -1;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
for (last_sg = &sg_list[sg_len]; sg_list < last_sg; ++sg_list) {
|
||||
rtw_memcpy(skb->tail, (void *)(sg_list->buf), sg_list->len);
|
||||
skb_put(skb, sg_list->len);
|
||||
}
|
||||
skb_put(skb, sg_list->len);
|
||||
}
|
||||
|
||||
rltk_wlan_send_skb(idx, skb);
|
||||
rltk_wlan_send_skb(idx, skb);
|
||||
|
||||
exit:
|
||||
save_and_cli();
|
||||
rltk_wlan_tx_dec(idx);
|
||||
restore_flags();
|
||||
return ret;
|
||||
save_and_cli();
|
||||
rltk_wlan_tx_dec(idx);
|
||||
restore_flags();
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -113,43 +127,56 @@ exit:
|
|||
*/
|
||||
void rltk_wlan_recv(int idx, struct eth_drv_sg *sg_list, int sg_len)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
struct eth_drv_sg *last_sg;
|
||||
struct sk_buff *skb;
|
||||
|
||||
struct sk_buff *skb;
|
||||
|
||||
DBG_TRACE("%s is called", __FUNCTION__);
|
||||
|
||||
if (!rltk_wlan_check_isup(idx))
|
||||
return;
|
||||
|
||||
if(idx == -1){
|
||||
DBG_ERR("skb is NULL");
|
||||
return;
|
||||
}
|
||||
skb = rltk_wlan_get_recv_skb(idx);
|
||||
|
||||
skb = rltk_wlan_get_recv_skb(idx);
|
||||
DBG_ASSERT(skb, "No pending rx skb");
|
||||
|
||||
for (last_sg = &sg_list[sg_len]; sg_list < last_sg; ++sg_list) {
|
||||
if (sg_list->buf != 0) {
|
||||
if (sg_list->buf != 0) {
|
||||
rtw_memcpy((void *)(sg_list->buf), skb->data, sg_list->len);
|
||||
skb_pull(skb, sg_list->len);
|
||||
}
|
||||
}
|
||||
skb_pull(skb, sg_list->len);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int netif_is_valid_IP(int idx, unsigned char *ip_dest)
|
||||
{
|
||||
#if CONFIG_LWIP_LAYER == 1
|
||||
struct netif * pnetif = &xnetif[idx];
|
||||
struct ip_addr addr = { 0 };
|
||||
#ifdef CONFIG_MEMORY_ACCESS_ALIGNED
|
||||
unsigned int temp;
|
||||
memcpy(&temp, ip_dest, sizeof(unsigned int));
|
||||
u32_t *ip_dest_addr = &temp;
|
||||
#if DEVICE_EMAC
|
||||
struct netif *pnetif = xnetif[idx];
|
||||
#else
|
||||
u32_t *ip_dest_addr = (u32_t*)ip_dest;
|
||||
struct netif *pnetif = &xnetif[idx];
|
||||
#endif
|
||||
addr.addr = *ip_dest_addr;
|
||||
|
||||
|
||||
ip_addr_t addr = { 0 };
|
||||
|
||||
#ifdef CONFIG_MEMORY_ACCESS_ALIGNED
|
||||
unsigned int temp;
|
||||
memcpy(&temp, ip_dest, sizeof(unsigned int));
|
||||
u32_t *ip_dest_addr = &temp;
|
||||
#else
|
||||
u32_t *ip_dest_addr = (u32_t*)ip_dest;
|
||||
#endif
|
||||
addr.addr = *ip_dest_addr;
|
||||
|
||||
if(pnetif->ip_addr.addr == 0)
|
||||
return 1;
|
||||
return 1;
|
||||
|
||||
if(ip_addr_ismulticast(&addr) || ip_addr_isbroadcast(&addr,pnetif)){
|
||||
if(ip_addr_ismulticast(&addr) || ip_addr_isbroadcast(&addr,pnetif)){
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -163,34 +190,43 @@ int netif_is_valid_IP(int idx, unsigned char *ip_dest)
|
|||
#endif
|
||||
#ifdef CONFIG_DONT_CARE_TP
|
||||
if(pnetif->flags & NETIF_FLAG_IPSWITCH)
|
||||
return 1;
|
||||
return 1;
|
||||
else
|
||||
#endif
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int netif_get_idx(struct netif* pnetif)
|
||||
int netif_get_idx(struct netif *pnetif)
|
||||
{
|
||||
#if CONFIG_LWIP_LAYER == 1
|
||||
int idx = pnetif - xnetif;
|
||||
|
||||
switch(idx) {
|
||||
case 0:
|
||||
return 0;
|
||||
case 1:
|
||||
return 1;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
#if DEVICE_EMAC
|
||||
if (pnetif == xnetif[0])
|
||||
return 0;
|
||||
#else
|
||||
int idx = pnetif - xnetif;
|
||||
|
||||
switch(idx) {
|
||||
case 0:
|
||||
return 0;
|
||||
case 1:
|
||||
return 1;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
return -1;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
unsigned char *netif_get_hwaddr(int idx_wlan)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
#if DEVICE_EMAC
|
||||
return xnetif[idx_wlan]->hwaddr;
|
||||
#else
|
||||
return xnetif[idx_wlan].hwaddr;
|
||||
#endif
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
|
|
@ -199,7 +235,11 @@ unsigned char *netif_get_hwaddr(int idx_wlan)
|
|||
void netif_rx(int idx, unsigned int len)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
ethernetif_recv(&xnetif[idx], len);
|
||||
#if DEVICE_EMAC
|
||||
wlan_emac_recv(xnetif[idx], len);
|
||||
#else
|
||||
ethernetif_recv(&xnetif[idx], len);
|
||||
#endif
|
||||
#endif
|
||||
#if (CONFIG_INIC_EN == 1)
|
||||
inic_netif_rx(idx, len);
|
||||
|
|
@ -209,14 +249,30 @@ void netif_rx(int idx, unsigned int len)
|
|||
void netif_post_sleep_processing(void)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
#if DEVICE_EMAC
|
||||
#else
|
||||
lwip_POST_SLEEP_PROCESSING(); //For FreeRTOS tickless to enable Lwip ARP timer when leaving IPS - Alex Fang
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void netif_pre_sleep_processing(void)
|
||||
{
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
lwip_PRE_SLEEP_PROCESSING();
|
||||
#if DEVICE_EMAC
|
||||
#else
|
||||
lwip_PRE_SLEEP_PROCESSING();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_WOWLAN
|
||||
unsigned char *rltk_wlan_get_ip(int idx){
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
return LwIP_GetIP(&xnetif[idx]);
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
/* mbed Microcontroller Library
|
||||
* Copyright (c) 2013-2016 Realtek Semiconductor Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#ifndef __LWIP_INTF_H__
|
||||
#define __LWIP_INTF_H__
|
||||
|
||||
|
|
@ -7,18 +22,23 @@ extern "C" {
|
|||
|
||||
#include <wireless.h>
|
||||
#include <skbuff.h>
|
||||
#include "ethernetif.h"
|
||||
#if 0 // moved to ethernetif.h by jimmy 12/2/2015
|
||||
|
||||
struct netif;
|
||||
|
||||
//----- ------------------------------------------------------------------
|
||||
// Ethernet Buffer
|
||||
//----- ------------------------------------------------------------------
|
||||
#if DEVICE_EMAC
|
||||
struct eth_drv_sg {
|
||||
unsigned int buf;
|
||||
unsigned int len;
|
||||
unsigned int buf;
|
||||
unsigned int len;
|
||||
};
|
||||
|
||||
#define MAX_ETH_DRV_SG 32
|
||||
#define MAX_ETH_MSG 1540
|
||||
extern void wlan_emac_recv(struct netif *netif, int len);
|
||||
#else
|
||||
#include "ethernetif.h" // moved to ethernetif.h by jimmy 12/2/2015
|
||||
#endif
|
||||
//----- ------------------------------------------------------------------
|
||||
// Wlan Interface Provided
|
||||
|
|
@ -37,7 +57,7 @@ unsigned char rltk_wlan_running(unsigned char idx); // interface is up. 0: inte
|
|||
//----- ------------------------------------------------------------------
|
||||
// Network Interface provided
|
||||
//----- ------------------------------------------------------------------
|
||||
struct netif;
|
||||
|
||||
int netif_is_valid_IP(int idx,unsigned char * ip_dest);
|
||||
int netif_get_idx(struct netif *pnetif);
|
||||
unsigned char *netif_get_hwaddr(int idx_wlan);
|
||||
|
|
@ -45,11 +65,18 @@ void netif_rx(int idx, unsigned int len);
|
|||
void netif_post_sleep_processing(void);
|
||||
void netif_pre_sleep_processing(void);
|
||||
#if (CONFIG_LWIP_LAYER == 1)
|
||||
#if !DEVICE_EMAC
|
||||
extern void ethernetif_recv(struct netif *netif, int total_len);
|
||||
#endif
|
||||
extern void lwip_PRE_SLEEP_PROCESSING(void);
|
||||
extern void lwip_POST_SLEEP_PROCESSING(void);
|
||||
#endif //CONFIG_LWIP_LAYER == 1
|
||||
|
||||
|
||||
#ifdef CONFIG_WOWLAN
|
||||
extern unsigned char *rltk_wlan_get_ip(int idx);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,113 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* 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 __NETDEV_H_
|
||||
#define __NETDEV_H_
|
||||
|
||||
/* Define compilor specific symbol */
|
||||
//
|
||||
// inline function
|
||||
//
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
#define __inline__ inline
|
||||
#define __inline inline
|
||||
#define __inline_definition //In dialect C99, inline means that a function's definition is provided
|
||||
//only for inlining, and that there is another definition
|
||||
//(without inline) somewhere else in the program.
|
||||
//That means that this program is incomplete, because if
|
||||
//add isn't inlined (for example, when compiling without optimization),
|
||||
//then main will have an unresolved reference to that other definition.
|
||||
|
||||
// Do not inline function is the function body is defined .c file and this
|
||||
// function will be called somewhere else, otherwise there is compile error
|
||||
#elif defined ( __CC_ARM )
|
||||
#define __inline__ __inline //__linine__ is not supported in keil compilor, use __inline instead
|
||||
#define inline __inline
|
||||
#define __inline_definition // for dialect C99
|
||||
#elif defined ( __GNUC__ )
|
||||
#define __inline__ inline
|
||||
#define __inline inline
|
||||
#define __inline_definition inline
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <drv_conf.h>
|
||||
#if defined( PLATFORM_FREERTOS)
|
||||
#include "freertos_service.h"
|
||||
#elif defined( PLATFORM_ECOS)
|
||||
#include "ecos/ecos_service.h"
|
||||
#elif defined(PLATFORM_CMSIS_RTOS)
|
||||
#include "rtx_service.h"
|
||||
#endif
|
||||
|
||||
|
||||
// rtl8195a uses receive_tasklet for wps
|
||||
// 8189em uses interrupt_thread for wps
|
||||
#if defined(CONFIG_WPS)
|
||||
#define RECV_STACK_FOR_WPS 448//512//384 //Change to 512 for WPS (IAR STM32) stack overflow
|
||||
#else
|
||||
#define RECV_STACK_FOR_WPS 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DONT_CARE_TP
|
||||
#define XMIT_STACKSIZE 192 //256
|
||||
#define CMD_STACKSIZE 384 //512
|
||||
#else
|
||||
#define XMIT_STACKSIZE 256
|
||||
#define CMD_STACKSIZE 512 //1024
|
||||
#endif //CONFIG_DONT_CARE_TP
|
||||
|
||||
#if defined(CONFIG_PLATFORM_8195A) || defined(CONFIG_PLATFORM_8711B)
|
||||
#define RECV_STACKSIZE 256
|
||||
#else //CONFIG_PLATFORM_8195A
|
||||
#ifdef CONFIG_INCLUDE_WPA_PSK
|
||||
#if PSK_SUPPORT_TKIP
|
||||
#define RECV_STACKSIZE (512 + 256 + 128 + RECV_STACK_FOR_WPS)
|
||||
#else
|
||||
#define RECV_STACKSIZE (512 + 256 + RECV_STACK_FOR_WPS )
|
||||
#endif
|
||||
#else
|
||||
#define RECV_STACKSIZE (512 + 256 + RECV_STACK_FOR_WPS) //Can be reduced
|
||||
#endif
|
||||
#endif //CONFIG_PLATFORM_8195A
|
||||
|
||||
#define XMIT_TASKLET_STACKSIZE 256
|
||||
#define RECV_TASKLET_STACKSIZE (1024 + RECV_STACK_FOR_WPS)
|
||||
#define SDIOXMIT_STACKSIZE 256
|
||||
|
||||
|
||||
struct rtw_netdev_priv_indicator {
|
||||
void *priv;
|
||||
u32 sizeof_priv;
|
||||
};
|
||||
|
||||
#define rtw_netdev_priv(netdev) ( ((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv )
|
||||
|
||||
#define ADPT_FMT "%s"
|
||||
#define ADPT_ARG(adapter) adapter->pnetdev->name
|
||||
#define FUNC_NDEV_FMT "%s"
|
||||
#define FUNC_NDEV_ARG(ndev) __func__
|
||||
#define FUNC_ADPT_FMT "%s(%s)"
|
||||
#define FUNC_ADPT_ARG(adapter) __func__, adapter->pnetdev->name
|
||||
|
||||
#include "wifi_constants.h"
|
||||
#include "wifi_structures.h"
|
||||
int rtw_if_wifi_thread(char *name);
|
||||
#endif //#ifndef __OSDEP_SERVICE_H_
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2012 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 __OSDEP_INTF_H_
|
||||
#define __OSDEP_INTF_H_
|
||||
|
||||
typedef struct net_device * _nic_hdl;
|
||||
struct iw_request_info {
|
||||
u16 cmd; /* Wireless Extension command */
|
||||
u16 flags; /* More to come ;-) */
|
||||
};
|
||||
typedef int (*iw_handler)(struct net_device *dev, struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra);
|
||||
|
||||
struct pkt_buff {
|
||||
_list list;
|
||||
u32 len;
|
||||
unsigned char *data;
|
||||
};
|
||||
|
||||
#if defined(PLATFORM_FREERTOS) || defined (PLATFORM_CMSIS_RTOS)
|
||||
|
||||
#include "freertos/wrapper.h"
|
||||
#include "freertos/freertos_intfs.h"
|
||||
#include "freertos/freertos_xmit.h"
|
||||
#include "freertos/freertos_recv.h"
|
||||
|
||||
#elif defined(PLATFORM_ECOS)
|
||||
|
||||
#include "ecos/ecos_xmit.h"
|
||||
#include "ecos/ecos_recv.h"
|
||||
#include "ecos/ecos_mlme.h"
|
||||
#include "ecos/ecos_intfs.h"
|
||||
|
||||
#ifdef CONFIG_PROC_DEBUG //need move to ecos/ecos_intfs.h
|
||||
void rtw_proc_init_one(struct net_device *dev);
|
||||
void rtw_proc_remove_one(struct net_device *dev);
|
||||
#else
|
||||
static void rtw_proc_init_one(struct net_device *dev){}
|
||||
static void rtw_proc_remove_one(struct net_device *dev){}
|
||||
#endif //CONFIG_PROC_DEBUG
|
||||
|
||||
#elif defined(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);
|
||||
struct net_device *rtw_init_netdev(_adapter *padapter);
|
||||
|
||||
#ifdef CONFIG_PROC_DEBUG
|
||||
void rtw_proc_init_one(struct net_device *dev);
|
||||
void rtw_proc_remove_one(struct net_device *dev);
|
||||
#else
|
||||
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
|
||||
|
||||
#ifdef CONFIG_CONCURRENT_MODE
|
||||
struct _io_ops;
|
||||
_adapter *rtw_drv_if2_init(_adapter *primary_padapter, char *name, void (*set_intf_ops)(struct _io_ops *pops));
|
||||
void rtw_drv_if2_free(_adapter *pbuddy_padapter);
|
||||
#endif
|
||||
|
||||
struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv);
|
||||
struct net_device * rtw_alloc_etherdev(int sizeof_priv);
|
||||
void rtw_free_netdev(struct net_device * netdev);
|
||||
|
||||
int rtw_netif_queue_stopped(struct net_device *pnetdev);
|
||||
void rtw_netif_wake_queue(struct net_device *pnetdev);
|
||||
void rtw_netif_start_queue(struct net_device *pnetdev);
|
||||
void rtw_netif_stop_queue(struct net_device *pnetdev);
|
||||
|
||||
struct pkt_buff *rtw_alloc_pktbuf(unsigned int size);
|
||||
void rtw_free_pktbuf(struct pkt_buff *skb);
|
||||
|
||||
#if 0
|
||||
int RTW_STATUS_CODE(int error_code);
|
||||
|
||||
//flags used for rtw_update_mem_stat()
|
||||
enum {
|
||||
MEM_STAT_VIR_ALLOC_SUCCESS,
|
||||
MEM_STAT_VIR_ALLOC_FAIL,
|
||||
MEM_STAT_VIR_FREE,
|
||||
MEM_STAT_PHY_ALLOC_SUCCESS,
|
||||
MEM_STAT_PHY_ALLOC_FAIL,
|
||||
MEM_STAT_PHY_FREE,
|
||||
MEM_STAT_TX, //used to distinguish TX/RX, asigned from caller
|
||||
MEM_STAT_TX_ALLOC_SUCCESS,
|
||||
MEM_STAT_TX_ALLOC_FAIL,
|
||||
MEM_STAT_TX_FREE,
|
||||
MEM_STAT_RX, //used to distinguish TX/RX, asigned from caller
|
||||
MEM_STAT_RX_ALLOC_SUCCESS,
|
||||
MEM_STAT_RX_ALLOC_FAIL,
|
||||
MEM_STAT_RX_FREE
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif //_OSDEP_INTF_H_
|
||||
|
||||
|
|
@ -1,3 +1,18 @@
|
|||
/******************************************************************************
|
||||
* Copyright (c) 2013-2016 Realtek Semiconductor Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
******************************************************************************/
|
||||
#ifndef __SKBUFF_H__
|
||||
#define __SKBUFF_H__
|
||||
|
||||
|
|
@ -27,9 +42,9 @@ struct sk_buff {
|
|||
const char *funcname[TRACE_SKB_DEPTH];
|
||||
unsigned int list_idx; /* Trace the List we are on */
|
||||
#endif
|
||||
#ifdef CONFIG_DONT_CARE_TP
|
||||
//#ifdef CONFIG_DONT_CARE_TP
|
||||
int dyalloc_flag;
|
||||
#endif
|
||||
//#endif
|
||||
};
|
||||
|
||||
unsigned char *skb_put(struct sk_buff *skb, unsigned int len);
|
||||
|
|
|
|||
|
|
@ -268,43 +268,43 @@ typedef long long __i64;
|
|||
|
||||
/* Wireless Identification */
|
||||
#define SIOCSIWCOMMIT 0x8B00 /* Commit pending changes to driver */
|
||||
#define SIOCGIWNAME 0x8B01 /* get name == wireless protocol */
|
||||
#define SIOCGIWNAME 0x8B01 /* get name == wireless protocol */
|
||||
/* SIOCGIWNAME is used to verify the presence of Wireless Extensions.
|
||||
* Common values : "IEEE 802.11-DS", "IEEE 802.11-FH", "IEEE 802.11b"...
|
||||
* Don't put the name of your driver there, it's useless. */
|
||||
|
||||
/* Basic operations */
|
||||
#define SIOCSIWNWID 0x8B02 /* set network id (pre-802.11) */
|
||||
#define SIOCGIWNWID 0x8B03 /* get network id (the cell) */
|
||||
#define SIOCSIWFREQ 0x8B04 /* set channel/frequency (Hz) */
|
||||
#define SIOCGIWFREQ 0x8B05 /* get channel/frequency (Hz) */
|
||||
#define SIOCSIWMODE 0x8B06 /* set operation mode */
|
||||
#define SIOCGIWMODE 0x8B07 /* get operation mode */
|
||||
#define SIOCSIWSENS 0x8B08 /* set sensitivity (dBm) */
|
||||
#define SIOCGIWSENS 0x8B09 /* get sensitivity (dBm) */
|
||||
#define SIOCSIWNWID 0x8B02 /* set network id (pre-802.11) */
|
||||
#define SIOCGIWNWID 0x8B03 /* get network id (the cell) */
|
||||
#define SIOCSIWFREQ 0x8B04 /* set channel/frequency (Hz) */
|
||||
#define SIOCGIWFREQ 0x8B05 /* get channel/frequency (Hz) */
|
||||
#define SIOCSIWMODE 0x8B06 /* set operation mode */
|
||||
#define SIOCGIWMODE 0x8B07 /* get operation mode */
|
||||
#define SIOCSIWSENS 0x8B08 /* set sensitivity (dBm) */
|
||||
#define SIOCGIWSENS 0x8B09 /* get sensitivity (dBm) */
|
||||
|
||||
/* Informative stuff */
|
||||
#define SIOCSIWRANGE 0x8B0A /* Unused */
|
||||
#define SIOCGIWRANGE 0x8B0B /* Get range of parameters */
|
||||
#define SIOCSIWPRIV 0x8B0C /* Unused */
|
||||
#define SIOCGIWPRIV 0x8B0D /* get private ioctl interface info */
|
||||
#define SIOCSIWPRIV 0x8B0C /* Unused */
|
||||
#define SIOCGIWPRIV 0x8B0D /* get private ioctl interface info */
|
||||
#define SIOCSIWSTATS 0x8B0E /* Unused */
|
||||
#define SIOCGIWSTATS 0x8B0F /* Get /proc/net/wireless stats */
|
||||
/* SIOCGIWSTATS is strictly used between user space and the kernel, and
|
||||
* is never passed to the driver (i.e. the driver will never see it). */
|
||||
|
||||
/* Spy support (statistics per MAC address - used for Mobile IP support) */
|
||||
#define SIOCSIWSPY 0x8B10 /* set spy addresses */
|
||||
#define SIOCGIWSPY 0x8B11 /* get spy info (quality of link) */
|
||||
#define SIOCSIWSPY 0x8B10 /* set spy addresses */
|
||||
#define SIOCGIWSPY 0x8B11 /* get spy info (quality of link) */
|
||||
#define SIOCSIWTHRSPY 0x8B12 /* set spy threshold (spy event) */
|
||||
#define SIOCGIWTHRSPY 0x8B13 /* get spy threshold */
|
||||
|
||||
/* Access Point manipulation */
|
||||
#define SIOCSIWAP 0x8B14 /* set access point MAC addresses */
|
||||
#define SIOCGIWAP 0x8B15 /* get access point MAC addresses */
|
||||
#define SIOCSIWAP 0x8B14 /* set access point MAC addresses */
|
||||
#define SIOCGIWAP 0x8B15 /* get access point MAC addresses */
|
||||
#define SIOCGIWAPLIST 0x8B17 /* Deprecated in favor of scanning */
|
||||
#define SIOCSIWSCAN 0x8B18 /* trigger scanning (list cells) */
|
||||
#define SIOCGIWSCAN 0x8B19 /* get scanning results */
|
||||
#define SIOCSIWSCAN 0x8B18 /* trigger scanning (list cells) */
|
||||
#define SIOCGIWSCAN 0x8B19 /* get scanning results */
|
||||
|
||||
/* 802.11 specific support */
|
||||
#define SIOCSIWESSID 0x8B1A /* set ESSID (network name) */
|
||||
|
|
@ -316,12 +316,12 @@ typedef long long __i64;
|
|||
* point to a string in user space, like it is done for RANGE... */
|
||||
|
||||
/* Other parameters useful in 802.11 and some other devices */
|
||||
#define SIOCSIWRATE 0x8B20 /* set default bit rate (bps) */
|
||||
#define SIOCGIWRATE 0x8B21 /* get default bit rate (bps) */
|
||||
#define SIOCSIWRTS 0x8B22 /* set RTS/CTS threshold (bytes) */
|
||||
#define SIOCGIWRTS 0x8B23 /* get RTS/CTS threshold (bytes) */
|
||||
#define SIOCSIWFRAG 0x8B24 /* set fragmentation thr (bytes) */
|
||||
#define SIOCGIWFRAG 0x8B25 /* get fragmentation thr (bytes) */
|
||||
#define SIOCSIWRATE 0x8B20 /* set default bit rate (bps) */
|
||||
#define SIOCGIWRATE 0x8B21 /* get default bit rate (bps) */
|
||||
#define SIOCSIWRTS 0x8B22 /* set RTS/CTS threshold (bytes) */
|
||||
#define SIOCGIWRTS 0x8B23 /* get RTS/CTS threshold (bytes) */
|
||||
#define SIOCSIWFRAG 0x8B24 /* set fragmentation thr (bytes) */
|
||||
#define SIOCGIWFRAG 0x8B25 /* get fragmentation thr (bytes) */
|
||||
#define SIOCSIWTXPOW 0x8B26 /* set transmit power (dBm) */
|
||||
#define SIOCGIWTXPOW 0x8B27 /* get transmit power (dBm) */
|
||||
#define SIOCSIWRETRY 0x8B28 /* set retry limits and lifetime */
|
||||
|
|
@ -348,11 +348,11 @@ typedef long long __i64;
|
|||
#define SIOCGIWGENIE 0x8B31 /* get generic IE */
|
||||
|
||||
/* WPA : IEEE 802.11 MLME requests */
|
||||
#define SIOCSIWMLME 0x8B16 /* request MLME operation; uses
|
||||
#define SIOCSIWMLME 0x8B16 /* request MLME operation; uses
|
||||
* struct iw_mlme */
|
||||
/* WPA : Authentication mode parameters */
|
||||
#define SIOCSIWAUTH 0x8B32 /* set authentication mode params */
|
||||
#define SIOCGIWAUTH 0x8B33 /* get authentication mode params */
|
||||
#define SIOCSIWAUTH 0x8B32 /* set authentication mode params */
|
||||
#define SIOCGIWAUTH 0x8B33 /* get authentication mode params */
|
||||
|
||||
/* WPA : Extended version of encoding configuration */
|
||||
#define SIOCSIWENCODEEXT 0x8B34 /* set encoding token & mode */
|
||||
|
|
@ -375,8 +375,8 @@ typedef long long __i64;
|
|||
* If you don't follow those rules, DaveM is going to hate you (reason :
|
||||
* it make mixed 32/64bit operation impossible).
|
||||
*/
|
||||
#define SIOCIWFIRSTPRIV 0x8BE0
|
||||
#define SIOCIWLASTPRIV 0x8BFF
|
||||
#define SIOCIWFIRSTPRIV 0x8BE0
|
||||
#define SIOCIWLASTPRIV 0x8BFF
|
||||
|
||||
#define SIOCSIWPRIVADAPTIVITY 0x8BFB
|
||||
#define SIOCGIWPRIVPASSPHRASE 0x8BFC
|
||||
|
|
@ -412,7 +412,7 @@ typedef long long __i64;
|
|||
#define IWEVTXDROP 0x8C00 /* Packet dropped to excessive retry */
|
||||
#define IWEVQUAL 0x8C01 /* Quality part of statistics (scan) */
|
||||
#define IWEVCUSTOM 0x8C02 /* Driver specific ascii string */
|
||||
#define IWEVREGISTERED 0x8C03 /* Discovered a new node (AP mode) */
|
||||
#define IWEVREGISTERED 0x8C03 /* Discovered a new node (AP mode) */
|
||||
#define IWEVEXPIRED 0x8C04 /* Expired a node (AP mode) */
|
||||
#define IWEVGENIE 0x8C05 /* Generic IE (WPA, RSN, WMM, ..)
|
||||
* (scan results); This includes id and
|
||||
|
|
@ -443,7 +443,7 @@ typedef long long __i64;
|
|||
* pre-authentication
|
||||
* (struct iw_pmkid_cand) */
|
||||
|
||||
#define IWEVFIRST 0x8C00
|
||||
#define IWEVFIRST 0x8C00
|
||||
#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST)
|
||||
|
||||
/* Indicate Mgnt Frame and Action Frame to uplayer*/
|
||||
|
|
@ -490,11 +490,11 @@ typedef long long __i64;
|
|||
* a few of them in the struct iw_range. */
|
||||
|
||||
/* Maximum of address that you may set with SPY */
|
||||
#define IW_MAX_SPY 8
|
||||
#define IW_MAX_SPY 8
|
||||
|
||||
/* Maximum of address that you may get in the
|
||||
list of access points in range */
|
||||
#define IW_MAX_AP 64
|
||||
#define IW_MAX_AP 64
|
||||
|
||||
/* Maximum size of the ESSID and NICKN strings */
|
||||
#define IW_ESSID_MAX_SIZE 32
|
||||
|
|
@ -503,7 +503,7 @@ typedef long long __i64;
|
|||
#define IW_MODE_AUTO 0 /* Let the driver decides */
|
||||
#define IW_MODE_ADHOC 1 /* Single cell network */
|
||||
#define IW_MODE_INFRA 2 /* Multi cell network, roaming, ... */
|
||||
#define IW_MODE_MASTER 3 /* Synchronization master or Access Point */
|
||||
#define IW_MODE_MASTER 3 /* Synchronisation master or Access Point */
|
||||
#define IW_MODE_REPEAT 4 /* Wireless Repeater (forwarder) */
|
||||
#define IW_MODE_SECOND 5 /* Secondary master/repeater (backup) */
|
||||
#define IW_MODE_MONITOR 6 /* Passive monitor (listen only) */
|
||||
|
|
@ -512,13 +512,13 @@ typedef long long __i64;
|
|||
#define IW_QUAL_QUAL_UPDATED 0x01 /* Value was updated since last read */
|
||||
#define IW_QUAL_LEVEL_UPDATED 0x02
|
||||
#define IW_QUAL_NOISE_UPDATED 0x04
|
||||
#define IW_QUAL_ALL_UPDATED 0x07
|
||||
#define IW_QUAL_DBM 0x08 /* Level + Noise are dBm */
|
||||
#define IW_QUAL_ALL_UPDATED 0x07
|
||||
#define IW_QUAL_DBM 0x08 /* Level + Noise are dBm */
|
||||
#define IW_QUAL_QUAL_INVALID 0x10 /* Driver doesn't provide value */
|
||||
#define IW_QUAL_LEVEL_INVALID 0x20
|
||||
#define IW_QUAL_NOISE_INVALID 0x40
|
||||
#define IW_QUAL_RCPI 0x80 /* Level + Noise are 802.11k RCPI */
|
||||
#define IW_QUAL_ALL_INVALID 0x70
|
||||
#define IW_QUAL_RCPI 0x80 /* Level + Noise are 802.11k RCPI */
|
||||
#define IW_QUAL_ALL_INVALID 0x70
|
||||
|
||||
/* Frequency flags */
|
||||
#define IW_FREQ_AUTO 0x00 /* Let the driver decides */
|
||||
|
|
@ -532,32 +532,32 @@ typedef long long __i64;
|
|||
#define IW_ENCODING_TOKEN_MAX 64 /* 512 bits (for now) */
|
||||
|
||||
/* Flags for encoding (along with the token) */
|
||||
#define IW_ENCODE_INDEX 0x00FF /* Token index (if needed) */
|
||||
#define IW_ENCODE_FLAGS 0xFF00 /* Flags defined below */
|
||||
#define IW_ENCODE_MODE 0xF000 /* Modes defined below */
|
||||
#define IW_ENCODE_DISABLED 0x8000 /* Encoding disabled */
|
||||
#define IW_ENCODE_ENABLED 0x0000 /* Encoding enabled */
|
||||
#define IW_ENCODE_INDEX 0x00FF /* Token index (if needed) */
|
||||
#define IW_ENCODE_FLAGS 0xFF00 /* Flags defined below */
|
||||
#define IW_ENCODE_MODE 0xF000 /* Modes defined below */
|
||||
#define IW_ENCODE_DISABLED 0x8000 /* Encoding disabled */
|
||||
#define IW_ENCODE_ENABLED 0x0000 /* Encoding enabled */
|
||||
#define IW_ENCODE_RESTRICTED 0x4000 /* Refuse non-encoded packets */
|
||||
#define IW_ENCODE_OPEN 0x2000 /* Accept non-encoded packets */
|
||||
#define IW_ENCODE_NOKEY 0x0800 /* Key is write only, so not present */
|
||||
#define IW_ENCODE_TEMP 0x0400 /* Temporary key */
|
||||
#define IW_ENCODE_OPEN 0x2000 /* Accept non-encoded packets */
|
||||
#define IW_ENCODE_NOKEY 0x0800 /* Key is write only, so not present */
|
||||
#define IW_ENCODE_TEMP 0x0400 /* Temporary key */
|
||||
|
||||
/* Power management flags available (along with the value, if any) */
|
||||
#define IW_POWER_ON 0x0000 /* No details... */
|
||||
#define IW_POWER_TYPE 0xF000 /* Type of parameter */
|
||||
#define IW_POWER_PERIOD 0x1000 /* Value is a period/duration of */
|
||||
#define IW_POWER_TIMEOUT 0x2000 /* Value is a timeout (to go asleep) */
|
||||
#define IW_POWER_SAVING 0x4000 /* Value is relative (how aggressive)*/
|
||||
#define IW_POWER_MODE 0x0F00 /* Power Management mode */
|
||||
#define IW_POWER_UNICAST_R 0x0100 /* Receive only unicast messages */
|
||||
#define IW_POWER_ON 0x0000 /* No details... */
|
||||
#define IW_POWER_TYPE 0xF000 /* Type of parameter */
|
||||
#define IW_POWER_PERIOD 0x1000 /* Value is a period/duration of */
|
||||
#define IW_POWER_TIMEOUT 0x2000 /* Value is a timeout (to go asleep) */
|
||||
#define IW_POWER_SAVING 0x4000 /* Value is relative (how aggressive)*/
|
||||
#define IW_POWER_MODE 0x0F00 /* Power Management mode */
|
||||
#define IW_POWER_UNICAST_R 0x0100 /* Receive only unicast messages */
|
||||
#define IW_POWER_MULTICAST_R 0x0200 /* Receive only multicast messages */
|
||||
#define IW_POWER_ALL_R 0x0300 /* Receive all messages though PM */
|
||||
#define IW_POWER_FORCE_S 0x0400 /* Force PM procedure for sending unicast */
|
||||
#define IW_POWER_REPEATER 0x0800 /* Repeat broadcast messages in PM period */
|
||||
#define IW_POWER_MODIFIER 0x000F /* Modify a parameter */
|
||||
#define IW_POWER_MIN 0x0001 /* Value is a minimum */
|
||||
#define IW_POWER_MAX 0x0002 /* Value is a maximum */
|
||||
#define IW_POWER_RELATIVE 0x0004 /* Value is not in seconds/ms/us */
|
||||
#define IW_POWER_ALL_R 0x0300 /* Receive all messages though PM */
|
||||
#define IW_POWER_FORCE_S 0x0400 /* Force PM procedure for sending unicast */
|
||||
#define IW_POWER_REPEATER 0x0800 /* Repeat broadcast messages in PM period */
|
||||
#define IW_POWER_MODIFIER 0x000F /* Modify a parameter */
|
||||
#define IW_POWER_MIN 0x0001 /* Value is a minimum */
|
||||
#define IW_POWER_MAX 0x0002 /* Value is a maximum */
|
||||
#define IW_POWER_RELATIVE 0x0004 /* Value is not in seconds/ms/us */
|
||||
|
||||
/* Transmit Power flags available */
|
||||
#define IW_TXPOW_TYPE 0x00FF /* Type of value */
|
||||
|
|
@ -567,7 +567,7 @@ typedef long long __i64;
|
|||
#define IW_TXPOW_RANGE 0x1000 /* Range of value between min/max */
|
||||
|
||||
/* Retry limits and lifetime flags available */
|
||||
#define IW_RETRY_ON 0x0000 /* No details... */
|
||||
#define IW_RETRY_ON 0x0000 /* No details... */
|
||||
#define IW_RETRY_TYPE 0xF000 /* Type of parameter */
|
||||
#define IW_RETRY_LIMIT 0x1000 /* Maximum number of retries*/
|
||||
#define IW_RETRY_LIFETIME 0x2000 /* Maximum duration of retries in us */
|
||||
|
|
@ -589,8 +589,8 @@ typedef long long __i64;
|
|||
#define IW_SCAN_ALL_RATE 0x0040 /* Scan all Bit-Rates */
|
||||
#define IW_SCAN_THIS_RATE 0x0080 /* Scan only this Bit-Rate */
|
||||
/* struct iw_scan_req scan_type */
|
||||
#define IW_SCAN_TYPE_ACTIVE 0
|
||||
#define IW_SCAN_TYPE_PASSIVE 1
|
||||
#define IW_SCAN_TYPE_ACTIVE 0
|
||||
#define IW_SCAN_TYPE_PASSIVE 1
|
||||
/* Maximum size of returned data */
|
||||
#define IW_SCAN_MAX_DATA 4096 /* In bytes */
|
||||
|
||||
|
|
@ -627,14 +627,14 @@ typedef long long __i64;
|
|||
|
||||
/* IW_AUTH_WPA_VERSION values (bit field) */
|
||||
#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
|
||||
#define IW_AUTH_WPA_VERSION_WPA 0x00000002
|
||||
#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
|
||||
#define IW_AUTH_WPA_VERSION_WPA 0x00000002
|
||||
#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
|
||||
|
||||
/* IW_AUTH_PAIRWISE_CIPHER and IW_AUTH_GROUP_CIPHER values (bit field) */
|
||||
#define IW_AUTH_CIPHER_NONE 0x00000001
|
||||
#define IW_AUTH_CIPHER_NONE 0x00000001
|
||||
#define IW_AUTH_CIPHER_WEP40 0x00000002
|
||||
#define IW_AUTH_CIPHER_TKIP 0x00000004
|
||||
#define IW_AUTH_CIPHER_CCMP 0x00000008
|
||||
#define IW_AUTH_CIPHER_TKIP 0x00000004
|
||||
#define IW_AUTH_CIPHER_CCMP 0x00000008
|
||||
#define IW_AUTH_CIPHER_WEP104 0x00000010
|
||||
|
||||
/* IW_AUTH_KEY_MGMT values (bit field) */
|
||||
|
|
@ -644,7 +644,7 @@ typedef long long __i64;
|
|||
/* IW_AUTH_80211_AUTH_ALG values (bit field) */
|
||||
#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
|
||||
#define IW_AUTH_ALG_SHARED_KEY 0x00000002
|
||||
#define IW_AUTH_ALG_LEAP 0x00000004
|
||||
#define IW_AUTH_ALG_LEAP 0x00000004
|
||||
|
||||
/* IW_AUTH_ROAMING_CONTROL values */
|
||||
#define IW_AUTH_ROAMING_ENABLE 0 /* driver/firmware based roaming */
|
||||
|
|
@ -666,15 +666,15 @@ typedef long long __i64;
|
|||
|
||||
/* IWEVMICHAELMICFAILURE : struct iw_michaelmicfailure ->flags */
|
||||
#define IW_MICFAILURE_KEY_ID 0x00000003 /* Key ID 0..3 */
|
||||
#define IW_MICFAILURE_GROUP 0x00000004
|
||||
#define IW_MICFAILURE_GROUP 0x00000004
|
||||
#define IW_MICFAILURE_PAIRWISE 0x00000008
|
||||
#define IW_MICFAILURE_STAKEY 0x00000010
|
||||
#define IW_MICFAILURE_COUNT 0x00000060 /* 1 or 2 (0 = count not supported)
|
||||
#define IW_MICFAILURE_COUNT 0x00000060 /* 1 or 2 (0 = count not supported)
|
||||
*/
|
||||
|
||||
/* Bit field values for enc_capa in struct iw_range */
|
||||
#define IW_ENC_CAPA_WPA 0x00000001
|
||||
#define IW_ENC_CAPA_WPA2 0x00000002
|
||||
#define IW_ENC_CAPA_WPA 0x00000001
|
||||
#define IW_ENC_CAPA_WPA2 0x00000002
|
||||
#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004
|
||||
#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008
|
||||
|
||||
|
|
@ -698,8 +698,8 @@ typedef long long __i64;
|
|||
|
||||
/* Modulations bitmasks */
|
||||
#define IW_MODUL_ALL 0x00000000 /* Everything supported */
|
||||
#define IW_MODUL_FH 0x00000001 /* Frequency Hopping */
|
||||
#define IW_MODUL_DS 0x00000002 /* Original Direct Sequence */
|
||||
#define IW_MODUL_FH 0x00000001 /* Frequency Hopping */
|
||||
#define IW_MODUL_DS 0x00000002 /* Original Direct Sequence */
|
||||
#define IW_MODUL_CCK 0x00000004 /* 802.11b : 5.5 + 11 Mb/s */
|
||||
#define IW_MODUL_11B (IW_MODUL_DS | IW_MODUL_CCK)
|
||||
#define IW_MODUL_PBCC 0x00000008 /* TI : 5.5 + 11 + 22 Mb/s */
|
||||
|
|
@ -714,8 +714,8 @@ typedef long long __i64;
|
|||
#define IW_MODUL_CUSTOM 0x40000000 /* Driver specific */
|
||||
|
||||
/* Bitrate flags available */
|
||||
#define IW_BITRATE_TYPE 0x00FF /* Type of value */
|
||||
#define IW_BITRATE_UNICAST 0x0001 /* Maximum/Fixed unicast bitrate */
|
||||
#define IW_BITRATE_TYPE 0x00FF /* Type of value */
|
||||
#define IW_BITRATE_UNICAST 0x0001 /* Maximum/Fixed unicast bitrate */
|
||||
#define IW_BITRATE_BROADCAST 0x0002 /* Fixed broadcast bitrate */
|
||||
|
||||
/****************************** TYPES ******************************/
|
||||
|
|
@ -808,7 +808,7 @@ struct iw_missed
|
|||
*/
|
||||
struct iw_thrspy
|
||||
{
|
||||
struct sockaddr_t addr; /* Source address (hw/mac) */
|
||||
struct sockaddr_t addr; /* Source address (hw/mac) */
|
||||
struct iw_quality qual; /* Quality of the link */
|
||||
struct iw_quality low; /* Low threshold */
|
||||
struct iw_quality high; /* High threshold */
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
/******************************************************************************
|
||||
* Copyright (c) 2013-2016 Realtek Semiconductor Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
******************************************************************************/
|
||||
#ifndef __WLAN_INTF_H__
|
||||
#define __WLAN_INTF_H__
|
||||
|
||||
|
|
@ -37,15 +52,13 @@ struct sk_buff {
|
|||
*/
|
||||
/************************************************************/
|
||||
|
||||
// #include "wrapper.h"
|
||||
//extern Rltk_wlan_t rltk_wlan_info[2];
|
||||
|
||||
//----- ------------------------------------------------------------------
|
||||
// Wlan Interface opened for upper layer
|
||||
//----- ------------------------------------------------------------------
|
||||
int rltk_wlan_init(int idx_wlan, rtw_mode_t mode); //return 0: success. -1:fail
|
||||
void rltk_wlan_deinit(void);
|
||||
void rltk_wlan_start(int idx_wlan);
|
||||
void rltk_wlan_deinit_fastly(void);
|
||||
int rltk_wlan_start(int idx_wlan);
|
||||
void rltk_wlan_statistic(unsigned char idx);
|
||||
unsigned char rltk_wlan_running(unsigned char idx); // interface is up. 0: interface is down
|
||||
int rltk_wlan_control(unsigned long cmd, void *data);
|
||||
|
|
@ -58,6 +71,7 @@ int rltk_wlan_set_wps_phase(unsigned char is_trigger_wps);
|
|||
int rtw_ps_enable(int enable);
|
||||
int rltk_wlan_is_connected_to_ap(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue