/****************************************************************************** * * Copyright 2014 The Android Open Source Project * Copyright 2003-2012 Broadcom Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ /****************************************************************************** * * This is the private interface file for the BTA SDP I/F * ******************************************************************************/ #ifndef BTA_SDP_INT_H #define BTA_SDP_INT_H #include "bta_api.h" #include "bta_sdp_api.h" #include "bta_sys.h" /***************************************************************************** * Constants ****************************************************************************/ enum { /* these events are handled by the state machine */ BTA_SDP_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_SDP), BTA_SDP_API_SEARCH_EVT, BTA_SDP_API_CREATE_RECORD_USER_EVT, BTA_SDP_API_REMOVE_RECORD_USER_EVT, BTA_SDP_MAX_INT_EVT }; enum { BTA_SDP_ACTIVE_NONE = 0, BTA_SDP_ACTIVE_YES /* waiting for SDP result */ }; /* data type for BTA_SDP_API_ENABLE_EVT */ typedef struct { BT_HDR hdr; tBTA_SDP_DM_CBACK* p_cback; } tBTA_SDP_API_ENABLE; /* data type for BTA_SDP_API_SEARCH_EVT */ typedef struct { BT_HDR hdr; RawAddress bd_addr; bluetooth::Uuid uuid; } tBTA_SDP_API_SEARCH; /* data type for BTA_SDP_API_SEARCH_EVT */ typedef struct { BT_HDR hdr; void* user_data; } tBTA_SDP_API_RECORD_USER; /* union of all data types */ typedef union { /* GKI event buffer header */ BT_HDR hdr; tBTA_SDP_API_ENABLE enable; tBTA_SDP_API_SEARCH get_search; tBTA_SDP_API_RECORD_USER record; } tBTA_SDP_MSG; /* SDP control block */ typedef struct { uint8_t sdp_active; /* see BTA_SDP_SDP_ACT_* */ RawAddress remote_addr; tBTA_SDP_DM_CBACK* p_dm_cback; } tBTA_SDP_CB; /* SDP control block */ extern tBTA_SDP_CB bta_sdp_cb; /* config struct */ extern tBTA_SDP_CFG* p_bta_sdp_cfg; extern bool bta_sdp_sm_execute(BT_HDR* p_msg); extern void bta_sdp_enable(tBTA_SDP_MSG* p_data); extern void bta_sdp_search(tBTA_SDP_MSG* p_data); extern void bta_sdp_create_record(tBTA_SDP_MSG* p_data); extern void bta_sdp_remove_record(tBTA_SDP_MSG* p_data); #endif /* BTA_SDP_INT_H */