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