Home | History | Annotate | Download | only in sdp
      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 
     38 enum
     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 
     48 enum
     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 */
     57 typedef 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 */
     64 typedef 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 */
     72 typedef struct
     73 {
     74     BT_HDR          hdr;
     75     void*           user_data;
     76 } tBTA_SDP_API_RECORD_USER;
     77 
     78 /* union of all data types */
     79 typedef 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 */
     89 typedef 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
     99 extern tBTA_SDP_CB bta_sdp_cb;
    100 #else
    101 extern tBTA_SDP_CB *bta_sdp_cb_ptr;
    102 #define bta_sdp_cb (*bta_sdp_cb_ptr)
    103 #endif
    104 
    105 /* config struct */
    106 extern tBTA_SDP_CFG *p_bta_sdp_cfg;
    107 
    108 extern BOOLEAN bta_sdp_sm_execute(BT_HDR *p_msg);
    109 
    110 extern void bta_sdp_enable (tBTA_SDP_MSG *p_data);
    111 extern void bta_sdp_search (tBTA_SDP_MSG *p_data);
    112 extern void bta_sdp_create_record(tBTA_SDP_MSG *p_data);
    113 extern void bta_sdp_remove_record(tBTA_SDP_MSG *p_data);
    114 
    115 #endif /* BTA_SDP_INT_H */
    116