You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
5.2 KiB
C
181 lines
5.2 KiB
C
![]()
1 year ago
|
#pragma once
|
||
|
|
||
|
#if defined(WIN32) || defined(WIN64)
|
||
|
#include "windows.h"
|
||
|
#endif
|
||
|
|
||
|
#include <unistd.h>
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
#include <time.h>
|
||
|
|
||
|
#define HW_TRUE 1 /**< Indicates HW_TRUE */
|
||
|
#define HW_FALSE 0 /**< Indicates HW_FALSE */
|
||
|
|
||
|
#define HW_SUCCESS 0 /**< Indicates success */
|
||
|
#define HW_FAILED 1 /**< Indicates failed */
|
||
|
#define HW_NULL ((void *)0) /**< Indicates null ptr */
|
||
|
|
||
|
typedef int HW_INT; /**< Indicates type of int. */
|
||
|
typedef unsigned int HW_UINT; /**< Indicates type of unsigned int. */
|
||
|
typedef char HW_CHAR; /**< Indicates type of char. */
|
||
|
typedef unsigned char HW_UCHAR;/**< Indicates type of unsigned char. */
|
||
|
typedef int HW_BOOL; /**< Indicates type of HW_BOOL. */
|
||
|
typedef void HW_VOID; /**< Indicates type of void. */
|
||
|
|
||
|
#define IOTA_SUCCESS 0
|
||
|
#define IOTA_FAILURE -1
|
||
|
#define IOTA_PARAMETER_EMPTY -101
|
||
|
#define IOTA_RESOURCE_NOT_AVAILABLE -102
|
||
|
#define IOTA_INITIALIZATION_REPEATED -103
|
||
|
#define IOTA_LIBRARY_LOAD_FAILED -104
|
||
|
#define IOTA_SECRET_ENCRYPT_FAILED -105
|
||
|
#define IOTA_MQTT_CONNECT_FAILED -106
|
||
|
#define IOTA_MQTT_CONNECT_EXISTED -107
|
||
|
#define IOTA_CERTIFICATE_NOT_FOUND -108
|
||
|
|
||
|
#define IOTA_TOPIC_PREFIX "/v1/devices/"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_ADD "/topo/add"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_ADDRESPONSE "/topo/addResponse"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_UPDATE "/topo/update"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_UPDATERESPONSE "/topo/updateResponse"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_DELETE "/topo/delete"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_QUERY "/topo/query"
|
||
|
#define IOTA_TOPIC_POSTFIX_TOPO_QUERYRESPONSE "/topo/queryResponse"
|
||
|
#define IOTA_TOPIC_POSTFIX_COMMAND "/command"
|
||
|
#define IOTA_TOPIC_POSTFIX_COMMANDRESPONSE "/commandResponse"
|
||
|
#define IOTA_TOPIC_POSTFIX_DATAS "/datas"
|
||
|
|
||
|
|
||
|
typedef enum enum_IOTA_CALLBACK_SETTING
|
||
|
{
|
||
|
EN_IOTA_CALLBACK_CONNECT_SUCCESS = 11,
|
||
|
EN_IOTA_CALLBACK_CONNECT_FAILURE = 12,
|
||
|
EN_IOTA_CALLBACK_DISCONNECT_SUCCESS = 13,
|
||
|
EN_IOTA_CALLBACK_DISCONNECT_FAILURE = 14,
|
||
|
EN_IOTA_CALLBACK_CONNECTION_LOST = 15,
|
||
|
|
||
|
EN_IOTA_CALLBACK_PUBLISH_SUCCESS = 21,
|
||
|
EN_IOTA_CALLBACK_PUBLISH_FAILURE = 22,
|
||
|
|
||
|
EN_IOTA_CALLBACK_SUBSCRIBE_SUCCESS = 31,
|
||
|
EN_IOTA_CALLBACK_SUBSCRIBE_FAILURE = 32,
|
||
|
|
||
|
EN_IOTA_CALLBACK_COMMAND_ARRIVED = 41,
|
||
|
|
||
|
EN_IOTA_CALLBACK_DEVICE_ADDITION_RESULT = 51,
|
||
|
EN_IOTA_CALLBACK_DEVICE_DELETION_RESULT = 52,
|
||
|
EN_IOTA_CALLBACK_DEVICE_UPDATE_RESULT = 53,
|
||
|
EN_IOTA_CALLBACK_DEVICE_QUERY_RESULT = 54,
|
||
|
|
||
|
}EN_IOTA_CALLBACK_SETTING;
|
||
|
|
||
|
typedef enum enum_IOTA_CFG_TYPE
|
||
|
{
|
||
|
EN_IOTA_CFG_DEVICEID = 0, //the value for this item is deviceId or nodeId
|
||
|
EN_IOTA_CFG_DEVICESECRET = 1,
|
||
|
EN_IOTA_CFG_USERNAME = 2,
|
||
|
EN_IOTA_CFG_CLIENTID = 3,
|
||
|
|
||
|
EN_IOTA_CFG_MQTT_ADDR = 5,
|
||
|
EN_IOTA_CFG_MQTT_PORT = 6,
|
||
|
EN_IOTA_CFG_MQTT_URL_PREFIX = 7,
|
||
|
|
||
|
EN_IOTA_CFG_AUTH_MODE = 9, //for configuration value of this item, please refer to @enum_IOTA_CFG_AUTH_MODE below
|
||
|
|
||
|
EN_IOTA_CFG_LOG_LOCAL_NUMBER = 10, //take effect only when syslog is available
|
||
|
EN_IOTA_CFG_LOG_LEVEL = 11, //take effect only when syslog is available
|
||
|
|
||
|
EN_IOTA_CFG_KEEP_ALIVE_TIME = 12,
|
||
|
EN_IOTA_CFG_CONNECT_TIMEOUT = 13,
|
||
|
EN_IOTA_CFG_RETRY_INTERVAL = 14,
|
||
|
|
||
|
EN_IOTA_CFG_RESET_SECRET_IN_PROGRESS = 15,
|
||
|
|
||
|
EN_IOTA_CFG_QOS = 16,
|
||
|
|
||
|
}EN_IOTA_CFG_TYPE;
|
||
|
|
||
|
typedef enum enum_IOTA_CFG_AUTH_MODE
|
||
|
{
|
||
|
EN_IOTA_CFG_AUTH_MODE_DEVICE_ID = 0,
|
||
|
EN_IOTA_CFG_AUTH_MODE_NODE_ID = 2,
|
||
|
}ENUM_IOTA_CFG_AUTH_MODE;
|
||
|
|
||
|
typedef enum enum_IOTA_CFG_URL_PREFIX
|
||
|
{
|
||
|
EN_IOTA_CFG_URL_PREFIX_TCP = 0,
|
||
|
EN_IOTA_CFG_URL_PREFIX_SSL = 1,
|
||
|
}ENUM_IOTA_CFG_URL_PREFIX;
|
||
|
|
||
|
typedef enum enum_LOG_LEVEL
|
||
|
{
|
||
|
EN_LOG_LEVEL_DEBUG = 0,
|
||
|
EN_LOG_LEVEL_INFO = 1,
|
||
|
EN_LOG_LEVEL_WARNING = 2,
|
||
|
EN_LOG_LEVEL_ERROR = 3,
|
||
|
|
||
|
}LOGLEVEL;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_DEVICE_INFO
|
||
|
{
|
||
|
HW_CHAR* pcNodeId;
|
||
|
HW_CHAR* pcDeviceId;
|
||
|
HW_CHAR* pcName;
|
||
|
HW_CHAR* pcDescription;
|
||
|
HW_CHAR* pcManufacturerId;
|
||
|
HW_CHAR* pcManufacturerName;
|
||
|
HW_CHAR* pcModel;
|
||
|
}ST_IOTA_DEVICE_INFO;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_ADD_DEVICE_RSP
|
||
|
{
|
||
|
HW_INT iStatusCode;
|
||
|
HW_CHAR* pcStatusDecs;
|
||
|
ST_IOTA_DEVICE_INFO stDeviceInfos;
|
||
|
}ST_IOTA_ADD_DEVICE_RSP;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_BatchReportProperties
|
||
|
{
|
||
|
HW_CHAR* pcDeviceId;
|
||
|
HW_CHAR* pcServiceId;
|
||
|
HW_CHAR* pcPayload;
|
||
|
}ST_IOTA_BatchReportProperties;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_DEVICE_STATUS
|
||
|
{
|
||
|
HW_CHAR* pcDeviceId;
|
||
|
HW_CHAR* pcStatus;
|
||
|
}ST_IOTA_DEVICE_STATUS;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_UPDATE_STATUS_RSP
|
||
|
{
|
||
|
HW_INT iStatusCode;
|
||
|
HW_CHAR* pcStatusDecs;
|
||
|
HW_CHAR* pcDeviceId;
|
||
|
}ST_IOTA_UPDATE_STATUS_RSP;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_COMMAND
|
||
|
{
|
||
|
HW_CHAR* pcDeviceId;
|
||
|
HW_CHAR* pcMsgType;
|
||
|
HW_CHAR* pcServiceId;
|
||
|
HW_CHAR* pcCmd;
|
||
|
HW_CHAR* pcParas; //ObjectNode, json string
|
||
|
HW_INT iMid;
|
||
|
}ST_IOTA_COMMAND;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_COMMAND_RSP
|
||
|
{
|
||
|
HW_CHAR* pcMsgType;
|
||
|
HW_INT iMid;
|
||
|
HW_INT iErrorCode;
|
||
|
HW_CHAR* pcBody; //ObjectNode, json string
|
||
|
}ST_IOTA_COMMAND_RSP;
|
||
|
|
||
|
typedef struct stru_ST_IOTA_SERVICES
|
||
|
{
|
||
|
HW_CHAR* pcServiceId;
|
||
|
HW_CHAR* pcData; //ObjectNode, json string
|
||
|
HW_CHAR* pcEventTime;
|
||
|
}ST_IOTA_SERVICES;
|