1/****************************************************************************** 2 * 3 * Copyright (C) 2014 The Android Open Source Project 4 * Copyright (C) 2003-2012 Broadcom Corporation 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at: 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 ******************************************************************************/ 19 20/****************************************************************************** 21 * 22 * This is the private interface file for the BTA MCE I/F 23 * 24 ******************************************************************************/ 25#ifndef BTA_MCE_INT_H 26#define BTA_MCE_INT_H 27 28#include "bta_sys.h" 29#include "bta_api.h" 30#include "bta_mce_api.h" 31 32/***************************************************************************** 33** Constants 34*****************************************************************************/ 35 36enum 37{ 38 /* these events are handled by the state machine */ 39 BTA_MCE_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_MCE), 40 BTA_MCE_API_GET_REMOTE_MAS_INSTANCES_EVT, 41 BTA_MCE_MAX_INT_EVT 42}; 43 44/* data type for BTA_MCE_API_ENABLE_EVT */ 45typedef struct 46{ 47 BT_HDR hdr; 48 tBTA_MCE_DM_CBACK *p_cback; 49} tBTA_MCE_API_ENABLE; 50 51/* data type for BTA_MCE_API_GET_REMOTE_MAS_INSTANCES_EVT */ 52typedef struct 53{ 54 BT_HDR hdr; 55 BD_ADDR bd_addr; 56} tBTA_MCE_API_GET_REMOTE_MAS_INSTANCES; 57 58/* union of all data types */ 59typedef union 60{ 61 /* GKI event buffer header */ 62 BT_HDR hdr; 63 tBTA_MCE_API_ENABLE enable; 64 tBTA_MCE_API_GET_REMOTE_MAS_INSTANCES get_rmt_mas; 65} tBTA_MCE_MSG; 66 67/* MCE control block */ 68typedef struct 69{ 70 UINT8 sdp_active; /* see BTA_MCE_SDP_ACT_* */ 71 BD_ADDR remote_addr; 72 tBTA_MCE_DM_CBACK *p_dm_cback; 73} tBTA_MCE_CB; 74 75enum 76{ 77 BTA_MCE_SDP_ACT_NONE = 0, 78 BTA_MCE_SDP_ACT_YES /* waiting for SDP result */ 79}; 80 81/* MCE control block */ 82#if BTA_DYNAMIC_MEMORY == FALSE 83extern tBTA_MCE_CB bta_mce_cb; 84#else 85extern tBTA_MCE_CB *bta_mce_cb_ptr; 86#define bta_mce_cb (*bta_mce_cb_ptr) 87#endif 88 89/* config struct */ 90extern tBTA_MCE_CFG *p_bta_mce_cfg; 91 92extern BOOLEAN bta_mce_sm_execute(BT_HDR *p_msg); 93 94extern void bta_mce_enable (tBTA_MCE_MSG *p_data); 95extern void bta_mce_get_remote_mas_instances (tBTA_MCE_MSG *p_data); 96 97#endif /* BTA_MCE_INT_H */ 98