1 /******************************************************************************
3 * Copyright (C) 2014 The Android Open Source Project
4 * Copyright (C) 2006-2012 Broadcom Corporation
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:
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 ******************************************************************************/
20 /******************************************************************************
22 * This is the public interface file the BTA MCE I/F
24 ******************************************************************************/
28 #include "bt_target.h"
33 /*****************************************************************************
34 ** Constants and data types
35 *****************************************************************************/
37 #define BTA_MCE_SUCCESS 0 /* Successful operation. */
38 #define BTA_MCE_FAILURE 1 /* Generic failure. */
39 #define BTA_MCE_BUSY 2 /* Temporarily can not handle this request. */
41 typedef UINT8 tBTA_MCE_STATUS;
43 /* MCE I/F callback events */
44 /* events received by tBTA_MCE_DM_CBACK */
45 #define BTA_MCE_ENABLE_EVT 0 /* MCE enabled */
46 #define BTA_MCE_MAS_DISCOVERY_COMP_EVT 1 /* SDP MAS discovery complete */
47 #define BTA_MCE_MAX_EVT 2 /* max number of MCE events */
49 #define BTA_MCE_MAX_MAS_INSTANCES 12
51 typedef UINT16 tBTA_MCE_EVT;
62 /* data associated with BTA_MCE_MAS_DISCOVERY_COMP_EVT */
65 tBTA_MCE_STATUS status;
68 tBTA_MCE_MAS_INFO mas[BTA_MCE_MAX_MAS_INSTANCES];
69 } tBTA_MCE_MAS_DISCOVERY_COMP;
71 /* union of data associated with MCE callback */
74 tBTA_MCE_STATUS status; /* BTA_MCE_ENABLE_EVT */
75 tBTA_MCE_MAS_DISCOVERY_COMP mas_disc_comp; /* BTA_MCE_MAS_DISCOVERY_COMP_EVT */
78 /* MCE DM Interface callback */
79 typedef void (tBTA_MCE_DM_CBACK)(tBTA_MCE_EVT event, tBTA_MCE *p_data, void * user_data);
81 /* MCE configuration structure */
84 UINT16 sdp_db_size; /* The size of p_sdp_db */
85 tSDP_DISCOVERY_DB *p_sdp_db; /* The data buffer to keep SDP database */
88 /*****************************************************************************
89 ** External Function Declarations
90 *****************************************************************************/
96 /*******************************************************************************
98 ** Function BTA_MceEnable
100 ** Description Enable the MCE I/F service. When the enable
101 ** operation is complete the callback function will be
102 ** called with a BTA_MCE_ENABLE_EVT. This function must
103 ** be called before other functions in the MCE API are
106 ** Returns BTA_MCE_SUCCESS if successful.
107 ** BTA_MCE_FAIL if internal failure.
109 *******************************************************************************/
110 extern tBTA_MCE_STATUS BTA_MceEnable(tBTA_MCE_DM_CBACK *p_cback);
112 /*******************************************************************************
114 ** Function BTA_MceGetRemoteMasInstances
116 ** Description This function performs service discovery for the MAS service
117 ** by the given peer device. When the operation is completed
118 ** the tBTA_MCE_DM_CBACK callback function will be called with
119 ** a BTA_MCE_MAS_DISCOVERY_COMP_EVT.
121 ** Returns BTA_MCE_SUCCESS, if the request is being processed.
122 ** BTA_MCE_FAILURE, otherwise.
124 *******************************************************************************/
125 extern tBTA_MCE_STATUS BTA_MceGetRemoteMasInstances(BD_ADDR bd_addr);
131 #endif /* BTA_MCE_API_H */