| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- /*
- * Copyright (C) 2012-2019 UCloud. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
- #ifndef C_SDK_UIOT_DEFS_H_
- #define C_SDK_UIOT_DEFS_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define IOT_PRODUCT_SN_LEN (16)
- #define IOT_PRODUCT_SECRET_LEN (16)
- #define IOT_DEVICE_SN_LEN (64)
- #define IOT_DEVICE_SECRET_LEN (16)
- #ifndef _IN_
- #define _IN_
- #endif
- #ifndef _OU_
- #define _OU_
- #endif
- typedef enum {
- MQTT_ALREADY_CONNECTED = 4, // 表示与MQTT服务器已经建立连接
- MQTT_CONNECTION_ACCEPTED = 3, // 表示服务器接受客户端MQTT连接
- MQTT_MANUALLY_DISCONNECTED = 2, // 表示与MQTT服务器已经手动断开
- MQTT_RECONNECTED = 1, // 表示与MQTT服务器重连成功
- SUCCESS_RET = 0, // 表示成功返回
- FAILURE_RET = -1, // 表示失败返回
- ERR_PARAM_INVALID = -2, // 表示参数无效错误
- ERR_HTTP_CLOSED = -3, // 远程主机关闭连接
- ERR_HTTP_UNKNOWN_ERROR = -4, // HTTP未知错误
- ERR_HTTP_PROTOCOL_ERROR = -5, // 协议错误
- ERR_HTTP_UNRESOLVED_DNS = -6, // 域名解析失败
- ERR_HTTP_URL_PARSE_ERROR = -7, // URL解析失败
- ERR_HTTP_CONN_ERROR = -8, // HTTP连接失败
- ERR_HTTP_AUTH_ERROR = -9, // HTTP鉴权问题
- ERR_HTTP_NOT_FOUND = -10, // HTTP 404
- ERR_HTTP_TIMEOUT = -11, // HTTP 超时
- ERR_MQTT_PUSH_TO_LIST_FAILED = -102, // 表示往等待 ACK 列表中添加元素失败
- ERR_MQTT_NO_CONN = -103, // 表示未与MQTT服务器建立连接或已经断开连接
- ERR_MQTT_UNKNOWN_ERROR = -104, // 表示MQTT相关的未知错误
- ERR_MQTT_ATTEMPTING_RECONNECT = -105, // 表示正在与MQTT服务重新建立连接
- ERR_MQTT_RECONNECT_TIMEOUT = -106, // 表示重连已经超时
- ERR_MQTT_MAX_SUBSCRIPTIONS_REACHED = -107, // 表示超过可订阅的主题数
- ERR_MQTT_SUB_FAILED = -108, // 表示订阅主题失败, 即服务器拒绝
- ERR_MQTT_NOTHING_TO_READ = -109, // 表示无MQTT相关报文可以读取
- ERR_MQTT_PACKET_READ_ERROR = -110, // 表示读取的MQTT报文有问题
- ERR_MQTT_REQUEST_TIMEOUT = -111, // 表示MQTT相关操作请求超时
- ERR_MQTT_CONNACK_UNKNOWN = -112, // 表示客户端MQTT连接未知错误
- ERR_MQTT_CONNACK_UNACCEPTABLE_PROTOCOL_VERSION = -113, // 表示客户端MQTT版本错误
- ERR_MQTT_CONNACK_IDENTIFIER_REJECTED = -114, // 表示客户端标识符错误
- ERR_MQTT_CONNACK_SERVER_UNAVAILABLE = -115, // 表示服务器不可用
- ERR_MQTT_CONNACK_BAD_USERDATA = -116, // 表示客户端连接参数中的username或password错误
- ERR_MQTT_CONNACK_NOT_AUTHORIZED = -117, // 表示客户端连接认证失败
- ERR_MQTT_RX_MESSAGE_PACKET_TYPE_INVALID = -118, // 表示收到的消息无效
- ERR_MQTT_BUFFER_TOO_SHORT = -119, // 表示消息接收缓冲区的长度小于消息的长度
- ERR_MQTT_QOS_NOT_SUPPORT = -120, // 表示该QOS级别不支持
- ERR_MQTT_UNSUB_FAILED = -121, // 表示取消订阅主题失败,比如该主题不存在
- ERR_JSON_PARSE = -132, // 表示JSON解析错误
- ERR_JSON_BUFFER_TRUNCATED = -133, // 表示JSON文档会被截断
- ERR_JSON_BUFFER_TOO_SMALL = -134, // 表示存储JSON文档的缓冲区太小
- ERR_JSON = -135, // 表示JSON文档生成错误
- ERR_MAX_JSON_TOKEN = -136, // 表示超过JSON文档中的最大Token数
- ERR_MAX_APPENDING_REQUEST = -137, // 表示超过同时最大的文档请求
- ERR_MAX_TOPIC_LENGTH = -138, // 表示超过规定最大的topic长度
- ERR_SHADOW_PROPERTY_EXIST = -201, // 表示注册的属性已经存在
- ERR_SHADOW_NOT_PROPERTY_EXIST = -202, // 表示注册的属性不存在
- ERR_SHADOW_UPDATE_TIMEOUT = -203, // 表示更新设备影子文档超时
- ERR_SHADOW_UPDATE_REJECTED = -204, // 表示更新设备影子文档被拒绝
- ERR_SHADOW_GET_TIMEOUT = -205, // 表示拉取设备影子文档超时
- ERR_SHADOW_GET_REJECTED = -206, // 表示拉取设备影子文档被拒绝
- ERR_OTA_GENERAL_FAILURE = -301, // 表示OTA通用FAILURE返回值
- ERR_OTA_INVALID_PARAM = -302, // 表示OTA参数错误
- ERR_OTA_INVALID_STATE = -303, // 表示OTA状态错误
- ERR_OTA_STR_TOO_LONG = -304, // 表示OTA字符串长度超过限制
- ERR_OTA_FETCH_FAILED = -305, // 表示固件下载失败
- ERR_OTA_FILE_NOT_EXIST = -306, // 表示固件不存在
- ERR_OTA_FETCH_AUTH_FAIL = -307, // 表示预签名认证失败
- ERR_OTA_FETCH_TIMEOUT = -308, // 表示下载超时
- ERR_OTA_NO_MEMORY = -309, // 表示内存不足
- ERR_OTA_OSC_FAILED = -310, // 表示OTA信号通道错误
- ERR_OTA_MD5_MISMATCH = -311, // 表示MD5不匹配
- ERR_TCP_SOCKET_FAILED = -601, // 表示TCP连接建立套接字失败
- ERR_TCP_UNKNOWN_HOST = -602, // 表示无法通过主机名获取IP地址
- ERR_TCP_CONNECT_FAILED = -603, // 表示建立TCP连接失败
- ERR_TCP_READ_TIMEOUT = -604, // 表示TCP读超时
- ERR_TCP_WRITE_TIMEOUT = -605, // 表示TCP写超时
- ERR_TCP_READ_FAILED = -606, // 表示TCP读错误
- ERR_TCP_WRITE_FAILED = -607, // 表示TCP写错误
- ERR_TCP_PEER_SHUTDOWN = -608, // 表示TCP对端关闭了连接
- ERR_TCP_NOTHING_TO_READ = -609, // 表示底层没有数据可以读取
- ERR_SSL_INIT_FAILED = -701, // 表示SSL初始化失败
- ERR_SSL_CERT_FAILED = -702, // 表示SSL证书相关问题
- ERR_SSL_CONNECT_FAILED = -703, // 表示SSL连接失败
- ERR_SSL_CONNECT_TIMEOUT = -704, // 表示SSL连接超时
- ERR_SSL_WRITE_TIMEOUT = -705, // 表示SSL写超时
- ERR_SSL_WRITE_FAILED = -706, // 表示SSL写错误
- ERR_SSL_READ_TIMEOUT = -707, // 表示SSL读超时
- ERR_SSL_READ_FAILED = -708, // 表示SSL读错误
- ERR_SSL_NOTHING_TO_READ = -709, // 表示底层没有数据可以读取
- } IoT_Error_t;
- #define Max(a,b) ((a) > (b) ? (a) : (b))
- #define Min(a,b) ((a) < (b) ? (a) : (b))
- #ifdef ENABLE_LOG_DEBUG
- #define LOG_DEBUG(...) \
- {\
- HAL_Printf("DEBUG: %s L#%d ", __func__, __LINE__); \
- HAL_Printf(__VA_ARGS__); \
- HAL_Printf("\r\n"); \
- }
- #else
- #define LOG_DEBUG(...)
- #endif
- /**
- * @brief Info level logging macro.
- *
- * Macro to expose desired log message. Info messages do not include automatic function names and line numbers.
- */
- #ifdef ENABLE_LOG_INFO
- #define LOG_INFO(...) \
- {\
- HAL_Printf(__VA_ARGS__); \
- HAL_Printf("\r\n"); \
- }
- #else
- #define LOG_INFO(...)
- #endif
- /**
- * @brief Warn level logging macro.
- *
- * Macro to expose function, line number as well as desired log message.
- */
- #ifdef ENABLE_LOG_WARN
- #define LOG_WARN(...) \
- { \
- HAL_Printf("WARN: %s L#%d ", __func__, __LINE__); \
- HAL_Printf(__VA_ARGS__); \
- HAL_Printf("\r\n"); \
- }
- #else
- #define LOG_WARN(...)
- #endif
- /**
- * @brief Error level logging macro.
- *
- * Macro to expose function, line number as well as desired log message.
- */
- #ifdef ENABLE_LOG_ERROR
- #define LOG_ERROR(...) \
- { \
- HAL_Printf("ERROR: %s L#%d ", __func__, __LINE__); \
- HAL_Printf(__VA_ARGS__); \
- HAL_Printf("\r\n"); \
- }
- #else
- #define LOG_ERROR(...)
- #endif
- #ifdef ENABLE_IOT_TRACE
- #define FUNC_ENTRY \
- {\
- HAL_Printf("FUNC_ENTRY: %s L#%d \r\n", __func__, __LINE__); \
- }
- #define FUNC_EXIT \
- {\
- HAL_Printf("FUNC_EXIT: %s L#%d \r\n", __func__, __LINE__); \
- return; \
- }
- #define FUNC_EXIT_RC(x) \
- {\
- HAL_Printf("FUNC_EXIT: %s L#%d Return Code : %d \r\n", __func__, __LINE__, x); \
- return x; \
- }
- #else
- #define FUNC_ENTRY
- #define FUNC_EXIT { return; }
- #define FUNC_EXIT_RC(x) { return x; }
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif //C_SDK_UIOT_DEFS_H_
|