hilink_open_network_adapter.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved.
  3. * Description: 网络适配实现 (需设备厂商实现)
  4. */
  5. #include "hilink_open_network_adapter.h"
  6. /* 重启原因 */
  7. typedef enum {
  8. HILINK_NORMAL_BOOT = 0, /* 正常上电 */
  9. HILINK_WIFIDOG_REBOOT = 100, /* WIFI挂死重启 */
  10. HILINK_SOFTDOG_REBOOT = 101, /* HiLink任务挂死重启 */
  11. HILINK_HARDDOG_REBOOT = 102, /* 整机挂死导致的硬件狗复位重启 */
  12. HILINK_HOTA_REBOOT = 103, /* Hota升级成功后重启 */
  13. HILINK_BOOT_REASON_BUTT /* 获取失败 */
  14. } HilinkBootReason;
  15. /*
  16. * 获取本地IP
  17. * localIp表示存放IP的缓冲
  18. * len表示存放IP的缓冲长度
  19. * 返回0表示成功,返回-1表示失败
  20. * 注意: localIp为点分十进制格式
  21. */
  22. int HILINK_GetLocalIp(char *localIp, unsigned char len)
  23. {
  24. return 0;
  25. }
  26. /*
  27. * 获取网络MAC地址
  28. * MAC表示存放MAC地址的缓冲
  29. * len表示缓冲长度
  30. * 返回0表示成功,返回-1表示失败
  31. * 注意: MAC格式为a1b2c3d4e5f6
  32. */
  33. int HILINK_GetMacAddr(unsigned char *mac, unsigned char len)
  34. {
  35. return 0;
  36. }
  37. /*
  38. * 获取WiFi ssid
  39. * ssid表示存放WiFi ssid的缓冲
  40. * ssidLen表示WiFi ssid的长度
  41. * 返回0表示成功,返回-1表示失败
  42. */
  43. int HILINK_GetWiFiSsid(char *ssid, unsigned int *ssidLen)
  44. {
  45. return 0;
  46. }
  47. /*
  48. * 设置WiFi账号信息
  49. * ssid表示WiFi ssid
  50. * ssidLen表示WiFi ssid的长度
  51. * pwd表示WiFi密码
  52. * pwdLen表示WiFi密码长度
  53. * 返回0表示成功,返回-1表示失败
  54. * 注意:(1) ssid和pwd为空表示清除WiFi信息;
  55. * (2) 设置的WiFi信息需要持久化,以确保设备重启后依然可以获得WiFi配置信息
  56. */
  57. int HILINK_SetWiFiInfo(const char *ssid, unsigned int ssidLen, const char *pwd, unsigned int pwdLen)
  58. {
  59. return 0;
  60. }
  61. /* 断开并重连WiFi */
  62. void HILINK_ReconnectWiFi(void)
  63. {
  64. return;
  65. }
  66. /*
  67. * 连接WiFi
  68. * 返回0表示成功,返回-1表示失败
  69. */
  70. int HILINK_ConnectWiFi()
  71. {
  72. return 0;
  73. }
  74. /*
  75. * 获取网络状态
  76. * state为0表示网络断开或已连接但网卡未分配得ip,state为1表示已连接且分配得ip
  77. * 返回0表示成功,返回-1表示失败
  78. */
  79. int HILINK_GetNetworkState(int *state)
  80. {
  81. return 0;
  82. }
  83. /*
  84. * 获取当前连接的WiFi的 bssid
  85. * bssid表示存放WiFi bssid的缓冲
  86. * bssidLen表示WiFi bssid长度
  87. * 返回0表示成功,返回-1表示失败
  88. */
  89. int HILINK_GetWiFiBssid(unsigned char *bssid, unsigned char *bssidLen)
  90. {
  91. return 0;
  92. }
  93. /*
  94. * 获取当前连接的WiFi信号强度,单位db
  95. * rssi表示信号强度
  96. * 返回0表示成功,返回-1表示失败
  97. */
  98. int HILINK_GetWiFiRssi(signed char *rssi)
  99. {
  100. return 0;
  101. }
  102. /*
  103. * 重启HiLink SDK
  104. * 若系统不可重启,建议重启HiLink进程
  105. * 返回0表示成功,返回-1表示失败
  106. */
  107. int HILINK_Restart(void)
  108. {
  109. return 0;
  110. }
  111. /* 设置SoftAP配网同时的最大接入station数
  112. * 用于PIN码配网功能中
  113. * 建议开发者设置SoftAP热点的最大允许接入STA数为2
  114. */
  115. void HILINK_SetStationLimitNum(void)
  116. {
  117. return;
  118. }
  119. /* SoftAP配网过程中,根据IP踢除对应的station
  120. * 用于PIN码配网功能中
  121. */
  122. void HILINK_DisconnectStationByIp(const char *ip)
  123. {
  124. return;
  125. }
  126. /*
  127. * 获取系统启动原因
  128. * 返回值: HILINK_NORMAL_BOOT = 0, 正常上电
  129. * HILINK_WIFIDOG_REBOOT = 100, WIFI挂死重启
  130. * HILINK_SOFTDOG_REBOOT = 101, hilink任务挂死重启
  131. * HILINK_HARDDOG_REBOOT = 102, 整机挂死导致的硬件狗复位重启
  132. * HILINK_HOTA_REBOOT = 103, Hota升级成功后重启
  133. * HILINK_BOOT_REASON_BUTT 获取失败
  134. */
  135. unsigned char HILINK_GetSystemBootReason(void)
  136. {
  137. return 0;
  138. }