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