资源简介

Linux系统Realtek网卡驱动文件,型号为rtl8821ce,安装教程见本人博客https://blog.csdn.net/yx1302317313/article/details/81559995或者https://yx1302317313.github.io/2019/01/09/Linux下Realtek网卡驱动/

资源截图

代码片段和文件信息

/******************************************************************************
 *
 * 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
 *
 *
 ******************************************************************************/
#define _RTW_AP_C_

#include 
#include 

#ifdef CONFIG_AP_MODE

extern unsigned char RTW_WPA_OUI[];
extern unsigned char WMM_OUI[];
extern unsigned char WPS_OUI[];
extern unsigned char P2P_OUI[];
extern unsigned char WFD_OUI[];

void init_mlme_ap_info(_adapter *padapter)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);

_rtw_spinlock_init(&pmlmepriv->bcn_update_lock);

/* pmlmeext->bstart_bss = _FALSE; */

}

void free_mlme_ap_info(_adapter *padapter)
{
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);

stop_ap_mode(padapter);
_rtw_spinlock_free(&pmlmepriv->bcn_update_lock);

}

static void update_BCNTIM(_adapter *padapter)
{
struct sta_priv *pstapriv = &padapter->stapriv;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
WLAN_BSSID_EX *pnetwork_mlmeext = &(pmlmeinfo->network);
unsigned char *pie = pnetwork_mlmeext->IEs;

#if 0


/* update TIM IE */
/* if(pstapriv->tim_bitmap) */
#endif
if (_TRUE) {
u8 *p *dst_ie *premainder_ie = NULL *pbackup_remainder_ie = NULL;
u16 tim_bitmap_le;
uint offset tmp_len tim_ielen tim_ie_offset remainder_ielen;

tim_bitmap_le = cpu_to_le16(pstapriv->tim_bitmap);

p = rtw_get_ie(pie + _FIXED_IE_LENGTH_ _TIM_IE_ &tim_ielen pnetwork_mlmeext->IELength - _FIXED_IE_LENGTH_);
if (p != NULL && tim_ielen > 0) {
tim_ielen += 2;

premainder_ie = p + tim_ielen;

tim_ie_offset = (sint)(p - pie);

remainder_ielen = pnetwork_mlmeext->IELength - tim_ie_offset - tim_ielen;

/*append TIM IE from dst_ie offset*/
dst_ie = p;
} else {
tim_ielen = 0;

/*calculate head_len*/
offset = _FIXED_IE_LENGTH_;

/* get ssid_ie len */
p = rtw_get_ie(pie + _BEACON_IE_OFFSET_ _SSID_IE_ &tmp_len (pnetwork_mlmeext->IELength - _BEACON_IE_OFFSET_));
if (p != NULL)
offset += tmp_len + 2;

/*get supported rates len*/
p = rtw_get_ie(pie + _BEACON_IE_OFFSET_ _SUPPORTEDRATES_IE_ &tmp_len (pnetwork_mlmeext->IELength - _BEACON_IE_OFFSET_))

评论

共有 条评论