bta_gatt_api.h revision 7051db3a486aae771d9b5a81c3546790f86ede34
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 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INCLUDED FALSE 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 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 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_ILLEGAL_PARAMETER GATT_ILLEGAL_PARAMETER /* 0x0087 */ 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_NO_RESOURCES GATT_NO_RESOURCES /* 0x0080 */ 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INTERNAL_ERROR GATT_INTERNAL_ERROR /* 0x0081 */ 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_WRONG_STATE GATT_WRONG_STATE /* 0x0082 */ 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_DB_FULL GATT_DB_FULL /* 0x0083 */ 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_BUSY GATT_BUSY /* 0x0084 */ 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_ERROR GATT_ERROR /* 0x0085 */ 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CMD_STARTED GATT_CMD_STARTED /* 0x0086 */ 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PENDING GATT_PENDING /* 0x0088 */ 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_FAIL GATT_AUTH_FAIL /* 0x0089 */ 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_MORE GATT_MORE /* 0x008a */ 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_CFG GATT_INVALID_CFG /* 0x008b */ 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_DUP_REG 0x008c 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_ALREADY_OPEN 0x008d /* 0x008d */ 94ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTA_GATT_CANCEL 0x008e /* 0x008e */ 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_STATUS; 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_INVALID_CONN_ID GATT_INVALID_CONN_ID 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client callback function events */ 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_REG_EVT 0 /* GATT client is registered. */ 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_DEREG_EVT 1 /* GATT client deregistered event */ 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_OPEN_EVT 2 /* GATTC open request status event */ 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_READ_CHAR_EVT 3 /* GATT read characteristic event */ 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_WRITE_CHAR_EVT 4 /* GATT write characteristic or char descriptor event */ 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_CLOSE_EVT 5 /* GATTC close request status event */ 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SEARCH_CMPL_EVT 6 /* GATT discovery complete event */ 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SEARCH_RES_EVT 7 /* GATT discovery result event */ 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_READ_DESCR_EVT 8 /* GATT read characterisitc descriptor event */ 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_WRITE_DESCR_EVT 9 /* GATT write characteristic descriptor event */ 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_NOTIF_EVT 10 /* GATT attribute notification event */ 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_PREP_WRITE_EVT 11 /* GATT prepare write event */ 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_EXEC_EVT 12 /* execute write complete event */ 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_ACL_EVT 13 /* ACL up event */ 115ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTA_GATTC_CANCEL_OPEN_EVT 14 /* cancel open event */ 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_SRVC_CHG_EVT 15 /* service change event */ 1175c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach#define BTA_GATTC_LISTEN_EVT 16 /* listen event */ 1187051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu#define BTA_GATTC_ENC_CMPL_CB_EVT 17 /* encryption complete callback event */ 119ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_EVT; 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_IF tBTA_GATTC_IF; 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 unit; /* as UUIUD defined by SIG */ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 descr; /* as UUID as defined by SIG */ 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tGATT_FORMAT format; 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project INT8 exp; 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 name_spc; /* The name space of the description */ 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_CHAR_PRES; 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_NONE GATT_CLT_CONFIG_NONE /* 0x0000 */ 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_NOTIFICATION GATT_CLT_CONFIG_NOTIFICATION /* 0x0001 */ 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CLT_CONFIG_INDICATION GATT_CLT_CONFIG_INDICATION /* 0x0002 */ 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_CLT_CHAR_CONFIG; 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* characteristic descriptor: server configuration value 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_SVR_CONFIG_NONE GATT_SVR_CONFIG_NONE /* 0x0000 */ 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_SVR_CONFIG_BROADCAST GATT_SVR_CONFIG_BROADCAST /* 0x0001 */ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_SVR_CHAR_CONFIG; 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Characteristic Aggregate Format attribute value 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AGGR_HANDLE_NUM_MAX 10 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_handle; 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 handle_list[BTA_GATT_AGGR_HANDLE_NUM_MAX]; 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATT_CHAR_AGGRE; 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_VALID_RANGE tBTA_GATT_VALID_RANGE; 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value; 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_UNFMT; 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_MAX_ATTR_LEN GATT_MAX_ATTR_LEN 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_TYPE_WRITE GATT_WRITE 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_TYPE_WRITE_NO_RSP GATT_WRITE_NO_RSP 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_WRITE_TYPE; 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_UNKNOWN 0 1676975b4d711142b885af479721cada448952c6b41Andre Eisenbach#define BTA_GATT_CONN_L2C_FAILURE GATT_CONN_L2C_FAILURE /* general l2cap resource failure */ 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TIMEOUT GATT_CONN_TIMEOUT /* 0x08 connection timeout */ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TERMINATE_PEER_USER GATT_CONN_TERMINATE_PEER_USER /* 0x13 connection terminate by peer user */ 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_TERMINATE_LOCAL_HOST GATT_CONN_TERMINATE_LOCAL_HOST/* 0x16 connectionterminated by local host */ 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_FAIL_ESTABLISH GATT_CONN_FAIL_ESTABLISH /* 0x03E connection fail to establish */ 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_LMP_TIMEOUT GATT_CONN_LMP_TIMEOUT /* 0x22 connection fail for LMP response tout */ 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_CANCEL GATT_CONN_CANCEL /* 0x0100 L2CAP connection cancelled */ 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CONN_NONE 0x0101 /* 0x0101 no connection to cancel */ 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_REASON; 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID id; 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_SRVC_ID; 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CHAR_ID; 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 1926975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_id; 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CHAR_DESCR_ID; 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID incl_svc_id; 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_INCL_SVC_ID; 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_TYPE_CHAR 0 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_TYPE_CHAR_DESCR 1 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_ID_TYPE; 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID_TYPE id_type; 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project union 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID char_descr_id; 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } id_value; 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_ATTR_ID; 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_MULTI_MAX GATT_MAX_READ_MULTI_HANDLES 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_ATTR_ID id_list[BTA_GATTC_MULTI_MAX]; 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_MULTI; 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_NONE GATT_AUTH_REQ_NONE 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_NO_MITM GATT_AUTH_REQ_NO_MITM /* unauthenticated encryption */ 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_MITM GATT_AUTH_REQ_MITM /* authenticated encryption */ 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_SIGNED_NO_MITM GATT_AUTH_REQ_SIGNED_NO_MITM 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_AUTH_REQ_SIGNED_MITM GATT_AUTH_REQ_SIGNED_MITM 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_AUTH_REQ tBTA_GATT_AUTH_REQ; 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_INCL_SRVC, 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_CHAR, 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_CHAR_DESCR, 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATTC_ATTR_TYPE_SRVC 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTC_ATTR_TYPE; 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 s_handle; 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 e_handle; /* used for service only */ 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_type; 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 id; 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 prop; /* used when attribute type is characteristic */ 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; /* used when attribute type is service */ 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_NV_ATTR; 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* callback data structure */ 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID app_uuid; 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_REG; 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_pres_fmt; /* number of presentation format aggregated*/ 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID pre_format[BTA_GATTC_MULTI_MAX]; 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_CHAR_AGGRE_VALUE; 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_AGGRE_VALUE aggre_value; 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_UNFMT unformat; 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATT_READ_VAL; 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 2836975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_READ_VAL *p_value; 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_READ; 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID srvc_id; 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_ID char_id; 2936975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_WRITE; 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_EXEC_CMPL; 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_SEARCH_CMPL; 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID service_uuid; 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_SRVC_RES; 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_OPEN; 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_REASON reason; /* disconnect reason code, not useful when connect event is reported */ 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_CLOSE; 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bda; 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID char_id; 3376975b4d711142b885af479721cada448952c6b41Andre Eisenbach tBTA_GATT_ID descr_type; 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len; 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 value[BTA_GATT_MAX_ATTR_LEN]; 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_notify; 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_NOTIFY; 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTC_OPEN_CLOSE; 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3537051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xutypedef struct 3547051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu{ 3557051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu tBTA_GATTC_IF client_if; 3567051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu BD_ADDR remote_bda; 3577051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu}tBTA_GATTC_ENC_CMPL_CB; 3587051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_SEARCH_CMPL search_cmpl; /* discovery complete */ 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_SRVC_RES srvc_res; /* discovery result */ 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_REG reg_oper; /* registration data */ 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_OPEN open; 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CLOSE close; 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_READ read; /* read attribute/descriptor data */ 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE write; /* write complete data */ 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_EXEC_CMPL exec_cmpl; /* execute complete */ 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_NOTIFY notify; /* notification/indication event data */ 3727051db3a486aae771d9b5a81c3546790f86ede34Zhihai Xu tBTA_GATTC_ENC_CMPL_CB enc_cmpl; 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; /* service change event */ 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATTC; 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 376e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/* GATTC enable callback function */ 377e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbachtypedef void (tBTA_GATTC_ENB_CBACK)(tBTA_GATT_STATUS status); 378e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Client callback function */ 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_GATTC_CBACK)(tBTA_GATTC_EVT event, tBTA_GATTC *p_data); 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GATT Server Data Structure */ 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server callback function events */ 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_REG_EVT 0 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_READ_EVT GATTS_REQ_TYPE_READ /* 1 */ 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_WRITE_EVT GATTS_REQ_TYPE_WRITE /* 2 */ 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_EXEC_WRITE_EVT GATTS_REQ_TYPE_WRITE_EXEC /* 3 */ 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_MTU_EVT GATTS_REQ_TYPE_MTU /* 4 */ 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CONF_EVT GATTS_REQ_TYPE_CONF /* 5 */ 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DEREG_EVT 6 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CREATE_EVT 7 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_INCL_SRVC_EVT 8 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_CHAR_EVT 9 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_ADD_CHAR_DESCR_EVT 10 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DELELTE_EVT 11 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_START_EVT 12 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_STOP_EVT 13 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CONNECT_EVT 14 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_DISCONNECT_EVT 15 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_OPEN_EVT 16 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CANCEL_OPEN_EVT 17 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_CLOSE_EVT 18 4045c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach#define BTA_GATTS_LISTEN_EVT 19 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATTS_EVT; 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_IF tBTA_GATTS_IF; 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Attribute permissions 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ GATT_PERM_READ /* bit 0 - 0x0001 */ 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ_ENCRYPTED GATT_PERM_READ_ENCRYPTED /* bit 1 - 0x0002 */ 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_READ_ENC_MITM GATT_PERM_READ_ENC_MITM /* bit 2 - 0x0004 */ 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE GATT_PERM_WRITE /* bit 4 - 0x0010 */ 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_ENCRYPTED GATT_PERM_WRITE_ENCRYPTED /* bit 5 - 0x0020 */ 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_ENC_MITM GATT_PERM_WRITE_ENC_MITM /* bit 6 - 0x0040 */ 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_SIGNED GATT_PERM_WRITE_SIGNED /* bit 7 - 0x0080 */ 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PERM_WRITE_SIGNED_MITM GATT_PERM_WRITE_SIGNED_MITM /* bit 8 - 0x0100 */ 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_GATT_PERM; 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_INVALID_APP 0xff 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_INVALID_IF 0 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* definition of characteristic properties */ 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_BROADCAST GATT_CHAR_PROP_BIT_BROADCAST /* 0x01 */ 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_READ GATT_CHAR_PROP_BIT_READ /* 0x02 */ 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_WRITE_NR GATT_CHAR_PROP_BIT_WRITE_NR /* 0x04 */ 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_WRITE GATT_CHAR_PROP_BIT_WRITE /* 0x08 */ 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_NOTIFY GATT_CHAR_PROP_BIT_NOTIFY /* 0x10 */ 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_INDICATE GATT_CHAR_PROP_BIT_INDICATE /* 0x20 */ 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_AUTH GATT_CHAR_PROP_BIT_AUTH /* 0x40 */ 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_CHAR_PROP_BIT_EXT_PROP GATT_CHAR_PROP_BIT_EXT_PROP /* 0x80 */ 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_CHAR_PROP; 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_GATTC_CHAR_DESCR_MAX 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTC_CHAR_DESCR_MAX 7 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*********************** NV callback Data Definitions ********************** 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID app_uuid128; 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID svc_uuid; 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 svc_inst; 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 s_handle; 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 e_handle; 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; /* primary service or secondary */ 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_GATTS_HNDL_RANGE; 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_ADD_CLIENT GATTS_SRV_CHG_CMD_ADD_CLIENT 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_UPDATE_CLIENT GATTS_SRV_CHG_CMD_UPDATE_CLIENT 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_REMOVE_CLIENT GATTS_SRV_CHG_CMD_REMOVE_CLIENT 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_READ_NUM_CLENTS GATTS_SRV_CHG_CMD_READ_NUM_CLENTS 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATTS_SRV_CHG_CMD_READ_CLENT GATTS_SRV_CHG_CMD_READ_CLENT 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_CMD tBTA_GATTS_SRV_CHG_CMD; 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG tBTA_GATTS_SRV_CHG; 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_REQ tBTA_GATTS_SRV_CHG_REQ; 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_SRV_CHG_RSP tBTA_GATTS_SRV_CHG_RSP; 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATT_TRANSPORT_LE, 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATT_TRANSPORT_BR_EDR, 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_GATT_TRANSPORT_LE_BR_EDR 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_GATT_TRANSPORT; 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute value */ 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_VALUE tBTA_GATT_VALUE; 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute response data */ 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_RSP tBTA_GATTS_RSP; 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* attribute request data from the client */ 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PREP_WRITE_CANCEL 0x00 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_GATT_PREP_WRITE_EXEC 0x01 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_EXEC_FLAG tBTA_GATT_EXEC_FLAG; 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* read request always based on UUID */ 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_READ_REQ tTA_GBATT_READ_REQ; 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* write request data */ 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATT_WRITE_REQ tBTA_GATT_WRITE_REQ; 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* callback data for server access request from client */ 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef tGATTS_DATA tBTA_GATTS_REQ_DATA; 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 trans_id; 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REQ_DATA *p_data; 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_REQ; 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_REG_OPER; 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 svc_instance; 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_primary; 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_CREATE; 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 attr_id; 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID char_uuid; 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_ADD_RESULT; 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_id; 5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_SRVC_OPER; 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_IF server_if; 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda; 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_REASON reason; /* report disconnect reason */ 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS_CONN; 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GATTS callback data */ 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REG_OPER reg_oper; 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_CREATE create; 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_SRVC_OPER srvc_oper; 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status; /* BTA_GATTS_CONF_EVT */ 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_ADD_RESULT add_result; /* add included service: BTA_GATTS_ADD_INCL_SRVC_EVT 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project add char : BTA_GATTS_ADD_CHAR_EVT 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project add char descriptor: BTA_GATTS_ADD_CHAR_DESCR_EVT */ 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_REQ req_data; 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTS_CONN conn; /* BTA_GATTS_CONN_EVT */ 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_GATTS; 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 563e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/* GATTS enable callback function */ 564e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbachtypedef void (tBTA_GATTS_ENB_CBACK)(tBTA_GATT_STATUS status); 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Server callback function */ 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTA_GATTS_CBACK)(tBTA_GATTS_EVT event, tBTA_GATTS *p_data); 568e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** External Function Declarations 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************** 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Client Functions 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project***************************/ 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 584e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Function BTA_GATTC_Disable 585ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 586e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Description This function is called to disable the GATTC module 587ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 588e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Parameters None. 589ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 590ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns None 591ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 592ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 593e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre EisenbachBTA_API extern void BTA_GATTC_Disable(void); 594ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 595ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 596ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_AppRegister 5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register application callbacks 6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** with BTA GATTC module. 6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_app_uuid - applicaiton UUID 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_client_cb - pointer to the application callback function. 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_AppRegister(tBT_UUID *p_app_uuid, tBTA_GATTC_CBACK *p_client_cb); 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_AppDeregister 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to deregister an application 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** from BTA GATTC module. 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface identifier. 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_AppDeregister (tBTA_GATTC_IF client_if); 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_Open 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct connection or add a background auto connection 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if: server interface. 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_Open(tBTA_GATTC_IF client_if, BD_ADDR remote_bda, BOOLEAN is_direct); 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_CancelOpen 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct connection or add a background auto connection 6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if: server interface. 6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_CancelOpen(tBTA_GATTC_IF client_if, BD_ADDR remote_bda, BOOLEAN is_direct); 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_Close 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a connection to a GATT server. 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connectino ID to be closed. 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_Close(UINT16 conn_id); 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ServiceSearchRequest 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to request a GATT service discovery 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** on a GATT server. This function report service search result 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** by a callback event, and followed by a service search complete 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** event. 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID. 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_uuid: a UUID of the service application is interested in. 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** If Null, discover for all services. 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ServiceSearchRequest(UINT16 conn_id, tBT_UUID *p_srvc_uuid); 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstChar 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first charatceristic of the 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_id: the service ID of which the characteristic is belonged to. 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid_cond: Characteristic UUID, if NULL find the first available 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_result: output parameter which will store the GATT 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic ID. 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_property: output parameter to carry the characteristic property. 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstChar (UINT16 conn_id, 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID *p_srvc_id, 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_char_uuid_cond, 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_result, 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_PROP *p_property); 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextChar 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next charatceristic of the 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_char_id: start the characteristic search from the next record 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by char_id. 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid_cond: Characteristic UUID, if NULL find the first available 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_result: output parameter which will store the GATT 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic ID. 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_property: output parameter, characteristic property. 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextChar (UINT16 conn_id, 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_start_char_id, 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_char_uuid_cond, 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_result, 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_CHAR_PROP *p_property); 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstCharDescr 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first charatceristic descriptor of the 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** charatceristic on the given server. 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id: the characteristic ID of which the descriptor is belonged to. 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid_cond: Characteristic Descr UUID, if NULL find the first available 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic. 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_result: output parameter which will store the GATT 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptor ID. 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstCharDescr (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id, 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_descr_uuid_cond, 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_descr_result); 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextCharDescr 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next charatceristic of the 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_descr_id: start the characteristic search from the next record 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by p_start_descr_id. 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid_cond: Characteristic descriptor UUID, if NULL find 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the first available characteristic descriptor. 7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_result: output parameter which will store the GATT 7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptor ID. 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextCharDescr (UINT16 conn_id, 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_start_descr_id, 7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_descr_uuid_cond, 7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_descr_result); 7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetFirstIncludedService 7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the first included service of the 7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_srvc_id: the service ID of which the included service is belonged to. 7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_uuid_cond: include service UUID, if NULL find the first available 7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included service. 7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_result: output parameter which will store the GATT ID 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** of the included service found. 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetFirstIncludedService(UINT16 conn_id, 7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_SRVC_ID *p_srvc_id, 8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid_cond, 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_result); 8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_GetNextIncludedService 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to find the next included service of the 8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service on the given server. 8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connection ID which identify the server. 8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_start_id: start the search from the next record 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** after the one identified by p_start_id. 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_uuid_cond: Included service UUID, if NULL find the first available 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included service. 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_result: output parameter which will store the GATT ID 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** of the included service found. 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_GetNextIncludedService(UINT16 conn_id, 8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_start_id, 8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid_cond, 8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_INCL_SVC_ID *p_result); 8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadCharacteristic 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a service's characteristics of 8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the given characteritisc ID. 8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connectino ID. 8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteritic ID to read. 8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadCharacteristic (UINT16 conn_id, 8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadCharDescr 8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a characteristics descriptor. 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_descr_id - characteritic descriptor ID to read. 8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadCharDescr (UINT16 conn_id, 8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id, 8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_WriteCharValue 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write characteristic value. 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteristic ID to write. 8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** write_type - type of write. 8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the data to be written. 8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_WriteCharValue (UINT16 conn_id, 8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE_TYPE write_type, 8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len, 8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value, 8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_WriteCharDescr 8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write characteristic descriptor value. 8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID 8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_descr_id - characteristic descriptor ID to write. 8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** write_type - type of write. 8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_WriteCharDescr (UINT16 conn_id, 8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_DESCR_ID *p_char_descr_id, 8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_WRITE_TYPE write_type, 8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_UNFMT *p_data, 8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_SendIndConfirm 9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send handle value confirmation. 9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - characteristic ID to confrim. 9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_SendIndConfirm (UINT16 conn_id, tBTA_GATTC_CHAR_ID *p_char_id); 9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_RegisterForNotifications 9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register for notification of a service. 9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface. 9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda - target GATT server. 9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - pointer to GATT characteristic ID. 9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns OK if registration succeed, otherwise failed. 9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_RegisterForNotifications (tBTA_GATTC_IF client_if, 9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda, 9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id); 9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_DeregisterForNotifications 9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to de-register for notification of a servbice. 9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters client_if - client interface. 9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda - target GATT server. 9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - pointer to a GATT characteristic ID. 9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns OK if deregistration succeed, otherwise failed. 9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern tBTA_GATT_STATUS BTA_GATTC_DeregisterForNotifications (tBTA_GATTC_IF client_if, 9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR remote_bda, 9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id); 9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_PrepareWrite 9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to prepare write a characteristic value. 9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_id - GATT characteritic ID of the service. 9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** offset - offset of the write value. 9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the data to be written. 9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_value - the value to be written. 9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_PrepareWrite (UINT16 conn_id, 9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_CHAR_ID *p_char_id, 9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 offset, 9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len, 9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_value, 9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ExecuteWrite 9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to execute write a prepare write sequence. 9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection ID. 9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_execute - execute or cancel. 9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ExecuteWrite (UINT16 conn_id, BOOLEAN is_execute); 9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTC_ReadMultiple 9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read multiple characteristic or 9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** characteristic descriptors. 9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connectino ID. 9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_read_multi - read multiple parameters. 9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void BTA_GATTC_ReadMultiple(UINT16 conn_id, tBTA_GATTC_MULTI *p_read_multi, 10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_AUTH_REQ auth_req); 10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1003ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1004ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1005ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTC_Refresh 1006ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1007ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description Refresh the server cache of the remote device 1008ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1009ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters remote_bda: remote device BD address. 1010ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1011ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 1012ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1013ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1014ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTA_API extern void BTA_GATTC_Refresh(BD_ADDR remote_bda); 10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10185c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10195c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Function BTA_GATTC_Listen 10205c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10215c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Description Start advertisement to listen for connection request. 10225c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10235c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Parameters client_if: server interface. 10245c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** start: to start or stop listening for connection 10255c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** remote_bda: remote device BD address, if listen to all device 10265c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** use NULL. 10275c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10285c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** Returns void 10295c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach** 10305c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach*******************************************************************************/ 10315c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre EisenbachBTA_API extern void BTA_GATTC_Listen(tBTA_GATTC_IF client_if, BOOLEAN start, BD_ADDR_PTR target_bda); 10325c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach 10335c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach/******************************************************************************* 10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA GATT Server API 10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/ 1036ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1037ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1038ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1039ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTS_Init 1040ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1041ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to initalize GATTS module 1042ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1043ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters None 1044ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1045ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns None 1046ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1047ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1048ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_API extern void BTA_GATTS_Init(); 1049ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1052e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Function BTA_GATTS_Disable 1053e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1054e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Description This function is called to disable GATTS module 1055e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1056e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Parameters None. 1057e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1058e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** Returns None 1059e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 1060e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach*******************************************************************************/ 1061e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach BTA_API extern void BTA_GATTS_Disable(void); 1062e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach 1063e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach/******************************************************************************* 1064e1202caae4920139ea0cfed5c51f5f76b2dc8bc4Andre Eisenbach** 10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AppRegister 10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register application callbacks 10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** with BTA GATTS module. 10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_app_uuid - applicaiton UUID 10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_cback - pointer to the application callback function. 10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AppRegister(tBT_UUID *p_app_uuid, tBTA_GATTS_CBACK *p_cback); 10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AppDeregister 10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description De-register with BTA GATT Server. 10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface 10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AppDeregister(tBTA_GATTS_IF server_if); 10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_CreateService 10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Create a service. When service creation is done, a callback 10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** event BTA_GATTS_CREATE_SRVC_EVT is called to report status 10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** and service ID to the profile. The service ID obtained in 10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the callback function needs to be used when adding included 11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service and characteristics/descriptors into the service. 11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_service_uuid: service UUID. 11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** inst: instance ID number of this service. 11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** num_handle: numble of handle requessted for this service. 11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_primary: is this service a primary one or not. 11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_CreateService(tBTA_GATTS_IF server_if, tBT_UUID *p_service_uuid, 11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 inst, UINT16 num_handle, BOOLEAN is_primary); 11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddIncludeService 11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add an included service. After included 11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** service is included, a callback event BTA_GATTS_ADD_INCL_SRVC_EVT 11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is reported the included service ID. 11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this included service is to 11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** included_service_id: the service ID to be included. 11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddIncludeService(UINT16 service_id, UINT16 included_service_id); 11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddCharacteristic 11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add a characteristic into a service. 11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this included service is to 11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_char_uuid : Characteristic UUID. 11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** perm : Characteristic value declaration attribute permission. 11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** property : Characteristic Properties 11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddCharacteristic (UINT16 service_id, tBT_UUID *p_char_uuid, 11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_PERM perm, tBTA_GATT_CHAR_PROP property); 11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_AddCharDescriptor 11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add characteristic descriptor. When 11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** it's done, a callback event BTA_GATTS_ADD_DESCR_EVT is called 11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** to report the status and an ID number for this descriptor. 11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service ID to which this charatceristic descriptor is to 11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be added. 11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** perm: descriptor access permission. 11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_uuid: descriptor UUID. 11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_descr_params: descriptor value if it's read only descriptor. 11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns status. 11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_AddCharDescriptor (UINT16 service_id, 11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_PERM perm, 11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID * p_descr_uuid); 11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_DeleteService 11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to delete a service. When this is done, 11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** a callback event BTA_GATTS_DELETE_EVT is report with the status. 11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: service_id to be deleted. 11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns returns none. 11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_DeleteService(UINT16 service_id); 11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_StartService 11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to start a service. 11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id: the service ID to be started. 11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** sup_transport: supported trasnport. 11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None. 11945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 11955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_StartService(UINT16 service_id, tBTA_GATT_TRANSPORT sup_transport); 11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 11995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_StopService 12015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to stop a service. 12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters service_id - service to be topped. 12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_StopService(UINT16 service_id); 12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_HandleValueIndication 12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read a characteristics descriptor. 12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection identifier. 12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** attr_id - attribute ID to indicate. 12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data_len - indicate data length. 12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_data: data to indicate. 12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** need_confirm - if this indication expects a confirmation or not. 12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_HandleValueIndication (UINT16 conn_id, UINT16 attr_id, 12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 data_len, 12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data, 12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN need_confirm); 12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_SendRsp 12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send a response to a request. 12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id - connection identifier. 12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** trans_id - transaction ID. 12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - response status 12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_msg - response data. 12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_SendRsp (UINT16 conn_id, UINT32 trans_id, 12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATT_STATUS status, tBTA_GATTS_RSP *p_msg); 12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_Open 12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a direct open connection or add a background auto connection 12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_Open(tBTA_GATTS_IF server_if, BD_ADDR remote_bda, BOOLEAN is_direct); 12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_CancelOpen 12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Cancel a direct open connection or remove a background auto connection 12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd address 12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters server_if: server interface. 12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: remote device BD address. 12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is_direct: direct connection or background auto connection 12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_CancelOpen(tBTA_GATTS_IF server_if, BD_ADDR remote_bda, BOOLEAN is_direct); 12835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_GATTS_Close 12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a connection a remote device. 12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_id: connectino ID to be closed. 12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 12945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 12955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API extern void BTA_GATTS_Close(UINT16 conn_id); 12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1298ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 1299ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1300ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTA_GATTS_Listen 1301ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1302ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description Start advertisement to listen for connection request for a 1303ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** GATT server 1304ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1305ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters server_if: server interface. 1306ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** start: to start or stop listening for connection 1307ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** remote_bda: remote device BD address, if listen to all device 1308ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** use NULL. 1309ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1310ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 1311ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 1312ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 1313ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_API extern void BTA_GATTS_Listen(tBTA_GATTS_IF server_if, BOOLEAN start, 1314ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_ADDR_PTR target_bda); 1315ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 13185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 13205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 13215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_GATT_API_H */ 13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1325