15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2009-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 implementation of the API for the HeaLth device profile (HL) 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * subsystem of BTA, Broadcom Corp's Bluetooth application layer for mobile 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * phones. 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <string.h> 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h" 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if defined(HL_INCLUDED) && (HL_INCLUDED == TRUE) 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 32a11035b5ecbc6cbd9da5bd707683504c47e2744ePavlin Radoslavov#include "bt_common.h" 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_hl_api.h" 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_hl_int.h" 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectstatic const tBTA_SYS_REG bta_hl_reg = 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_hl_hdl_event, 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_HlDisable 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlEnable 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Enable the HL subsystems. This function must be 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** called before any other functions in the HL API are called. 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** When the enable operation is completed the callback function 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** will be called with an BTA_HL_CTRL_ENABLE_CFM_EVT event. 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_cback - HL event call back function 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlEnable(tBTA_HL_CTRL_CBACK *p_ctrl_cback) 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 625fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_ENABLE *p_buf = 635fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_ENABLE *)osi_malloc(sizeof(tBTA_HL_API_ENABLE)); 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* register with BTA system manager */ 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_register(BTA_ID_HL, &bta_hl_reg); 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 685fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_ENABLE_EVT; 695fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->p_cback = p_ctrl_cback; 705fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 715fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDisable 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Disable the HL subsystem. 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDisable(void) 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 855fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov BT_HDR *p_buf = (BT_HDR *)osi_malloc(sizeof(BT_HDR)); 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_deregister(BTA_ID_HL); 885fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->event = BTA_HL_API_DISABLE_EVT; 895fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 905fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 95f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** Function BTA_HlUpdate 96f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** 97f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** Description Register an HDP application 98f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** 99f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** Parameters app_id - Application ID 100f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** p_reg_param - non-platform related parameters for the 101f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** HDP application 102f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** p_cback - HL event callback fucntion 103f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** 104f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** Returns void 105f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** 106f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera*******************************************************************************/ 1075fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavovvoid BTA_HlUpdate(UINT8 app_id, tBTA_HL_REG_PARAM *p_reg_param, 1085fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov BOOLEAN is_register, tBTA_HL_CBACK *p_cback) 109f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera{ 1105fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_UPDATE *p_buf = 1115fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_UPDATE *)osi_malloc(sizeof(tBTA_HL_API_UPDATE)); 1125fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1135fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov APPL_TRACE_DEBUG("%s", __func__); 1145fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1155fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_UPDATE_EVT; 1165fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_id = app_id; 1175fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->is_register = is_register; 1185fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1195fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (is_register) { 1205fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->sec_mask = (p_reg_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); 1215fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->p_cback = p_cback; 1225fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_srv_name) 1235fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->srv_name, p_reg_param->p_srv_name, BTA_SERVICE_NAME_LEN); 1245fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1255fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->srv_name[0] = 0; 1265fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1275fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_srv_desp) 1285fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->srv_desp, p_reg_param->p_srv_desp, BTA_SERVICE_DESP_LEN); 1295fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1305fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->srv_desp[0] = 0; 131f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera 1325fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_provider_name) 1335fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->provider_name, p_reg_param->p_provider_name, BTA_PROVIDER_NAME_LEN); 1345fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1355fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->provider_name[0] = 0; 136f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera } 1375fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1385fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 139f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera} 140f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera 141f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera/******************************************************************************* 142f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera** 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlRegister 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Register an HDP application 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters app_id - Application ID 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_reg_param - non-platform related parameters for the 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** HDP application 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_cback - HL event callback fucntion 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlRegister(UINT8 app_id, 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_REG_PARAM *p_reg_param, 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CBACK *p_cback) 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1595fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_REGISTER *p_buf = 1605fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_REGISTER *)osi_malloc(sizeof(tBTA_HL_API_REGISTER)); 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1625fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_REGISTER_EVT; 1635fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_id = app_id; 1645fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->sec_mask = (p_reg_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); 1655fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->p_cback = p_cback; 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1675fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_srv_name) 1685fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->srv_name, p_reg_param->p_srv_name, BTA_SERVICE_NAME_LEN); 1695fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1705fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->srv_name[0] = 0; 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1725fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_srv_desp) 1735fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->srv_desp, p_reg_param->p_srv_desp, BTA_SERVICE_DESP_LEN); 1745fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1755fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->srv_desp[0] = 0; 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1775fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov if (p_reg_param->p_provider_name) 1785fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov strlcpy(p_buf->provider_name, p_reg_param->p_provider_name, BTA_PROVIDER_NAME_LEN); 1795fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov else 1805fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->provider_name[0] = 0; 1815fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1825fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDeregister 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Deregister an HDP application 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters app_handle - Application handle 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 196f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Agheravoid BTA_HlDeregister(UINT8 app_id,tBTA_HL_APP_HANDLE app_handle) 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1985fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DEREGISTER *p_buf = 1995fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DEREGISTER *)osi_malloc(sizeof(tBTA_HL_API_DEREGISTER)); 2005fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2015fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DEREGISTER_EVT; 2025fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_id = app_id; 2035fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_handle = app_handle; 2045fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2055fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2075fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlCchOpen 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a Control channel connection with the specified BD address 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters app_handle - Application Handle 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_open_param - parameters for opening a control channel 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Note: The control PSM value is used to select which 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** HDP insatnce should be used in case the peer device support 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** multiple HDP instances. Also, if the control PSM value is zero 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** then the first HDP instance is used for the control channel setup 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 224f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Agheravoid BTA_HlCchOpen(UINT8 app_id, tBTA_HL_APP_HANDLE app_handle, 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_CCH_OPEN_PARAM *p_open_param) 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2275fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_CCH_OPEN *p_buf = 2285fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_CCH_OPEN *)osi_malloc(sizeof(tBTA_HL_API_CCH_OPEN)); 2295fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2305fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_CCH_OPEN_EVT; 2315fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_id = app_id; 2325fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_handle = app_handle; 2335fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->sec_mask = (p_open_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); 2345fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bdcpy(p_buf->bd_addr, p_open_param->bd_addr); 2355fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->ctrl_psm = p_open_param->ctrl_psm; 2365fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2375fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlCchClose 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a Control channel connection with the specified MCL 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** handle 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlCchClose(tBTA_HL_MCL_HANDLE mcl_handle) 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2545fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_CCH_CLOSE *p_buf = 2555fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_CCH_CLOSE *)osi_malloc(sizeof(tBTA_HL_API_CCH_CLOSE)); 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2575fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_CCH_CLOSE_EVT; 2585fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 2595fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2605fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchOpen 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Open a data channel connection with the specified DCH parameters 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_open_param - parameters for opening a data channel 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchOpen(tBTA_HL_MCL_HANDLE mcl_handle, 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_OPEN_PARAM *p_open_param) 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2785fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_OPEN *p_buf = 2795fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_OPEN *)osi_malloc(sizeof(tBTA_HL_API_DCH_OPEN)); 2805fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2815fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_OPEN_EVT; 2825fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 2835fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->ctrl_psm = p_open_param->ctrl_psm; 2845fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->local_mdep_id = p_open_param->local_mdep_id; 2855fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->peer_mdep_id = p_open_param->peer_mdep_id; 2865fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->local_cfg = p_open_param->local_cfg; 2875fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->sec_mask = (p_open_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); 2885fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 2895fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchReconnect 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Reconnect a data channel with the specified MDL_ID 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*8 p_recon_param - parameters for reconnecting a data channel 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchReconnect(tBTA_HL_MCL_HANDLE mcl_handle, 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_RECONNECT_PARAM *p_recon_param) 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3075fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_RECONNECT *p_buf = 3085fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_RECONNECT *)osi_malloc(sizeof(tBTA_HL_API_DCH_RECONNECT)); 3095fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 3105fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_RECONNECT_EVT; 3115fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 3125fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->ctrl_psm = p_recon_param->ctrl_psm; 3135fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mdl_id = p_recon_param->mdl_id; 3145fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 3155fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchClose 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Close a data channel with the specified MDL handle 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mdl_handle - MDL handle 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchClose(tBTA_HL_MDL_HANDLE mdl_handle) 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3315fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_CLOSE *p_buf = 3325fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_CLOSE *)osi_malloc(sizeof(tBTA_HL_API_DCH_CLOSE)); 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3345fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_CLOSE_EVT; 3355fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mdl_handle = mdl_handle; 3365fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 3375fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchAbort 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Abort the current data channel setup with the specified MCL 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** handle 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchAbort(tBTA_HL_MCL_HANDLE mcl_handle) 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3555fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_ABORT *p_buf = 3565fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_ABORT *)osi_malloc(sizeof(tBTA_HL_API_DCH_ABORT)); 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3585fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_ABORT_EVT; 3595fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 3605fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 3615fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlSendData 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Send an APDU to the peer device 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mdl_handle - MDL handle 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** pkt_size - size of the data packet to be sent 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlSendData(tBTA_HL_MDL_HANDLE mdl_handle, 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 pkt_size) 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3795fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_SEND_DATA *p_buf = 3805fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_SEND_DATA *)osi_malloc(sizeof(tBTA_HL_API_SEND_DATA)); 3815fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 3825fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_SEND_DATA_EVT; 3835fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mdl_handle = mdl_handle; 3845fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->pkt_size = pkt_size; 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3865fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDeleteMdl 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Delete the specified MDL_ID within the specified MCL handle 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** mdl_id - MDL ID 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** note: If mdl_id = 0xFFFF then this means to delete all MDLs 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** and this value can only be used with DeleteMdl request only 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** not other requests 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDeleteMdl(tBTA_HL_MCL_HANDLE mcl_handle, 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_MDL_ID mdl_id ) 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4085fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DELETE_MDL *p_buf = 4095fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DELETE_MDL *)osi_malloc(sizeof(tBTA_HL_API_DELETE_MDL)); 4105fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 4115fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DELETE_MDL_EVT; 4125fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 4135fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mdl_id = mdl_id; 4145fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 4155fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchEchoTest 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Initiate an echo test with the specified MCL handle 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*8 p_echo_test_param - parameters for echo testing 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchEchoTest( tBTA_HL_MCL_HANDLE mcl_handle, 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_ECHO_TEST_PARAM *p_echo_test_param) 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4335fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_ECHO_TEST *p_buf = 4345fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_ECHO_TEST *)osi_malloc(sizeof(tBTA_HL_API_DCH_ECHO_TEST)); 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4365fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_ECHO_TEST_EVT; 4375fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 4385fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->ctrl_psm = p_echo_test_param->ctrl_psm; 4395fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->local_cfg = p_echo_test_param->local_cfg; 4405fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->pkt_size = p_echo_test_param->pkt_size; 4415fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 4425fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 4435fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov} 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlSdpQuery 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description SDP query request for the specified BD address 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters app_handle - application handle 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd_addr - BD address 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 457f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Agheravoid BTA_HlSdpQuery(UINT8 app_id,tBTA_HL_APP_HANDLE app_handle, 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr) 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4605fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_SDP_QUERY *p_buf = 4615fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_SDP_QUERY *)osi_malloc(sizeof(tBTA_HL_API_SDP_QUERY)); 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_SDP_QUERY_EVT; 4645fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_id = app_id; 4655fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->app_handle = app_handle; 4665fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bdcpy(p_buf->bd_addr, bd_addr); 4675fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 4685fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 4695fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov} 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTA_HlDchCreateMdlRsp 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Set the Response and configuration values for the Create MDL 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** request 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle - MCL handle 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_rsp_param - parameters specified whether the request should 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be accepted or not and if it should be accepted 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** then it also specified the configuration response 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** value 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid BTA_HlDchCreateRsp(tBTA_HL_MCL_HANDLE mcl_handle, 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_HL_DCH_CREATE_RSP_PARAM *p_rsp_param) 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4905fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_API_DCH_CREATE_RSP *p_buf = 4915fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_API_DCH_CREATE_RSP *)osi_malloc(sizeof(tBTA_HL_API_DCH_CREATE_RSP)); 4925fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 4935fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->hdr.event = BTA_HL_API_DCH_CREATE_RSP_EVT; 4945fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mcl_handle = mcl_handle; 4955fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->mdl_id = p_rsp_param->mdl_id; 4965fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->local_mdep_id = p_rsp_param->local_mdep_id; 4975fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->rsp_code = p_rsp_param->rsp_code; 4985fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_buf->cfg_rsp = p_rsp_param->cfg_rsp; 4995fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 5005fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_buf); 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* HL_INCLUDED */ 504