EC600U_esp32_iap_uart/HiLinkSDK/include/hilink_device.h

150 lines
4.3 KiB
C
Raw Normal View History

2024-02-05 17:39:56 +08:00
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved.
* Description: HiLink<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
* Notes: <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>еĽӿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻӿ<EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*/
#ifndef HILINK_DEVICE_H
#define HILINK_DEVICE_H
#ifdef __cplusplus
extern "C" {
#endif
/* <20><EFBFBD><EFBFBD><E6B1BE>Ϣ */
#define FIRMWARE_VER "1.0.0"
#define SOFTWARE_VER "1.0.0"
#define HARDWARE_VER "1.0.0"
/* <20><EFBFBD><E8B1B8>Ʒ<EFBFBD><C6B7>Ϣ */
#define PRODUCT_ID "1011"
#define DEVICE_TYPE "01D"
#define MANUAFACTURER "011"
#define DEVICE_MODEL "SP mini3-HL"
/* <20><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>17<31>ֽ<EFBFBD> */
#define DEVICE_TYPE_NAME "Switch"
#define MANUAFACTURER_NAME "Broadlink"
/* ͨ<><CDA8>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: WiFi */
#define PROTOCOL_TYPE 1
/* HiLink SDK ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> */
#define HILINK_REBOOT_WATCHDOG 0
#define HILINK_REBOOT_DEVDELETE 1
/* <20><EFBFBD><E8B1B8><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ӶϿ<D3B6>(<28><EFBFBD><E6B1BE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>) */
#define HILINK_M2M_CLOUD_OFFLINE 0
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ƶ˳ɹ<CBB3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬(<28><EFBFBD><E6B1BE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>) */
#define HILINK_M2M_CLOUD_ONLINE 1
/* <20><EFBFBD><E8B1B8><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ͽ<EFBFBD>(<28><EFBFBD><E6B1BE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>) */
#define HILINK_M2M_LONG_OFFLINE 2
/* <20><EFBFBD><E8B1B8><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><EFBFBD><E6B1BE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>) */
#define HILINK_M2M_LONG_OFFLINE_REBOOT 3
/* HiLink<6E>߳<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> */
#define HILINK_UNINITIALIZED 4
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ */
#define HILINK_LINK_UNDER_AUTO_CONFIG 5
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>10<31><30><EFBFBD>ӳ<EFBFBD>ʱ״̬ */
#define HILINK_LINK_CONFIG_TIMEOUT 6
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD> */
#define HILINK_LINK_CONNECTTING_WIFI 7
/* <20><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD> */
#define HILINK_LINK_CONNECTED_WIFI 8
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD> */
#define HILINK_M2M_CONNECTTING_CLOUD 9
/* <20><EFBFBD><E8B1B8>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӶϿ<D3B6> */
#define HILINK_M2M_CLOUD_DISCONNECT 10
/* <20><EFBFBD><E8B1B8>ע<EFBFBD><D7A2> */
#define HILINK_DEVICE_REGISTERED 11
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
#define HILINK_DEVICE_UNREGISTER 12
/* <20><EFBFBD><E8B1B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ */
#define HILINK_REVOKE_FLAG_SET 13
/* <20>豸Э<E8B1B8><D0AD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>Ϣʧ<CFA2><CAA7> */
#define HILINK_NEGO_REG_INFO_FAIL 14
/* <20><EFBFBD><E8B1B8><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD>󳤶<EFBFBD> */
#define MAX_SN_LENGTH 40
/* <20><>ȡBI <20><><EFBFBD><EFBFBD><EFBFBD>ӿں<D3BF><DABA><EFBFBD> */
char *hilink_get_auto_bi_rsa_cipher(void);
/* <20><>ȡAC <20><><EFBFBD><EFBFBD><EFBFBD>ӿں<D3BF><DABA><EFBFBD> */
unsigned char *hilink_get_auto_ac(void);
/*
* <EFBFBD>޸ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ֶ<EFBFBD>ֵ
* svcIdΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>payloadΪ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĵ<EFBFBD>Json<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>lenΪpayload<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ֵ̬<EFBFBD>޸ijɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HiLink SDK<EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>-101<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>-111<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ֵ̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>޸ijɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>
*/
int hilink_put_char_state(const char *svcId, const char *payload, unsigned int len);
/*
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ
* svcId<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ָú<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>svcId<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD>
* in<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>Json<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
* inLen<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>in<EFBFBD>ij<EFBFBD><EFBFBD>ȣ<EFBFBD>
* out<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ָ<EFBFBD><EFBFBD>,<EFBFBD>ڴ<EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD>٣<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Hilink Device SDK<EFBFBD>ͷţ<EFBFBD>
* outLen<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>payload<EFBFBD>ij<EFBFBD><EFBFBD>ȣ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>ֶ<EFBFBD>ֵ<EFBFBD><EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>ֶ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>
*/
int hilink_get_char_state(const char *svcId, const char *in, unsigned int inLen, char **out, unsigned int *outLen);
/*
* <EFBFBD><EFBFBD>ȡ<EFBFBD>sn<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>len<EFBFBD><EFBFBD>ʾsn<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>,39<EFBFBD>ֽ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn<EFBFBD><EFBFBD>ʾ<EFBFBD>sn
* snָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>mac<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>Ϊsn
*/
void HilinkGetDeviceSn(unsigned int len, char *sn);
/*
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ż<EFBFBD>ȡ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ż<EFBFBD>ȡʧ<EFBFBD><EFBFBD>
* ע<EFBFBD><EFBFBD>˽ӿ<EFBFBD>ΪHiLink<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD>
*/
int getDeviceVersion(char **firmwareVer, char **softwareVer, char **hardwareVer);
/*
* <EFBFBD><EFBFBD>ȡSoftAp<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PIN<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ8λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PIN<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<EFBFBD><EFBFBD>ʾʹ<EFBFBD><EFBFBD>HiLink SDK<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>PIN<EFBFBD><EFBFBD>
* <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>
*/
int HiLinkGetPinCode(void);
/*
* <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>ʶ
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int HILINK_IsSensitiveDevice(void);
/*
* ֪ͨ<EFBFBD><EFBFBD><EFBFBD>״̬
* status<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>״̬
* ע<EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD><EFBFBD>ݲ<EFBFBD>Ʒҵ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>
*/
void hilink_notify_devstatus(int status);
/*
* ʵ<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* flagΪ0<EFBFBD><EFBFBD>ʾHiLink SDK <EFBFBD>߳̿<EFBFBD><EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; Ϊ1<EFBFBD><EFBFBD>ʾAPPɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>, ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>, ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
* <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ֵ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>, ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ע<EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD>APPɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int hilink_process_before_restart(int flag);
/*
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨAPP
* status<EFBFBD><EFBFBD>ʾ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹<EFBFBD><EFBFBD>ϣ<EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>code<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>0ʧ<EFBFBD><EFBFBD>
*/
int get_faultDetection_state(int *status, int *code);
#ifdef __cplusplus
}
#endif
#endif