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