Update IDF to c4e65d6

This commit is contained in:
me-no-dev
2017-09-22 17:28:54 +08:00
parent e2bd93c092
commit d27d297195
95 changed files with 2149 additions and 930 deletions

View File

@ -27,6 +27,7 @@
#include "bta_api.h"
#include "gatt_api.h"
#include "list.h"
#ifndef BTA_GATT_INCLUDED
#warning BTA_GATT_INCLUDED not defined
@ -43,6 +44,34 @@
#define BTA_GATT_DEBUG FALSE
#endif
typedef enum {
BTGATT_DB_PRIMARY_SERVICE,
BTGATT_DB_SECONDARY_SERVICE,
BTGATT_DB_CHARACTERISTIC,
BTGATT_DB_DESCRIPTOR,
BTGATT_DB_INCLUDED_SERVICE,
}bt_gatt_db_attribute_type_t;
typedef enum {
GATT_OP_GET_SVC_BY_UUID,
GATT_OP_GET_ALL_CHAR,
GATT_OP_GET_ALL_DESCRI,
GATT_OP_GET_CHAR_BY_UUID,
GATT_OP_GET_DESCRI_BY_UUID,
GATT_OP_GET_DESCRI_BY_HANDLE,
GATT_OP_GET_INCLUDE_SVC,
}bt_gatt_get_db_op_t;
typedef struct {
bt_gatt_db_attribute_type_t type;
UINT16 attribute_handle;
UINT16 start_handle;
UINT16 end_handle;
UINT16 id;
UINT8 properties;
bt_uuid_t uuid;
}btgatt_db_element_t;
/*****************************************************************************
** Constants and data types
*****************************************************************************/
@ -104,7 +133,7 @@ typedef struct {
#define BTA_GATT_APP_RSP GATT_APP_RSP /* 0xE1 */
//Error caused by customer application or stack bug
#define BTA_GATT_UNKNOWN_ERROR GATT_UNKNOWN_ERROR /* 0XEF */
/* 0xE0 ~ 0xFC reserved for future use */
#define BTA_GATT_CCC_CFG_ERR GATT_CCC_CFG_ERR /* 0xFD Client Characteristic Configuration Descriptor Improperly Configured */
#define BTA_GATT_PRC_IN_PROGRESS GATT_PRC_IN_PROGRESS /* 0xFE Procedure Already in progress */
#define BTA_GATT_OUT_OF_RANGE GATT_OUT_OF_RANGE /* 0xFFAttribute value out of range */
@ -213,41 +242,13 @@ typedef struct {
BOOLEAN is_primary;
} tBTA_GATT_SRVC_ID;
typedef struct {
tBTA_GATT_SRVC_ID srvc_id;
tBTA_GATT_ID char_id;
} tBTA_GATTC_CHAR_ID;
typedef struct {
tBTA_GATTC_CHAR_ID char_id;
tBTA_GATT_ID descr_id;
} tBTA_GATTC_CHAR_DESCR_ID;
typedef struct {
tBTA_GATT_SRVC_ID srvc_id;
tBTA_GATT_SRVC_ID incl_svc_id;
} tBTA_GATTC_INCL_SVC_ID;
#define BTA_GATT_TYPE_CHAR 0
#define BTA_GATT_TYPE_CHAR_DESCR 1
typedef UINT8 tBTA_GATT_ID_TYPE;
typedef struct {
tBTA_GATT_ID_TYPE id_type;
union {
tBTA_GATTC_CHAR_ID char_id;
tBTA_GATTC_CHAR_DESCR_ID char_descr_id;
} id_value;
} tBTA_GATTC_ATTR_ID;
#define BTA_GATTC_MULTI_MAX GATT_MAX_READ_MULTI_HANDLES
typedef struct {
UINT8 num_attr;
tBTA_GATTC_ATTR_ID id_list[BTA_GATTC_MULTI_MAX];
} tBTA_GATTC_MULTI;
UINT16 handles[BTA_GATTC_MULTI_MAX];
}tBTA_GATTC_MULTI;
/* relate to ESP_GATT_xxx in esp_gatt_def.h */
#define BTA_GATT_AUTH_REQ_NONE GATT_AUTH_REQ_NONE
@ -275,44 +276,28 @@ typedef struct {
UINT8 id;
UINT8 prop; /* used when attribute type is characteristic */
BOOLEAN is_primary; /* used when attribute type is service */
} tBTA_GATTC_NV_ATTR;
UINT16 incl_srvc_handle; /* used when attribute type is included service */
}tBTA_GATTC_NV_ATTR;
/* callback data structure */
typedef struct {
tBTA_GATT_STATUS status;
tBTA_GATTC_IF client_if;
// btla-specific ++
tBT_UUID app_uuid;
// btla-specific --
} tBTA_GATTC_REG;
typedef struct {
UINT8 num_pres_fmt; /* number of presentation format aggregated*/
tBTA_GATTC_CHAR_DESCR_ID pre_format[BTA_GATTC_MULTI_MAX];
} tBTA_GATT_CHAR_AGGRE_VALUE;
typedef union {
tBTA_GATT_CHAR_AGGRE_VALUE aggre_value;
tBTA_GATT_UNFMT unformat;
} tBTA_GATT_READ_VAL;
}tBTA_GATTC_REG;
typedef struct {
UINT16 conn_id;
tBTA_GATT_STATUS status;
tBTA_GATT_SRVC_ID srvc_id;
tBTA_GATT_ID char_id;
tBTA_GATT_ID descr_type;
tBTA_GATT_READ_VAL *p_value;
} tBTA_GATTC_READ;
UINT16 handle;
tBTA_GATT_UNFMT *p_value;
}tBTA_GATTC_READ;
typedef struct {
UINT16 conn_id;
tBTA_GATT_STATUS status;
tBTA_GATT_SRVC_ID srvc_id;
tBTA_GATT_ID char_id;
tBTA_GATT_ID descr_type;
} tBTA_GATTC_WRITE;
UINT16 handle;
}tBTA_GATTC_WRITE;
typedef struct {
UINT16 conn_id;
@ -326,8 +311,10 @@ typedef struct {
typedef struct {
UINT16 conn_id;
tBTA_GATT_SRVC_ID service_uuid;
} tBTA_GATTC_SRVC_RES;
UINT16 start_handle;
UINT16 end_handle;
tBTA_GATT_ID service_uuid;
}tBTA_GATTC_SRVC_RES;
typedef struct {
UINT16 conn_id;
@ -355,8 +342,7 @@ typedef struct {
typedef struct {
UINT16 conn_id;
BD_ADDR bda;
tBTA_GATTC_CHAR_ID char_id;
tBTA_GATT_ID descr_type;
UINT16 handle;
UINT16 len;
UINT8 value[BTA_GATT_MAX_ATTR_LEN];
BOOLEAN is_notify;
@ -367,14 +353,12 @@ typedef struct {
BOOLEAN congested; /* congestion indicator */
} tBTA_GATTC_CONGEST;
// btla-specific ++
typedef struct {
tBTA_GATT_STATUS status;
tBTA_GATTC_IF client_if;
UINT16 conn_id;
BD_ADDR remote_bda;
} tBTA_GATTC_OPEN_CLOSE;
// btla-specific --
}tBTA_GATTC_OPEN_CLOSE;
typedef struct {
tBTA_GATTC_IF client_if;
@ -395,6 +379,8 @@ typedef struct {
BD_ADDR remote_bda;
} tBTA_GATTC_DISCONNECT;
typedef union {
tBTA_GATT_STATUS status;
@ -541,33 +527,26 @@ typedef struct {
typedef struct {
tBTA_GATTS_IF server_if;
tBTA_GATT_STATUS status;
// btla-specific ++
tBT_UUID uuid;
// btla-specific --
} tBTA_GATTS_REG_OPER;
}tBTA_GATTS_REG_OPER;
typedef struct {
tBTA_GATTS_IF server_if;
UINT16 service_id;
// btla-specific ++
UINT16 svc_instance;
BOOLEAN is_primary;
tBTA_GATT_STATUS status;
tBT_UUID uuid;
// btla-specific --
} tBTA_GATTS_CREATE;
}tBTA_GATTS_CREATE;
typedef struct {
tBTA_GATTS_IF server_if;
UINT16 service_id;
UINT16 attr_id;
tBTA_GATT_STATUS status;
// btla-specific ++
tBT_UUID char_uuid;
// btla-specific --
} tBTA_GATTS_ADD_RESULT;
}tBTA_GATTS_ADD_RESULT;
typedef struct{
tBTA_GATTS_IF server_if;
UINT16 service_id;
@ -614,7 +593,6 @@ typedef struct {
tBTA_GATT_STATUS status;
tBTA_GATTS_IF server_if;
} tBTA_GATTS_CANCEL_OPEN;
/* GATTS callback data */
typedef union {
tBTA_GATTS_REG_OPER reg_oper;
@ -648,6 +626,41 @@ typedef void (tBTA_GATTS_ENB_CBACK)(tBTA_GATT_STATUS status);
/* Server callback function */
typedef void (tBTA_GATTS_CBACK)(tBTA_GATTS_EVT event, tBTA_GATTS *p_data);
typedef struct
{
tBT_UUID uuid;
BOOLEAN is_primary;
UINT16 handle;
UINT16 s_handle;
UINT16 e_handle;
list_t *characteristics; /* list of tBTA_GATTC_CHARACTERISTIC */
list_t *included_svc; /* list of tBTA_GATTC_INCLUDED_SVC */
} __attribute__((packed)) tBTA_GATTC_SERVICE;
typedef struct
{
tBT_UUID uuid;
UINT16 handle;
tBTA_GATT_CHAR_PROP properties;
tBTA_GATTC_SERVICE *service; /* owning service*/
list_t *descriptors; /* list of tBTA_GATTC_DESCRIPTOR */
} __attribute__((packed)) tBTA_GATTC_CHARACTERISTIC;
typedef struct
{
tBT_UUID uuid;
UINT16 handle;
tBTA_GATTC_CHARACTERISTIC *characteristic; /* owning characteristic */
} __attribute__((packed)) tBTA_GATTC_DESCRIPTOR;
typedef struct
{
tBT_UUID uuid;
UINT16 handle;
UINT16 incl_srvc_s_handle;
tBTA_GATTC_SERVICE *owning_service; /* owning service*/
tBTA_GATTC_SERVICE *included_service;
} __attribute__((packed)) tBTA_GATTC_INCLUDED_SVC;
/*****************************************************************************
** External Function Declarations
@ -770,175 +783,114 @@ extern void BTA_GATTC_ServiceSearchRequest(UINT16 conn_id, tBT_UUID *p_srvc_uuid
/*******************************************************************************
**
** Function BTA_GATTC_GetFirstChar
** Function BTA_GATTC_GetServices
**
** Description This function is called to find the first charatceristic of the
** service on the given server.
** Description This function is called to find the services on the given server.
**
** Parameters conn_id: connection ID which identify the server.
** p_srvc_id: the service ID of which the characteristic is belonged to.
** p_char_uuid_cond: Characteristic UUID, if NULL find the first available
** characteristic.
** p_char_result: output parameter which will store the GATT
** characteristic ID.
** p_property: output parameter to carry the characteristic property.
**
** Returns returns status.
** Returns returns list_t of tBTA_GATTC_SERVICE or NULL.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetFirstChar (UINT16 conn_id,
tBTA_GATT_SRVC_ID *p_srvc_id,
tBT_UUID *p_char_uuid_cond,
tBTA_GATTC_CHAR_ID *p_char_result,
tBTA_GATT_CHAR_PROP *p_property);
extern const list_t* BTA_GATTC_GetServices(UINT16 conn_id);
/*******************************************************************************
**
** Function BTA_GATTC_GetNextChar
** Function BTA_GATTC_GetCharacteristic
**
** Description This function is called to find the next charatceristic of the
** service on the given server.
** Description This function is called to find the characteristic on the given server.
**
** Parameters conn_id: connection ID which identify the server.
** p_start_char_id: start the characteristic search from the next record
** after the one identified by char_id.
** p_char_uuid_cond: Characteristic UUID, if NULL find the first available
** characteristic.
** p_char_result: output parameter which will store the GATT
** characteristic ID.
** p_property: output parameter, characteristic property.
** handle: characteristic handle
**
** Returns returns status.
** Returns returns pointer to tBTA_GATTC_CHARACTERISTIC or NULL.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetNextChar (UINT16 conn_id,
tBTA_GATTC_CHAR_ID *p_start_char_id,
tBT_UUID *p_char_uuid_cond,
tBTA_GATTC_CHAR_ID *p_char_result,
tBTA_GATT_CHAR_PROP *p_property);
extern const tBTA_GATTC_CHARACTERISTIC* BTA_GATTC_GetCharacteristic(UINT16 conn_id, UINT16 handle);
/*******************************************************************************
**
** Function BTA_GATTC_GetFirstCharDescr
** Function BTA_GATTC_GetDescriptor
**
** Description This function is called to find the first charatceristic descriptor of the
** charatceristic on the given server.
** Description This function is called to find the characteristic on the given server.
**
** Parameters conn_id: connection ID which identify the server.
** p_char_id: the characteristic ID of which the descriptor is belonged to.
** p_descr_uuid_cond: Characteristic Descr UUID, if NULL find the first available
** characteristic.
** p_descr_result: output parameter which will store the GATT
** characteristic descriptor ID.
** handle: descriptor handle
**
** Returns returns status.
** Returns returns pointer to tBTA_GATTC_DESCRIPTOR or NULL.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetFirstCharDescr (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id,
tBT_UUID *p_descr_uuid_cond,
tBTA_GATTC_CHAR_DESCR_ID *p_descr_result);
extern const tBTA_GATTC_DESCRIPTOR* BTA_GATTC_GetDescriptor(UINT16 conn_id, UINT16 handle);
extern void BTA_GATTC_GetServiceWithUUID(UINT16 conn_id, tBT_UUID *svc_uuid,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetAllChar(UINT16 conn_id, UINT16 start_handle, UINT16 end_handle,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetAllDescriptor(UINT16 conn_id, UINT16 char_handle,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetCharByUUID(UINT16 conn_id, UINT16 start_handle, UINT16 end_handle, tBT_UUID char_uuid,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetDescrByUUID(UINT16 conn_id, uint16_t start_handle, uint16_t end_handle,
tBT_UUID char_uuid, tBT_UUID descr_uuid,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetDescrByCharHandle(UINT16 conn_id, UINT16 char_handle, tBT_UUID descr_uuid,
btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetIncludeService(UINT16 conn_id, UINT16 start_handle, UINT16 end_handle,
tBT_UUID *incl_uuid, btgatt_db_element_t **db, int *count);
extern void BTA_GATTC_GetDBSize(UINT16 conn_id, UINT16 start_handle, UINT16 end_handle, int *count);
extern void BTA_GATTC_GetDBSizeByType(UINT16 conn_id, bt_gatt_db_attribute_type_t type,
UINT16 start_handle, UINT16 end_handle, UINT16 char_handle, int *count);
/*******************************************************************************
**
** Function BTA_GATTC_GetNextCharDescr
** Function BTA_GATTC_GetGattDb
**
** Description This function is called to find the next charatceristic of the
** service on the given server.
** Description This function is called to get gatt db.
**
** Parameters conn_id: connection ID which identify the server.
** p_start_descr_id: start the characteristic search from the next record
** after the one identified by p_start_descr_id.
** p_descr_uuid_cond: Characteristic descriptor UUID, if NULL find
** the first available characteristic descriptor.
** p_descr_result: output parameter which will store the GATT
** characteristic descriptor ID.
**
** Returns returns status.
** db: output parameter which will contain gatt db copy.
** Caller is responsible for freeing it.
** count: number of elements in db.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetNextCharDescr (UINT16 conn_id,
tBTA_GATTC_CHAR_DESCR_ID *p_start_descr_id,
tBT_UUID *p_descr_uuid_cond,
tBTA_GATTC_CHAR_DESCR_ID *p_descr_result);
/*******************************************************************************
**
** Function BTA_GATTC_GetFirstIncludedService
**
** Description This function is called to find the first included service of the
** service on the given server.
**
** Parameters conn_id: connection ID which identify the server.
** p_srvc_id: the service ID of which the included service is belonged to.
** p_uuid_cond: include service UUID, if NULL find the first available
** included service.
** p_result: output parameter which will store the GATT ID
** of the included service found.
**
** Returns returns status.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetFirstIncludedService(UINT16 conn_id,
tBTA_GATT_SRVC_ID *p_srvc_id,
tBT_UUID *p_uuid_cond,
tBTA_GATTC_INCL_SVC_ID *p_result);
/*******************************************************************************
**
** Function BTA_GATTC_GetNextIncludedService
**
** Description This function is called to find the next included service of the
** service on the given server.
**
** Parameters conn_id: connection ID which identify the server.
** p_start_id: start the search from the next record
** after the one identified by p_start_id.
** p_uuid_cond: Included service UUID, if NULL find the first available
** included service.
** p_result: output parameter which will store the GATT ID
** of the included service found.
**
** Returns returns status.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_GetNextIncludedService(UINT16 conn_id,
tBTA_GATTC_INCL_SVC_ID *p_start_id,
tBT_UUID *p_uuid_cond,
tBTA_GATTC_INCL_SVC_ID *p_result);
extern void BTA_GATTC_GetGattDb(UINT16 conn_id, UINT16 start_handle, UINT16 end_handle,
btgatt_db_element_t **db, int *count);
/*******************************************************************************
**
** Function BTA_GATTC_ReadCharacteristic
**
** Description This function is called to read a service's characteristics of
** the given characteritisc ID.
** Description This function is called to read a characteristics value
**
** Parameters conn_id - connection ID.
** p_char_id - characteritic ID to read.
** Parameters conn_id - connectino ID.
** handle - characteritic handle to read.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_ReadCharacteristic (UINT16 conn_id,
tBTA_GATTC_CHAR_ID *p_char_id,
tBTA_GATT_AUTH_REQ auth_req);
void BTA_GATTC_ReadCharacteristic(UINT16 conn_id, UINT16 handle, tBTA_GATT_AUTH_REQ auth_req);
/*******************************************************************************
**
** Function BTA_GATTC_ReadCharDescr
**
** Description This function is called to read a characteristics descriptor.
** Description This function is called to read a descriptor value.
**
** Parameters conn_id - connection ID.
** p_char_descr_id - characteritic descriptor ID to read.
** handle - descriptor handle to read.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_ReadCharDescr (UINT16 conn_id,
tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id,
tBTA_GATT_AUTH_REQ auth_req);
void BTA_GATTC_ReadCharDescr (UINT16 conn_id, UINT16 handle, tBTA_GATT_AUTH_REQ auth_req);
/*******************************************************************************
**
@ -947,40 +899,40 @@ extern void BTA_GATTC_ReadCharDescr (UINT16 conn_id,
** Description This function is called to write characteristic value.
**
** Parameters conn_id - connection ID.
** p_char_id - characteristic ID to write.
** write_type - type of write.
** handle - characteristic handle to write.
** write_type - type of write.
** len: length of the data to be written.
** p_value - the value to be written.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_WriteCharValue (UINT16 conn_id,
tBTA_GATTC_CHAR_ID *p_char_id,
tBTA_GATTC_WRITE_TYPE write_type,
UINT16 len,
UINT8 *p_value,
tBTA_GATT_AUTH_REQ auth_req);
void BTA_GATTC_WriteCharValue ( UINT16 conn_id,
UINT16 handle,
tBTA_GATTC_WRITE_TYPE write_type,
UINT16 len,
UINT8 *p_value,
tBTA_GATT_AUTH_REQ auth_req);
/*******************************************************************************
**
** Function BTA_GATTC_WriteCharDescr
**
** Description This function is called to write characteristic descriptor value.
** Description This function is called to write descriptor value.
**
** Parameters conn_id - connection ID
** p_char_descr_id - characteristic descriptor ID to write.
** write_type - type of write.
** handle - descriptor handle to write.
** write_type - type of write.
** p_value - the value to be written.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_WriteCharDescr (UINT16 conn_id,
tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id,
tBTA_GATTC_WRITE_TYPE write_type,
tBTA_GATT_UNFMT *p_data,
tBTA_GATT_AUTH_REQ auth_req);
void BTA_GATTC_WriteCharDescr (UINT16 conn_id,
UINT16 handle,
tBTA_GATTC_WRITE_TYPE write_type,
tBTA_GATT_UNFMT *p_data,
tBTA_GATT_AUTH_REQ auth_req);
/*******************************************************************************
**
@ -989,12 +941,12 @@ extern void BTA_GATTC_WriteCharDescr (UINT16 conn_id,
** Description This function is called to send handle value confirmation.
**
** Parameters conn_id - connection ID.
** p_char_id - characteristic ID to confrim.
** handle - characteristic handle to confirm.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_SendIndConfirm (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id);
extern void BTA_GATTC_SendIndConfirm (UINT16 conn_id, UINT16 handle);
/*******************************************************************************
**
@ -1002,17 +954,16 @@ extern void BTA_GATTC_SendIndConfirm (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char
**
** Description This function is called to register for notification of a service.
**
** Parameters client_if - client interface.
** remote_bda - target GATT server.
** p_char_id - pointer to GATT characteristic ID.
** Parameters client_if - client interface.
** remote_bda - target GATT server.
** handle - GATT characteristic handle.
**
** Returns OK if registration succeed, otherwise failed.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_RegisterForNotifications (tBTA_GATTC_IF client_if,
BD_ADDR remote_bda,
tBTA_GATTC_CHAR_ID *p_char_id);
BD_ADDR remote_bda,
UINT16 handle);
/*******************************************************************************
**
@ -1022,14 +973,14 @@ extern tBTA_GATT_STATUS BTA_GATTC_RegisterForNotifications (tBTA_GATTC_IF c
**
** Parameters client_if - client interface.
** remote_bda - target GATT server.
** p_char_id - pointer to a GATT characteristic ID.
** handle - GATT characteristic handle.
**
** Returns OK if deregistration succeed, otherwise failed.
**
*******************************************************************************/
extern tBTA_GATT_STATUS BTA_GATTC_DeregisterForNotifications (tBTA_GATTC_IF client_if,
BD_ADDR remote_bda,
tBTA_GATTC_CHAR_ID *p_char_id);
BD_ADDR remote_bda,
UINT16 handle);
/*******************************************************************************
**
@ -1038,16 +989,16 @@ extern tBTA_GATT_STATUS BTA_GATTC_DeregisterForNotifications (tBTA_GATTC_IF
** Description This function is called to prepare write a characteristic value.
**
** Parameters conn_id - connection ID.
** p_char_id - GATT characteritic ID of the service.
** handle - GATT characteritic handle.
** offset - offset of the write value.
** len: length of the data to be written.
** len - length of the data to be written.
** p_value - the value to be written.
**
** Returns None
**
*******************************************************************************/
extern void BTA_GATTC_PrepareWrite (UINT16 conn_id,
tBTA_GATTC_CHAR_ID *p_char_id,
UINT16 handle,
UINT16 offset,
UINT16 len,
UINT8 *p_value,
@ -1069,7 +1020,7 @@ extern void BTA_GATTC_PrepareWrite (UINT16 conn_id,
**
*******************************************************************************/
extern void BTA_GATTC_PrepareWriteCharDescr (UINT16 conn_id,
tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id,
UINT16 handle,
UINT16 offset,
tBTA_GATT_UNFMT *p_data,
tBTA_GATT_AUTH_REQ auth_req);
@ -1360,9 +1311,9 @@ extern void BTA_GATTS_StopService(UINT16 service_id);
**
*******************************************************************************/
extern void BTA_GATTS_HandleValueIndication (UINT16 conn_id, UINT16 attr_id,
UINT16 data_len,
UINT8 *p_data,
BOOLEAN need_confirm);
UINT16 data_len,
UINT8 *p_data,
BOOLEAN need_confirm);
/*******************************************************************************
**