同步操作将从 OpenHarmony/drivers_peripheral 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
该仓下主要包含WLAN相关HDI接口与实现,提供功能包括:
WLAN源代码目录结构如下所示:
/drivers/peripheral/wlan
├── client # 实现用户态与内核态通信的client模块存放目录
│ └── include # client相关头文件存放目录
│ └── src # client代码存放目录
├── hal # hal层框架代码
│ └── include # hal内部头文件存放目录
│ └── src # hal层代码的具体实现存放目录
├── interfaces # 对外接口存放目录
│ └── include # 对外提供的接口头文件存放目录
WLAN驱动HAL模块提供给Wi-Fi service可直接调用的能力接口,主要功能有:创建/销毁 IWiFi对象、设置MAC地址等。提供的接口说明如下表所示:
表 1 hal层对外接口
HAL模块使用步骤:
代码示例:
#include "wifi_hal.h"
#include "wifi_hal_sta_feature.h"
#include "wifi_hal_ap_feature.h"
#include "wifi_hal_cmd.h"
#include "wifi_hal_event.h"
#define MAC_LEN 6
static void *hal_main()
{
int ret;
struct IWiFi *wifi;
/* 创建一个WiFi实体 */
ret = WifiConstruct(&wifi);
if (ret != 0 || wifi == NULL) {
return;
}
/* 开启HAL和驱动之间的通道 */
ret = wifi->start(wifi);
if (ret != 0) {
return;
}
/* 创建apFeature */
ret = wifi->createFeature(PROTOCOL_80211_IFTYPE_AP, (struct IWiFiBaseFeature **)&apFeature);
if (ret != 0) {
return;
}
/* 获取设备的MAC地址 */
unsigned char mac[MAC_LEN] = {0};
ret = apFeature->baseFeature.getDeviceMacAddress((struct IWiFiBaseFeature *)apFeature, mac, MAC_LEN);
if (ret != 0) {
return;
}
/* 销毁掉创建的这个Feature */
ret = wifi->destroyFeature((struct IWiFiBaseFeature *)apFeature);
if (ret != 0) {
return;
}
/* 销毁创建的通道 */
ret = wifi->stop(wifi);
if (ret != 0) {
return;
}
/* 销毁创建的WiFi实体 */
ret = WifiDestruct(&wifi);
if (ret != 0) {
return;
}
return;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。