/* Copyright Statement: * * * * This software/firmware and related documentation ("MediaTek Software") are * * protected under relevant copyright laws. The information contained herein * * is confidential and proprietary to MediaTek Inc. and/or its licensors. * * Without the prior written permission of MediaTek inc. and/or its licensors, * * any reproduction, modification, use or disclosure of MediaTek Software, * * and information contained herein, in whole or in part, shall be strictly * * prohibited. * * * * MediaTek Inc. (C) 2016. All rights reserved. * * * * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") * * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER * * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL * * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED * * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR * * NONINFRINGEMENT. * * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE * * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR * * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO * * SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER * * EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN * * FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK SOFTWARE. * * MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES * * MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR * * OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND * * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED * * HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK * * SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE * * PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. * * * * The following software/firmware and/or related documentation ("MediaTek Software") * * have been modified by MediaTek Inc. All revisions are subject to any receiver's * * applicable license agreements with MediaTek Inc. * */ /****************************************************************************** * * This is the interface file for MTK added device mananger functions. * ******************************************************************************/ #ifndef MTK_BTA_DM_H #define MTK_BTA_DM_H #include "types/raw_address.h" #include "osi/include/osi.h" #include "stack/include/bt_types.h" #include "stack/include/gatt_api.h" using bluetooth::Uuid; typedef enum { BLE_SCAN = 1, BLE_ADV, BLE_CONNECT_1, BLE_CONNECT_2, BLE_CONNECT_3, BLE_CONNECT_4, BLE_CONNECT_5, BLE_INITOR, BR_INQURY, BR_INQURY_SCAN, BR_CONNECT, BR_SNIFF, BR_SCAN_MODE, BR_PAGE, } HOST_LOW_POWER_CLASS; #define SET_HOST_INFO(ID,VALUE) bta_dm_vendor_set_host_info(ID,VALUE,#ID) #define RESET_HOST_INFO(ID) bta_dm_vendor_set_host_info(ID,0,#ID) extern void bta_dm_lowpower_dbg_del_lelink(uint32_t handle); extern void bta_dm_lowpower_dbg_set_lelink(uint32_t handle, uint16_t min_interval, uint16_t max_interval); extern void bta_dm_lowpower_dbg_set_brlink(uint32_t handle, uint8_t mode, uint16_t sniff_interval); extern void bta_dm_lowpower_dbg_del_brlink(uint32_t handle); extern void bta_dm_vendor_set_host_info(HOST_LOW_POWER_CLASS id, uint32_t value, const char* desc); extern void bta_dm_sec_remname_cback(const RawAddress& bd_addr, UNUSED_ATTR DEV_CLASS dc, BD_NAME bd_name); extern void bta_dm_dumo_group_info_cback(tBT_DEVICE_TYPE device_type, const RawAddress& devicd_addr, const RawAddress& addr1, const int addr1_type, const RawAddress& addr2, const int addr2_type); extern bool bta_dm_has_le_dumo_address_attr_in_sdp(const Uuid& uuid, tSDP_DISC_REC* p_rec, RawAddress& addr1, int &addr1_type, RawAddress& addr2, int &addr2_type); /** M: Decrease SAR @{ */ typedef void(tBTA_DM_PM_GET_DYNAMIC_TX_INFO_CBACK)(uint8_t result, int8_t max_tx, int8_t min_tx, int8_t region); typedef void(tBTA_DM_PM_SET_DYNAMIC_TX_CBACK)(uint8_t result, int8_t tx); typedef struct{ tBTA_DM_PM_GET_DYNAMIC_TX_INFO_CBACK *p_get_cback; tBTA_DM_PM_SET_DYNAMIC_TX_CBACK *p_set_cback; }tBTA_DYNAMIC_TX_CB_INFO; extern void bta_dm_pm_reg_dynamic_tx(tBTA_DYNAMIC_TX_CB_INFO &cback_info); extern bool bta_dm_pm_get_dynamic_tx_info(); extern bool bta_dm_pm_set_dynamic_tx(int8_t req_tx); /** @} */ #endif