Home | History | Annotate | Download | only in include
      1 /******************************************************************************
      2  *
      3  *  Copyright 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 /* Discover indication */
     36 #define AVDTC_DISCOVER_IND_EVT (0 + AVDTC_EVT_BEGIN)
     37 /* Get capabilities indication */
     38 #define AVDTC_GETCAP_IND_EVT (1 + AVDTC_EVT_BEGIN)
     39 /* Set configuration confirm */
     40 #define AVDTC_SETCONFIG_CFM_EVT (2 + AVDTC_EVT_BEGIN)
     41 /* Get configuration indication */
     42 #define AVDTC_GETCONFIG_IND_EVT (3 + AVDTC_EVT_BEGIN)
     43 /* Get configuration confirm */
     44 #define AVDTC_GETCONFIG_CFM_EVT (4 + AVDTC_EVT_BEGIN)
     45 /* Open indication */
     46 #define AVDTC_OPEN_IND_EVT (5 + AVDTC_EVT_BEGIN)
     47 /* Start indication */
     48 #define AVDTC_START_IND_EVT (6 + AVDTC_EVT_BEGIN)
     49 /* Close indication */
     50 #define AVDTC_CLOSE_IND_EVT (7 + AVDTC_EVT_BEGIN)
     51 /* Suspend indication */
     52 #define AVDTC_SUSPEND_IND_EVT (8 + AVDTC_EVT_BEGIN)
     53 /* Abort indication */
     54 #define AVDTC_ABORT_IND_EVT (9 + AVDTC_EVT_BEGIN)
     55 /* Abort confirm */
     56 #define AVDTC_ABORT_CFM_EVT (10 + AVDTC_EVT_BEGIN)
     57 
     58 typedef struct {
     59   tAVDT_EVT_HDR hdr;                /* Event header */
     60   uint8_t seid_list[AVDT_NUM_SEPS]; /* Array of SEID values */
     61   uint8_t num_seps;                 /* Number of values in array */
     62 } tAVDT_MULTI;
     63 
     64 /* Union of all control callback event data structures */
     65 typedef union {
     66   tAVDT_EVT_HDR hdr;
     67   tAVDT_CONFIG getconfig_cfm;
     68   tAVDT_MULTI start_ind;
     69   tAVDT_MULTI suspend_ind;
     70 } tAVDTC_CTRL;
     71 
     72 typedef void tAVDTC_CTRL_CBACK(uint8_t handle, const RawAddress& bd_addr,
     73                                uint8_t event, tAVDTC_CTRL* p_data);
     74 
     75 /*******************************************************************************
     76  *
     77  * Function         AVDTC_Init
     78  *
     79  * Description      This function is called to begin using the conformance API.
     80  *                  It must be called after AVDT_Register() and before any
     81  *                  other API or conformance API functions are called.
     82  *
     83  * Returns          void
     84  *
     85  ******************************************************************************/
     86 extern void AVDTC_Init(tAVDTC_CTRL_CBACK* p_cback);
     87 
     88 /*******************************************************************************
     89  *
     90  * Function         AVDTC_DiscoverRsp
     91  *
     92  * Description      Send a discover response.
     93  *
     94  * Returns          void
     95  *
     96  ******************************************************************************/
     97 extern void AVDTC_DiscoverRsp(const RawAddress& bd_addr, uint8_t label,
     98                               tAVDT_SEP_INFO sep_info[], uint8_t num_seps);
     99 
    100 /*******************************************************************************
    101  *
    102  * Function         AVDTC_GetCapRsp
    103  *
    104  * Description     Send a get capabilities response.
    105  *
    106  * Returns          void
    107  *
    108  ******************************************************************************/
    109 extern void AVDTC_GetCapRsp(const RawAddress& bd_addr, uint8_t label,
    110                             AvdtpSepConfig* p_cap);
    111 
    112 /*******************************************************************************
    113  *
    114  * Function         AVDTC_GetAllCapRsp
    115  *
    116  * Description     Send a get all capabilities response.
    117  *
    118  * Returns          void
    119  *
    120  ******************************************************************************/
    121 extern void AVDTC_GetAllCapRsp(const RawAddress& bd_addr, uint8_t label,
    122                                AvdtpSepConfig* p_cap);
    123 
    124 /*******************************************************************************
    125  *
    126  * Function         AVDTC_GetConfigReq
    127  *
    128  * Description      Send a get configuration request.
    129  *
    130  * Returns          void
    131  *
    132  ******************************************************************************/
    133 extern void AVDTC_GetConfigReq(uint8_t handle);
    134 
    135 /*******************************************************************************
    136  *
    137  * Function         AVDTC_GetConfigRsp
    138  *
    139  * Description      Send a get configuration response.
    140  *
    141  * Returns          void
    142  *
    143  ******************************************************************************/
    144 extern void AVDTC_GetConfigRsp(uint8_t handle, uint8_t label,
    145                                AvdtpSepConfig* p_cfg);
    146 
    147 /*******************************************************************************
    148  *
    149  * Function         AVDTC_OpenReq
    150  *
    151  * Description      Send an open request.
    152  *
    153  * Returns          void
    154  *
    155  ******************************************************************************/
    156 extern void AVDTC_OpenReq(uint8_t handle);
    157 
    158 /*******************************************************************************
    159  *
    160  * Function         AVDTC_OpenRsp
    161  *
    162  * Description      Send an open response.
    163  *
    164  * Returns          void
    165  *
    166  ******************************************************************************/
    167 extern void AVDTC_OpenRsp(uint8_t handle, uint8_t label);
    168 
    169 /*******************************************************************************
    170  *
    171  * Function         AVDTC_StartRsp
    172  *
    173  * Description      Send a start response.
    174  *
    175  * Returns          void
    176  *
    177  ******************************************************************************/
    178 extern void AVDTC_StartRsp(uint8_t* p_handles, uint8_t num_handles,
    179                            uint8_t label);
    180 
    181 /*******************************************************************************
    182  *
    183  * Function         AVDTC_CloseRsp
    184  *
    185  * Description      Send a close response.
    186  *
    187  * Returns          void
    188  *
    189  ******************************************************************************/
    190 extern void AVDTC_CloseRsp(uint8_t handle, uint8_t label);
    191 
    192 /*******************************************************************************
    193  *
    194  * Function         AVDTC_SuspendRsp
    195  *
    196  * Description      Send a suspend response.
    197  *
    198  * Returns          void
    199  *
    200  ******************************************************************************/
    201 extern void AVDTC_SuspendRsp(uint8_t* p_handles, uint8_t num_handles,
    202                              uint8_t label);
    203 
    204 /*******************************************************************************
    205  *
    206  * Function         AVDTC_AbortReq
    207  *
    208  * Description      Send an abort request.
    209  *
    210  * Returns          void
    211  *
    212  ******************************************************************************/
    213 extern void AVDTC_AbortReq(uint8_t handle);
    214 
    215 /*******************************************************************************
    216  *
    217  * Function         AVDTC_AbortRsp
    218  *
    219  * Description      Send an abort response.
    220  *
    221  * Returns          void
    222  *
    223  ******************************************************************************/
    224 extern void AVDTC_AbortRsp(uint8_t handle, uint8_t label);
    225 
    226 /*******************************************************************************
    227  *
    228  * Function         AVDTC_Rej
    229  *
    230  * Description      Send a reject message.
    231  *
    232  * Returns          void
    233  *
    234  ******************************************************************************/
    235 extern void AVDTC_Rej(uint8_t handle, const RawAddress& bd_addr, uint8_t cmd,
    236                       uint8_t label, uint8_t err_code, uint8_t err_param);
    237 
    238 #endif /* AVDT_CAPI_H */
    239