• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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