1 /**
2  * @file aiot_state_api.h
3  * @brief SDK Core状态码头文件, 所有Core中的api返回值均在此列出
4  * @date 2019-12-27
5  *
6  * @copyright Copyright (C) 2015-2018 Alibaba Group Holding Limited
7  *
8  */
9 
10 #ifndef _AIOT_STATE_API_H_
11 #define _AIOT_STATE_API_H_
12 
13 #if defined(__cplusplus)
14 extern "C" {
15 #endif
16 
17 #include <stdint.h>
18 
19 /**
20  * @brief SDK的日志信息输出回调函数原型
21  */
22 typedef int32_t (* aiot_state_logcb_t)(int32_t code, char *message);
23 
24 /**
25  * @brief 设置SDK的日志信息输出使用的回调函数
26  *
27  * @param handler 日志回调函数
28  *
29  * @return int32_t 保留
30  */
31 int32_t aiot_state_set_logcb(aiot_state_logcb_t handler);
32 
33 /**
34  * @brief API执行成功
35  *
36  */
37 #define STATE_SUCCESS                                               (0x0000)
38 
39 /**
40  * @brief -0x0100~-0x01FF表达SDK检查用户输入参数时反馈的状态码
41  *
42  */
43 #define STATE_USER_INPUT_BASE                                       (-0x0100)
44 
45 /**
46  * @brief 用户输入参数中包含非法的空指针
47  *
48  */
49 #define STATE_USER_INPUT_NULL_POINTER                               (-0x0101)
50 
51 /**
52  * @brief 用户输入参数中包含越界的值
53  *
54  */
55 #define STATE_USER_INPUT_OUT_RANGE                                  (-0x0102)
56 
57 /**
58  * @brief 用户输入的配置项不能被SDK的模块所理解
59  *
60  */
61 #define STATE_USER_INPUT_UNKNOWN_OPTION                             (-0x0103)
62 
63 /**
64  * @brief 用户输入参数中缺少productKey
65  *
66  */
67 #define STATE_USER_INPUT_MISSING_PRODUCT_KEY                        (-0x0104)
68 
69 /**
70  * @brief 用户输入参数中缺少deviceName
71  *
72  */
73 #define STATE_USER_INPUT_MISSING_DEVICE_NAME                        (-0x0105)
74 
75 /**
76  * @brief 用户输入参数中缺少deviceSecret
77  *
78  */
79 #define STATE_USER_INPUT_MISSING_DEVICE_SECRET                      (-0x0106)
80 
81 /**
82  * @brief 用户输入参数中缺少productSecret
83  *
84  */
85 #define STATE_USER_INPUT_MISSING_PRODUCT_SECRET                     (-0x0107)
86 
87 /**
88  * @brief 用户输入参数中缺少域名地址或IP地址
89  *
90  */
91 #define STATE_USER_INPUT_MISSING_HOST                               (-0x0108)
92 
93 /**
94  * @brief 用户已调用销毁函数销毁了实例(如@ref aiot_mqtt_deinit), 其余对该实例操作的API不应该再被调用
95  *
96  */
97 #define STATE_USER_INPUT_EXEC_DISABLED                              (-0x0109)
98 
99 /**
100  * @brief 用户输入的JSON字符串解析失败
101  *
102  */
103 #define STATE_USER_INPUT_JSON_PARSE_FAILED                          (-0x010A)
104 
105 /**
106  * @brief -0x0200~-0x02FF表达SDK调用系统依赖函数时反馈的状态码
107  *
108  */
109 #define STATE_SYS_DEPEND_BASE                                       (-0x0200)
110 
111 /**
112  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_malloc 申请内存失败
113  *
114  */
115 #define STATE_SYS_DEPEND_MALLOC_FAILED                              (-0x0201)
116 
117 /**
118  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_setopt 的某个cred之外的入参非法
119  *
120  */
121 #define STATE_SYS_DEPEND_NWK_INVALID_OPTION                         (-0x0202)
122 
123 /**
124  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_establish 建立网络失败
125  *
126  */
127 #define STATE_SYS_DEPEND_NWK_EST_FAILED                             (-0x0203)
128 
129 /**
130  * @brief SDK检测到网络已断开
131  *
132  */
133 #define STATE_SYS_DEPEND_NWK_CLOSED                                 (-0x0204)
134 
135 /**
136  * @brief SDK从网络上实际读取的数据比期望读取的少
137  *
138  */
139 #define STATE_SYS_DEPEND_NWK_READ_LESSDATA                          (-0x0205)
140 
141 /**
142  * @brief SDK向网络上写入的实际数据比期望写入的少
143  *
144  */
145 #define STATE_SYS_DEPEND_NWK_WRITE_LESSDATA                         (-0x0206)
146 
147 /**
148  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_recv 超时返回
149  *
150  */
151 #define STATE_SYS_DEPEND_NWK_READ_OVERTIME                          (-0x0207)
152 
153 /**
154  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_setopt 的cred入参非法
155  *
156  */
157 #define STATE_SYS_DEPEND_NWK_INVALID_CRED                           (-0x0208)
158 
159 /**
160  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_send 发送数据遭遇异常
161  *
162  */
163 #define STATE_SYS_DEPEND_NWK_SEND_ERR                               (-0x0209)
164 
165 /**
166  * @brief @ref aiot_sysdep_portfile_t::core_sysdep_network_recv 接收数据遭遇异常
167  *
168  */
169 #define STATE_SYS_DEPEND_NWK_RECV_ERR                               (-0x020A)
170 
171 /**
172  * @brief -0x0300~-0x03FF表达SDK在MQTT模块内的状态码
173  *
174  */
175 #define STATE_MQTT_BASE                                             (-0x0300)
176 
177 /**
178  * @brief MQTT尝试建立连接时, 从服务端返回的CONNACK报文格式错误
179  *
180  */
181 #define STATE_MQTT_CONNACK_FMT_ERROR                                (-0x0301)
182 
183 /**
184  * @brief MQTT建连时, 服务端报错与当前客户端使用的MQTT协议版本不兼容
185  *
186  */
187 #define STATE_MQTT_CONNACK_RCODE_UNACCEPTABLE_PROTOCOL_VERSION      (-0x0302)
188 
189 /**
190  * @brief MQTT建连时, 服务端报错服务不可用, 可能是clientId取值不正确或心跳间隔不合理
191  *
192  */
193 #define STATE_MQTT_CONNACK_RCODE_SERVER_UNAVAILABLE                 (-0x0303)
194 
195 /**
196  * @brief MQTT建连时, 服务端返回用户名密码不合法
197  *
198  */
199 #define STATE_MQTT_CONNACK_RCODE_BAD_USERNAME_PASSWORD              (-0x0304)
200 
201 /**
202  * @brief MQTT建连时, 服务端返回认证失败, 用户名或者密码错误, 一般为三元组错误导致
203  *
204  */
205 #define STATE_MQTT_CONNACK_RCODE_NOT_AUTHORIZED                     (-0x0305)
206 
207 /**
208  * @brief MQTT建连时, 服务端返回未知的CONNACK报文
209  *
210  */
211 #define STATE_MQTT_CONNACK_RCODE_UNKNOWN                            (-0x0306)
212 
213 /**
214  * @brief MQTT缓存QoS1消息时, 检测到packetId发生卷绕
215  *
216  */
217 #define STATE_MQTT_PUBLIST_PACKET_ID_ROLL                           (-0x0307)
218 
219 /**
220  * @brief MQTT发布或订阅时, 检测到Topic格式不符合协议规范
221  *
222  */
223 #define STATE_MQTT_TOPIC_INVALID                                    (-0x0308)
224 
225 /**
226  * @brief MQTT发布或订阅或取消订阅时, SDK反馈Topic内容的状态码
227  *
228  */
229 #define STATE_MQTT_LOG_TOPIC                                        (-0x0309)
230 
231 /**
232  * @brief MQTT收发消息时, SDK反馈MQTT消息内容的状态码
233  *
234  */
235 #define STATE_MQTT_LOG_HEXDUMP                                      (-0x030A)
236 
237 /**
238  * @brief MQTT连接建立成功
239  *
240  */
241 #define STATE_MQTT_CONNECT_SUCCESS                                  (-0x030B)
242 
243 /**
244  * @brief SDK读取到的MQTT报文含有不符合协议规范的报文长度字段
245  *
246  */
247 #define STATE_MQTT_MALFORMED_REMAINING_LEN                          (-0x030C)
248 
249 /**
250  * @brief SDK读取到的MQTT报文不符合按协议规范所解析的字节数
251  *
252  */
253 #define STATE_MQTT_MALFORMED_REMAINING_BYTES                        (-0x030D)
254 
255 /**
256  * @brief SDK读取到尚不支持的MQTT报文类型
257  *
258  */
259 #define STATE_MQTT_PACKET_TYPE_UNKNOWN                              (-0x030E)
260 
261 /**
262  * @brief MQTT订阅或取消订阅时, 从服务端得到操作失败的回应
263  *
264  */
265 #define STATE_MQTT_SUBACK_RCODE_FAILURE                             (-0x030F)
266 
267 /**
268  * @brief MQTT订阅或取消订阅时, 从服务端得到无法解析的应答
269  *
270  */
271 #define STATE_MQTT_SUBACK_RCODE_UNKNOWN                             (-0x0310)
272 
273 /**
274  * @brief MQTT接收消息时, 消息中的Topic与可理解的Topic列表匹配失败
275  *
276  */
277 #define STATE_MQTT_TOPIC_COMPARE_FAILED                             (-0x0311)
278 
279 /**
280  * @brief 执行@ref aiot_mqtt_deinit 时, 为等待其他API执行结束, 超过设定的超时时间, MQTT实例销毁失败
281  *
282  */
283 #define STATE_MQTT_DEINIT_TIMEOUT                                   (-0x0312)
284 
285 /**
286  * @brief MQTT主动连接服务器相关的日志状态码
287  *
288  */
289 #define STATE_MQTT_LOG_CONNECT                                      (-0x0313)
290 
291 /**
292  * @brief MQTT断线后, 自动重连服务器相关的日志状态码
293  *
294  */
295 #define STATE_MQTT_LOG_RECONNECTING                                 (-0x0314)
296 
297 /**
298  * @brief MQTT连接服务器超时相关的日志状态码
299  *
300  */
301 #define STATE_MQTT_LOG_CONNECT_TIMEOUT                              (-0x0315)
302 
303 /**
304  * @brief MQTT主动与服务器断开连接相关的日志状态码
305  *
306  */
307 #define STATE_MQTT_LOG_DISCONNECT                                   (-0x0316)
308 
309 /**
310  * @brief MQTT连接服务器时, 使用的用户名相关的日志状态码
311  *
312  */
313 #define STATE_MQTT_LOG_USERNAME                                     (-0x0317)
314 
315 /**
316  * @brief MQTT连接服务器时, 使用的密码相关的日志状态码
317  *
318  */
319 #define STATE_MQTT_LOG_PASSWORD                                     (-0x0318)
320 
321 /**
322  * @brief MQTT连接服务器时, 使用的clientId相关的日志状态码
323  *
324  */
325 #define STATE_MQTT_LOG_CLIENTID                                     (-0x0319)
326 
327 /**
328  * @brief MQTT连接服务器时, 使用的PSK-TLS密钥相关的日志状态码
329  *
330  */
331 #define STATE_MQTT_LOG_TLS_PSK                                      (-0x031A)
332 
333 /**
334  * @brief MQTT发布或订阅或取消订阅时, Topic的长度超出物联网平台的限制, 中止执行
335  *
336  */
337 #define STATE_MQTT_TOPIC_TOO_LONG                                   (-0x031B)
338 
339 /**
340  * @brief MQTT发布消息时, Payload的长度超出物联网平台的限制, 中止执行
341  *
342  */
343 #define STATE_MQTT_PUB_PAYLOAD_TOO_LONG                             (-0x031C)
344 
345 /**
346  * @brief MQTT连接服务器时, 使用的备用ip地址
347  *
348  */
349 #define STATE_MQTT_LOG_BACKUP_IP                                    (-0x031D)
350 
351 /**
352  * @brief 接收到非法的MQTT PINRESP报文
353  *
354  */
355 #define STATE_MQTT_RECV_INVALID_PINRESP_PACKET                      (-0x031E)
356 
357 /**
358  * @brief 接收到非法的MQTT PUBLISH报文
359  *
360  */
361 #define STATE_MQTT_RECV_INVALID_PUBLISH_PACKET                      (-0x031F)
362 
363 /**
364  * @brief 接收到非法的MQTT PUBACK报文
365  *
366  */
367 #define STATE_MQTT_RECV_INVALID_PUBACK_PACKET                       (-0x0320)
368 
369 /**
370  * @brief mqtt 5.0属性未解析成功
371  *
372  */
373 #define STATE_MQTT_UNKNOWN_PROPERTY_OPTION                          (-0x0321)
374 
375 /**
376  * @brief mqtt协议版本号未设置正确. 在使用5.0协议的接口(_with_prop结尾)时, 如果没有通过AIOT_MQTTOPT_VERSION将版本号设置为AIOT_MQTT_VERSION_5_0就会报这个错误
377  *
378  */
379 #define STATE_MQTT_INVALID_PROTOCOL_VERSION                         (-0x0322)
380 
381 /**
382  * @brief 云端下行的server disconnect报文格式不对
383  *
384  */
385 #define STATE_MQTT_RECV_INVALID_SERVER_DISCONNECT_PACKET            (-0x0323)
386 
387 /**
388  * @brief 在用户输入的用户属性的len值>0的情况下, 用户输入的user property的value为空指针
389  *
390  */
391 #define STATE_MQTT_INVALID_USER_PERPERTY_DATA                       (-0x0324)
392 
393 /**
394  * @brief 用户属性的长度值超出范围(当前是0-128个字节)
395  *
396  */
397 #define STATE_MQTT_INVALID_USER_PERPERTY_LEN                        (-0x0325)
398 
399 /**
400  * @brief 用户上行报文的大小超过平台限制(默认是256KB)
401  *
402  */
403 #define STATE_MQTT_INVALID_TX_PACK_SIZE                             (-0x0326)
404 
405 /**
406  * @brief 设备上行的qos 1报文超过流控限制
407  *
408  */
409 #define STATE_MQTT_RECEIVE_MAX_EXCEEDED                             (-0x0327)
410 
411 /**
412  * @brief 用户输入的subscription identifier值超过限制(0-0xFFFFFFF)
413  *
414  */
415 #define STATE_MQTT_INVALID_SUBSCRIPTION_IDENTIFIER                  (-0x0328)
416 
417 /**
418  * @brief 属性的长度为非法值, 比如大于MQTT的remainLen长度值
419  *
420  */
421 #define STATE_MQTT_INVALID_PROPERTY_LEN                             (-0x0329)
422 
423 /**
424  * @brief -0x0400~-0x04FF表达SDK在HTTP模块内的状态码
425  *
426  */
427 #define STATE_HTTP_BASE                                             (-0x0400)
428 
429 /**
430  * @brief 解析收到的HTTP报文时, 无法获取有效的状态行, 得不到HTTP StatusCode
431  *
432  */
433 #define STATE_HTTP_STATUS_LINE_INVALID                              (-0x0401)
434 
435 /**
436  * @brief 解析收到的HTTP报文时, 报文的body部分已接收完毕, 没有更多数据
437  *
438  */
439 #define STATE_HTTP_READ_BODY_FINISHED                               (-0x0402)
440 
441 /**
442  * @brief 执行@ref aiot_http_deinit 时, 等待其他API执行结束超过设定的超时时间, HTTP实例销毁失败
443  *
444  */
445 #define STATE_HTTP_DEINIT_TIMEOUT                                   (-0x0403)
446 
447 /**
448  * @brief 因为HTTP认证应答的StatusCode不是200, 认证失败
449  *
450  */
451 #define STATE_HTTP_AUTH_CODE_FAILED                                 (-0x0404)
452 
453 /**
454  * @brief 因为HTTP认证应答接收未完成, 认证失败
455  *
456  */
457 #define STATE_HTTP_AUTH_NOT_FINISHED                                (-0x0405)
458 
459 /**
460  * @brief 因为HTTP认证应答中未能解析到Token, 认证失败
461  *
462  */
463 #define STATE_HTTP_AUTH_TOKEN_FAILED                                (-0x0406)
464 
465 /**
466  * @brief 设备尚未认证, 需要先调用@ref aiot_http_auth 进行设备认证
467  *
468  */
469 #define STATE_HTTP_NEED_AUTH                                        (-0x0407)
470 
471 /**
472  * @brief HTTP应答数据接收未完成, 需确认网络是否异常
473  *
474  */
475 #define STATE_HTTP_RECV_NOT_FINISHED                                (-0x0408)
476 
477 /**
478  * @brief 内部buffer长度过短, 需调用@ref aiot_http_setopt 配置@ref AIOT_HTTPOPT_HEADER_BUFFER_LEN 选项增大buffer长度
479  *
480  */
481 #define STATE_HTTP_HEADER_BUFFER_TOO_SHORT                          (-0x0409)
482 
483 /**
484  * @brief HTTP首部接收异常
485  *
486  */
487 #define STATE_HTTP_HEADER_INVALID                                   (-0x040A)
488 
489 /**
490  * @brief HTTP首部发送相关日志使用的状态码
491  *
492  */
493 #define STATE_HTTP_LOG_SEND_HEADER                                  (-0x040B)
494 
495 /**
496  * @brief HTTP内容发送相关日志使用的状态码
497  *
498  */
499 #define STATE_HTTP_LOG_SEND_CONTENT                                 (-0x040C)
500 
501 /**
502  * @brief HTTP首部接收相关日志使用的状态码
503  *
504  */
505 #define STATE_HTTP_LOG_RECV_HEADER                                  (-0x040D)
506 
507 /**
508  * @brief HTTP内容接收相关日志使用的状态码
509  *
510  */
511 #define STATE_HTTP_LOG_RECV_CONTENT                                 (-0x040E)
512 
513 /**
514  * @brief HTTP连接断开相关日志使用的状态码
515  *
516  */
517 #define STATE_HTTP_LOG_DISCONNECT                                   (-0x040F)
518 
519 /**
520  * @brief HTTP认证交互相关日志使用的状态码
521  *
522  */
523 #define STATE_HTTP_LOG_AUTH                                         (-0x0410)
524 
525 /**
526  * @brief 因为HTTP应答报文的内容不符合预期, 认证失败
527  *
528  */
529 #define STATE_HTTP_AUTH_NOT_EXPECTED                                (-0x0411)
530 
531 /**
532  * @brief HTTP报文的负载部分为空, 接收已完成
533  *
534  */
535 #define STATE_HTTP_READ_BODY_EMPTY                                  (-0x0412)
536 
537 /**
538  * @brief -0x0F00~-0x0FFF表达SDK在系统底层依赖模块内的状态码
539  *
540  */
541 #define STATE_PORT_BASE                                             (-0x0F00)
542 
543 /**
544  * @brief 底层依赖函数遇到非法的空指针参数, 执行失败
545  *
546  */
547 #define STATE_PORT_INPUT_NULL_POINTER                               (-0x0F01)
548 
549 /**
550  * @brief 底层依赖函数遇到输入参数超出合理值域, 执行失败
551  *
552  */
553 #define STATE_PORT_INPUT_OUT_RANGE                                  (-0x0F02)
554 
555 /**
556  * @brief 底层依赖函数遇到申请内存错误, 执行失败
557  *
558  */
559 #define STATE_PORT_MALLOC_FAILED                                    (-0x0F03)
560 
561 /**
562  * @brief 底层依赖函数遇到域名地址或IP地址缺失, 执行失败
563  *
564  */
565 #define STATE_PORT_MISSING_HOST                                     (-0x0F04)
566 
567 /**
568  * @brief 底层依赖函数遇到TCP客户端建立过程尚未实现, 执行失败
569  *
570  */
571 #define STATE_PORT_TCP_CLIENT_NOT_IMPLEMENT                         (-0x0F05)
572 
573 /**
574  * @brief 底层依赖函数遇到TCP服务端建立过程尚未实现, 执行失败
575  *
576  */
577 #define STATE_PORT_TCP_SERVER_NOT_IMPLEMENT                         (-0x0F06)
578 
579 /**
580  * @brief 底层依赖函数遇到UDP客户端建立过程尚未实现, 执行失败
581  *
582  */
583 #define STATE_PORT_UDP_CLIENT_NOT_IMPLEMENT                         (-0x0F07)
584 
585 /**
586  * @brief 底层依赖函数遇到UDP服务端建立过程尚未实现, 执行失败
587  *
588  */
589 #define STATE_PORT_UDP_SERVER_NOT_IMPLEMENT                         (-0x0F08)
590 
591 /**
592  * @brief 底层依赖函数遇到不能理解的网络层设置选项, 执行失败
593  *
594  */
595 #define STATE_PORT_NETWORK_UNKNOWN_OPTION                           (-0x0F09)
596 
597 /**
598  * @brief 底层依赖函数遇到不能理解的socket类型, 执行失败
599  *
600  */
601 #define STATE_PORT_NETWORK_UNKNOWN_SOCKET_TYPE                      (-0x0F0A)
602 
603 /**
604  * @brief 底层依赖函数遇到域名DNS解析错误, 执行失败
605  *
606  */
607 #define STATE_PORT_NETWORK_DNS_FAILED                               (-0x0F0B)
608 
609 /**
610  * @brief 底层依赖函数建立网络连接时遇到socket创建错误, 执行失败
611  *
612  */
613 #define STATE_PORT_NETWORK_SOCKET_CREATE_FAILED                     (-0x0F0C)
614 
615 /**
616  * @brief 底层依赖函数建立网络连接时遇到socket配置错误, 执行失败
617  *
618  */
619 #define STATE_PORT_NETWORK_SOCKET_CONFIG_FAILED                     (-0x0F0D)
620 
621 /**
622  * @brief 底层依赖函数建立网络连接时遇到bind错误, 执行失败
623  *
624  */
625 #define STATE_PORT_NETWORK_SOCKET_BIND_FAILED                       (-0x0F0E)
626 
627 /**
628  * @brief 底层依赖函数遇到TCP连接超时未成功, 执行失败
629  *
630  */
631 #define STATE_PORT_NETWORK_CONNECT_TIMEOUT                          (-0x0F0F)
632 
633 /**
634  * @brief 底层依赖函数遇到TCP连接建立错误, 执行失败
635  *
636  */
637 #define STATE_PORT_NETWORK_CONNECT_FAILED                           (-0x0F10)
638 
639 /**
640  * @brief 底层依赖函数遇到套接字select错误, 执行失败
641  *
642  */
643 #define STATE_PORT_NETWORK_SELECT_FAILED                            (-0x0F11)
644 
645 /**
646  * @brief 底层依赖函数遇到网络层发送数据错误, 执行失败
647  *
648  */
649 #define STATE_PORT_NETWORK_SEND_FAILED                              (-0x0F12)
650 
651 /**
652  * @brief 底层依赖函数遇到网络层接收数据错误, 执行失败
653  *
654  */
655 #define STATE_PORT_NETWORK_RECV_FAILED                              (-0x0F13)
656 
657 /**
658  * @brief 底层依赖函数发送数据时遇到连接已关闭, 执行失败
659  *
660  */
661 #define STATE_PORT_NETWORK_SEND_CONNECTION_CLOSED                   (-0x0F14)
662 
663 /**
664  * @brief 底层依赖函数接收数据时遇到连接已关闭, 执行失败
665  *
666  */
667 #define STATE_PORT_NETWORK_RECV_CONNECTION_CLOSED                   (-0x0F15)
668 
669 /**
670  * @brief 底层依赖函数遇到不能理解的安全凭据选项, 执行失败
671  *
672  */
673 #define STATE_PORT_TLS_INVALID_CRED_OPTION                          (-0x0F16)
674 
675 /**
676  * @brief 底层依赖函数遇到不合法的最大TLS分片长度配置, 执行失败
677  *
678  */
679 #define STATE_PORT_TLS_INVALID_MAX_FRAGMENT                         (-0x0F17)
680 
681 /**
682  * @brief 底层依赖函数遇到不合法的服务端证书, 执行失败
683  *
684  */
685 #define STATE_PORT_TLS_INVALID_SERVER_CERT                          (-0x0F18)
686 
687 /**
688  * @brief 底层依赖函数遇到不合法的客户端证书, 执行失败
689  *
690  */
691 #define STATE_PORT_TLS_INVALID_CLIENT_CERT                          (-0x0F19)
692 
693 /**
694  * @brief 底层依赖函数遇到不合法的客户端密钥, 执行失败
695  *
696  */
697 #define STATE_PORT_TLS_INVALID_CLIENT_KEY                           (-0x0F1A)
698 
699 /**
700  * @brief 底层依赖函数建立TLS连接时遇到socket创建错误, 执行失败
701  *
702  */
703 #define STATE_PORT_TLS_SOCKET_CREATE_FAILED                         (-0x0F1B)
704 
705 /**
706  * @brief 底层依赖函数建立TLS连接时遇到socket连接建立错误, 执行失败
707  *
708  */
709 #define STATE_PORT_TLS_SOCKET_CONNECT_FAILED                        (-0x0F1C)
710 
711 /**
712  * @brief 底层依赖函数建立TLS连接时遇到握手失败, 执行失败
713  *
714  */
715 #define STATE_PORT_TLS_INVALID_RECORD                               (-0x0F1D)
716 
717 /**
718  * @brief 底层依赖函数在TLS连接上, 遇到数据接收错误, 执行失败
719  *
720  */
721 #define STATE_PORT_TLS_RECV_FAILED                                  (-0x0F1E)
722 
723 /**
724  * @brief 底层依赖函数在TLS连接上, 遇到数据发送错误, 执行失败
725  *
726  */
727 #define STATE_PORT_TLS_SEND_FAILED                                  (-0x0F1F)
728 
729 /**
730  * @brief 底层依赖函数在TLS连接上, 接收数据时遇到连接已关闭, 执行失败
731  *
732  */
733 #define STATE_PORT_TLS_RECV_CONNECTION_CLOSED                       (-0x0F20)
734 
735 /**
736  * @brief 底层依赖函数在TLS连接上, 发送数据时遇到连接已关闭, 执行失败
737  *
738  */
739 #define STATE_PORT_TLS_SEND_CONNECTION_CLOSED                       (-0x0F21)
740 
741 /**
742  * @brief 底层依赖函数建立TLS连接时遇到PSK配置错误, 执行失败
743  *
744  */
745 #define STATE_PORT_TLS_CONFIG_PSK_FAILED                            (-0x0F22)
746 
747 /**
748  * @brief 底层依赖函数建立TLS连接时遇到非法记录以外的握手错误, 执行失败
749  *
750  */
751 #define STATE_PORT_TLS_INVALID_HANDSHAKE                            (-0x0F23)
752 
753 /**
754  * @brief DTLS握手时设置PSK配置错误, 执行失败
755  *
756  */
757 #define STATE_PORT_DTLS_CONFIG_PSK_FAILED                           (-0x0F24)
758 
759 /**
760  * @brief DTLS握手失败, 执行失败
761  *
762  */
763 #define STATE_PORT_DTLS_HANDSHAKE_FAILED                            (-0x0F25)
764 
765 /**
766  * @brief DTLS建立连接时失败, 执行失败
767  *
768  */
769 #define STATE_PORT_NETWORK_DTLS_CONNECT_FAILED                      (-0x0F26)
770 
771 /**
772  * @brief 之前的DTLS握手还在进行中
773  *
774  */
775 #define STATE_PORT_DTLS_HANDSHAKE_IN_PROGRESS                       (-0x0F27)
776 
777 
778 
779 #if defined(__cplusplus)
780 }
781 #endif
782 
783 #endif /* #ifndef _AIOT_STATE_API_H_ */
784 
785