• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NetConnection
2
3
4## 概述
5
6为网络管理数据网络连接模块提供C接口。
7
8**起始版本:** 11
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [net_connection.h](net__connection_8h.md) | 为网络管理数据网络连接模块提供C接口。 |
19| [net_connection_type.h](net__connection__type_8h.md) | 定义网络连接模块的C接口需要的数据结构。 |
20
21
22### 结构体
23
24| 名称 | 描述 |
25| -------- | -------- |
26| [NetConn_NetHandle](_net_conn___net_handle.md) | 存放网络ID。 |
27| [NetConn_NetCapabilities](_net_conn___net_capabilities.md) | 网络能力集。 |
28| [NetConn_NetAddr](_net_conn___net_addr.md) | 网络地址。 |
29| [NetConn_Route](_net_conn___route.md) | 路由配置信息。 |
30| [NetConn_HttpProxy](_net_conn___http_proxy.md) | 代理配置信息。 |
31| [NetConn_ConnectionProperties](_net_conn___connection_properties.md) | 网络链接信息。 |
32| [NetConn_NetHandleList](_net_conn___net_handle_list.md) | 网络列表。 |
33
34
35### 宏定义
36
37| 名称 | 描述 |
38| -------- | -------- |
39| **NETCONN_MAX_NET_SIZE** | 32 |
40| **NETCONN_MAX_BEARER_TYPE_SIZE** | 32 |
41| **NETCONN_MAX_CAP_SIZE** | 32 |
42| **NETCONN_MAX_ADDR_SIZE** | 32 |
43| **NETCONN_MAX_ROUTE_SIZE** | 64 |
44| **NETCONN_MAX_EXCLUSION_SIZE** | 256 |
45| **NETCONN_MAX_STR_LEN** | 256 |
46
47
48### 类型定义
49
50| 名称 | 描述 |
51| -------- | -------- |
52| [NetConn_NetCap](#netconn_netcap) | 网络能力集。 |
53| [NetConn_NetBearerType](#netconn_netbearertype) | 网络载体类型。 |
54| [NetConn_NetHandle](#netconn_nethandle) | 存放网络ID。 |
55| [NetConn_NetCapabilities](#netconn_netcapabilities) | 网络能力集。 |
56| [NetConn_NetAddr](#netconn_netaddr) | 网络地址。 |
57| [NetConn_Route](#netconn_route) | 路由配置信息。 |
58| [NetConn_HttpProxy](#netconn_httpproxy) | 代理配置信息。 |
59| [NetConn_ConnectionProperties](#netconn_connectionproperties) | 网络链接信息。 |
60| [NetConn_NetHandleList](#netconn_nethandlelist) | 网络列表。 |
61| (\*[OH_NetConn_CustomDnsResolver](#oh_netconn_customdnsresolver)) (const char \*host, const char \*serv, const struct addrinfo \*hint, struct addrinfo \*\*res) | 指向自定义 DNS 解析器的指针。 |
62
63
64### 枚举
65
66| 名称 | 描述 |
67| -------- | -------- |
68| [NetConn_NetCap](#netconn_netcap) {<br/>NETCONN_NET_CAPABILITY_MMS = 0,<br/>NETCONN_NET_CAPABILITY_NOT_METERED = 11,<br/>NETCONN_NET_CAPABILITY_INTERNET = 12,<br/>NETCONN_NET_CAPABILITY_NOT_VPN = 15,<br/>NETCONN_NET_CAPABILITY_VALIDATED = 16<br/>} | 网络能力集。 |
69| [NetConn_NetBearerType](#netconn_netbearertype) {<br/>NETCONN_BEARER_CELLULAR = 0,<br/>NETCONN_BEARER_WIFI = 1,<br/>NETCONN_BEARER_ETHERNET = 3<br/>} | 网络载体类型。 |
70
71
72### 函数
73
74| 名称 | 描述 |
75| -------- | -------- |
76| [OH_NetConn_HasDefaultNet](#oh_netconn_hasdefaultnet) (int32_t \*hasDefaultNet) | 查询是否有默认激活的数据网络。 |
77| [OH_NetConn_GetDefaultNet](#oh_netconn_getdefaultnet) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle) | 获取激活的默认的数据网络。 |
78| [OH_NetConn_IsDefaultNetMetered](#oh_netconn_isdefaultnetmetered) (int32_t \*isMetered) | 查询默认网络是否按流量计费。 |
79| [OH_NetConn_GetConnectionProperties](#oh_netconn_getconnectionproperties) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle, [NetConn_ConnectionProperties](_net_conn___connection_properties.md) \*prop) | 查询某个数据网络的链路信息。 |
80| [OH_NetConn_GetNetCapabilities](#oh_netconn_getnetcapabilities) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle, [NetConn_NetCapabilities](_net_conn___net_capabilities.md) \*netCapacities) | 查询某个网络的能力集。 |
81| [OH_NetConn_GetDefaultHttpProxy](#oh_netconn_getdefaulthttpproxy) ([NetConn_HttpProxy](_net_conn___http_proxy.md) \*httpProxy) | 查询默认的网络代理。 |
82| [OH_NetConn_GetAddrInfo](#oh_netconn_getaddrinfo) (char \*host, char \*serv, struct addrinfo \*hint, struct addrinfo \*\*res, int32_t netId) | 通过netId获取DNS结果。 |
83| [OH_NetConn_FreeDnsResult](#oh_netconn_freednsresult) (struct addrinfo \*res) | 释放DNS结果。 |
84| [OH_NetConn_GetAllNets](#oh_netconn_getallnets) ([NetConn_NetHandleList](_net_conn___net_handle_list.md) \*netHandleList) | 查询所有激活的数据网络。 |
85| [OHOS_NetConn_RegisterDnsResolver](#ohos_netconn_registerdnsresolver) ([OH_NetConn_CustomDnsResolver](#oh_netconn_customdnsresolver) resolver) | 注册自定义 DNS 解析器。 |
86| [OHOS_NetConn_UnregisterDnsResolver](#ohos_netconn_unregisterdnsresolver) (void) | 取消注册自定义 DNS 解析器。 |
87
88
89## 类型定义说明
90
91
92### NetConn_ConnectionProperties
93
94```
95typedef struct NetConn_ConnectionPropertiesNetConn_ConnectionProperties
96```
97
98**描述**
99
100网络链接信息。
101
102**起始版本:** 11
103
104
105### NetConn_HttpProxy
106
107```
108typedef struct NetConn_HttpProxyNetConn_HttpProxy
109```
110
111**描述**
112
113代理配置信息。
114
115**起始版本:** 11
116
117
118### NetConn_NetAddr
119
120```
121typedef struct NetConn_NetAddrNetConn_NetAddr
122```
123
124**描述**
125
126网络地址。
127
128**起始版本:** 11
129
130
131### NetConn_NetBearerType
132
133```
134typedef enum NetConn_NetBearerTypeNetConn_NetBearerType
135```
136
137**描述**
138
139网络载体类型。
140
141**起始版本:** 11
142
143
144### NetConn_NetCap
145
146```
147typedef enum NetConn_NetCapNetConn_NetCap
148```
149
150**描述**
151
152网络能力集。
153
154**起始版本:** 11
155
156
157### NetConn_NetCapabilities
158
159```
160typedef struct NetConn_NetCapabilitiesNetConn_NetCapabilities
161```
162
163**描述**
164
165网络能力集。
166
167**起始版本:** 11
168
169
170### NetConn_NetHandle
171
172```
173typedef struct NetConn_NetHandleNetConn_NetHandle
174```
175
176**描述**
177
178存放网络ID。
179
180**起始版本:** 11
181
182
183### NetConn_NetHandleList
184
185```
186typedef struct NetConn_NetHandleListNetConn_NetHandleList
187```
188
189**描述**
190
191网络列表。
192
193**起始版本:** 11
194
195
196### NetConn_Route
197
198```
199typedef struct NetConn_RouteNetConn_Route
200```
201
202**描述**
203
204路由配置信息。
205
206**起始版本:** 11
207
208
209### OH_NetConn_CustomDnsResolver
210
211```
212typedef int(* OH_NetConn_CustomDnsResolver) (const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res)
213```
214
215**描述**
216
217指向自定义 DNS 解析器的指针。
218
219**起始版本:** 11
220
221**参数:**
222
223| 名称 | 描述 |
224| -------- | -------- |
225| host | 要查询的主机名 |
226| serv | 服务名称 |
227| hint | 指向addrinfo结构的指针 |
228| res | 存储DNS查询结果并以链表形式返回 |
229
230
231## 枚举类型说明
232
233
234### NetConn_NetBearerType
235
236```
237enum NetConn_NetBearerType
238```
239
240**描述**
241
242网络载体类型。
243
244**起始版本:** 11
245
246| 枚举值 | 描述 |
247| -------- | -------- |
248| NETCONN_BEARER_CELLULAR | 蜂窝网络。 |
249| NETCONN_BEARER_WIFI | WIFI。 |
250| NETCONN_BEARER_ETHERNET | Ethernet。 |
251
252
253### NetConn_NetCap
254
255```
256enum NetConn_NetCap
257```
258
259**描述**
260
261网络能力集。
262
263**起始版本:** 11
264
265| 枚举值 | 描述 |
266| -------- | -------- |
267| NETCONN_NET_CAPABILITY_MMS | MMS。 |
268| NETCONN_NET_CAPABILITY_NOT_METERED | 非计量网络。 |
269| NETCONN_NET_CAPABILITY_INTERNET | Internet。 |
270| NETCONN_NET_CAPABILITY_NOT_VPN | 非VPN。 |
271| NETCONN_NET_CAPABILITY_VALIDATED | 已验证。 |
272
273
274## 函数说明
275
276
277### OH_NetConn_FreeDnsResult()
278
279```
280int32_t OH_NetConn_FreeDnsResult (struct addrinfo * res)
281```
282
283**描述**
284
285释放DNS结果。
286
287**系统能力:** SystemCapability.Communication.NetManager.Core
288
289**起始版本:** 11
290
291**参数:**
292
293| 名称 | 描述 |
294| -------- | -------- |
295| res | DNS查询结果链表头。 |
296
297**返回:**
298
2990 - 成功.
300
301201 - 缺少权限.
302
303401 - 参数错误.
304
3052100002 - 无法连接到服务.
306
3072100003 - 内部错误.
308
309**Permission:**
310
311ohos.permission.INTERNET
312
313
314### OH_NetConn_GetAddrInfo()
315
316```
317int32_t OH_NetConn_GetAddrInfo (char * host, char * serv, struct addrinfo * hint, struct addrinfo ** res, int32_t netId )
318```
319
320**描述**
321
322通过netId获取DNS结果。
323
324**系统能力:** SystemCapability.Communication.NetManager.Core
325
326**起始版本:** 11
327
328**参数:**
329
330| 名称 | 描述 |
331| -------- | -------- |
332| host | 所需查询的host名. |
333| serv | 服务名. |
334| hint | 指向addrinfo结构体的指针. |
335| res | 存放DNS查询结果,以链表形式返回. |
336| netId | DNS查询netId 为0是使用默认netid查询. |
337
338**返回:**
339
3400 - 成功.
341
342201 - 缺少权限.
343
344401 - 参数错误.
345
3462100002 - 无法连接到服务.
347
3482100003 - 内部错误.
349
350**Permission:**
351
352ohos.permission.INTERNET
353
354
355### OH_NetConn_GetAllNets()
356
357```
358int32_t OH_NetConn_GetAllNets (NetConn_NetHandleList * netHandleList)
359```
360
361**描述**
362
363查询所有激活的数据网络。
364
365**系统能力:** SystemCapability.Communication.NetManager.Core
366
367**起始版本:** 11
368
369**参数:**
370
371| 名称 | 描述 |
372| -------- | -------- |
373| netHandleList | 网络信息列表. |
374
375**返回:**
376
3770 - 成功.
378
379201 - 缺少权限.
380
381401 - 参数错误.
382
3832100002 - 无法连接到服务.
384
3852100003 - 内部错误.
386
387**Permission:**
388
389ohos.permission.GET_NETWORK_INFO
390
391
392### OH_NetConn_GetConnectionProperties()
393
394```
395int32_t OH_NetConn_GetConnectionProperties (NetConn_NetHandle * netHandle, NetConn_ConnectionProperties * prop )
396```
397
398**描述**
399
400查询某个数据网络的链路信息。
401
402**系统能力:** SystemCapability.Communication.NetManager.Core
403
404**起始版本:** 11
405
406**参数:**
407
408| 名称 | 描述 |
409| -------- | -------- |
410| nethandle | 存放网络ID. |
411| prop | 存放链路信息. |
412
413**返回:**
414
4150 - 成功.
416
417201 - 缺少权限.
418
419401 - 参数错误.
420
4212100002 - 无法连接到服务.
422
4232100003 - 内部错误.
424
425**Permission:**
426
427ohos.permission.GET_NETWORK_INFO
428
429
430### OH_NetConn_GetDefaultHttpProxy()
431
432```
433int32_t OH_NetConn_GetDefaultHttpProxy (NetConn_HttpProxy * httpProxy)
434```
435
436**描述**
437
438查询默认的网络代理。
439
440**系统能力:** SystemCapability.Communication.NetManager.Core
441
442**起始版本:** 11
443
444**参数:**
445
446| 名称 | 描述 |
447| -------- | -------- |
448| httpProxy | 存放代理配置信息. |
449
450**返回:**
451
4520 - 成功.
453
454201 - 缺少权限.
455
456401 - 参数错误.
457
4582100002 - 无法连接到服务.
459
4602100003 - 内部错误.
461
462
463### OH_NetConn_GetDefaultNet()
464
465```
466int32_t OH_NetConn_GetDefaultNet (NetConn_NetHandle * netHandle)
467```
468
469**描述**
470
471获取激活的默认的数据网络。
472
473**系统能力:** SystemCapability.Communication.NetManager.Core
474
475**起始版本:** 11
476
477**参数:**
478
479| 名称 | 描述 |
480| -------- | -------- |
481| netHandle | 存放网络ID. |
482
483**返回:**
484
4850 - 成功.
486
487201 - 缺少权限.
488
489401 - 参数错误.
490
4912100002 - 无法连接到服务.
492
4932100003 - 内部错误.
494
495**Permission:**
496
497ohos.permission.GET_NETWORK_INFO
498
499
500### OH_NetConn_GetNetCapabilities()
501
502```
503int32_t OH_NetConn_GetNetCapabilities (NetConn_NetHandle * netHandle, NetConn_NetCapabilities * netCapacities )
504```
505
506**描述**
507
508查询某个网络的能力集。
509
510**系统能力:** SystemCapability.Communication.NetManager.Core
511
512**起始版本:** 11
513
514**参数:**
515
516| 名称 | 描述 |
517| -------- | -------- |
518| netHandle | 存放网络ID. |
519| netCapacities | 存放能力集. |
520
521**返回:**
522
5230 - 成功.
524
525201 - 缺少权限.
526
527401 - 参数错误.
528
5292100002 - 无法连接到服务.
530
5312100003 - 内部错误.
532
533**Permission:**
534
535ohos.permission.GET_NETWORK_INFO
536
537
538### OH_NetConn_HasDefaultNet()
539
540```
541int32_t OH_NetConn_HasDefaultNet (int32_t * hasDefaultNet)
542```
543
544**描述**
545
546查询是否有默认激活的数据网络。
547
548**系统能力:** SystemCapability.Communication.NetManager.Core
549
550**起始版本:** 11
551
552**参数:**
553
554| 名称 | 描述 |
555| -------- | -------- |
556| hasDefaultNet | 是否有默认网络。 |
557
558**返回:**
559
5600 - 成功.
561
562201 - 缺少权限.
563
564401 - 参数错误.
565
5662100002 - 无法连接到服务.
567
5682100003 - 内部错误.
569
570**Permission:**
571
572ohos.permission.GET_NETWORK_INFO
573
574
575### OH_NetConn_IsDefaultNetMetered()
576
577```
578int32_t OH_NetConn_IsDefaultNetMetered (int32_t * isMetered)
579```
580
581**描述**
582
583查询默认数据网络是否记流量。
584
585**系统能力:** SystemCapability.Communication.NetManager.Core
586
587**起始版本:** 11
588
589**参数:**
590
591| 名称 | 描述 |
592| -------- | -------- |
593| isMetered | 是否激活。 |
594
595**返回:**
596
5970 - 成功.
598
599201 - 缺少权限.
600
601401 - 参数错误.
602
6032100002 - 无法连接到服务.
604
6052100003 - 内部错误.
606
607**Permission:**
608
609ohos.permission.GET_NETWORK_INFO
610
611
612### OHOS_NetConn_RegisterDnsResolver()
613
614```
615int32_t OHOS_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver)
616```
617
618**描述**
619
620注册自定义 DNS 解析器。
621
622**系统能力:** SystemCapability.Communication.NetManager.Core
623
624**起始版本:** 11
625
626**参数:**
627
628| 名称 | 描述 |
629| -------- | -------- |
630| resolver | 指向自定义 DNS 解析器的指针。 |
631
632**返回:**
633
6340 - 成功.
635
636201 - 缺少权限.
637
638401 - 参数错误.
639
6402100002 - 无法连接到服务.
641
6422100003 - 内部错误.
643
644**Permission:**
645
646ohos.permission.INTERNET
647
648
649### OHOS_NetConn_UnregisterDnsResolver()
650
651```
652int32_t OHOS_NetConn_UnregisterDnsResolver (void )
653```
654
655**描述**
656
657取消注册自定义 DNS 解析器。
658
659**系统能力:** SystemCapability.Communication.NetManager.Core
660
661**起始版本:** 11
662
663**返回:**
664
6650 - 成功.
666
667201 - 缺少权限.
668
669401 - 参数错误.
670
6712100002 - 无法连接到服务.
672
6732100003 - 内部错误.
674
675**Permission:**
676
677ohos.permission.INTERNET
678