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 file for the HeaLth device profile (HL) 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * subsystem call-in functions. 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 25468e4b983dd59ea58a7518032fa6029b00c56dc4Ian Coolidge 26468e4b983dd59ea58a7518032fa6029b00c56dc4Ian Coolidge#include <stddef.h> 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_api.h" 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btm_api.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 "bta_hl_int.h" 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_hl_ci_get_tx_data 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called in response to the 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_hl_co_get_tx_data call-out function. 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mdl_handle -MDL handle 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - BTA_MA_STATUS_OK if operation is successful 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_MA_STATUS_FAIL if any errors have occurred. 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** evt - evt from the call-out function 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void bta_hl_ci_get_tx_data( tBTA_HL_MDL_HANDLE mdl_handle, 5024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTA_HL_STATUS status, 5124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans UINT16 evt ) 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 535fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_CI_GET_PUT_DATA *p_evt = 545fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_CI_GET_PUT_DATA *)osi_malloc(sizeof(tBTA_HL_CI_GET_PUT_DATA)); 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_HL_DEBUG == TRUE) 575fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov APPL_TRACE_DEBUG("%s mdl_handle=%d status=%d evt=%d\n", __func__, 585fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov mdl_handle, status, evt); 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 615fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->hdr.event = evt; 625fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->mdl_handle = mdl_handle; 635fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->status = status; 645fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 655fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_evt); 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_hl_ci_put_rx_data 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called in response to the 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_hl_co_put_rx_data call-out function. 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mdl_handle -MDL handle 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - BTA_MA_STATUS_OK if operation is successful 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_MA_STATUS_FAIL if any errors have occurred. 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** evt - evt from the call-out function 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 8324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void bta_hl_ci_put_rx_data( tBTA_HL_MDL_HANDLE mdl_handle, 8424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTA_HL_STATUS status, 8524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans UINT16 evt ) 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 875fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_CI_GET_PUT_DATA *p_evt = 885fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_CI_GET_PUT_DATA *)osi_malloc(sizeof(tBTA_HL_CI_GET_PUT_DATA)); 895fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_HL_DEBUG == TRUE) 915fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov APPL_TRACE_DEBUG("%s mdl_handle=%d status=%d evt=%d\n", __func__, 925fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov mdl_handle, status, evt); 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 955fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->hdr.event = evt; 965fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->mdl_handle = mdl_handle; 975fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->status = status; 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 995fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_evt); 1005fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov} 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_hl_ci_get_echo_data 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called in response to the 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_hl_co_get_echo_data call-out function. 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle -MCL handle 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - BTA_MA_STATUS_OK if operation is successful 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_MA_STATUS_FAIL if any errors have occurred. 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** evt - evt from the call-out function 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 11724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void bta_hl_ci_get_echo_data( tBTA_HL_MCL_HANDLE mcl_handle, 11824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTA_HL_STATUS status, 11924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans UINT16 evt ) 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1215fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_CI_ECHO_DATA *p_evt = 1225fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_CI_ECHO_DATA *)osi_malloc(sizeof(tBTA_HL_CI_ECHO_DATA)); 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_HL_DEBUG == TRUE) 1255fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov APPL_TRACE_DEBUG("%s mcl_handle=%d status=%d evt=%d\n", __func__, 1265fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov mcl_handle, status, evt); 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1295fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->hdr.event = evt; 1305fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->mcl_handle = mcl_handle; 1315fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->status = status; 1325fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1335fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_evt); 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_hl_ci_put_echo_data 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called in response to the 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_hl_co_put_echo_data call-out function. 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters mcl_handle -MCL handle 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** status - BTA_MA_STATUS_OK if operation is successful 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_MA_STATUS_FAIL if any errors have occurred. 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** evt - evt from the call-out function 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 15124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void bta_hl_ci_put_echo_data( tBTA_HL_MCL_HANDLE mcl_handle, 15224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTA_HL_STATUS status, 15324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans UINT16 evt ) 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1555fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov tBTA_HL_CI_ECHO_DATA *p_evt = 1565fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov (tBTA_HL_CI_ECHO_DATA *)osi_malloc(sizeof(tBTA_HL_CI_ECHO_DATA)); 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_HL_DEBUG == TRUE) 1595fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov APPL_TRACE_DEBUG("%s mcl_handle=%d status=%d evt=%d\n", __func__, 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project mcl_handle, status, evt); 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1635fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->hdr.event = evt; 1645fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->mcl_handle = mcl_handle; 1655fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov p_evt->status = status; 1665fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov 1675fe6f0cf6b223e3ed6be4912d55b3ed5b41ce0cdPavlin Radoslavov bta_sys_sendmsg(p_evt); 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 169