blob: 14a1a21cca3ce360abb651e7eb3190be5029287e [file] [log] [blame]
/******************************************************************************
*
* Copyright (C) 2002-2012 Broadcom Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/******************************************************************************
*
* This interface file contains the interface AVDTP conformance API. These
* additional API functions and callback events are provided for
* conformance testing purposes only. They are not intended to be used by
* an application.
*
******************************************************************************/
#ifndef AVDT_CAPI_H
#define AVDT_CAPI_H
#include "avdt_api.h"
/* start AVDTC events here to distinguish from AVDT events */
#define AVDTC_EVT_BEGIN 0x80
#define AVDTC_DISCOVER_IND_EVT (0 + AVDTC_EVT_BEGIN) /* Discover indication */
#define AVDTC_GETCAP_IND_EVT (1 + AVDTC_EVT_BEGIN) /* Get capabilities indication */
#define AVDTC_SETCONFIG_CFM_EVT (2 + AVDTC_EVT_BEGIN) /* Set configuration confirm */
#define AVDTC_GETCONFIG_IND_EVT (3 + AVDTC_EVT_BEGIN) /* Get configuration indication */
#define AVDTC_GETCONFIG_CFM_EVT (4 + AVDTC_EVT_BEGIN) /* Get configuration confirm */
#define AVDTC_OPEN_IND_EVT (5 + AVDTC_EVT_BEGIN) /* Open indication */
#define AVDTC_START_IND_EVT (6 + AVDTC_EVT_BEGIN) /* Start indication */
#define AVDTC_CLOSE_IND_EVT (7 + AVDTC_EVT_BEGIN) /* Close indication */
#define AVDTC_SUSPEND_IND_EVT (8 + AVDTC_EVT_BEGIN) /* Suspend indication */
#define AVDTC_ABORT_IND_EVT (9 + AVDTC_EVT_BEGIN) /* Abort indication */
#define AVDTC_ABORT_CFM_EVT (10 + AVDTC_EVT_BEGIN) /* Abort confirm */
typedef struct {
tAVDT_EVT_HDR hdr; /* Event header */
UINT8 seid_list[AVDT_NUM_SEPS]; /* Array of SEID values */
UINT8 num_seps; /* Number of values in array */
} tAVDT_MULTI;
/* Union of all control callback event data structures */
typedef union {
tAVDT_EVT_HDR hdr;
tAVDT_CONFIG getconfig_cfm;
tAVDT_MULTI start_ind;
tAVDT_MULTI suspend_ind;
} tAVDTC_CTRL;
typedef void tAVDTC_CTRL_CBACK(UINT8 handle, BD_ADDR bd_addr, UINT8 event, tAVDTC_CTRL *p_data);
#ifdef __cplusplus
extern "C"
{
#endif
/*******************************************************************************
**
** Function AVDTC_Init
**
** Description This function is called to begin using the conformance API.
** It must be called after AVDT_Register() and before any
** other API or conformance API functions are called.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_Init(tAVDTC_CTRL_CBACK *p_cback);
/*******************************************************************************
**
** Function AVDTC_DiscoverRsp
**
** Description Send a discover response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_DiscoverRsp(BD_ADDR bd_addr, UINT8 label,
tAVDT_SEP_INFO sep_info[], UINT8 num_seps);
/*******************************************************************************
**
** Function AVDTC_GetCapRsp
**
** Description Send a get capabilities response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_GetCapRsp(BD_ADDR bd_addr, UINT8 label, tAVDT_CFG *p_cap);
/*******************************************************************************
**
** Function AVDTC_GetAllCapRsp
**
** Description Send a get all capabilities response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_GetAllCapRsp(BD_ADDR bd_addr, UINT8 label, tAVDT_CFG *p_cap);
/*******************************************************************************
**
** Function AVDTC_GetConfigReq
**
** Description Send a get configuration request.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_GetConfigReq(UINT8 handle);
/*******************************************************************************
**
** Function AVDTC_GetConfigRsp
**
** Description Send a get configuration response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_GetConfigRsp(UINT8 handle, UINT8 label, tAVDT_CFG *p_cfg);
/*******************************************************************************
**
** Function AVDTC_OpenReq
**
** Description Send an open request.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_OpenReq(UINT8 handle);
/*******************************************************************************
**
** Function AVDTC_OpenRsp
**
** Description Send an open response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_OpenRsp(UINT8 handle, UINT8 label);
/*******************************************************************************
**
** Function AVDTC_StartRsp
**
** Description Send a start response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_StartRsp(UINT8 *p_handles, UINT8 num_handles, UINT8 label);
/*******************************************************************************
**
** Function AVDTC_CloseRsp
**
** Description Send a close response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_CloseRsp(UINT8 handle, UINT8 label);
/*******************************************************************************
**
** Function AVDTC_SuspendRsp
**
** Description Send a suspend response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_SuspendRsp(UINT8 *p_handles, UINT8 num_handles, UINT8 label);
/*******************************************************************************
**
** Function AVDTC_AbortReq
**
** Description Send an abort request.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_AbortReq(UINT8 handle);
/*******************************************************************************
**
** Function AVDTC_AbortRsp
**
** Description Send an abort response.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_AbortRsp(UINT8 handle, UINT8 label);
/*******************************************************************************
**
** Function AVDTC_Rej
**
** Description Send a reject message.
**
** Returns void
**
*******************************************************************************/
AVDT_API extern void AVDTC_Rej(UINT8 handle, BD_ADDR bd_addr, UINT8 cmd, UINT8 label,
UINT8 err_code, UINT8 err_param);
#ifdef __cplusplus
}
#endif
#endif /* AVDT_CAPI_H */