Home | History | Annotate | Download | only in include
      1 /******************************************************************************
      2  *
      3  *  Copyright (C) 2002-2012 Broadcom Corporation
      4  *
      5  *  Licensed under the Apache License, Version 2.0 (the "License");
      6  *  you may not use this file except in compliance with the License.
      7  *  You may obtain a copy of the License at:
      8  *
      9  *  http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  *
     17  ******************************************************************************/
     18 
     19 /******************************************************************************
     20  *
     21  *  This interface file contains the interface AVDTP conformance API.  These
     22  *  additional API functions and callback events are provided for
     23  *  conformance testing purposes only.  They are not intended to be used by
     24  *  an application.
     25  *
     26  ******************************************************************************/
     27 #ifndef AVDT_CAPI_H
     28 #define AVDT_CAPI_H
     29 
     30 #include "avdt_api.h"
     31 
     32 /* start AVDTC events here to distinguish from AVDT events */
     33 #define AVDTC_EVT_BEGIN             0x80
     34 
     35 #define AVDTC_DISCOVER_IND_EVT      (0 + AVDTC_EVT_BEGIN)   /* Discover indication */
     36 #define AVDTC_GETCAP_IND_EVT        (1 + AVDTC_EVT_BEGIN)   /* Get capabilities indication */
     37 #define AVDTC_SETCONFIG_CFM_EVT     (2 + AVDTC_EVT_BEGIN)   /* Set configuration confirm */
     38 #define AVDTC_GETCONFIG_IND_EVT     (3 + AVDTC_EVT_BEGIN)   /* Get configuration indication */
     39 #define AVDTC_GETCONFIG_CFM_EVT     (4 + AVDTC_EVT_BEGIN)   /* Get configuration confirm */
     40 #define AVDTC_OPEN_IND_EVT          (5 + AVDTC_EVT_BEGIN)   /* Open indication */
     41 #define AVDTC_START_IND_EVT         (6 + AVDTC_EVT_BEGIN)   /* Start indication */
     42 #define AVDTC_CLOSE_IND_EVT         (7 + AVDTC_EVT_BEGIN)   /* Close indication */
     43 #define AVDTC_SUSPEND_IND_EVT       (8 + AVDTC_EVT_BEGIN)   /* Suspend indication */
     44 #define AVDTC_ABORT_IND_EVT         (9 + AVDTC_EVT_BEGIN)   /* Abort indication */
     45 #define AVDTC_ABORT_CFM_EVT         (10 + AVDTC_EVT_BEGIN)  /* Abort confirm */
     46 
     47 typedef struct {
     48     tAVDT_EVT_HDR   hdr;                        /* Event header */
     49     UINT8           seid_list[AVDT_NUM_SEPS];   /* Array of SEID values */
     50     UINT8           num_seps;                   /* Number of values in array */
     51 } tAVDT_MULTI;
     52 
     53 /* Union of all control callback event data structures */
     54 typedef union {
     55     tAVDT_EVT_HDR       hdr;
     56     tAVDT_CONFIG        getconfig_cfm;
     57     tAVDT_MULTI         start_ind;
     58     tAVDT_MULTI         suspend_ind;
     59 } tAVDTC_CTRL;
     60 
     61 typedef void tAVDTC_CTRL_CBACK(UINT8 handle, BD_ADDR bd_addr, UINT8 event, tAVDTC_CTRL *p_data);
     62 
     63 #ifdef __cplusplus
     64 extern "C"
     65 {
     66 #endif
     67 
     68 /*******************************************************************************
     69 **
     70 ** Function         AVDTC_Init
     71 **
     72 ** Description      This function is called to begin using the conformance API.
     73 **                  It must be called after AVDT_Register() and before any
     74 **                  other API or conformance API functions are called.
     75 **
     76 ** Returns          void
     77 **
     78 *******************************************************************************/
     79 AVDT_API extern void AVDTC_Init(tAVDTC_CTRL_CBACK *p_cback);
     80 
     81 /*******************************************************************************
     82 **
     83 ** Function         AVDTC_DiscoverRsp
     84 **
     85 ** Description      Send a discover response.
     86 **
     87 ** Returns          void
     88 **
     89 *******************************************************************************/
     90 AVDT_API extern void AVDTC_DiscoverRsp(BD_ADDR bd_addr, UINT8 label,
     91                                      tAVDT_SEP_INFO sep_info[], UINT8 num_seps);
     92 
     93 /*******************************************************************************
     94 **
     95 ** Function         AVDTC_GetCapRsp
     96 **
     97 ** Description     Send a get capabilities response.
     98 **
     99 ** Returns          void
    100 **
    101 *******************************************************************************/
    102 AVDT_API extern void AVDTC_GetCapRsp(BD_ADDR bd_addr, UINT8 label, tAVDT_CFG *p_cap);
    103 
    104 /*******************************************************************************
    105 **
    106 ** Function         AVDTC_GetAllCapRsp
    107 **
    108 ** Description     Send a get all capabilities response.
    109 **
    110 ** Returns          void
    111 **
    112 *******************************************************************************/
    113 AVDT_API extern void AVDTC_GetAllCapRsp(BD_ADDR bd_addr, UINT8 label, tAVDT_CFG *p_cap);
    114 
    115 /*******************************************************************************
    116 **
    117 ** Function         AVDTC_GetConfigReq
    118 **
    119 ** Description      Send a get configuration request.
    120 **
    121 ** Returns          void
    122 **
    123 *******************************************************************************/
    124 AVDT_API extern void AVDTC_GetConfigReq(UINT8 handle);
    125 
    126 /*******************************************************************************
    127 **
    128 ** Function         AVDTC_GetConfigRsp
    129 **
    130 ** Description      Send a get configuration response.
    131 **
    132 ** Returns          void
    133 **
    134 *******************************************************************************/
    135 AVDT_API extern void AVDTC_GetConfigRsp(UINT8 handle, UINT8 label, tAVDT_CFG *p_cfg);
    136 
    137 /*******************************************************************************
    138 **
    139 ** Function         AVDTC_OpenReq
    140 **
    141 ** Description      Send an open request.
    142 **
    143 ** Returns          void
    144 **
    145 *******************************************************************************/
    146 AVDT_API extern void AVDTC_OpenReq(UINT8 handle);
    147 
    148 /*******************************************************************************
    149 **
    150 ** Function         AVDTC_OpenRsp
    151 **
    152 ** Description      Send an open response.
    153 **
    154 ** Returns          void
    155 **
    156 *******************************************************************************/
    157 AVDT_API extern void AVDTC_OpenRsp(UINT8 handle, UINT8 label);
    158 
    159 /*******************************************************************************
    160 **
    161 ** Function         AVDTC_StartRsp
    162 **
    163 ** Description      Send a start response.
    164 **
    165 ** Returns          void
    166 **
    167 *******************************************************************************/
    168 AVDT_API extern void AVDTC_StartRsp(UINT8 *p_handles, UINT8 num_handles, UINT8 label);
    169 
    170 /*******************************************************************************
    171 **
    172 ** Function         AVDTC_CloseRsp
    173 **
    174 ** Description      Send a close response.
    175 **
    176 ** Returns          void
    177 **
    178 *******************************************************************************/
    179 AVDT_API extern void AVDTC_CloseRsp(UINT8 handle, UINT8 label);
    180 
    181 /*******************************************************************************
    182 **
    183 ** Function         AVDTC_SuspendRsp
    184 **
    185 ** Description      Send a suspend response.
    186 **
    187 ** Returns          void
    188 **
    189 *******************************************************************************/
    190 AVDT_API extern void AVDTC_SuspendRsp(UINT8 *p_handles, UINT8 num_handles, UINT8 label);
    191 
    192 /*******************************************************************************
    193 **
    194 ** Function         AVDTC_AbortReq
    195 **
    196 ** Description      Send an abort request.
    197 **
    198 ** Returns          void
    199 **
    200 *******************************************************************************/
    201 AVDT_API extern void AVDTC_AbortReq(UINT8 handle);
    202 
    203 /*******************************************************************************
    204 **
    205 ** Function         AVDTC_AbortRsp
    206 **
    207 ** Description      Send an abort response.
    208 **
    209 ** Returns          void
    210 **
    211 *******************************************************************************/
    212 AVDT_API extern void AVDTC_AbortRsp(UINT8 handle, UINT8 label);
    213 
    214 /*******************************************************************************
    215 **
    216 ** Function         AVDTC_Rej
    217 **
    218 ** Description      Send a reject message.
    219 **
    220 ** Returns          void
    221 **
    222 *******************************************************************************/
    223 AVDT_API extern void AVDTC_Rej(UINT8 handle, BD_ADDR bd_addr, UINT8 cmd, UINT8 label,
    224                              UINT8 err_code, UINT8 err_param);
    225 
    226 #ifdef __cplusplus
    227 }
    228 #endif
    229 
    230 #endif /* AVDT_CAPI_H */
    231 
    232