294 lines
9.0 KiB
C
294 lines
9.0 KiB
C
|
/*
|
|||
|
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
|
|||
|
* Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK APIͷ<EFBFBD>ļ<EFBFBD>
|
|||
|
*/
|
|||
|
#ifndef HILINK_BT_API_H
|
|||
|
#define HILINK_BT_API_H
|
|||
|
|
|||
|
#include "ble_cfg_net_api.h"
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
/* <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD> */
|
|||
|
#define ADV_VALUE_MAX_LEN 31
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>ջ<EFBFBD><D5BB>־ */
|
|||
|
#define BLE_DEINIT_FALG 0x1234ABCD
|
|||
|
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_SDK_STATUS_SVC_RUNNING = 0, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
HILINK_BT_SDK_STATUS_DEINIT, /* ע<><D7A2> */
|
|||
|
HILINK_BT_SDK_STATUS_NAME_SET_ABNORM, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_DISCOVER_MODE_SET_ABNORM, /* <20><><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_REG_APP_ABNORM, /* ע<><D7A2>BLEӦ<45><D3A6><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_SVC_CREATE_ABNORM, /* <20><><EFBFBD><EFBFBD><F1B4B4BD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_CHAR_ADD_ABNORM, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_DESC_ADD_ABNORM, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_SVC_START_ABNORM, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_ADV_PARA_SET_ABNORM, /* <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_ADV_DATA_SET_ABNORM, /* <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
HILINK_BT_SDK_STATUS_ADV_START_ABNORM, /* <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD><EFBFBD>쳣 */
|
|||
|
} HILINK_BT_SdkStatus;
|
|||
|
|
|||
|
/* GATTS char<61><72><EFBFBD><EFBFBD>ȡֵ */
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_CHAR_PROP_WRITE = 0x08,
|
|||
|
HILINK_BT_CHAR_PROP_READ = 0x02,
|
|||
|
HILINK_BT_CHAR_PROP_NOTIFY = 0x10,
|
|||
|
HILINK_BT_CHAR_PROP_INDICATE = 0x20
|
|||
|
} HILINK_BT_CharProperty;
|
|||
|
|
|||
|
/* GATTS charȨ<72><C8A8>ȡֵ */
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_CHAR_PERM_READ = 0x01,
|
|||
|
HILINK_BT_CHAR_PERM_READ_ENCRYPTED = 0x02,
|
|||
|
HILINK_BT_CHAR_PERM_READ_ENCRYPTED_MITM = 0x04,
|
|||
|
HILINK_BT_CHAR_PERM_WRITE = 0x10,
|
|||
|
HILINK_BT_CHAR_PERM_WRITE_ENCRYPTED = 0x20,
|
|||
|
HILINK_BT_CHAR_PERM_WRITE_ENCRYPTED_MITM = 0x40,
|
|||
|
HILINK_BT_CHAR_PERM_WRITE_SIGNED = 0x80,
|
|||
|
HILINK_BT_CHAR_PERM_WRITE_SIGNED_MITM = 0x100,
|
|||
|
} HILINK_BT_CharPermission;
|
|||
|
|
|||
|
/* GATTS desc<73><63><EFBFBD><EFBFBD>ȡֵ */
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_DESC_PERM_WRITE = 0x01,
|
|||
|
HILINK_BT_DESC_PERM_READ = 0x02
|
|||
|
} HILINK_BT_DescPermission;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>: <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_CMD_DATA_TYPE_INT,
|
|||
|
HILINK_BT_CMD_DATA_TYPE_STR,
|
|||
|
} HILINK_BT_CmdDataType;
|
|||
|
|
|||
|
/* hilink<6E><6B><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
typedef enum {
|
|||
|
HILINK_BT_CMD_DATA_MODE_TLV = 0x00, /* TLV<4C><56>ʽ: <20><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>ռ<EFBFBD>õĿռ<C4BF> */
|
|||
|
HILINK_BT_CMD_DATA_MODE_JSON = 0x01 /* JSON<4F><4E>ʽ: <20><>չ<EFBFBD>Ը<EFBFBD><D4B8>ã<EFBFBD>Ĭ<EFBFBD>ϸ<EFBFBD>ʽ */
|
|||
|
} HILINK_BT_CmdDataMode;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK״̬<D7B4>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
typedef void (*HILINK_BT_SdkEventCallBack)(HILINK_BT_SdkStatus event, const void *param);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<DDBB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
typedef int (*HILINK_BT_SendBtDataCallback)(const unsigned char *buf, unsigned int len);
|
|||
|
|
|||
|
/* <20>Զ<EFBFBD><D4B6><EFBFBD>gatt<74><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ص<EFBFBD> */
|
|||
|
typedef int (*HILINK_BT_GattReadCallback)(unsigned char *out, unsigned int *outLen);
|
|||
|
|
|||
|
/* <20>Զ<EFBFBD><D4B6><EFBFBD>gatt<74><74><EFBFBD><EFBFBD>д<EFBFBD>¼<EFBFBD><C2BC>ص<EFBFBD> */
|
|||
|
typedef int (*HILINK_BT_GattWriteCallback)(const unsigned char *in, unsigned int inLen);
|
|||
|
|
|||
|
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>mac<61><63>ַ<EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
typedef int (*HILINK_BT_GetBtMacCallBack)(const unsigned char *buf, unsigned int len);
|
|||
|
|
|||
|
/* <20><>Ʒ<EFBFBD><C6B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
char *manuName;
|
|||
|
char *devName;
|
|||
|
char *productId;
|
|||
|
char *sn;
|
|||
|
char *mac;
|
|||
|
char *subProductId;
|
|||
|
} HILINK_BT_DevInfo;
|
|||
|
|
|||
|
/* <20><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6A8><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
unsigned char attrIdx;
|
|||
|
char *attr;
|
|||
|
HILINK_BT_CmdDataType dataType;
|
|||
|
int (*putFunc)(const void *data, unsigned int len);
|
|||
|
int (*getFunc)(void *buf, unsigned int *bufLen, unsigned int len);
|
|||
|
} HILINK_BT_AttrInfo;
|
|||
|
|
|||
|
/* <20><>Ʒ<EFBFBD><C6B7><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
unsigned char svcIdx;
|
|||
|
char *service;
|
|||
|
int (*putFunc)(const void *svc, const unsigned char *in, unsigned int inLen,
|
|||
|
unsigned char **out, unsigned int *outLen);
|
|||
|
int (*getFunc)(const void *svc, const unsigned char *in, unsigned int inLen,
|
|||
|
unsigned char **out, unsigned int *outLen);
|
|||
|
unsigned char attrNum;
|
|||
|
HILINK_BT_AttrInfo *attrInfo;
|
|||
|
} HILINK_BT_SvcInfo;
|
|||
|
|
|||
|
/* <20><>ƷProfile<6C><65><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
unsigned int svcNum;
|
|||
|
HILINK_BT_SvcInfo *svcInfo;
|
|||
|
} HILINK_BT_Profile;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>gatt character<65><72><EFBFBD><EFBFBD> */
|
|||
|
typedef struct {
|
|||
|
char *descUuid;
|
|||
|
/* gatt<74><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дȨ<D0B4>ޣ<EFBFBD>ȡֵ<C8A1><D6B5>HILINK_BT_DescPermission<6F><6E><EFBFBD>͵ij<CDB5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD> */
|
|||
|
unsigned int descPermission;
|
|||
|
} HILINK_BT_GattProfileDesc;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>gatt character */
|
|||
|
typedef struct {
|
|||
|
char *charUuid;
|
|||
|
/* gatt charȨ<72><C8A8>:ȡֵ<C8A1><D6B5>HILINK_BT_CharPermission<6F><6E><EFBFBD>͵ij<CDB5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD> */
|
|||
|
unsigned int charPermission;
|
|||
|
/* gatt char<61><72><EFBFBD><EFBFBD>:ȡֵ<C8A1><D6B5>HILINK_BT_CharProperty<74><79><EFBFBD>͵ij<CDB5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD> */
|
|||
|
unsigned int charProperty;
|
|||
|
HILINK_BT_GattReadCallback readFunc;
|
|||
|
HILINK_BT_GattWriteCallback writeFunc;
|
|||
|
HILINK_BT_GattProfileDesc *desc;
|
|||
|
unsigned char descNum;
|
|||
|
} HILINK_BT_GattProfileChar;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>gatt <20><><EFBFBD><EFBFBD> */
|
|||
|
typedef struct {
|
|||
|
char *svcUuid;
|
|||
|
int isPrimary;
|
|||
|
HILINK_BT_GattProfileChar *character;
|
|||
|
unsigned char charNum;
|
|||
|
} HILINK_BT_GattProfileSvc;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>gatt<74><74><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> */
|
|||
|
typedef struct {
|
|||
|
HILINK_BT_GattProfileSvc *service;
|
|||
|
unsigned char serviceNum;
|
|||
|
} HILINK_BT_GattServiceList;
|
|||
|
|
|||
|
/* <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>ṹ<EFBFBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
int (*createItem)(const char *name, unsigned int size);
|
|||
|
int (*readItem)(const char *name, unsigned char *buf, unsigned int len);
|
|||
|
int (*writeItem)(const char *name, const unsigned char *buf, unsigned int len);
|
|||
|
int (*deleteItem)(const char *name);
|
|||
|
} HILINK_BT_ConfigInterface;
|
|||
|
|
|||
|
/* <20><>ȡ<EFBFBD>㲥<EFBFBD><E3B2A5><EFBFBD>ݽṹ<DDBD><E1B9B9> */
|
|||
|
typedef struct {
|
|||
|
unsigned int advSvcDataLen;
|
|||
|
unsigned char advSvcData[ADV_VALUE_MAX_LEN];
|
|||
|
unsigned int advRspDataLen;
|
|||
|
unsigned char advRspData[ADV_VALUE_MAX_LEN];
|
|||
|
} HILINK_BT_AdvertiseData;
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ģʽ */
|
|||
|
int HILINK_BT_SetEncodeMode(HILINK_BT_CmdDataMode mode);
|
|||
|
|
|||
|
/* <20><>ѯӦ<D1AF>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ģʽ */
|
|||
|
HILINK_BT_CmdDataMode HILINK_BT_GetEncodeMode(void);
|
|||
|
|
|||
|
/* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HiLink Bluetooth SDK */
|
|||
|
int HILINK_BT_Init(const HILINK_BT_Profile *profile);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>HiLink BT SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HiLinkЭ<6B><D0AD>ջ */
|
|||
|
int HILINK_BT_Process(void);
|
|||
|
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>HiLink Bluetooth SDK
|
|||
|
* flagΪ0<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD>ƺ͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<EFBFBD>flagΪ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>
|
|||
|
*/
|
|||
|
int HILINK_BT_DeInit(unsigned int flag);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>HiLink<6E><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣservice<63><65>Ϣ */
|
|||
|
int HILINK_BT_AddHiLilnkService(const HILINK_BT_SvcInfo *serviceArray, unsigned int serviceNum);
|
|||
|
|
|||
|
/* ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>״̬ */
|
|||
|
int HILINK_BT_ReportServiceState(const void *service, const void *buf, unsigned int len);
|
|||
|
|
|||
|
/* ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>״̬ */
|
|||
|
int HILINK_BT_ReportAttrState(const void *svc, const void *attr, const void *buf, unsigned int len);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_ProcessBtData(const unsigned char *buf, unsigned int len);
|
|||
|
|
|||
|
/* ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7>ͽӿ<CDBD> */
|
|||
|
int HILINK_BT_RegisterBtDataSendCallback(HILINK_BT_SendBtDataCallback callback);
|
|||
|
|
|||
|
/* <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7>ͽӿ<CDBD> */
|
|||
|
HILINK_BT_SendBtDataCallback HILINK_BT_GetBtDataSendCallback(void);
|
|||
|
|
|||
|
/* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mac<61><63>ַ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> */
|
|||
|
int HILINK_BT_BtMacSendInit(HILINK_BT_GetBtMacCallBack callback);
|
|||
|
|
|||
|
/* <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>mac<61><63>ַ<EFBFBD>ķ<EFBFBD><C4B7>ͽӿ<CDBD> */
|
|||
|
HILINK_BT_GetBtMacCallBack HILINK_BT_GetBtMacSendCallback(void);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<44>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_SetSdkEventCallback(HILINK_BT_SdkEventCallBack callback);
|
|||
|
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>BLE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>connNum<EFBFBD>ķ<EFBFBD>ΧΪ[1,10]
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ10<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>1<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>Ϊ1
|
|||
|
*/
|
|||
|
void HILINK_BT_SetMaxConnNum(int connNum);
|
|||
|
|
|||
|
/* <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_GetMaxConnNum(void);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<44>Զ<EFBFBD><D4B6><EFBFBD>gatt<74><74><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_SetGattProfile(HILINK_BT_GattServiceList *gattServiceList);
|
|||
|
|
|||
|
/* ע<><D7A2><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HiLink Bluetooth SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øú<C3B8><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ʹ<EFBFBD><CAB9>HiLink Bluetooth SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5> */
|
|||
|
int HILINK_BT_RegisterConfigInterface(const HILINK_BT_ConfigInterface *interface);
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>㲥 */
|
|||
|
int HILINK_BT_StartAdvertise(void);
|
|||
|
|
|||
|
/* ֹͣ<CDA3>㲥 */
|
|||
|
int HILINK_BT_StopAdvertise(void);
|
|||
|
|
|||
|
/* <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_IndicateSvcCharData(const char *svcUuid, const char *charUuid, const char *buf, unsigned int len);
|
|||
|
|
|||
|
/*
|
|||
|
* <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>hilink<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>powerΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>λdbm<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>-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>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>輰ʱ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>HILINK_BT_StartAdvertise()<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㲥
|
|||
|
*/
|
|||
|
int HILINK_BT_GetDevSurfacePower(char *power);
|
|||
|
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD>ȡ<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
|
|||
|
* subProdIdΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺŵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lenΪ<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><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>0
|
|||
|
* û<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>hilink sdk<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>
|
|||
|
*/
|
|||
|
int HILINK_GetSubProdId(char *subProdId, int len);
|
|||
|
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD>ȡ<EFBFBD>豸SN
|
|||
|
* <EFBFBD><EFBFBD>hilink sdk<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>
|
|||
|
*/
|
|||
|
void HilinkGetDeviceSn(unsigned int len, char *sn);
|
|||
|
|
|||
|
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>SDK<44>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ */
|
|||
|
HILINK_BT_DevInfo *HILINK_BT_GetDevInfo(void);
|
|||
|
|
|||
|
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й㲥<D0B9><E3B2A5><EFBFBD><EFBFBD> */
|
|||
|
int HILINK_BT_GetAdvertiseData(HILINK_BT_AdvertiseData *advertiseData);
|
|||
|
|
|||
|
/* <20><>ȡBLE<4C><45><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
BLE_CfgNetCb *GetBleCfgNetCallback(void);
|
|||
|
|
|||
|
/* <20>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ͷ<EFBFBD>ͨ<EFBFBD><CDA8>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>Դ */
|
|||
|
void HILINK_BT_DisconnectFreeResource(void);
|
|||
|
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>linuxϵͳ<EFBFBD><EFBFBD>д<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>,·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD>ܳ<EFBFBD><EFBFBD><EFBFBD>33<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>
|
|||
|
*/
|
|||
|
void HILINK_BT_SetConfigDirPath(const char *configDirPath);
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
#endif
|