15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 1998-2012 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 private file for the message access equipment (MSE) 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * subsystem. 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HL_INT_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_INT_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h" 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_sys.h" 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_hl_api.h" 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_hl_co.h" 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "l2cdefs.h" 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 (tBTA_HL_ALLOCATE_PSM) (void); 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants and data types 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HL_DISC_SIZE 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DISC_SIZE 1600 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_NUM_SRCH_ATTR 10 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_MIN_SDP_MDEP_LEN 7 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* L2CAP defualt parameters */ 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_TX_WIN_SIZE 10 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_MAX_TRANSMIT 32 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_RTRANS_TOUT 2000 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_MON_TOUT 12000 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_MPS 1017 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* L2CAP FCS setting*/ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_MCA_USE_FCS MCA_FCS_USE 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_MCA_NO_FCS MCA_FCS_BYPASS 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_USE_FCS 1 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_L2C_NO_FCS 0 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DEFAULT_SOURCE_FCS BTA_HL_L2C_USE_FCS 602b8347556b8fc4135d4db1fa9f33517d39d8ca5aJacob Lee#define BTA_HL_MCA_FCS_USE_MASK MCA_FCS_USE_MASK 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SDP Operations */ 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_NONE 0 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_CCH_INIT 1 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_DCH_OPEN_INIT 2 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_DCH_RECONNECT_INIT 3 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_SDP_QUERY_NEW 4 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_SDP_OP_SDP_QUERY_CURRENT 5 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_SDP_OPER; 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* CCH Operations */ 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_OP_NONE 0 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_OP_LOCAL_OPEN 1 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_OP_REMOTE_OPEN 2 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_OP_LOCAL_CLOSE 3 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_OP_REMOTE_CLOSE 4 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_CCH_OPER; 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Pending DCH close operations when closing a CCH */ 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_CLOSE_OP_DCH_NONE 0 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_CLOSE_OP_DCH_ABORT 1 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CCH_CLOSE_OP_DCH_CLOSE 2 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_CCH_CLOSE_DCH_OPER; 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DCH Operations */ 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_NONE 0 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_REMOTE_CREATE 1 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_OPEN 2 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_REMOTE_OPEN 3 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_CLOSE 4 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_REMOTE_CLOSE 5 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_DELETE 6 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_REMOTE_DELETE 7 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_RECONNECT 8 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_REMOTE_RECONNECT 9 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_CLOSE_ECHO_TEST 10 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_OP_LOCAL_CLOSE_RECONNECT 11 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_DCH_OPER; 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Echo test Operations */ 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_NONE 0 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_CI_GET_ECHO_DATA 1 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_SDP_INIT 2 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_MDL_CREATE_CFM 3 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_DCH_OPEN_CFM 4 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_LOOP_BACK 5 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_CI_PUT_ECHO_DATA 6 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_DCH_CLOSE_CFM 7 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_OPEN_IND 8 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ECHO_OP_ECHO_PKT 9 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_ECHO_OPER; 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* abort status mask for abort_oper */ 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ABORT_NONE_MASK 0x00 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ABORT_PENDING_MASK 0x01 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ABORT_LOCAL_MASK 0x10 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ABORT_REMOTE_MASK 0x20 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_ABORT_CCH_CLOSE_MASK 0x40 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* call out mask for cout_oper */ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CO_NONE_MASK 0x00 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CO_GET_TX_DATA_MASK 0x01 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CO_PUT_RX_DATA_MASK 0x02 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CO_GET_ECHO_DATA_MASK 0x04 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_CO_PUT_ECHO_DATA_MASK 0x08 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 mtu; 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 fcs; /* '0' No FCS, otherwise '1' */ 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_L2CAP_CFG_INFO; 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* State Machine Events */ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* these events are handled by the state machine */ 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_OPEN_EVT = BTA_SYS_EVT_START(BTA_ID_HL), 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_SDP_OK_EVT, 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_SDP_FAIL_EVT, 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CONNECT_IND_EVT, 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_DISCONNECT_IND_EVT, 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_CLOSE_EVT, 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_CLOSE_CMPL_EVT, 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_RSP_TOUT_IND_EVT, 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* DCH EVENT */ 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_SDP_INIT_EVT, 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_OPEN_EVT, 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CREATE_IND_EVT, 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CREATE_CFM_EVT, 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_OPEN_IND_EVT, 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_OPEN_CFM_EVT, 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_CLOSE_EVT, 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CLOSE_IND_EVT, 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CLOSE_CFM_EVT, 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_SEND_DATA_EVT, 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_RCV_DATA_EVT, 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_CLOSE_CMPL_EVT, 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_RECONNECT_EVT, 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_SDP_FAIL_EVT, 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_RECONNECT_IND_EVT, 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_RECONNECT_CFM_EVT, 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_CLOSE_ECHO_TEST_EVT, 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_CREATE_RSP_EVT, 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_ABORT_EVT, 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_ABORT_IND_EVT, 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_ABORT_CFM_EVT, 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_CONG_CHG_EVT, 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CI_GET_TX_DATA_EVT, 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CI_PUT_RX_DATA_EVT, 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CI_GET_ECHO_DATA_EVT, 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_ECHO_TEST_EVT, 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CI_PUT_ECHO_DATA_EVT, 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* these events are handled outside the state machine */ 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_ENABLE_EVT, 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DISABLE_EVT, 187f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera BTA_HL_API_UPDATE_EVT, 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_REGISTER_EVT, 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DEREGISTER_EVT, 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_CCH_OPEN_EVT, 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_CCH_CLOSE_EVT, 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_OPEN_EVT, 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_RECONNECT_EVT, 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_CLOSE_EVT, 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DELETE_MDL_EVT, 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_ABORT_EVT, 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_DCH_ECHO_TEST_EVT, 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_API_SDP_QUERY_EVT, 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_SDP_QUERY_OK_EVT, 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_SDP_QUERY_FAIL_EVT, 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_DELETE_IND_EVT, 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_MCA_DELETE_CFM_EVT 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTA_HL_INT_EVT; 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_EVT_MIN BTA_HL_DCH_SDP_INIT_EVT 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_DCH_EVT_MAX 0xFFFF 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* state machine states */ 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_IDLE_ST = 0, /* Idle */ 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_OPENING_ST, /* Opening a connection*/ 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_OPEN_ST, /* Connection is open */ 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_CCH_CLOSING_ST /* Closing is in progress */ 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_CCH_STATE; 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_IDLE_ST = 0, /* Idle */ 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_OPENING_ST, /* Opening a connection*/ 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_OPEN_ST, /* Connection is open */ 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HL_DCH_CLOSING_ST /* Closing is in progress */ 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_HL_DCH_STATE; 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CTRL_CBACK *p_cback; /* pointer to control callback function */ 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_ENABLE; 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; 241f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera BOOLEAN is_register; /* Update HL application due to register or deregister */ 242f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera tBTA_HL_CBACK *p_cback; /* pointer to application callback function */ 243f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera tBTA_HL_DEVICE_TYPE dev_type; /* sink, source or dual roles */ 244f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera tBTA_SEC sec_mask; /* security mask for accepting conenction*/ 245f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera char srv_name[BTA_SERVICE_NAME_LEN +1]; /* service name to be used in the SDP; null terminated*/ 246f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera char srv_desp[BTA_SERVICE_DESP_LEN +1]; /* service description to be used in the SDP; null terminated */ 247f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera char provider_name[BTA_PROVIDER_NAME_LEN +1]; /* provide name to be used in the SDP; null terminated */ 248f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera 249f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera} tBTA_HL_API_UPDATE; 250f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera 251f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Agheratypedef struct 252f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera{ 253f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera BT_HDR hdr; 254f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id; 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CBACK *p_cback; /* pointer to application callback function */ 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DEVICE_TYPE dev_type; /* sink, source or dual roles */ 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SEC sec_mask; /* security mask for accepting conenction*/ 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char srv_name[BTA_SERVICE_NAME_LEN +1]; /* service name to be used in the SDP; null terminated*/ 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char srv_desp[BTA_SERVICE_DESP_LEN +1]; /* service description to be used in the SDP; null terminated */ 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char provider_name[BTA_PROVIDER_NAME_LEN +1]; /* provide name to be used in the SDP; null terminated */ 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_REGISTER; 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 266f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id; 267f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera tBTA_HL_CBACK *p_cback; /* pointer to application callback function */ 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle; 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DEREGISTER; 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 274f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id; 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle; 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; /* Address of peer device */ 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SEC sec_mask; /* security mask for initiating connection*/ 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_CCH_OPEN; 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_CCH_CLOSE; 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID local_mdep_id; /* local MDEP ID */ 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID peer_mdep_id; /* peer mdep id */ 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG local_cfg; 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SEC sec_mask; /* security mask for initiating connection*/ 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_OPEN; 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id; 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_RECONNECT; 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle; 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_CLOSE; 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id; 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DELETE_MDL; 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_ABORT; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle; 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 pkt_size; 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_SEND_DATA; 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 pkt_size; 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG local_cfg; 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_ECHO_TEST; 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_idx; 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mcl_idx; 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN release_mcl_cb; 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_CCH_SDP; 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCA callback event parameters. */ 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle; 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tMCA_CTRL mca_data; 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_MCA_EVT; 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCA callback event parameters. */ 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_idx; 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mcl_idx; 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx; 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_pkt; 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_MCA_RCV_DATA_EVT; 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_idx; 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mcl_idx; 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx; 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_DCH_SDP; 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle; 389f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id; 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; /* Address of peer device */ 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_SDP_QUERY; 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id; 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID local_mdep_id; 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CREATE_RSP rsp_code; 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG cfg_rsp; 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_API_DCH_CREATE_RSP; 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle; 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status; 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_CI_GET_PUT_DATA; 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status; 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_CI_ECHO_DATA; 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all state machine event data types */ 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_ENABLE api_enable; /* data for BTA_MSE_API_ENABLE_EVT */ 422f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera tBTA_HL_API_UPDATE api_update; 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_REGISTER api_reg; 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DEREGISTER api_dereg; 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_CCH_OPEN api_cch_open; 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_CCH_CLOSE api_cch_close; 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_CREATE_RSP api_dch_create_rsp; 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_OPEN api_dch_open; 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_RECONNECT api_dch_reconnect; 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_CLOSE api_dch_close; 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DELETE_MDL api_delete_mdl; 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_ABORT api_dch_abort; 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_SEND_DATA api_send_data; 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_ECHO_TEST api_dch_echo_test; 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_SDP_QUERY api_sdp_query; 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CCH_SDP cch_sdp; 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCA_EVT mca_evt; 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCA_RCV_DATA_EVT mca_rcv_data_evt; 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_SDP dch_sdp; /* for DCH_OPEN_EVT and DCH_RECONNECT_EVT */ 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CI_GET_PUT_DATA ci_get_put_data; 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CI_ECHO_DATA ci_get_put_echo_data; 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_HL_DATA; 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 mdl_id; 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle; 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_OPER dch_oper; 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN intentional_close; 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_STATE dch_state; 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 abort_oper; 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 req_data_psm; 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 max_rx_apdu_size; 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 max_tx_apdu_size; 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_tx_pkt; 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_rx_pkt; 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID local_mdep_id; 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 local_mdep_cfg_idx; 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG local_cfg; 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG remote_cfg; 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID peer_mdep_id; 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 peer_data_type; 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ROLE peer_mdep_role; 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_MODE dch_mode; 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SEC sec_mask; 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_the_first_reliable; 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN delete_mdl; 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 mtu; 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tMCA_CHNL_CFG chnl_cfg; 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN mdl_cfg_idx_included; 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_cfg_idx; 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 echo_oper; 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN cong; 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN close_pending; 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cout_oper; 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_echo_tx_pkt; 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_echo_rx_pkt; 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS ci_put_echo_data_status; 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_MDL_CB; 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_CB mdl[BTA_HL_NUM_MDLS_PER_MCL]; 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DELETE_MDL delete_mdl; 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CCH_STATE cch_state; 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 req_ctrl_psm; 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 data_psm; 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 cch_mtu; 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 sec_mask; 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle; 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_DISCOVERY_DB *p_db; /* pointer to discovery database */ 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_DISC_CMPL_CB *sdp_cback; 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SDP_OPER sdp_oper; 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN close_pending; 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 sdp_mdl_idx; 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SDP sdp; 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cch_oper; 504ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT8 force_close_local_cch_opening; 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN intentional_close; 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN rsp_tout; 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 timer_oper; 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN echo_test; 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 echo_mdl_idx; 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cch_close_dch_oper; 511f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id; 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_MCL_CB; 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_CB mcb[BTA_HL_NUM_MCLS]; /* application Control Blocks */ 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CBACK *p_cback; /* pointer to control callback function */ 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; /* this CB is in use*/ 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN deregistering; 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 sdp_handle; /* SDP record handle */ 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SUP_FEATURE sup_feature; 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_CFG mdl_cfg[BTA_HL_NUM_MDL_CFGS]; 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DEVICE_TYPE dev_type; 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle; 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm; /* L2CAP PSM for the MCAP control channel */ 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 data_psm; /* L2CAP PSM for the MCAP data channel */ 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 sec_mask; /* Security mask for BTM_SetSecurityLevel() */ 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char srv_name[BTA_SERVICE_NAME_LEN +1]; /* service name to be used in the SDP; null terminated*/ 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char srv_desp[BTA_SERVICE_DESP_LEN +1]; /* service description to be used in the SDP; null terminated */ 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project char provider_name[BTA_PROVIDER_NAME_LEN +1]; /* provide name to be used in the SDP; null terminated */ 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tMCA_CTRL_CBACK *p_mcap_cback; /* pointer to MCAP callback function */ 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tMCA_DATA_CBACK *p_data_cback; 5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_APP_CB; 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SDP_OPER sdp_oper; 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_idx; 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mcl_idx; 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx; 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_SDP_CB; 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_idx; 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mcl_idx; 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_TIMER_CB; 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_CB acb[BTA_HL_NUM_APPS]; /* HL Control Blocks */ 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CTRL_CBACK *p_ctrl_cback; /* pointer to control callback function */ 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN enable; 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN disabling; 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SDP_CB scb[BTA_HL_NUM_SDP_CBACKS]; 5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_TIMER_CB tcb[BTA_HL_NUM_TIMERS]; 5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN enable_random_psm; 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_ALLOCATE_PSM *p_alloc_psm; 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_HL_CB; 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Configuration Definitions 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Configuration structure */ 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Global data 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* HL control block */ 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_HL_CB bta_hl_cb; 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_HL_CB *bta_hl_cb_ptr; 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project #define bta_hl_cb (*bta_hl_cb_ptr) 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_CB_PTR() &(bta_hl_cb) 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_APP_CB_PTR(app_idx) &(bta_hl_cb.acb[(app_idx)]) 5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_MCL_CB_PTR(app_idx, mcl_idx) &(bta_hl_cb.acb[(app_idx)].mcb[(mcl_idx)]) 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_MDL_CB_PTR(app_idx, mcl_idx, mdl_idx) &(bta_hl_cb.acb[(app_idx)].mcb[(mcl_idx)].mdl[mdl_idx]) 5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_MDL_CFG_PTR(app_idx, item_idx) &(bta_hl_cb.acb[(app_idx)].mdl_cfg[(item_idx)]) 5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_ECHO_CFG_PTR(app_idx) &(bta_hl_cb.acb[(app_idx)].sup_feature.echo_cfg) 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_MDEP_CFG_PTR(app_idx, mdep_cfg_idx) &(bta_hl_cb.acb[(app_idx)].sup_feature.mdep[mdep_cfg_idx].mdep_cfg) 5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_DATA_CFG_PTR(app_idx, mdep_cfg_idx, data_cfg_idx) \ 5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project &(bta_hl_cb.acb[(app_idx)].sup_feature.mdep[mdep_cfg_idx].mdep_cfg.data_cfg[data_cfg_idx]) 5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HL_GET_BUF_PTR(p_pkt) ((UINT8 *)((UINT8 *) (p_pkt+1) + p_pkt->offset)) 5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function prototypes 5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" 6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* main */ 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_hdl_event(BT_HDR *p_msg); 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* sdp */ 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_fill_sup_feature_list( const tSDP_DISC_ATTR *p_attr, 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SUP_FEATURE_LIST_ELEM *p_list); 609f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera extern tBTA_HL_STATUS bta_hl_sdp_update (UINT8 app_id); 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tBTA_HL_STATUS bta_hl_sdp_register (UINT8 app_idx); 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tSDP_DISC_REC *bta_hl_find_sink_or_src_srv_class_in_db (const tSDP_DISCOVERY_DB *p_db, 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const tSDP_DISC_REC *p_start_rec); 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* action routines */ 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_ci_get_tx_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_ci_put_rx_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_ci_get_echo_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_echo_test(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_ci_put_echo_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_send_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_sdp_fail(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_cong_change(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_reconnect_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_reconnect_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_reconnect(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_sdp_init(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_close_echo_test(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_create_rsp(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_rcv_data(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_close_cmpl(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_close_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_close_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_close(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_delete_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_delete_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_delete(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_abort_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_abort_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_abort(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_open_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_open_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_create_ind(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_create_cfm(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_mca_create(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data); 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_deallocate_spd_cback(UINT8 sdp_cback_idx); 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tSDP_DISC_CMPL_CB *bta_hl_allocate_spd_cback(tBTA_HL_SDP_OPER sdp_oper, UINT8 app_idx, UINT8 mcl_idx, 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx, 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_sdp_cback_idx); 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tBTA_HL_STATUS bta_hl_init_sdp(tBTA_HL_SDP_OPER sdp_oper, UINT8 app_idx, UINT8 mcl_idx, 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx); 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_sdp_init(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_mca_open(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_mca_close(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_close_cmpl(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_mca_disconnect(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 688ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta extern void bta_hl_cch_mca_disc_open(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_mca_rsp_tout(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_mca_connect(UINT8 app_idx, UINT8 mcl_idx, tBTA_HL_DATA *p_data); 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* State machine drivers */ 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_cch_sm_execute(UINT8 inst_idx, UINT8 mcl_idx, 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 event, tBTA_HL_DATA *p_data); 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_dch_sm_execute(UINT8 inst_idx, UINT8 mcl_idx, UINT8 mdl_idx, 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 event, tBTA_HL_DATA *p_data); 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* MCAP callback functions */ 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_mcap_ctrl_cback(tMCA_HANDLE handle, tMCA_CL mcl, UINT8 event, 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tMCA_CTRL *p_data); 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_mcap_data_cback(tMCA_DL mdl, BT_HDR *p_pkt); 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* utility functions */ 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_set_ctrl_psm_for_dch(UINT8 app_idx, UINT8 mcl_idx, 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx, UINT16 ctrl_psm); 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_sdp_idx_using_ctrl_psm(tBTA_HL_SDP *p_sdp, 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 ctrl_psm, 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_sdp_idx); 7092990f79de941189cfcce32e8bd7dc9e75bc118a5Pavlin Radoslavov extern UINT16 bta_hl_set_user_tx_buf_size(UINT16 max_tx_size); 7102990f79de941189cfcce32e8bd7dc9e75bc118a5Pavlin Radoslavov extern UINT16 bta_hl_set_user_rx_buf_size(UINT16 mtu); 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern UINT8 bta_hl_set_tx_win_size(UINT16 mtu, UINT16 mps); 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern UINT16 bta_hl_set_mps(UINT16 mtu); 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_clean_mdl_cb(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx); 7142b8347556b8fc4135d4db1fa9f33517d39d8ca5aJacob Lee extern BT_HDR * bta_hl_get_buf(UINT16 data_size, BOOLEAN fcs_use); 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_service_in_db( UINT8 app_idx, UINT8 mcl_idx, 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 service_uuid, 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_DISC_REC **pp_rec ); 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern UINT16 bta_hl_get_service_uuids(UINT8 sdp_oper, UINT8 app_idx, UINT8 mcl_idx, 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdl_idx ); 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_echo_cfg_rsp(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdep_idx, UINT8 cfg, 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_cfg_rsp); 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_validate_cfg(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cfg); 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_cch_cb_indexes(tBTA_HL_DATA *p_msg, 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_app_idx, 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mcl_idx); 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_dch_cb_indexes(tBTA_HL_DATA *p_msg, 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_app_idx, 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mcl_idx, 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern UINT16 bta_hl_allocate_mdl_id(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx ); 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mdl_idx_using_handle(tBTA_HL_MDL_HANDLE mdl_handle, 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_app_idx, UINT8 *p_mcl_idx, 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mdl_idx(UINT8 app_idx, UINT8 mcl_idx, UINT16 mdl_id, 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_an_active_mdl_idx(UINT8 app_idx, UINT8 mcl_idx, 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_dch_setup_mdl_idx(UINT8 app_idx, UINT8 mcl_idx, 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_an_in_use_mcl_idx(UINT8 app_idx, 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mcl_idx); 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_an_in_use_app_idx(UINT8 *p_app_idx); 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_app_idx(UINT8 app_id, UINT8 *p_app_idx); 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_app_idx_using_handle(tBTA_HL_APP_HANDLE app_handle, 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_app_idx); 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mcl_idx_using_handle( tBTA_HL_MCL_HANDLE mcl_handle, 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_app_idx, UINT8 *p_mcl_idx); 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mcl_idx(UINT8 app_idx, BD_ADDR p_bd_addr, UINT8 *p_mcl_idx); 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_is_the_first_reliable_existed(UINT8 app_idx, UINT8 mcl_idx ); 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_non_active_mdl_cfg(UINT8 app_idx, UINT8 start_mdl_cfg_idx, 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_cfg_idx); 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_avail_mdl_cfg_idx(UINT8 app_idx, UINT8 mcl_idx, 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_cfg_idx); 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mdl_cfg_idx(UINT8 app_idx, UINT8 mcl_idx, 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id, UINT8 *p_mdl_cfg_idx); 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_get_cur_time(UINT8 app_idx, UINT8 *p_cur_time); 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_sort_cfg_time_idx(UINT8 app_idx, UINT8 *a, UINT8 n); 759f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera extern void bta_hl_compact_mdl_cfg_time(UINT8 app_idx, UINT8 mdep_id); 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_is_mdl_exsit_in_mcl(UINT8 app_idx, BD_ADDR bd_addr, 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id); 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_delete_mdl_cfg(UINT8 app_idx, BD_ADDR bd_addr, 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id); 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_is_mdl_value_valid(tBTA_HL_MDL_ID mdl_id); 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_mdep_cfg_idx(UINT8 app_idx, 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID local_mdep_id, UINT8 *p_mdep_cfg_idx); 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_find_rxtx_apdu_size(UINT8 app_idx, UINT8 mdep_cfg_idx, 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 *p_rx_apu_size, 7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 *p_tx_apu_size); 7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_validate_peer_cfg(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID peer_mdep_id, 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ROLE peer_mdep_role, 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 sdp_idx); 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tBTA_HL_STATUS bta_hl_chk_local_cfg(UINT8 app_idx, UINT8 mcl_idx, 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 mdep_cfg_idx, 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CFG local_cfg); 7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_validate_reconnect_params(UINT8 app_idx, UINT8 mcl_idx, 7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_API_DCH_RECONNECT *p_reconnect, 7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdep_cfg_idx, UINT8 *p_mdl_cfg_idx); 7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_avail_mcl_idx(UINT8 app_idx, UINT8 *p_mcl_idx); 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_avail_mdl_idx(UINT8 app_idx, UINT8 mcl_idx, 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_mdl_idx); 7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_is_a_duplicate_id(UINT8 app_id); 7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_find_avail_app_idx(UINT8 *p_idx); 786f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera extern tBTA_HL_STATUS bta_hl_app_update(UINT8 app_id, BOOLEAN is_register); 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern tBTA_HL_STATUS bta_hl_app_registration(UINT8 app_idx); 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_discard_data(UINT16 event, tBTA_HL_DATA *p_data); 7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_save_mdl_cfg(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx ); 7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_set_dch_chan_cfg(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx, tBTA_HL_DATA *p_data); 7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_get_l2cap_cfg(tBTA_HL_MDL_HANDLE mdl_hnd, tBTA_HL_L2CAP_CFG_INFO *p_cfg); 7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_validate_chan_cfg(UINT8 app_idx, UINT8 mcl_idx, UINT8 mdl_idx); 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern BOOLEAN bta_hl_is_cong_on(UINT8 app_id, BD_ADDR bd_addr, tBTA_HL_MDL_ID mdl_id); 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_check_cch_close(UINT8 app_idx, UINT8 mcl_idx, 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DATA *p_data, BOOLEAN check_dch_setup); 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_clean_app(UINT8 app_idx); 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_check_deregistration(UINT8 app_idx, tBTA_HL_DATA *p_data ); 7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_check_disable(tBTA_HL_DATA *p_data ); 7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_abort_ind(tBTA_HL *p_evt_data, 8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle); 8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_abort_cfm(tBTA_HL *p_evt_data, 8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status); 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_dch_close_cfm(tBTA_HL *p_evt_data, 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle, 8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status); 8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_dch_close_ind(tBTA_HL *p_evt_data, 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle, 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN intentional); 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_send_data_cfm(tBTA_HL *p_evt_data, 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle, 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status ); 8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_rcv_data_ind(tBTA_HL *p_evt_data, 8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle); 8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_cch_open_cfm(tBTA_HL *p_evt_data, 826f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id, 8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr, 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status ); 8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_cch_open_ind(tBTA_HL *p_evt_data, 8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr); 8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_cch_close_cfm(tBTA_HL *p_evt_data, 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status ); 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_cch_close_ind(tBTA_HL *p_evt_data, 8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN intentional); 8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_dch_open_cfm(tBTA_HL *p_evt_data, 8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_HANDLE mdl_handle, 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDEP_ID local_mdep_id, 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id, 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_MODE dch_mode, 8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN first_reliable, 8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 mtu, 8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status); 8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_delete_mdl_cfm(tBTA_HL *p_evt_data, 8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id, 8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status); 8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_echo_test_cfm(tBTA_HL *p_evt_data, 8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MCL_HANDLE mcl_handle, 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status ); 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern void bta_hl_build_sdp_query_cfm(tBTA_HL *p_evt_data, 865f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera UINT8 app_id, 8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_APP_HANDLE app_handle, 8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr, 8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_SDP *p_sdp, 8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_STATUS status); 8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_HL_DEBUG == TRUE) 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern char *bta_hl_status_code(tBTA_HL_STATUS status); 8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project extern char *bta_hl_evt_code(tBTA_HL_INT_EVT evt_code); 8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_MSE_INT_H */ 8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 881