1 2 3 /****************************************************************************** 4 * 5 * Copyright (C) 2014 The Android Open Source Project 6 * Copyright (C) 2003-2012 Broadcom Corporation 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at: 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 * 20 ******************************************************************************/ 21 22 /****************************************************************************** 23 * 24 * This is the private interface file for the BTA SDP I/F 25 * 26 ******************************************************************************/ 27 #ifndef BTA_SDP_INT_H 28 #define BTA_SDP_INT_H 29 30 #include "bta_api.h" 31 #include "bta_sdp_api.h" 32 #include "bta_sys.h" 33 34 /***************************************************************************** 35 * Constants 36 ****************************************************************************/ 37 38 enum { 39 /* these events are handled by the state machine */ 40 BTA_SDP_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_SDP), 41 BTA_SDP_API_SEARCH_EVT, 42 BTA_SDP_API_CREATE_RECORD_USER_EVT, 43 BTA_SDP_API_REMOVE_RECORD_USER_EVT, 44 BTA_SDP_MAX_INT_EVT 45 }; 46 47 enum { 48 BTA_SDP_ACTIVE_NONE = 0, 49 BTA_SDP_ACTIVE_YES /* waiting for SDP result */ 50 }; 51 52 /* data type for BTA_SDP_API_ENABLE_EVT */ 53 typedef struct { 54 BT_HDR hdr; 55 tBTA_SDP_DM_CBACK* p_cback; 56 } tBTA_SDP_API_ENABLE; 57 58 /* data type for BTA_SDP_API_SEARCH_EVT */ 59 typedef struct { 60 BT_HDR hdr; 61 BD_ADDR bd_addr; 62 tSDP_UUID uuid; 63 } tBTA_SDP_API_SEARCH; 64 65 /* data type for BTA_SDP_API_SEARCH_EVT */ 66 typedef struct { 67 BT_HDR hdr; 68 void* user_data; 69 } tBTA_SDP_API_RECORD_USER; 70 71 /* union of all data types */ 72 typedef union { 73 /* GKI event buffer header */ 74 BT_HDR hdr; 75 tBTA_SDP_API_ENABLE enable; 76 tBTA_SDP_API_SEARCH get_search; 77 tBTA_SDP_API_RECORD_USER record; 78 } tBTA_SDP_MSG; 79 80 /* SDP control block */ 81 typedef struct { 82 uint8_t sdp_active; /* see BTA_SDP_SDP_ACT_* */ 83 BD_ADDR remote_addr; 84 tBTA_SDP_DM_CBACK* p_dm_cback; 85 } tBTA_SDP_CB; 86 87 /* SDP control block */ 88 extern tBTA_SDP_CB bta_sdp_cb; 89 90 /* config struct */ 91 extern tBTA_SDP_CFG* p_bta_sdp_cfg; 92 93 extern bool bta_sdp_sm_execute(BT_HDR* p_msg); 94 95 extern void bta_sdp_enable(tBTA_SDP_MSG* p_data); 96 extern void bta_sdp_search(tBTA_SDP_MSG* p_data); 97 extern void bta_sdp_create_record(tBTA_SDP_MSG* p_data); 98 extern void bta_sdp_remove_record(tBTA_SDP_MSG* p_data); 99 100 #endif /* BTA_SDP_INT_H */ 101