| /****************************************************************************** |
| * |
| * Copyright (C) 2005-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 hid host call-out functions. |
| * |
| ******************************************************************************/ |
| #ifndef BTA_HH_CO_H |
| #define BTA_HH_CO_H |
| |
| #include "bta_hh_api.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef struct |
| { |
| uint16_t rpt_uuid; |
| uint8_t rpt_id; |
| tBTA_HH_RPT_TYPE rpt_type; |
| uint8_t srvc_inst_id; |
| uint8_t char_inst_id; |
| }tBTA_HH_RPT_CACHE_ENTRY; |
| |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_co_data |
| ** |
| ** Description This callout function is executed by HH when data is received |
| ** in interupt channel. |
| ** |
| ** |
| ** Returns void. |
| ** |
| *******************************************************************************/ |
| extern void bta_hh_co_data(uint8_t dev_handle, uint8_t *p_rpt, uint16_t len, |
| tBTA_HH_PROTO_MODE mode, uint8_t sub_class, |
| uint8_t ctry_code, BD_ADDR peer_addr, uint8_t app_id); |
| |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_co_open |
| ** |
| ** Description This callout function is executed by HH when connection is |
| ** opened, and application may do some device specific |
| ** initialization. |
| ** |
| ** Returns void. |
| ** |
| *******************************************************************************/ |
| extern void bta_hh_co_open(uint8_t dev_handle, uint8_t sub_class, |
| uint16_t attr_mask, uint8_t app_id); |
| |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_co_close |
| ** |
| ** Description This callout function is executed by HH when connection is |
| ** closed, and device specific finalizatio nmay be needed. |
| ** |
| ** Returns void. |
| ** |
| *******************************************************************************/ |
| extern void bta_hh_co_close(uint8_t dev_handle, uint8_t app_id); |
| |
| #if (BLE_INCLUDED == TRUE && BTA_HH_LE_INCLUDED == TRUE) |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_le_co_rpt_info |
| ** |
| ** Description This callout function is to convey the report information on |
| ** a HOGP device to the application. Application can save this |
| ** information in NV if device is bonded and load it back when |
| ** stack reboot. |
| ** |
| ** Parameters remote_bda - remote device address |
| ** p_entry - report entry pointer |
| ** app_id - application id |
| ** |
| ** Returns void. |
| ** |
| *******************************************************************************/ |
| extern void bta_hh_le_co_rpt_info(BD_ADDR remote_bda, |
| tBTA_HH_RPT_CACHE_ENTRY *p_entry, |
| uint8_t app_id); |
| |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_le_co_cache_load |
| ** |
| ** Description This callout function is to request the application to load the |
| ** cached HOGP report if there is any. When cache reading is completed, |
| ** bta_hh_le_ci_cache_load() is called by the application. |
| ** |
| ** Parameters remote_bda - remote device address |
| ** p_num_rpt: number of cached report |
| ** app_id - application id |
| ** |
| ** Returns the acched report array |
| ** |
| *******************************************************************************/ |
| extern tBTA_HH_RPT_CACHE_ENTRY *bta_hh_le_co_cache_load (BD_ADDR remote_bda, |
| uint8_t *p_num_rpt, |
| uint8_t app_id); |
| |
| /******************************************************************************* |
| ** |
| ** Function bta_hh_le_co_reset_rpt_cache |
| ** |
| ** Description This callout function is to reset the HOGP device cache. |
| ** |
| ** Parameters remote_bda - remote device address |
| ** |
| ** Returns none |
| ** |
| *******************************************************************************/ |
| extern void bta_hh_le_co_reset_rpt_cache (BD_ADDR remote_bda, uint8_t app_id); |
| |
| #endif /* #if (BLE_INCLUDED == true && BTA_HH_LE_INCLUDED == true) */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* BTA_HH_CO_H */ |