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_sys.h" 31#include "bta_api.h" 32#include "bta_sdp_api.h" 33 34/***************************************************************************** 35** Constants 36*****************************************************************************/ 37 38enum 39{ 40 /* these events are handled by the state machine */ 41 BTA_SDP_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_SDP), 42 BTA_SDP_API_SEARCH_EVT, 43 BTA_SDP_API_CREATE_RECORD_USER_EVT, 44 BTA_SDP_API_REMOVE_RECORD_USER_EVT, 45 BTA_SDP_MAX_INT_EVT 46}; 47 48enum 49{ 50 BTA_SDP_ACTIVE_NONE = 0, 51 BTA_SDP_ACTIVE_YES /* waiting for SDP result */ 52}; 53 54 55 56/* data type for BTA_SDP_API_ENABLE_EVT */ 57typedef struct 58{ 59 BT_HDR hdr; 60 tBTA_SDP_DM_CBACK *p_cback; 61} tBTA_SDP_API_ENABLE; 62 63/* data type for BTA_SDP_API_SEARCH_EVT */ 64typedef struct 65{ 66 BT_HDR hdr; 67 BD_ADDR bd_addr; 68 tSDP_UUID uuid; 69} tBTA_SDP_API_SEARCH; 70 71/* data type for BTA_SDP_API_SEARCH_EVT */ 72typedef struct 73{ 74 BT_HDR hdr; 75 void* user_data; 76} tBTA_SDP_API_RECORD_USER; 77 78/* union of all data types */ 79typedef union 80{ 81 /* GKI event buffer header */ 82 BT_HDR hdr; 83 tBTA_SDP_API_ENABLE enable; 84 tBTA_SDP_API_SEARCH get_search; 85 tBTA_SDP_API_RECORD_USER record; 86} tBTA_SDP_MSG; 87 88/* SDP control block */ 89typedef struct 90{ 91 UINT8 sdp_active; /* see BTA_SDP_SDP_ACT_* */ 92 BD_ADDR remote_addr; 93 tBTA_SDP_DM_CBACK *p_dm_cback; 94} tBTA_SDP_CB; 95 96 97/* SDP control block */ 98#if BTA_DYNAMIC_MEMORY == FALSE 99extern tBTA_SDP_CB bta_sdp_cb; 100#else 101extern tBTA_SDP_CB *bta_sdp_cb_ptr; 102#define bta_sdp_cb (*bta_sdp_cb_ptr) 103#endif 104 105/* config struct */ 106extern tBTA_SDP_CFG *p_bta_sdp_cfg; 107 108extern BOOLEAN bta_sdp_sm_execute(BT_HDR *p_msg); 109 110extern void bta_sdp_enable (tBTA_SDP_MSG *p_data); 111extern void bta_sdp_search (tBTA_SDP_MSG *p_data); 112extern void bta_sdp_create_record(tBTA_SDP_MSG *p_data); 113extern void bta_sdp_remove_record(tBTA_SDP_MSG *p_data); 114 115#endif /* BTA_SDP_INT_H */ 116