15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 3ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta * Copyright (C) 2003-2013 Broadcom Corporation 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * you may not use this file except in compliance with the License. 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * You may obtain a copy of the License at: 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * See the License for the specific language governing permissions and 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * limitations under the License. 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This is the public interface file for BTA GATT. 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 24ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_GATT_API_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_API_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_api.h" 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "gatt_api.h" 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_GATT_INCLUDED 32597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#warning BTA_GATT_INCLUDED not defined 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INCLUDED FALSE 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((BLE_INCLUDED == FALSE) && (BTA_GATT_INCLUDED == TRUE)) 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#undef BTA_GATT_INCLUDED 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INCLUDED FALSE 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_GATT_DEBUG 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_DEBUG FALSE 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants and data types 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************** 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Common Definitions 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project***************************/ 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GATT ID */ 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; /* uuid of the attribute */ 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 inst_id; /* instance ID */ 57ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta} __attribute__((packed)) tBTA_GATT_ID; 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Success code and error codes */ 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_OK GATT_SUCCESS 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_HANDLE GATT_INVALID_HANDLE /* 0x0001 */ 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_READ_NOT_PERMIT GATT_READ_NOT_PERMIT /* 0x0002 */ 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_WRITE_NOT_PERMIT GATT_WRITE_NOT_PERMIT /* 0x0003 */ 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_PDU GATT_INVALID_PDU /* 0x0004 */ 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INSUF_AUTHENTICATION GATT_INSUF_AUTHENTICATION /* 0x0005 */ 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_REQ_NOT_SUPPORTED GATT_REQ_NOT_SUPPORTED /* 0x0006 */ 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_OFFSET GATT_INVALID_OFFSET /* 0x0007 */ 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INSUF_AUTHORIZATION GATT_INSUF_AUTHORIZATION /* 0x0008 */ 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PREPARE_Q_FULL GATT_PREPARE_Q_FULL /* 0x0009 */ 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_NOT_FOUND GATT_NOT_FOUND /* 0x000a */ 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_NOT_LONG GATT_NOT_LONG /* 0x000b */ 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INSUF_KEY_SIZE GATT_INSUF_KEY_SIZE /* 0x000c */ 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_ATTR_LEN GATT_INVALID_ATTR_LEN /* 0x000d */ 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_ERR_UNLIKELY GATT_ERR_UNLIKELY /* 0x000e */ 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INSUF_ENCRYPTION GATT_INSUF_ENCRYPTION /* 0x000f */ 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_UNSUPPORT_GRP_TYPE GATT_UNSUPPORT_GRP_TYPE /* 0x0010 */ 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INSUF_RESOURCE GATT_INSUF_RESOURCE /* 0x0011 */ 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 807fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_NO_RESOURCES GATT_NO_RESOURCES /* 0x80 */ 817fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_INTERNAL_ERROR GATT_INTERNAL_ERROR /* 0x81 */ 827fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_WRONG_STATE GATT_WRONG_STATE /* 0x82 */ 837fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_DB_FULL GATT_DB_FULL /* 0x83 */ 847fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_BUSY GATT_BUSY /* 0x84 */ 857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_ERROR GATT_ERROR /* 0x85 */ 867fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_CMD_STARTED GATT_CMD_STARTED /* 0x86 */ 877fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_ILLEGAL_PARAMETER GATT_ILLEGAL_PARAMETER /* 0x87 */ 887fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_PENDING GATT_PENDING /* 0x88 */ 897fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_AUTH_FAIL GATT_AUTH_FAIL /* 0x89 */ 907fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_MORE GATT_MORE /* 0x8a */ 917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_INVALID_CFG GATT_INVALID_CFG /* 0x8b */ 927fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_SERVICE_STARTED GATT_SERVICE_STARTED /* 0x8c */ 937fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_ENCRYPED_MITM GATT_ENCRYPED_MITM /* GATT_SUCCESS */ 947fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_ENCRYPED_NO_MITM GATT_ENCRYPED_NO_MITM /* 0x8d */ 957fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_NOT_ENCRYPTED GATT_NOT_ENCRYPTED /* 0x8e */ 9617b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATT_CONGESTED GATT_CONGESTED /* 0x8f */ 977fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 9817b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATT_DUP_REG 0x90 /* 0x90 */ 9917b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATT_ALREADY_OPEN 0x91 /* 0x91 */ 10017b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATT_CANCEL 0x92 /* 0x92 */ 1017fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 1027fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta /* 0xE0 ~ 0xFC reserved for future use */ 1037fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_CCC_CFG_ERR GATT_CCC_CFG_ERR /* 0xFD Client Characteristic Configuration Descriptor Improperly Configured */ 1047fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_PRC_IN_PROGRESS GATT_PRC_IN_PROGRESS /* 0xFE Procedure Already in progress */ 1057fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_OUT_OF_RANGE GATT_OUT_OF_RANGE /* 0xFFAttribute value out of range */ 1067fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_STATUS; 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_CONN_ID GATT_INVALID_CONN_ID 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client callback function events */ 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_REG_EVT 0 /* GATT client is registered. */ 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_DEREG_EVT 1 /* GATT client deregistered event */ 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_OPEN_EVT 2 /* GATTC open request status event */ 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_READ_CHAR_EVT 3 /* GATT read characteristic event */ 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_WRITE_CHAR_EVT 4 /* GATT write characteristic or char descriptor event */ 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_CLOSE_EVT 5 /* GATTC close request status event */ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SEARCH_CMPL_EVT 6 /* GATT discovery complete event */ 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SEARCH_RES_EVT 7 /* GATT discovery result event */ 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_READ_DESCR_EVT 8 /* GATT read characterisitc descriptor event */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_WRITE_DESCR_EVT 9 /* GATT write characteristic descriptor event */ 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_NOTIF_EVT 10 /* GATT attribute notification event */ 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_PREP_WRITE_EVT 11 /* GATT prepare write event */ 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_EXEC_EVT 12 /* execute write complete event */ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_ACL_EVT 13 /* ACL up event */ 127ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTA_GATTC_CANCEL_OPEN_EVT 14 /* cancel open event */ 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SRVC_CHG_EVT 15 /* service change event */ 1295c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach#define BTA_GATTC_LISTEN_EVT 16 /* listen event */ 1307051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu#define BTA_GATTC_ENC_CMPL_CB_EVT 17 /* encryption complete callback event */ 1319426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach#define BTA_GATTC_CFG_MTU_EVT 18 /* configure MTU complete event */ 132a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#define BTA_GATTC_ADV_DATA_EVT 19 /* ADV data event */ 133a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#define BTA_GATTC_MULT_ADV_ENB_EVT 20 /* Enable Multi ADV event */ 134a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#define BTA_GATTC_MULT_ADV_UPD_EVT 21 /* Update parameter event */ 135a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#define BTA_GATTC_MULT_ADV_DATA_EVT 22 /* Multi ADV data event */ 136a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#define BTA_GATTC_MULT_ADV_DIS_EVT 23 /* Disable Multi ADV event */ 13717b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATTC_CONGEST_EVT 24 /* Congestion event */ 1381acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_ENB_EVT 25 /* Enable batch scan event */ 1391acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_CFG_EVT 26 /* Config storage event */ 1401acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_RD_EVT 27 /* Batch scan reports read event */ 1411acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_THR_EVT 28 /* Batch scan threshold event */ 1421acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_PARAM_EVT 29 /* Batch scan param event */ 1431acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_BTH_SCAN_DIS_EVT 30 /* Disable batch scan event */ 1441acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_SCAN_FLT_CFG_EVT 31 /* Scan filter config event */ 1451acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_SCAN_FLT_PARAM_EVT 32 /* Param filter event */ 1461acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_SCAN_FLT_STATUS_EVT 33 /* Filter status event */ 1471acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#define BTA_GATTC_ADV_VSC_EVT 34 /* ADV VSC event */ 148ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_EVT; 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_IF tBTA_GATTC_IF; 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 unit; /* as UUIUD defined by SIG */ 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 descr; /* as UUID as defined by SIG */ 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tGATT_FORMAT format; 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project INT8 exp; 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 name_spc; /* The name space of the description */ 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_CHAR_PRES; 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_NONE GATT_CLT_CONFIG_NONE /* 0x0000 */ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_NOTIFICATION GATT_CLT_CONFIG_NOTIFICATION /* 0x0001 */ 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_INDICATION GATT_CLT_CONFIG_INDICATION /* 0x0002 */ 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_CLT_CHAR_CONFIG; 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* characteristic descriptor: server configuration value 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_SVR_CONFIG_NONE GATT_SVR_CONFIG_NONE /* 0x0000 */ 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_SVR_CONFIG_BROADCAST GATT_SVR_CONFIG_BROADCAST /* 0x0001 */ 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_SVR_CHAR_CONFIG; 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Characteristic Aggregate Format attribute value 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AGGR_HANDLE_NUM_MAX 10 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_handle; 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 handle_list[BTA_GATT_AGGR_HANDLE_NUM_MAX]; 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATT_CHAR_AGGRE; 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_VALID_RANGE tBTA_GATT_VALID_RANGE; 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value; 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_UNFMT; 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_MAX_ATTR_LEN GATT_MAX_ATTR_LEN 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_TYPE_WRITE GATT_WRITE 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_TYPE_WRITE_NO_RSP GATT_WRITE_NO_RSP 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_WRITE_TYPE; 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_UNKNOWN 0 1966975b4d711142b885af479721cada448952c6b41Andre Eisenbach#define BTA_GATT_CONN_L2C_FAILURE GATT_CONN_L2C_FAILURE /* general l2cap resource failure */ 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TIMEOUT GATT_CONN_TIMEOUT /* 0x08 connection timeout */ 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TERMINATE_PEER_USER GATT_CONN_TERMINATE_PEER_USER /* 0x13 connection terminate by peer user */ 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TERMINATE_LOCAL_HOST GATT_CONN_TERMINATE_LOCAL_HOST/* 0x16 connectionterminated by local host */ 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_FAIL_ESTABLISH GATT_CONN_FAIL_ESTABLISH /* 0x03E connection fail to establish */ 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_LMP_TIMEOUT GATT_CONN_LMP_TIMEOUT /* 0x22 connection fail for LMP response tout */ 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_CANCEL GATT_CONN_CANCEL /* 0x0100 L2CAP connection cancelled */ 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_NONE 0x0101 /* 0x0101 no connection to cancel */ 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_REASON; 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID id; 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_SRVC_ID; 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CHAR_ID; 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 2216975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_id; 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CHAR_DESCR_ID; 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID incl_svc_id; 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_INCL_SVC_ID; 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_TYPE_CHAR 0 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_TYPE_CHAR_DESCR 1 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_ID_TYPE; 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID_TYPE id_type; 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project union 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID char_descr_id; 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } id_value; 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_ATTR_ID; 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_MULTI_MAX GATT_MAX_READ_MULTI_HANDLES 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_ATTR_ID id_list[BTA_GATTC_MULTI_MAX]; 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_MULTI; 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_NONE GATT_AUTH_REQ_NONE 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_NO_MITM GATT_AUTH_REQ_NO_MITM /* unauthenticated encryption */ 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_MITM GATT_AUTH_REQ_MITM /* authenticated encryption */ 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_SIGNED_NO_MITM GATT_AUTH_REQ_SIGNED_NO_MITM 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_SIGNED_MITM GATT_AUTH_REQ_SIGNED_MITM 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_AUTH_REQ tBTA_GATT_AUTH_REQ; 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_INCL_SRVC, 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_CHAR, 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_CHAR_DESCR, 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_SRVC 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_ATTR_TYPE; 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 s_handle; 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 e_handle; /* used for service only */ 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_type; 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 id; 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 prop; /* used when attribute type is characteristic */ 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; /* used when attribute type is service */ 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_NV_ATTR; 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* callback data structure */ 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID app_uuid; 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_REG; 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_pres_fmt; /* number of presentation format aggregated*/ 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID pre_format[BTA_GATTC_MULTI_MAX]; 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_CHAR_AGGRE_VALUE; 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_AGGRE_VALUE aggre_value; 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_UNFMT unformat; 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_READ_VAL; 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 3126975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_READ_VAL *p_value; 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_READ; 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 3226975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_WRITE; 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_EXEC_CMPL; 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_SEARCH_CMPL; 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID service_uuid; 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_SRVC_RES; 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3439426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbachtypedef struct 3449426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach{ 3459426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach UINT16 conn_id; 3469426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach tBTA_GATT_STATUS status; 3479426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach UINT16 mtu; 3489426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach}tBTA_GATTC_CFG_MTU; 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3567fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 3579426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach UINT16 mtu; 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_OPEN; 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_REASON reason; /* disconnect reason code, not useful when connect event is reported */ 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CLOSE; 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bda; 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 3746975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 value[BTA_GATT_MAX_ATTR_LEN]; 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_notify; 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_NOTIFY; 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 38017b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbachtypedef struct 38117b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach{ 38217b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach UINT16 conn_id; 38317b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach BOOLEAN congested; /* congestion indicator */ 38417b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach}tBTA_GATTC_CONGEST; 38517b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_OPEN_CLOSE; 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3967051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xutypedef struct 3977051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu{ 3987051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu tBTA_GATTC_IF client_if; 3997051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu BD_ADDR remote_bda; 4007051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu}tBTA_GATTC_ENC_CMPL_CB; 4017051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_SEARCH_CMPL search_cmpl; /* discovery complete */ 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_SRVC_RES srvc_res; /* discovery result */ 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_REG reg_oper; /* registration data */ 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_OPEN open; 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CLOSE close; 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_READ read; /* read attribute/descriptor data */ 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE write; /* write complete data */ 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_EXEC_CMPL exec_cmpl; /* execute complete */ 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_NOTIFY notify; /* notification/indication event data */ 4157051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu tBTA_GATTC_ENC_CMPL_CB enc_cmpl; 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; /* service change event */ 4179426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach tBTA_GATTC_CFG_MTU cfg_mtu; /* configure MTU operation */ 41817b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATTC_CONGEST congest; 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATTC; 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 421e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/* GATTC enable callback function */ 422e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbachtypedef void (tBTA_GATTC_ENB_CBACK)(tBTA_GATT_STATUS status); 423e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client callback function */ 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_GATTC_CBACK)(tBTA_GATTC_EVT event, tBTA_GATTC *p_data); 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GATT Server Data Structure */ 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server callback function events */ 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_REG_EVT 0 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_READ_EVT GATTS_REQ_TYPE_READ /* 1 */ 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_WRITE_EVT GATTS_REQ_TYPE_WRITE /* 2 */ 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_EXEC_WRITE_EVT GATTS_REQ_TYPE_WRITE_EXEC /* 3 */ 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_MTU_EVT GATTS_REQ_TYPE_MTU /* 4 */ 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CONF_EVT GATTS_REQ_TYPE_CONF /* 5 */ 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DEREG_EVT 6 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CREATE_EVT 7 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_INCL_SRVC_EVT 8 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_CHAR_EVT 9 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_CHAR_DESCR_EVT 10 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DELELTE_EVT 11 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_START_EVT 12 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_STOP_EVT 13 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CONNECT_EVT 14 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DISCONNECT_EVT 15 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_OPEN_EVT 16 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CANCEL_OPEN_EVT 17 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CLOSE_EVT 18 4495c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach#define BTA_GATTS_LISTEN_EVT 19 45017b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#define BTA_GATTS_CONGEST_EVT 20 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTS_EVT; 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_IF tBTA_GATTS_IF; 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Attribute permissions 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ GATT_PERM_READ /* bit 0 - 0x0001 */ 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ_ENCRYPTED GATT_PERM_READ_ENCRYPTED /* bit 1 - 0x0002 */ 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ_ENC_MITM GATT_PERM_READ_ENC_MITM /* bit 2 - 0x0004 */ 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE GATT_PERM_WRITE /* bit 4 - 0x0010 */ 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_ENCRYPTED GATT_PERM_WRITE_ENCRYPTED /* bit 5 - 0x0020 */ 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_ENC_MITM GATT_PERM_WRITE_ENC_MITM /* bit 6 - 0x0040 */ 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_SIGNED GATT_PERM_WRITE_SIGNED /* bit 7 - 0x0080 */ 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_SIGNED_MITM GATT_PERM_WRITE_SIGNED_MITM /* bit 8 - 0x0100 */ 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_PERM; 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_INVALID_APP 0xff 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_INVALID_IF 0 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* definition of characteristic properties */ 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_BROADCAST GATT_CHAR_PROP_BIT_BROADCAST /* 0x01 */ 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_READ GATT_CHAR_PROP_BIT_READ /* 0x02 */ 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_WRITE_NR GATT_CHAR_PROP_BIT_WRITE_NR /* 0x04 */ 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_WRITE GATT_CHAR_PROP_BIT_WRITE /* 0x08 */ 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_NOTIFY GATT_CHAR_PROP_BIT_NOTIFY /* 0x10 */ 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_INDICATE GATT_CHAR_PROP_BIT_INDICATE /* 0x20 */ 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_AUTH GATT_CHAR_PROP_BIT_AUTH /* 0x40 */ 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_EXT_PROP GATT_CHAR_PROP_BIT_EXT_PROP /* 0x80 */ 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_CHAR_PROP; 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_GATTC_CHAR_DESCR_MAX 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_CHAR_DESCR_MAX 7 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*********************** NV callback Data Definitions ********************** 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID app_uuid128; 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID svc_uuid; 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 svc_inst; 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 s_handle; 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 e_handle; 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; /* primary service or secondary */ 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATTS_HNDL_RANGE; 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_ADD_CLIENT GATTS_SRV_CHG_CMD_ADD_CLIENT 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_UPDATE_CLIENT GATTS_SRV_CHG_CMD_UPDATE_CLIENT 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_REMOVE_CLIENT GATTS_SRV_CHG_CMD_REMOVE_CLIENT 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_READ_NUM_CLENTS GATTS_SRV_CHG_CMD_READ_NUM_CLENTS 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_READ_CLENT GATTS_SRV_CHG_CMD_READ_CLENT 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_CMD tBTA_GATTS_SRV_CHG_CMD; 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG tBTA_GATTS_SRV_CHG; 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_REQ tBTA_GATTS_SRV_CHG_REQ; 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_RSP tBTA_GATTS_SRV_CHG_RSP; 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5097fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_TRANSPORT_LE GATT_TRANSPORT_LE 5107fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_TRANSPORT_BR_EDR GATT_TRANSPORT_BR_EDR 5117fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_TRANSPORT_LE_BR_EDR GATT_TRANSPORT_LE_BR_EDR 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_TRANSPORT; 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute value */ 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_VALUE tBTA_GATT_VALUE; 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute response data */ 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_RSP tBTA_GATTS_RSP; 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute request data from the client */ 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PREP_WRITE_CANCEL 0x00 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PREP_WRITE_EXEC 0x01 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_EXEC_FLAG tBTA_GATT_EXEC_FLAG; 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* read request always based on UUID */ 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_READ_REQ tTA_GBATT_READ_REQ; 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* write request data */ 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_WRITE_REQ tBTA_GATT_WRITE_REQ; 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* callback data for server access request from client */ 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_DATA tBTA_GATTS_REQ_DATA; 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 53617b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATT_STATUS status; 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 trans_id; 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REQ_DATA *p_data; 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_REQ; 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_REG_OPER; 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 svc_instance; 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_CREATE; 5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 attr_id; 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID char_uuid; 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_ADD_RESULT; 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_SRVC_OPER; 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_REASON reason; /* report disconnect reason */ 5907fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_GATT_TRANSPORT transport; 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_CONN; 5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 59317b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbachtypedef struct 59417b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach{ 59517b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach UINT16 conn_id; 59617b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach BOOLEAN congested; /* report channel congestion indicator */ 59717b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach}tBTA_GATTS_CONGEST; 59817b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach 59917b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbachtypedef struct 60017b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach{ 60117b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach UINT16 conn_id; /* connection ID */ 60217b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATT_STATUS status; /* notification/indication status */ 60317b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach}tBTA_GATTS_CONF; 60417b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GATTS callback data */ 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REG_OPER reg_oper; 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_CREATE create; 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_SRVC_OPER srvc_oper; 61117b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATT_STATUS status; /* BTA_GATTS_LISTEN_EVT */ 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_ADD_RESULT add_result; /* add included service: BTA_GATTS_ADD_INCL_SRVC_EVT 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project add char : BTA_GATTS_ADD_CHAR_EVT 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project add char descriptor: BTA_GATTS_ADD_CHAR_DESCR_EVT */ 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REQ req_data; 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_CONN conn; /* BTA_GATTS_CONN_EVT */ 61717b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATTS_CONGEST congest; /* BTA_GATTS_CONGEST_EVT callback data */ 61817b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach tBTA_GATTS_CONF confirm; /* BTA_GATTS_CONF_EVT callback data */ 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS; 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 621e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/* GATTS enable callback function */ 622e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbachtypedef void (tBTA_GATTS_ENB_CBACK)(tBTA_GATT_STATUS status); 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server callback function */ 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_GATTS_CBACK)(tBTA_GATTS_EVT event, tBTA_GATTS *p_data); 626e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** External Function Declarations 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************** 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Client Functions 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project***************************/ 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 642e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Function BTA_GATTC_Disable 643ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 644e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Description This function is called to disable the GATTC module 645ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 646e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Parameters None. 647ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 648ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns None 649ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 650ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 651e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre EisenbachBTA_API extern void BTA_GATTC_Disable(void); 652ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 653ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 654ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_AppRegister 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register application callbacks 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** with BTA GATTC module. 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_app_uuid - applicaiton UUID 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_client_cb - pointer to the application callback function. 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_AppRegister(tBT_UUID *p_app_uuid, tBTA_GATTC_CBACK *p_client_cb); 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_AppDeregister 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to deregister an application 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** from BTA GATTC module. 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface identifier. 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_AppDeregister (tBTA_GATTC_IF client_if); 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_Open 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct connection or add a background auto connection 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if: server interface. 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6967fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi BattaBTA_API extern void BTA_GATTC_Open(tBTA_GATTC_IF client_if, BD_ADDR remote_bda, 6977fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BOOLEAN is_direct, tBTA_GATT_TRANSPORT transport); 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_CancelOpen 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct connection or add a background auto connection 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if: server interface. 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_CancelOpen(tBTA_GATTC_IF client_if, BD_ADDR remote_bda, BOOLEAN is_direct); 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_Close 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a connection to a GATT server. 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connectino ID to be closed. 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_Close(UINT16 conn_id); 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ServiceSearchRequest 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to request a GATT service discovery 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** on a GATT server. This function report service search result 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** by a callback event, and followed by a service search complete 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** event. 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID. 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_uuid: a UUID of the service application is interested in. 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** If Null, discover for all services. 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ServiceSearchRequest(UINT16 conn_id, tBT_UUID *p_srvc_uuid); 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstChar 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first charatceristic of the 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_id: the service ID of which the characteristic is belonged to. 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid_cond: Characteristic UUID, if NULL find the first available 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_result: output parameter which will store the GATT 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic ID. 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_property: output parameter to carry the characteristic property. 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstChar (UINT16 conn_id, 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID *p_srvc_id, 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_char_uuid_cond, 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_result, 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_PROP *p_property); 7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextChar 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next charatceristic of the 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_char_id: start the characteristic search from the next record 7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by char_id. 7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid_cond: Characteristic UUID, if NULL find the first available 7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_result: output parameter which will store the GATT 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic ID. 7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_property: output parameter, characteristic property. 7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextChar (UINT16 conn_id, 7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_start_char_id, 7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_char_uuid_cond, 7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_result, 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_PROP *p_property); 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstCharDescr 7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first charatceristic descriptor of the 8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** charatceristic on the given server. 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id: the characteristic ID of which the descriptor is belonged to. 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid_cond: Characteristic Descr UUID, if NULL find the first available 8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_result: output parameter which will store the GATT 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptor ID. 8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstCharDescr (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id, 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_descr_uuid_cond, 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_descr_result); 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextCharDescr 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next charatceristic of the 8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_descr_id: start the characteristic search from the next record 8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by p_start_descr_id. 8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid_cond: Characteristic descriptor UUID, if NULL find 8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the first available characteristic descriptor. 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_result: output parameter which will store the GATT 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptor ID. 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextCharDescr (UINT16 conn_id, 8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_start_descr_id, 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_descr_uuid_cond, 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_descr_result); 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstIncludedService 8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first included service of the 8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_id: the service ID of which the included service is belonged to. 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_uuid_cond: include service UUID, if NULL find the first available 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included service. 8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_result: output parameter which will store the GATT ID 8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** of the included service found. 8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstIncludedService(UINT16 conn_id, 8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID *p_srvc_id, 8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid_cond, 8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_result); 8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextIncludedService 8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next included service of the 8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_id: start the search from the next record 8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by p_start_id. 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_uuid_cond: Included service UUID, if NULL find the first available 8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included service. 8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_result: output parameter which will store the GATT ID 8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** of the included service found. 8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextIncludedService(UINT16 conn_id, 8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_start_id, 8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid_cond, 8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_result); 8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadCharacteristic 8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a service's characteristics of 8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the given characteritisc ID. 8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connectino ID. 8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteritic ID to read. 8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadCharacteristic (UINT16 conn_id, 8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadCharDescr 9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a characteristics descriptor. 9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_descr_id - characteritic descriptor ID to read. 9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadCharDescr (UINT16 conn_id, 9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id, 9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_WriteCharValue 9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write characteristic value. 9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteristic ID to write. 9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** write_type - type of write. 9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the data to be written. 9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_WriteCharValue (UINT16 conn_id, 9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE_TYPE write_type, 9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len, 9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value, 9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_WriteCharDescr 9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write characteristic descriptor value. 9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID 9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_descr_id - characteristic descriptor ID to write. 9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** write_type - type of write. 9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_WriteCharDescr (UINT16 conn_id, 9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id, 9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE_TYPE write_type, 9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_UNFMT *p_data, 9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_SendIndConfirm 9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send handle value confirmation. 9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteristic ID to confrim. 9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_SendIndConfirm (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id); 9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_RegisterForNotifications 9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register for notification of a service. 9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface. 9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda - target GATT server. 9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - pointer to GATT characteristic ID. 9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns OK if registration succeed, otherwise failed. 9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_RegisterForNotifications (tBTA_GATTC_IF client_if, 9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda, 9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id); 9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_DeregisterForNotifications 9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to de-register for notification of a servbice. 9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface. 9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda - target GATT server. 10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - pointer to a GATT characteristic ID. 10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns OK if deregistration succeed, otherwise failed. 10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_DeregisterForNotifications (tBTA_GATTC_IF client_if, 10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda, 10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id); 10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_PrepareWrite 10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to prepare write a characteristic value. 10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - GATT characteritic ID of the service. 10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** offset - offset of the write value. 10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the data to be written. 10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_PrepareWrite (UINT16 conn_id, 10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 offset, 10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len, 10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value, 10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ExecuteWrite 10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to execute write a prepare write sequence. 10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_execute - execute or cancel. 10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ExecuteWrite (UINT16 conn_id, BOOLEAN is_execute); 10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadMultiple 10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read multiple characteristic or 10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptors. 10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connectino ID. 10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_read_multi - read multiple parameters. 10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 10565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadMultiple(UINT16 conn_id, tBTA_GATTC_MULTI *p_read_multi, 10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1062ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1063ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1064ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTC_Refresh 1065ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1066ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description Refresh the server cache of the remote device 1067ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1068ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters remote_bda: remote device BD address. 1069ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1070ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 1071ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1072ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1073ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTA_API extern void BTA_GATTC_Refresh(BD_ADDR remote_bda); 10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10775c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10785c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Function BTA_GATTC_Listen 10795c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10805c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Description Start advertisement to listen for connection request. 10815c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10825c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Parameters client_if: server interface. 10835c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** start: to start or stop listening for connection 10845c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** remote_bda: remote device BD address, if listen to all device 10855c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** use NULL. 10865c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10875c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Returns void 10885c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10895c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach*******************************************************************************/ 10905c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre EisenbachBTA_API extern void BTA_GATTC_Listen(tBTA_GATTC_IF client_if, BOOLEAN start, BD_ADDR_PTR target_bda); 10915c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach 10925c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach/******************************************************************************* 1093a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** 1094a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** Function BTA_GATTC_Broadcast 1095a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** 1096a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** Description Start broadcasting (non-connectable advertisements) 1097a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** 1098a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** Parameters client_if: client interface. 1099a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** start: to start or stop listening for connection 1100a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** 1101a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** Returns void 1102a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach** 1103a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach*******************************************************************************/ 1104a4611ac05f07360785adcff8640da01a3894e4c5Andre EisenbachBTA_API extern void BTA_GATTC_Broadcast(tBTA_GATTC_IF client_if, BOOLEAN start); 1105a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach 1106a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach 1107a4611ac05f07360785adcff8640da01a3894e4c5Andre Eisenbach/******************************************************************************* 11089426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** 11099426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** Function BTA_GATTC_ConfigureMTU 11109426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** 11119426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** Description Configure the MTU size in the GATT channel. This can be done 11129426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** only once per connection. 11139426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** 11149426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** Parameters conn_id: connection ID. 11159426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** mtu: desired MTU size to use. 11169426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** 11179426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** Returns void 11189426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach** 11199426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach*******************************************************************************/ 11209426d530e9bbc5d3ffae55515388d49185c61325Andre EisenbachBTA_API extern void BTA_GATTC_ConfigureMTU (UINT16 conn_id, UINT16 mtu); 11219426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach 11229426d530e9bbc5d3ffae55515388d49185c61325Andre Eisenbach/******************************************************************************* 11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA GATT Server API 11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/ 1125ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1126ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1127ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1128ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTS_Init 1129ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1130ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to initalize GATTS module 1131ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1132ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters None 1133ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1134ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns None 1135ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1136ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1137ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_API extern void BTA_GATTS_Init(); 1138ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1141e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Function BTA_GATTS_Disable 1142e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1143e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Description This function is called to disable GATTS module 1144e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1145e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Parameters None. 1146e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1147e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Returns None 1148e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1149e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach*******************************************************************************/ 1150e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach BTA_API extern void BTA_GATTS_Disable(void); 1151e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 1152e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/******************************************************************************* 1153e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AppRegister 11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register application callbacks 11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** with BTA GATTS module. 11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_app_uuid - applicaiton UUID 11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_cback - pointer to the application callback function. 11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AppRegister(tBT_UUID *p_app_uuid, tBTA_GATTS_CBACK *p_cback); 11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AppDeregister 11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description De-register with BTA GATT Server. 11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface 11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AppDeregister(tBTA_GATTS_IF server_if); 11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_CreateService 11845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Create a service. When service creation is done, a callback 11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** event BTA_GATTS_CREATE_SRVC_EVT is called to report status 11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** and service ID to the profile. The service ID obtained in 11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the callback function needs to be used when adding included 11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service and characteristics/descriptors into the service. 11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_service_uuid: service UUID. 11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** inst: instance ID number of this service. 11945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** num_handle: numble of handle requessted for this service. 11955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_primary: is this service a primary one or not. 11965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 11985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_CreateService(tBTA_GATTS_IF server_if, tBT_UUID *p_service_uuid, 12015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 inst, UINT16 num_handle, BOOLEAN is_primary); 12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddIncludeService 12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add an included service. After included 12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service is included, a callback event BTA_GATTS_ADD_INCL_SRVC_EVT 12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is reported the included service ID. 12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this included service is to 12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included_service_id: the service ID to be included. 12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddIncludeService(UINT16 service_id, UINT16 included_service_id); 12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddCharacteristic 12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add a characteristic into a service. 12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this included service is to 12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid : Characteristic UUID. 12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** perm : Characteristic value declaration attribute permission. 12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** property : Characteristic Properties 12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddCharacteristic (UINT16 service_id, tBT_UUID *p_char_uuid, 12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_PERM perm, tBTA_GATT_CHAR_PROP property); 12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddCharDescriptor 12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add characteristic descriptor. When 12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** it's done, a callback event BTA_GATTS_ADD_DESCR_EVT is called 12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** to report the status and an ID number for this descriptor. 12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this charatceristic descriptor is to 12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** perm: descriptor access permission. 12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid: descriptor UUID. 12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_params: descriptor value if it's read only descriptor. 12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddCharDescriptor (UINT16 service_id, 12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_PERM perm, 12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID * p_descr_uuid); 12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_DeleteService 12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to delete a service. When this is done, 12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** a callback event BTA_GATTS_DELETE_EVT is report with the status. 12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service_id to be deleted. 12675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns none. 12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_DeleteService(UINT16 service_id); 12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_StartService 12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to start a service. 12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: the service ID to be started. 12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** sup_transport: supported trasnport. 12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None. 12835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_StartService(UINT16 service_id, tBTA_GATT_TRANSPORT sup_transport); 12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_StopService 12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to stop a service. 12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id - service to be topped. 12945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_StopService(UINT16 service_id); 12995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 13015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_HandleValueIndication 13035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a characteristics descriptor. 13055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection identifier. 13075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** attr_id - attribute ID to indicate. 13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data_len - indicate data length. 13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_data: data to indicate. 13105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** need_confirm - if this indication expects a confirmation or not. 13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 13135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 13155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_HandleValueIndication (UINT16 conn_id, UINT16 attr_id, 13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 data_len, 13175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data, 13185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN need_confirm); 13195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 13215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_SendRsp 13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send a response to a request. 13255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection identifier. 13275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** trans_id - transaction ID. 13285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - response status 13295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_msg - response data. 13305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 13325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 13345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_SendRsp (UINT16 conn_id, UINT32 trans_id, 13355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status, tBTA_GATTS_RSP *p_msg); 13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 13415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_Open 13435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct open connection or add a background auto connection 13455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 13465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 13485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 13505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 13525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 13547fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BTA_API extern void BTA_GATTS_Open(tBTA_GATTS_IF server_if, BD_ADDR remote_bda, 13557fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BOOLEAN is_direct, tBTA_GATT_TRANSPORT transport); 13565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_CancelOpen 13615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Cancel a direct open connection or remove a background auto connection 13635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 13685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 13705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 13725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_CancelOpen(tBTA_GATTS_IF server_if, BD_ADDR remote_bda, BOOLEAN is_direct); 13735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 13765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_Close 13785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a connection a remote device. 13805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connectino ID to be closed. 13825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 13845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 13855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 13865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_Close(UINT16 conn_id); 13875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1388ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1389ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1390ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTS_Listen 1391ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1392ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description Start advertisement to listen for connection request for a 1393ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** GATT server 1394ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1395ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters server_if: server interface. 1396ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** start: to start or stop listening for connection 1397ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** remote_bda: remote device BD address, if listen to all device 1398ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** use NULL. 1399ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1400ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 1401ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1402ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1403ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_API extern void BTA_GATTS_Listen(tBTA_GATTS_IF server_if, BOOLEAN start, 1404ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_ADDR_PTR target_bda); 1405ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 14065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 14085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_GATT_API_H */ 14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1415