unplugged-vendor/system/bt/mediatek/bta/include/mtk_bta_dm.h

103 lines
4.9 KiB
C

/* 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