hilink_open_socket_adapter.c 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /*
  2. * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved.
  3. * Description: 网络适配层Socket接口函数 (需设备厂商实现)
  4. */
  5. #include "hilink_open_socket_adapter.h"
  6. //#include "hilink_log.h" //Quectel larson.li 提供的SDK中未包含此头文件
  7. /* HiLink Socket错误码 */
  8. typedef enum {
  9. HILINK_SOCKET_NO_ERROR = 0,
  10. HILINK_SOCKET_NULL_PTR = -1,
  11. HILINK_SOCKET_CREAT_UDP_FD_FAILED = -2,
  12. HILINK_SOCKET_SEND_UDP_PACKET_FAILED = -3,
  13. HILINK_SOCKET_READ_UDP_PACKET_FAILED = -4,
  14. HILINK_SOCKET_TCP_CONNECTING = -5,
  15. HILINK_SOCKET_TCP_CONNECT_FAILED = -6,
  16. HILINK_SOCKET_SEND_TCP_PACKET_FAILED = -7,
  17. HILINK_SOCKET_READ_TCP_PACKET_FAILED = -8,
  18. HILINK_SOCKET_REMOVE_UDP_FD_FAILED = -9,
  19. HILINK_SOCKET_SELECT_TIMEOUT = -10,
  20. HILINK_SOCKET_SELECT_ERROR = -11
  21. } hilink_socket_error_t;
  22. /*
  23. * 获取远端主机名
  24. * 参数hostName 远端主机名称, url
  25. * 参数ipList 存放远端主机IP地址列表的数组
  26. * 参数num 存放远端主机IP地址列表的数组的大小
  27. * 返回0 成功, 其他 失败
  28. * 注意Contiki OS下该接口为异步获取, 失败后需再次获取
  29. */
  30. int HILINK_GetHostByName(const char *hostName, char ipList[][MAX_IP_LEN], int num)
  31. {
  32. return 0;
  33. }
  34. /*
  35. * 创建UDP通讯套接字
  36. * 参数localPort UDP通信端口号
  37. * 返回值: 返回值小于0 创建失败, 大于等于0 UDP套接字fd
  38. */
  39. int HILINK_CreateUdp(unsigned short localPort)
  40. {
  41. return 0;
  42. }
  43. /*
  44. * 关闭UDP通讯套接字
  45. * 输入参数int fd UDP通讯套接字
  46. */
  47. void HILINK_RemoveUdp(int fd)
  48. {
  49. return;
  50. }
  51. /*
  52. * 用于UDP发送数据
  53. * 参数fd UDP通讯套接字
  54. * 参数buf 发送的数据
  55. * 参数len 数据长度
  56. * 参数remoteIp 目的ip
  57. * 参数remotePort 目的端口
  58. * 返回值小于0 发送失败, 大于等于0 实际发送的字节数
  59. */
  60. int HILINK_SendUdp(int fd, const unsigned char *buf, unsigned short len, const char *remoteIp,
  61. unsigned short remotePort)
  62. {
  63. return 0;
  64. }
  65. /*
  66. * UDP读取数据
  67. * 返回值小于0 读取失败, 大于等于0 实际读取的字节数
  68. */
  69. int HILINK_RecvUdp(UdpRecvParam *udpRecvParam)
  70. {
  71. return 0;
  72. }
  73. /*
  74. * 建立TCP连接
  75. * 参数dst 目的IP
  76. * 参数port 目的端口
  77. * 返回值小于0 连接失败, 大于等于0 TCP套接字
  78. */
  79. int HILINK_ConnectTcp(const char *dst, unsigned short port)
  80. {
  81. return 0;
  82. }
  83. /*
  84. * TCP连接状态获取
  85. * 参数fd TCP套接字
  86. * 返回0 连接正常; 非0 连接失败, 具体参见 hilink_socket_error_t定义
  87. */
  88. int HILINK_GetTcpState(int fd)
  89. {
  90. return 0;
  91. }
  92. /*
  93. * 断开TCP连接
  94. * 参数fd TCP套接字
  95. * 输入参数 int fd TCP 套接字
  96. */
  97. void HILINK_DisconnectTcp(int fd)
  98. {
  99. return;
  100. }
  101. /*
  102. * TCP发送数据
  103. * 参数fd TCP通讯套接字
  104. * 参数buf 发送的数据
  105. * 参数len 数据长度
  106. * 返回值小于0 发送失败, 大于等于0 实际发送的字节数
  107. */
  108. int HILINK_SendTcp(int fd, const unsigned char *buf, unsigned short len)
  109. {
  110. return 0;
  111. }
  112. /*
  113. * 用于TCP读取数据
  114. * 参数fd TCP通讯套接字
  115. * 参数buf 存放数据的缓冲
  116. * 参数len 要读取的长度
  117. * 返回值小于0 读取失败, 大于等于0 实际读取的字节数
  118. */
  119. int HILINK_RecvTcp(int fd, unsigned char *buf, unsigned short len)
  120. {
  121. return 0;
  122. }
  123. /*
  124. * 短整形网络字节序转主机字节序
  125. * 参数ns 网络字节序
  126. * 返回主机字节序数字
  127. */
  128. unsigned short HILINK_Ntohs(unsigned short ns)
  129. {
  130. return 0;
  131. }
  132. /*
  133. * 短整形主机字节序转网络字节序
  134. * 参数hs 主机字节序
  135. * 返回网络字节序数字
  136. */
  137. unsigned short HILINK_Htons(unsigned short hs)
  138. {
  139. return 0;
  140. }
  141. /*
  142. * 获取TCP发送缓冲区剩余缓冲长度
  143. * 参数fd TCP通讯套接字
  144. * 参数taskType 0表示多任务系统,m2m运行于独立的task中;1表示单任务系统,m2m和其他任务运行在同个task中
  145. * 参数bufLeft 发送缓冲区剩余缓冲长度
  146. * 参数dataMax 数据payload的最大长度
  147. * 返回0表示成功,返回其他表示失败
  148. */
  149. int HILINK_GetLeftTcpSendbuf(int fd, int *taskType, unsigned int *bufLeft, unsigned int *dataMax)
  150. {
  151. return 0;
  152. }
  153. /*
  154. * 移除多余信道
  155. * 参数fd UDP通讯套接字
  156. * 返回0表示成功,返回其他表示失败
  157. */
  158. int HILINK_DeleteMultiGroupUdp(int fd)
  159. {
  160. return 0;
  161. }
  162. /*
  163. * 获取网络操作失败时的错误码errno
  164. * 参数fd
  165. */
  166. int HILINK_GetNetWorkError(int fd)
  167. {
  168. return 0;
  169. }
  170. /*
  171. * 获取socket状态
  172. * 参数fd TCP套接字
  173. * 参数flag TCP套接字状态,包括1可读状态;2可写状态;4异常状态
  174. * 参数usec 状态检测等待时间,即此函数需要在该时间限制内返回,单位微秒
  175. * 返回0表示成功,返回其他表示失败
  176. */
  177. int HILINK_GetSocketState(int fd, unsigned int flag, unsigned int usec)
  178. {
  179. return 0;
  180. }