blob: 9a36911f5cb61911723bf5b638315247a777cd9c [file] [log] [blame]
/******************************************************************************
*
* Copyright 2009-2012 Broadcom Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/******************************************************************************
*
* This is the interface file for the HL (HeaLth device profile) subsystem
* call-out functions.
*
******************************************************************************/
#ifndef BTA_HL_CO_H
#define BTA_HL_CO_H
#include "bta_api.h"
#include "bta_hl_api.h"
/*****************************************************************************
* Constants and Data Types
****************************************************************************/
/**************************
* Common Definitions
**************************/
/*******************************************************************************
*
* Function bta_hl_co_get_num_of_mdep
*
* Description This function is called to get the number of MDEPs for this
* application ID
*
* Parameters app_id - application ID
* p_num_of_mdep (output) - number of MDEP configurations
* supported
* by the application
*
* Returns Bloolean - true success
*
******************************************************************************/
extern bool bta_hl_co_get_num_of_mdep(uint8_t app_id, uint8_t* p_num_of_mdep);
/*******************************************************************************
*
* Function bta_hl_co_advrtise_source_sdp
*
* Description This function is called to find out whether the SOURCE MDEP
* configuration information should be advertize in the SDP or
* not
*
* Parameters app_id - application ID
*
* Returns Bloolean - true advertise the SOURCE MDEP configuration
* information
*
******************************************************************************/
extern bool bta_hl_co_advrtise_source_sdp(uint8_t app_id);
/*******************************************************************************
*
* Function bta_hl_co_get_mdep_config
*
* Description This function is called to get the supported feature
* configuration for the specified mdep index and it also
* assigns
* the MDEP ID for the specified mdep index
*
* Parameters app_id - HDP application ID
* mdep_idx - the mdep index
* mdep_counter - mdep_counter
* mdep_id - the assigned MDEP ID for the specified medp_idx
* p_mdl_cfg (output) - pointer to the MDEP configuration
*
*
* Returns Bloolean - true success
******************************************************************************/
extern bool bta_hl_co_get_mdep_config(uint8_t app_id, uint8_t mdep_idx,
uint8_t mdep_counter,
tBTA_HL_MDEP_ID mdep_id,
tBTA_HL_MDEP_CFG* p_mdep_cfg);
/*******************************************************************************
*
* Function bta_hl_co_get_echo_config
*
* Description This function is called to get the echo test
* maximum APDU size configuration
*
* Parameters app_id - HDP application ID
* p_echo_cfg (output) - pointer to the Echo test maximum APDU
* size configuration
*
* Returns Bloolean - true success
******************************************************************************/
extern bool bta_hl_co_get_echo_config(uint8_t app_id,
tBTA_HL_ECHO_CFG* p_echo_cfg);
/*******************************************************************************
*
* Function bta_hl_co_save_mdl
*
* Description This function is called to save a MDL configuration item in
* persistent storage
*
* Parameters app_id - HDP application ID
* item_idx - the MDL configuration storage index
* p_mdl_cfg - pointer to the MDL configuration data
*
* Returns void
*
******************************************************************************/
extern void bta_hl_co_save_mdl(uint8_t app_id, uint8_t item_idx,
tBTA_HL_MDL_CFG* p_mdl_cfg);
/*******************************************************************************
*
* Function bta_hl_co_delete_mdl
*
* Description This function is called to delete a MDL configuration item in
* persistent storage
*
* Parameters app_id - HDP application ID
* item_idx - the MDL configuration storage index
*
* Returns void
*
******************************************************************************/
extern void bta_hl_co_delete_mdl(uint8_t app_id, uint8_t item_idx);
/*******************************************************************************
*
* Function bta_hl_co_get_mdl_config
*
* Description This function is called to get the MDL configuration
* from teh persistent memory. This function shall only be
*called
*8 once after the device is powered up
*
* Parameters app_id - HDP application ID
* buffer_size - the unit of the buffer size is
*sizeof(tBTA_HL_MDL_CFG)
* p_mdl_buf - Point to the starting location of the buffer
*
* Returns bool
*
*
******************************************************************************/
extern bool bta_hl_co_load_mdl_config(uint8_t app_id, uint8_t buffer_size,
tBTA_HL_MDL_CFG* p_mdl_buf);
/*******************************************************************************
*
* Function bta_hl_co_get_tx_data
*
* Description Get the data to be sent
*
* Parameters app_id - HDP application ID
* mdl_handle - MDL handle
* buf_size - the size of the buffer
* p_buf - the buffer pointer
* evt - the evt to be passed back to the HL in the
* bta_hl_ci_get_tx_data call-in function
*
* Returns Void
*
******************************************************************************/
extern void bta_hl_co_get_tx_data(uint8_t app_id, tBTA_HL_MDL_HANDLE mdl_handle,
uint16_t buf_size, uint8_t* p_buf,
uint16_t evt);
/*******************************************************************************
*
* Function bta_hl_co_put_rx_data
*
* Description Put the received data
*
* Parameters app_id - HDP application ID
* mdl_handle - MDL handle
* data_size - the size of the data
* p_data - the data pointer
* evt - the evt to be passed back to the HL in the
* bta_hl_ci_put_rx_data call-in function
*
* Returns Void
*
******************************************************************************/
extern void bta_hl_co_put_rx_data(uint8_t app_id, tBTA_HL_MDL_HANDLE mdl_handle,
uint16_t data_size, uint8_t* p_data,
uint16_t evt);
/*******************************************************************************
*
* Function bta_hl_co_get_tx_data
*
* Description Get the Echo data to be sent
*
* Parameters app_id - HDP application ID
* mcl_handle - MCL handle
* buf_size - the size of the buffer
* p_buf - the buffer pointer
* evt - the evt to be passed back to the HL in the
* bta_hl_ci_get_tx_data call-in function
*
* Returns Void
*
******************************************************************************/
extern void bta_hl_co_get_echo_data(uint8_t app_id,
tBTA_HL_MCL_HANDLE mcl_handle,
uint16_t buf_size, uint8_t* p_buf,
uint16_t evt);
/*******************************************************************************
*
* Function bta_hl_co_put_echo_data
*
* Description Put the received loopback echo data
*
* Parameters app_id - HDP application ID
* mcl_handle - MCL handle
* data_size - the size of the data
* p_data - the data pointer
* evt - the evt to be passed back to the HL in the
* bta_hl_ci_put_echo_data call-in function
*
* Returns Void
*
******************************************************************************/
extern void bta_hl_co_put_echo_data(uint8_t app_id,
tBTA_HL_MCL_HANDLE mcl_handle,
uint16_t data_size, uint8_t* p_data,
uint16_t evt);
#endif /* BTA_HL_CO_H */