• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IWlanInterface
2
3
4## **概述**
5
6WLAN模块向上层WLAN服务提供了统一接口。
7
8上层服务调用相关的接口,可以建立/关闭WLAN热点,扫描/关联/去关联WLAN热点,设置国家码,管理网络设备等。
9
10**Since:**
11
123.2
13
14**Version:**
15
161.0
17
18**相关模块:**
19
20[WLAN](wlan.md)
21
22
23## **汇总**
24
25
26### Public 成员函数
27
28  | 名称 | 描述 |
29| -------- | -------- |
30| [Start](#start) () | 创建HAL和驱动之间的通道及获取驱动网卡信息,该函数调用在创建IWiFi实体后进行。 |
31| [Stop](#stop) () | 销毁HAL和驱动之间的通道,该函数调用在销毁IWiFi实体前进行。 |
32| [CreateFeature](#createfeature) ([in] int type, [out] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature) | 根据输入类型创建对应的feature对象。 |
33| [DestroyFeature](#destroyfeature) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature) | 销毁feature对象。 |
34| [GetAsscociatedStas](#getasscociatedstas) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] struct [HdfStaInfo](_hdf_sta_info.md)[] staInfo, [out] unsigned int num) | 获取与AP连接的所有STA的信息(目前只包含MAC地址)。 |
35| [GetChipId](#getchipid) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] unsigned char chipId) | 获得当前驱动的芯片ID。 |
36| [GetDeviceMacAddress](#getdevicemacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] unsigned char[] mac, [in] unsigned char len) | 获取设备的MAC地址。 |
37| [GetFeatureByIfName](#getfeaturebyifname) ([in] String ifName, [out] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature) | 通过网卡名称获取对应的feature对象。 |
38| [GetFeatureType](#getfeaturetype) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] int featureType) | 获取feature对象的类型。 |
39| [GetFreqsWithBand](#getfreqswithband) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] struct [HdfWifiInfo](_hdf_wifi_info.md) wifiInfo, [out] int[] freq) | 获取指定频段(2.4G或者5G)下支持的频率。 |
40| [GetIfNamesByChipId](#getifnamesbychipid) ([in] unsigned char chipId, [out] String ifName, [out] unsigned int num) | 通过芯片ID获得当前芯片所有的网卡名称。 |
41| [GetNetworkIfaceName](#getnetworkifacename) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] String ifName) | 根据feature对象获取网卡名称。 |
42| [GetSupportCombo](#getsupportcombo) ([out] unsigned long combo) | 获取多网卡共存情况。 |
43| [GetSupportFeature](#getsupportfeature) ([out] unsigned char[] supType) | 获取该设备支持的WLAN特性(不考虑当前的使用状态)。 |
44| [RegisterEventCallback](#registereventcallback) ([in] [IWlanCallback](interface_i_wlan_callback.md) cbFunc, [in] String ifName) | 注册IWiFi的回调函数,监听异步事件。 |
45| [UnregisterEventCallback](#unregistereventcallback) ([in] [IWlanCallback](interface_i_wlan_callback.md) cbFunc, [in] String ifName) | 去注册IWiFi的回调函数。 |
46| [ResetDriver](#resetdriver) ([in] unsigned char chipId, [in] String ifName) | 重启指定芯片ID的WLAN驱动程序。 |
47| [SetCountryCode](#setcountrycode) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] String code, [in] unsigned int len) | 设置国家码(表示AP射频所在的国家,规定了AP射频特性,包括AP的发送功率、支持的信道等。其目的是为了使AP的射频特性符合不同国家或区域的法律法规要求)。 |
48| [SetMacAddress](#setmacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] unsigned char[] mac) | 根据传入参数设置对应网卡的MAC地址。 |
49| [SetScanningMacAddress](#setscanningmacaddress) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] unsigned char[] scanMac) | 设置扫描单个MAC地址。 |
50| [SetTxPower](#settxpower) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] int power) | 设置发射功率。 |
51| [GetNetDevInfo](#getnetdevinfo) ([out] struct [HdfNetDeviceInfoResult](_hdf_net_device_info_result.md) netDeviceInfoResult) | 获取网络设备信息(设备索引、网卡名字、MAC等信息)。 |
52| [StartScan](#startscan) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] struct [HdfWifiScan](_hdf_wifi_scan.md) scan) | 启动扫描。 |
53| [GetPowerMode](#getpowermode) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [out] unsigned char mode) | 获取正在使用的功率模式。 |
54| [SetPowerMode](#setpowermode) ([in] struct [HdfFeatureInfo](_hdf_feature_info.md) ifeature, [in] unsigned char mode) | 设置功率模式。 |
55| [StartChannelMeas](#startchannelmeas) ([in] String ifName, [in] struct [MeasChannelParam](_meas_channel_param.md) measChannelParam) | 启动信道测量。 |
56| [GetChannelMeasResult](#getchannelmeasresult) ([in] String ifName, [out] struct [MeasChannelResult](_meas_channel_result.md) measChannelResult) | 获取信道测量结果。 |
57| [SetProjectionScreenParam](#setprojectionscreenparam) ([in] String ifName, [in] struct [ProjectionScreenCmdParam](_projection_screen_cmd_param.md) param) | 设置投屏参数。 |
58| [WifiSendCmdIoctl](#wifisendcmdioctl) ([in] String ifName, [in] int cmdId, [in] byte[] paramBuf) | 向驱动发送IO控制命令。 |
59| [GetStaInfo](#getstainfo) ([in] String ifName, [out] struct [WifiStationInfo](_wifi_station_info.md) info, [in] unsigned char[] mac) | 获取指定网卡的STA的信息。 |
60
61
62## **成员函数说明**
63
64
65### CreateFeature()
66
67
68```
69IWlanInterface::CreateFeature ([in] int type, [out] struct HdfFeatureInfo ifeature )
70```
71
72**描述:**
73
74根据输入类型创建对应的feature对象。
75
76**参数:**
77
78  | 名称 | 描述 |
79| -------- | -------- |
80| type | 创建的feature类型。 |
81| ifeature | 获取创建的feature对象。 |
82
83**返回:**
84
85如果操作成功,则返回0。
86
87如果操作失败,则返回负值。
88
89
90### DestroyFeature()
91
92
93```
94IWlanInterface::DestroyFeature ([in] struct HdfFeatureInfo ifeature)
95```
96
97**描述:**
98
99销毁feature对象。
100
101**参数:**
102
103  | 名称 | 描述 |
104| -------- | -------- |
105| ifeature | 销毁的feature对象。 |
106
107**返回:**
108
109如果操作成功,则返回0。
110
111如果操作失败,则返回负值。
112
113
114### GetAsscociatedStas()
115
116
117```
118IWlanInterface::GetAsscociatedStas ([in] struct HdfFeatureInfo ifeature, [out] struct HdfStaInfo[] staInfo, [out] unsigned int num )
119```
120
121**描述:**
122
123获取与AP连接的所有STA的信息(目前只包含MAC地址)。
124
125**参数:**
126
127  | 名称 | 描述 |
128| -------- | -------- |
129| ifeature | feature对象。 |
130| staInfo | 保存与AP连接的STA的基本信息。 |
131| num | 实际连接的STA的个数。 |
132
133**返回:**
134
135如果操作成功,则返回0。
136
137如果操作失败,则返回负值。
138
139
140### GetChannelMeasResult()
141
142
143```
144IWlanInterface::GetChannelMeasResult ([in] String ifName, [out] struct MeasChannelResult measChannelResult )
145```
146
147**描述:**
148
149获取信道测量结果。
150
151**参数:**
152
153  | 名称 | 描述 |
154| -------- | -------- |
155| ifName | 网卡名称。 |
156| measChannelResult | 信道测量结果(信道号、信道负载、信道噪声)。 |
157
158**返回:**
159
160如果操作成功,则返回0。
161
162如果操作失败,则返回负值。
163
164
165### GetChipId()
166
167
168```
169IWlanInterface::GetChipId ([in] struct HdfFeatureInfo ifeature, [out] unsigned char chipId )
170```
171
172**描述:**
173
174获得当前驱动的芯片ID。
175
176**参数:**
177
178  | 名称 | 描述 |
179| -------- | -------- |
180| ifeature | feature对象。 |
181| chipId | 获得的芯片ID。 |
182
183**返回:**
184
185如果操作成功,则返回0。
186
187如果操作失败,则返回负值。
188
189
190### GetDeviceMacAddress()
191
192
193```
194IWlanInterface::GetDeviceMacAddress ([in] struct HdfFeatureInfo ifeature, [out] unsigned char[] mac, [in] unsigned char len )
195```
196
197**描述:**
198
199获取设备的MAC地址。
200
201**参数:**
202
203  | 名称 | 描述 |
204| -------- | -------- |
205| ifeature | feature对象。 |
206| mac | 获得的MAC地址。 |
207| len | mac数组的长度。 |
208
209**返回:**
210
211如果操作成功,则返回0。
212
213如果操作失败,则返回负值。
214
215
216### GetFeatureByIfName()
217
218
219```
220IWlanInterface::GetFeatureByIfName ([in] String ifName, [out] struct HdfFeatureInfo ifeature )
221```
222
223**描述:**
224
225通过网卡名称获取对应的feature对象。
226
227**参数:**
228
229  | 名称 | 描述 |
230| -------- | -------- |
231| ifName | 网卡名称。 |
232| ifeature | 获取该网卡的feature对象。 |
233
234**返回:**
235
236如果操作成功,则返回0。
237
238如果操作失败,则返回负值。
239
240
241### GetFeatureType()
242
243
244```
245IWlanInterface::GetFeatureType ([in] struct HdfFeatureInfo ifeature, [out] int featureType )
246```
247
248**描述:**
249
250获取feature对象的类型。
251
252**参数:**
253
254  | 名称 | 描述 |
255| -------- | -------- |
256| ifeature | feature对象。 |
257| featureType | feature对象的类型。 |
258
259**返回:**
260
261如果操作成功,则返回0。
262
263如果操作失败,则返回负值。
264
265
266### GetFreqsWithBand()
267
268
269```
270IWlanInterface::GetFreqsWithBand ([in] struct HdfFeatureInfo ifeature, [in] struct HdfWifiInfo wifiInfo, [out] int[] freq )
271```
272
273**描述:**
274
275获取指定频段(2.4G或者5G)下支持的频率。
276
277**参数:**
278
279  | 名称 | 描述 |
280| -------- | -------- |
281| ifeature | feature对象。 |
282| wifiInfo | 频段信息。 |
283| freq | 保存支持的频率。 |
284
285**返回:**
286
287如果操作成功,则返回0。
288
289如果操作失败,则返回负值。
290
291
292### GetIfNamesByChipId()
293
294
295```
296IWlanInterface::GetIfNamesByChipId ([in] unsigned char chipId, [out] String ifName, [out] unsigned int num )
297```
298
299**描述:**
300
301通过芯片ID获得当前芯片所有的网卡名称。
302
303**参数:**
304
305  | 名称 | 描述 |
306| -------- | -------- |
307| chipId | 需要获取网卡名称的芯片ID。 |
308| ifNames | 网卡名称。 |
309| num | 网卡的数量。 |
310
311**返回:**
312
313如果操作成功,则返回0。
314
315如果操作失败,则返回负值。
316
317
318### GetNetDevInfo()
319
320
321```
322IWlanInterface::GetNetDevInfo ([out] struct HdfNetDeviceInfoResult netDeviceInfoResult)
323```
324
325**描述:**
326
327获取网络设备信息(设备索引、网卡名字、MAC等信息)。
328
329**参数:**
330
331  | 名称 | 描述 |
332| -------- | -------- |
333| netDeviceInfoResult | 输出参数,得到的网络设备信息。 |
334
335**返回:**
336
337如果操作成功,则返回0。
338
339如果操作失败,则返回负值。
340
341
342### GetNetworkIfaceName()
343
344
345```
346IWlanInterface::GetNetworkIfaceName ([in] struct HdfFeatureInfo ifeature, [out] String ifName )
347```
348
349**描述:**
350
351根据feature对象获取网卡名称。
352
353**参数:**
354
355  | 名称 | 描述 |
356| -------- | -------- |
357| ifeature | feature对象。 |
358| ifName | 网卡名称。 |
359
360**返回:**
361
362如果操作成功,则返回0。
363
364如果操作失败,则返回负值。
365
366
367### GetPowerMode()
368
369
370```
371IWlanInterface::GetPowerMode ([in] struct HdfFeatureInfo ifeature, [out] unsigned char mode )
372```
373
374**描述:**
375
376获取正在使用的功率模式。
377
378**参数:**
379
380  | 名称 | 描述 |
381| -------- | -------- |
382| ifeature | feature对象。 |
383| mode | 功率模式,包括睡眠模式(待机状态运行)、一般模式(正常额定功率运行)、穿墙模式(最大功率运行,提高信号强度和覆盖面积)。 |
384
385**返回:**
386
387如果操作成功,则返回0。
388
389如果操作失败,则返回负值。
390
391
392### GetStaInfo()
393
394
395```
396IWlanInterface::GetStaInfo ([in] String ifName, [out] struct WifiStationInfo info, [in] unsigned char[] mac )
397```
398
399**描述:**
400
401获取指定网卡的STA的信息。
402
403**参数:**
404
405  | 名称 | 描述 |
406| -------- | -------- |
407| ifName | 网卡名称。 |
408| info | 获取的STA的信息,详情请参考[WifiStationInfo](_wifi_station_info.md)。 |
409| mac | STA的MAC地址。 |
410
411**返回:**
412
413如果操作成功,则返回0。
414
415如果操作失败,则返回负值。
416
417
418### GetSupportCombo()
419
420
421```
422IWlanInterface::GetSupportCombo ([out] unsigned long combo)
423```
424
425**描述:**
426
427获取多网卡共存情况。
428
429**参数:**
430
431  | 名称 | 描述 |
432| -------- | -------- |
433| combo | 基于芯片的能力保存当前所有支持的多网卡共存情况(比如支持AP、STA、P2P等不同组合的共存)。 |
434
435**返回:**
436
437如果操作成功,则返回0。
438
439如果操作失败,则返回负值。
440
441
442### GetSupportFeature()
443
444
445```
446IWlanInterface::GetSupportFeature ([out] unsigned char[] supType)
447```
448
449**描述:**
450
451获取该设备支持的WLAN特性(不考虑当前的使用状态)。
452
453**参数:**
454
455  | 名称 | 描述 |
456| -------- | -------- |
457| supType | 保存当前设备支持的特性。 |
458
459**返回:**
460
461如果操作成功,则返回0。
462
463如果操作失败,则返回负值。
464
465
466### RegisterEventCallback()
467
468
469```
470IWlanInterface::RegisterEventCallback ([in] IWlanCallback cbFunc, [in] String ifName )
471```
472
473**描述:**
474
475注册IWiFi的回调函数,监听异步事件。
476
477**参数:**
478
479  | 名称 | 描述 |
480| -------- | -------- |
481| cbFunc | 注册的回调函数。 |
482| ifName | 网卡名称。 |
483
484**返回:**
485
486如果操作成功,则返回0。
487
488如果操作失败,则返回负值。
489
490
491### ResetDriver()
492
493
494```
495IWlanInterface::ResetDriver ([in] unsigned char chipId, [in] String ifName )
496```
497
498**描述:**
499
500重启指定芯片ID的WLAN驱动程序。
501
502**参数:**
503
504  | 名称 | 描述 |
505| -------- | -------- |
506| chipId | 需要进行重启驱动的芯片ID。 |
507| ifName | 网卡名称。 |
508
509**返回:**
510
511如果操作成功,则返回0。
512
513如果操作失败,则返回负值。
514
515
516### SetCountryCode()
517
518
519```
520IWlanInterface::SetCountryCode ([in] struct HdfFeatureInfo ifeature, [in] String code, [in] unsigned int len )
521```
522
523**描述:**
524
525设置国家码(表示AP射频所在的国家,规定了AP射频特性,包括AP的发送功率、支持的信道等。其目的是为了使AP的射频特性符合不同国家或区域的法律法规要求)。
526
527**参数:**
528
529  | 名称 | 描述 |
530| -------- | -------- |
531| ifeature | feature对象。 |
532| code | 设置的国家码。 |
533| len | 国家码长度。 |
534
535**返回:**
536
537如果操作成功,则返回0。
538
539如果操作失败,则返回负值。
540
541
542### SetMacAddress()
543
544
545```
546IWlanInterface::SetMacAddress ([in] struct HdfFeatureInfo ifeature, [in] unsigned char[] mac )
547```
548
549**描述:**
550
551根据传入参数设置对应网卡的MAC地址。
552
553**参数:**
554
555  | 名称 | 描述 |
556| -------- | -------- |
557| ifeature | feature对象。 |
558| mac | 设置的MAC地址。 |
559
560**返回:**
561
562如果操作成功,则返回0。
563
564如果操作失败,则返回负值。
565
566
567### SetPowerMode()
568
569
570```
571IWlanInterface::SetPowerMode ([in] struct HdfFeatureInfo ifeature, [in] unsigned char mode )
572```
573
574**描述:**
575
576设置功率模式。
577
578**参数:**
579
580  | 名称 | 描述 |
581| -------- | -------- |
582| ifeature | feature对象。 |
583| mode | 功率模式,包括睡眠模式(待机状态运行)、一般模式(正常额定功率运行)、穿墙模式(最大功率运行,提高信号强度和覆盖面积)。 |
584
585**返回:**
586
587如果操作成功,则返回0。
588
589如果操作失败,则返回负值。
590
591
592### SetProjectionScreenParam()
593
594
595```
596IWlanInterface::SetProjectionScreenParam ([in] String ifName, [in] struct ProjectionScreenCmdParam param )
597```
598
599**描述:**
600
601设置投屏参数。
602
603**参数:**
604
605  | 名称 | 描述 |
606| -------- | -------- |
607| ifName | 网卡名称。 |
608| param | 投屏参数。 |
609
610**返回:**
611
612如果操作成功,则返回0。
613
614如果操作失败,则返回负值。
615
616
617### SetScanningMacAddress()
618
619
620```
621IWlanInterface::SetScanningMacAddress ([in] struct HdfFeatureInfo ifeature, [in] unsigned char[] scanMac )
622```
623
624**描述:**
625
626设置扫描单个MAC地址。
627
628**参数:**
629
630  | 名称 | 描述 |
631| -------- | -------- |
632| ifeature | feature对象。 |
633| scanMac | 设置STA扫描的MAC地址。 |
634
635**返回:**
636
637如果操作成功,则返回0。
638
639如果操作失败,则返回负值。
640
641
642### SetTxPower()
643
644
645```
646IWlanInterface::SetTxPower ([in] struct HdfFeatureInfo ifeature, [in] int power )
647```
648
649**描述:**
650
651设置发射功率。
652
653**参数:**
654
655  | 名称 | 描述 |
656| -------- | -------- |
657| ifeature | feature对象。 |
658| power | 设置的发射功率。 |
659
660**返回:**
661
662如果操作成功,则返回0。
663
664如果操作失败,则返回负值。
665
666
667### Start()
668
669
670```
671IWlanInterface::Start ()
672```
673
674**描述:**
675
676创建HAL和驱动之间的通道及获取驱动网卡信息,该函数调用在创建IWiFi实体后进行。
677
678**返回:**
679
680如果操作成功,则返回0。
681
682如果操作失败,则返回负值。
683
684
685### StartChannelMeas()
686
687
688```
689IWlanInterface::StartChannelMeas ([in] String ifName, [in] struct MeasChannelParam measChannelParam )
690```
691
692**描述:**
693
694启动信道测量。
695
696**参数:**
697
698  | 名称 | 描述 |
699| -------- | -------- |
700| ifName | 网卡名称。 |
701| measChannelParam | 信道测量参数(信道号、测量时间)。 |
702
703**返回:**
704
705如果操作成功,则返回0。
706
707如果操作失败,则返回负值。
708
709
710### StartScan()
711
712
713```
714IWlanInterface::StartScan ([in] struct HdfFeatureInfo ifeature, [in] struct HdfWifiScan scan )
715```
716
717**描述:**
718
719启动扫描。
720
721**参数:**
722
723  | 名称 | 描述 |
724| -------- | -------- |
725| ifeature | feature对象。 |
726| scan | 扫描参数。 |
727
728**返回:**
729
730如果操作成功,则返回0。
731
732如果操作失败,则返回负值。
733
734
735### Stop()
736
737
738```
739IWlanInterface::Stop ()
740```
741
742**描述:**
743
744销毁HAL和驱动之间的通道,该函数调用在销毁IWiFi实体前进行。
745
746**返回:**
747
748如果操作成功,则返回0。
749
750如果操作失败,则返回负值。
751
752
753### UnregisterEventCallback()
754
755
756```
757IWlanInterface::UnregisterEventCallback ([in] IWlanCallback cbFunc, [in] String ifName )
758```
759
760**描述:**
761
762去注册IWiFi的回调函数。
763
764**参数:**
765
766  | 名称 | 描述 |
767| -------- | -------- |
768| cbFunc | 去注册的回调函数。 |
769| ifName | 网卡名称。 |
770
771**返回:**
772
773如果操作成功,则返回0。
774
775如果操作失败,则返回负值。
776
777
778### WifiSendCmdIoctl()
779
780
781```
782IWlanInterface::WifiSendCmdIoctl ([in] String ifName, [in] int cmdId, [in] byte[] paramBuf )
783```
784
785**描述:**
786
787向驱动发送IO控制命令。
788
789**参数:**
790
791  | 名称 | 描述 |
792| -------- | -------- |
793| ifName | 网卡名称。 |
794| cmdId | 命令ID。 |
795| paramBuf | 命令内容。 |
796
797**返回:**
798
799如果操作成功,则返回0。
800
801如果操作失败,则返回负值。
802