18843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/******************************************************************************
28843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
35b790feeeb211c42bf78ca3ae9c26aa30e516765Jakub Pawlowski *  Copyright 2016 The Android Open Source Project
45b790feeeb211c42bf78ca3ae9c26aa30e516765Jakub Pawlowski *  Copyright 2002-2012 Broadcom Corporation
58843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
68843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  Licensed under the Apache License, Version 2.0 (the "License");
78843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  you may not use this file except in compliance with the License.
88843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  You may obtain a copy of the License at:
98843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
108843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  http://www.apache.org/licenses/LICENSE-2.0
118843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
128843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  Unless required by applicable law or agreed to in writing, software
138843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  distributed under the License is distributed on an "AS IS" BASIS,
148843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
158843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  See the License for the specific language governing permissions and
168843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  limitations under the License.
178843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
188843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
198843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef BTA_HD_API_H
208843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_API_H
218843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
228843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#include "bta_api.h"
238843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#include "hidd_api.h"
248843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
258843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*****************************************************************************
268843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  Constants and Type Definitions
278843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ****************************************************************************/
288843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef BTA_HD_DEBUG
298843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_DEBUG FALSE
308843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
318843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
328843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/* BTA HID Device callback events */
338843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_ENABLE_EVT 0         /* BT-HD enabled */
348843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_DISABLE_EVT 1        /* BT-HD disabled */
358843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_REGISTER_APP_EVT 2   /* application registered */
368843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_UNREGISTER_APP_EVT 3 /* application unregistered */
378843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_OPEN_EVT 4           /* connection to host opened */
388843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_CLOSE_EVT 5          /* connection to host closed */
398843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_GET_REPORT_EVT 6     /* GET_REPORT request from host */
408843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_SET_REPORT_EVT 7     /* SET_REPORT request from host */
418843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_SET_PROTOCOL_EVT 8   /* SET_PROTOCOL request from host */
428843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_INTR_DATA_EVT 9      /* DATA received from host on intr */
438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_VC_UNPLUG_EVT 10     /* Virtual Cable Unplug */
44844daca6a8cae4a263dcc9c30e065e5c2c74da2fIvan Podogov#define BTA_HD_CONN_STATE_EVT 11    /* Report connection state change */
458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_API_ERR_EVT 99       /* BT-HD API error */
468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef uint16_t tBTA_HD_EVT;
488843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
498843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaenum { BTA_HD_OK, BTA_HD_ERROR };
508843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef uint8_t tBTA_HD_STATUS;
518843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
528843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef tHID_DEV_DSCP_INFO tBTA_HD_DEV_DESCR;
538843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
548843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
558843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  char* p_name;
568843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  char* p_description;
578843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  char* p_provider;
588843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t subclass;
598843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_DEV_DESCR descriptor;
608843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_APP_INFO;
618843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
638843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t service_type;
648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint32_t token_rate;
658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint32_t token_bucket_size;
668843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint32_t peak_bandwidth;
678843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint32_t access_latency;
688843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint32_t delay_variation;
698843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_QOS_INFO;
708843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
718843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
728843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  bool use_intr;
738843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t type;
748843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t id;
758843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint16_t len;
768843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t* p_data;
778843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_REPORT;
788843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
798843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
808843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_STATUS status;
818843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  bool in_use;
82a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski  RawAddress bda;
838843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_REG_STATUS;
848843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
858843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
86a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski  RawAddress bda;
878843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_STATUS status;
888843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_CONN;
898843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
908843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
918843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t report_type;
928843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t report_id;
938843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint16_t buffer_size;
948843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_GET_REPORT;
958843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
968843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
978843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t report_type;
988843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t report_id;
998843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint16_t len;
1008843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t* p_data;
1018843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_SET_REPORT;
1028843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1038843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef uint8_t tBTA_HD_SET_PROTOCOL;
1048843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1058843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef struct {
1068843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t report_id;
1078843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint16_t len;
1088843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  uint8_t* p_data;
1098843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD_INTR_DATA;
1108843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1118843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/* union of data associated with HD callback */
1128843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef union {
1138843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_STATUS status;             /* BTA_HD_ENABLE_EVT
1148843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                                        BTA_HD_DISABLE_EVT
1158843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                                        BTA_HD_UNREGISTER_APP_EVT */
1168843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_REG_STATUS reg_status;     /* BTA_HD_REGISTER_APP_EVT */
1178843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_CONN conn;                 /* BTA_HD_OPEN_EVT
1188843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                                        BTA_HD_CLOSE_EVT
1198843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                                        BTA_HD_VC_UNPLUG_EVT
1208843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                                        BTA_HD_OWN_VC_UNPLUG_EVT */
1218843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_GET_REPORT get_report;     /* BTA_HD_GET_REPORT */
1228843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_SET_REPORT set_report;     /* BTA_HD_SET_REPORT */
1238843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_SET_PROTOCOL set_protocol; /* BTA_HD_SETPROTOCOL */
1248843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta  tBTA_HD_INTR_DATA intr_data;       /* BTA_HD_INTR_DATA_EVT */
1258843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta} tBTA_HD;
1268843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1278843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/* BTA HD callback function */
1288843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptatypedef void(tBTA_HD_CBACK)(tBTA_HD_EVT event, tBTA_HD* p_data);
1298843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1308843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*****************************************************************************
1318843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *  External Function Declarations
1328843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ****************************************************************************/
1338843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifdef __cplusplus
1348843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern "C" {
1358843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
1368843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1378843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1388843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1398843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HhRegister
1408843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1418843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function enable HID host and registers HID-Host with
1428843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *                  lower layers.
1438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1448843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
1458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
1478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdEnable(tBTA_HD_CBACK* p_cback);
1488843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1498843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1508843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1518843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HhDeregister
1528843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1538843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when the host is about power down.
1548843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1558843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
1568843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1578843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
1588843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdDisable(void);
1598843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1608843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1618843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdRegisterApp
1638843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when application should be
1658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta*registered
1668843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1678843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
1688843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1698843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
1708843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdRegisterApp(tBTA_HD_APP_INFO* p_app_info,
1718843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                              tBTA_HD_QOS_INFO* p_in_qos,
1728843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta                              tBTA_HD_QOS_INFO* p_out_qos);
1738843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1748843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1758843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1768843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdUnregisterApp
1778843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1788843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when application should be
1798843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta*unregistered
1808843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1818843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
1828843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1838843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
1848843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdUnregisterApp(void);
1858843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1868843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1878843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1888843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdSendReport
1898843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1908843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when report is to be sent
1918843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1928843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
1938843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1948843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
1958843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdSendReport(tBTA_HD_REPORT* p_report);
1968843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
1978843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
1988843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
1998843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdVirtualCableUnplug
2008843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2018843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when VCU shall be sent
2028843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2038843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2048843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2058843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
2068843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdVirtualCableUnplug(void);
2078843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2088843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
2098843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2108843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdConnect
2118843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2128843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when connection to host shall be
213456e200272ad66b5005fa16d5a07701e5a86fcd4Ivan Podogov *                  made
2148843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2158843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2168843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2178843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
218a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskiextern void BTA_HdConnect(const RawAddress& addr);
2198843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2208843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
2218843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2228843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdDisconnect
2238843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2248843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when host shall be disconnected
2258843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2268843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2278843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2288843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
2298843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdDisconnect(void);
2308843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2318843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
2328843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2338843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdAddDevice
2348843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2358843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when a device is virtually cabled
2368843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2378843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2388843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2398843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
240a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskiextern void BTA_HdAddDevice(const RawAddress& addr);
2418843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2428843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
2438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2448843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdRemoveDevice
2458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when a device is virtually uncabled
2478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2488843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2498843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2508843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
251a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskiextern void BTA_HdRemoveDevice(const RawAddress& addr);
2528843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2538843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/*******************************************************************************
2548843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2558843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function         BTA_HdReportError
2568843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2578843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description      This function is called when reporting error for set report
2588843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2598843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns          void
2608843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta *
2618843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/
2628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptaextern void BTA_HdReportError(uint8_t error);
2638843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifdef __cplusplus
2658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta}
2668843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
2678843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
2688843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif /* BTA_HD_API_H */
269