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