15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 2006-2012 Broadcom Corporation
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  nterface to AVRCP Application Programming Interface
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVRC_API_H
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_API_H
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h"
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avct_api.h"
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "sdp_api.h"
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avrc_defs.h"
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  constants
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* API function return value result codes. */
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUCCESS        AVCT_SUCCESS        /* 0 Function successful */
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_NO_RESOURCES   AVCT_NO_RESOURCES   /* 1 Not enough resources */
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BAD_HANDLE     AVCT_BAD_HANDLE     /* 2 Bad handle */
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PID_IN_USE     AVCT_PID_IN_USE     /* 3 PID already in use */
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_NOT_OPEN       AVCT_NOT_OPEN       /* 4 Connection not open */
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MSG_TOO_BIG    5                   /* 5 the message length exceed the MTU of the browsing channel */
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FAIL           0x10                /* 0x10 generic failure */
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BAD_PARAM      0x11                /* 0x11 bad parameter   */
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Control role - same as AVCT_TARGET/AVCT_CONTROL */
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CT_TARGET      1                   /* target  */
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CT_CONTROL     2                   /* controller  */
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CT_PASSIVE     4                   /* If conflict, allow the other side to succeed  */
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Connection role */
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CONN_INT       AVCT_INT            /* initiator */
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CONN_ACP       AVCT_ACP            /* Acceptor  */
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC CTRL events */
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_OPEN_IND_EVT event is sent when the connection is successfully opened.
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This eventis sent in response to an AVRC_Open(). */
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OPEN_IND_EVT       0
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_CLOSE_IND_EVT event is sent when a connection is closed.
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This event can result from a call to AVRC_Close() or when the peer closes
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * the connection.  It is also sent when a connection attempted through
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * AVRC_Open() fails. */
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CLOSE_IND_EVT      1
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_CONG_IND_EVT event indicates that AVCTP is congested and cannot send
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * any more messages. */
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CONG_IND_EVT       2
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_UNCONG_IND_EVT event indicates that AVCTP is uncongested and ready to
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * send messages. */
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_UNCONG_IND_EVT     3
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* AVRC_BROWSE_OPEN_IND_EVT event is sent when the browse channel is successfully opened.
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This eventis sent in response to an AVRC_Open() or AVRC_OpenBrowse() . */
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BROWSE_OPEN_IND_EVT       4
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_BROWSE_CLOSE_IND_EVT event is sent when a browse channel is closed.
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This event can result from a call to AVRC_Close(), AVRC_CloseBrowse() or when the peer closes
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * the connection.  It is also sent when a connection attempted through
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * AVRC_OpenBrowse() fails. */
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BROWSE_CLOSE_IND_EVT      5
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_BROWSE_CONG_IND_EVT event indicates that AVCTP browse channel is congested and cannot send
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * any more messages. */
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BROWSE_CONG_IND_EVT       6
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVRC_BROWSE_UNCONG_IND_EVT event indicates that AVCTP browse channel is uncongested and ready to
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * send messages. */
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BROWSE_UNCONG_IND_EVT     7
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Supported categories */
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_CT_CAT1               0x0001      /* Category 1 */
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_CT_CAT2               0x0002      /* Category 2 */
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_CT_CAT3               0x0004      /* Category 3 */
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_CT_CAT4               0x0008      /* Category 4 */
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_CT_BROWSE             0x0040      /* Browsing */
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_CAT1               0x0001      /* Category 1 */
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_CAT2               0x0002      /* Category 2 */
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_CAT3               0x0004      /* Category 3 */
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_CAT4               0x0008      /* Category 4 */
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_APP_SETTINGS       0x0010      /* Player Application Settings */
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_GROUP_NAVI         0x0020      /* Group Navigation */
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_BROWSE             0x0040      /* Browsing */
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUPF_TG_MULTI_PLAYER       0x0080      /* Muliple Media Player */
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_META_SUCCESS               AVRC_SUCCESS
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_META_FAIL                  AVRC_FAIL
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_METADATA_CMD               0x0000
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_METADATA_RESP              0x0001
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  data type definitions
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This data type is used in AVRC_FindService() to initialize the SDP database
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * to hold the result service search. */
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              db_len;  /* Length, in bytes, of the discovery database */
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB  *p_db;    /* Pointer to the discovery database */
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16              num_attr;/* The number of attributes in p_attrs */
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16             *p_attrs; /* The attributes filter. If NULL, AVRCP API sets the attribute filter
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                  * to be ATTR_ID_SERVICE_CLASS_ID_LIST, ATTR_ID_BT_PROFILE_DESC_LIST,
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                  * ATTR_ID_SUPPORTED_FEATURES, ATTR_ID_SERVICE_NAME and ATTR_ID_PROVIDER_NAME.
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                  * If not NULL, the input is taken as the filter. */
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SDP_DB_PARAMS;
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This callback function returns service discovery information to the
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * application after the AVRC_FindService() API function is called.  The
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * implementation of this callback function must copy the p_service_name
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * and p_provider_name parameters passed to it as they are not guaranteed
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * to remain after the callback function exits. */
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tAVRC_FIND_CBACK) (UINT16 status);
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is the control callback function.  This function passes events
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * listed in Table 20 to the application. */
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tAVRC_CTRL_CBACK) (UINT8 handle, UINT8 event, UINT16 result,
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project             BD_ADDR peer_addr);
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is the message callback function.  It is executed when AVCTP has
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * a message packet ready for the application.  The implementation of this
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * callback function must copy the tAVRC_MSG structure passed to it as it
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * is not guaranteed to remain after the callback function exits. */
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tAVRC_MSG_CBACK) (UINT8 handle, UINT8 label, UINT8 opcode,
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project             tAVRC_MSG *p_msg);
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tAVRC_CTRL_CBACK    *p_ctrl_cback;  /* pointer to application control callback */
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tAVRC_MSG_CBACK     *p_msg_cback;   /* pointer to application message callback */
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              company_id;     /* the company ID  */
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               conn;           /* Connection role (Initiator/acceptor) */
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               control;        /* Control role (Control/Target) */
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_CONN_CB;
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  external function declarations
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C"
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_AddRecord
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called to build an AVRCP SDP record.
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Prior to calling this function the application must
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  call SDP_CreateRecord() to create an SDP record.
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      service_uuid:  Indicates TG(UUID_SERVCLASS_AV_REM_CTRL_TARGET)
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                            or CT(UUID_SERVCLASS_AV_REMOTE_CONTROL)
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_service_name:  Pointer to a null-terminated character
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      string containing the service name.
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      If service name is not used set this to NULL.
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_provider_name:  Pointer to a null-terminated character
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      string containing the provider name.
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      If provider name is not used set this to NULL.
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      categories:  Supported categories.
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      sdp_handle:  SDP handle returned by SDP_CreateRecord().
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_NO_RESOURCES if not enough resources to build the SDP record.
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_AddRecord(UINT16 service_uuid, char *p_service_name,
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                char *p_provider_name, UINT16 categories, UINT32 sdp_handle);
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_FindService
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called by the application to perform service
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  discovery and retrieve AVRCP SDP record information from a
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  peer device.  Information is returned for the first service
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  record found on the server that matches the service UUID.
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The callback function will be executed when service discovery
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  is complete.  There can only be one outstanding call to
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_FindService() at a time; the application must wait for
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the callback before it makes another call to the function.
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The application is responsible for allocating memory for the
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  discovery database.  It is recommended that the size of the
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  discovery database be at least 300 bytes.  The application
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  can deallocate the memory after the callback function has
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  executed.
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      service_uuid: Indicates TG(UUID_SERVCLASS_AV_REM_CTRL_TARGET)
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           or CT(UUID_SERVCLASS_AV_REMOTE_CONTROL)
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      bd_addr:  BD address of the peer device.
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_db:  SDP discovery database parameters.
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_cback:  Pointer to the callback function.
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_PARAMS if discovery database parameters are invalid.
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_NO_RESOURCES if there are not enough resources to
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                    perform the service search.
2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_FindService(UINT16 service_uuid, BD_ADDR bd_addr,
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                tAVRC_SDP_DB_PARAMS *p_db, tAVRC_FIND_CBACK *p_cback);
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_Open
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called to open a connection to AVCTP.
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The connection can be either an initiator or acceptor, as
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  determined by the p_ccb->stream parameter.
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The connection can be a target, a controller or for both role,
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  as determined by the p_ccb->control parameter.
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  By definition, a target connection is an acceptor connection
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  that waits for an incoming AVCTP connection from the peer.
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The connection remains available to the application until
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the application closes it by calling AVRC_Close().  The
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  application does not need to reopen the connection after an
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_CLOSE_IND_EVT is received.
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_ccb->company_id: Company Identifier.
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_ccb->p_ctrl_cback:  Pointer to control callback function.
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_ccb->p_msg_cback:  Pointer to message callback function.
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_ccb->conn: AVCTP connection role.  This is set to
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      AVCTP_INT for initiator connections and AVCTP_ACP
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      for acceptor connections.
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_ccb->control: Control role.  This is set to
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      AVRC_CT_TARGET for target connections, AVRC_CT_CONTROL
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      for control connections or (AVRC_CT_TARGET|AVRC_CT_CONTROL)
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      for connections that support both roles.
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      peer_addr: BD address of peer device.  This value is
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      only used for initiator connections; for acceptor
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      connections it can be set to NULL.
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_handle: Pointer to handle.  This parameter is only
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                valid if AVRC_SUCCESS is returned.
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_NO_RESOURCES if there are not enough resources to open
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the connection.
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_Open(UINT8 *p_handle, tAVRC_CONN_CB *p_ccb,
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 BD_ADDR_PTR peer_addr);
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_Close
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Close a connection opened with AVRC_Open().
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  This function is called when the
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  application is no longer using a connection.
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_Close(UINT8 handle);
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_OpenBrowse
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called to open a browsing connection to AVCTP.
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The connection can be either an initiator or acceptor, as
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  determined by the conn_role.
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The handle is returned by a previous call to AVRC_Open.
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_NO_RESOURCES if there are not enough resources to open
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the connection.
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_OpenBrowse(UINT8 handle, UINT8 conn_role);
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_CloseBrowse
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Close a connection opened with AVRC_OpenBrowse().
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  This function is called when the
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  application is no longer using a connection.
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_CloseBrowse(UINT8 handle);
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_MsgReq
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is used to send the AVRCP byte stream in p_pkt
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  down to AVCTP.
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  It is expected that p_pkt->offset is at least AVCT_MSG_OFFSET
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_pkt->layer_specific is AVCT_DATA_CTRL or AVCT_DATA_BROWSE
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_pkt->event is AVRC_OP_VENDOR, AVRC_OP_PASS_THRU or AVRC_OP_BROWSING
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  The above BT_HDR settings are set by the AVRC_Bld* functions.
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_MsgReq (UINT8 handle, UINT8 label, UINT8 ctype, BT_HDR *p_pkt);
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_UnitCmd
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a UNIT INFO command to the peer device.  This
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for controller role connections.
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Any response message from the peer is passed back through
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the tAVRC_MSG_CBACK callback function.
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_UnitCmd(UINT8 handle, UINT8 label);
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_SubCmd
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a SUBUNIT INFO command to the peer device.  This
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for controller role connections.
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Any response message from the peer is passed back through
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the tAVRC_MSG_CBACK callback function.
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      page: Specifies which part of the subunit type table
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      is requested.  For AVRCP it is typically zero.
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      Value range is 0-7.
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_SubCmd(UINT8 handle, UINT8 label, UINT8 page);
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_PassCmd
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a PASS THROUGH command to the peer device.  This
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for controller role connections.
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Any response message from the peer is passed back through
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the tAVRC_MSG_CBACK callback function.
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_msg: Pointer to PASS THROUGH message structure.
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_PassCmd(UINT8 handle, UINT8 label, tAVRC_MSG_PASS *p_msg);
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_PassRsp
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a PASS THROUGH response to the peer device.  This
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for target role connections.
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  This function must be called when a PASS THROUGH command
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  message is received from the peer through the
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  tAVRC_MSG_CBACK callback function.
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.  Must be the same value as
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      passed with the command message in the callback function.
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_msg: Pointer to PASS THROUGH message structure.
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_PassRsp(UINT8 handle, UINT8 label, tAVRC_MSG_PASS *p_msg);
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_VendorCmd
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a VENDOR DEPENDENT command to the peer device.  This
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for controller role connections.
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Any response message from the peer is passed back through
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the tAVRC_MSG_CBACK callback function.
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_msg: Pointer to VENDOR DEPENDENT message structure.
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_VendorCmd(UINT8  handle, UINT8  label, tAVRC_MSG_VENDOR *p_msg);
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_VendorRsp
4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Send a VENDOR DEPENDENT response to the peer device.  This
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  function can only be called for target role connections.
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  This function must be called when a VENDOR DEPENDENT
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  command message is received from the peer through the
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  tAVRC_MSG_CBACK callback function.
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      handle: Handle of this connection.
5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      label: Transaction label.  Must be the same value as
5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      passed with the command message in the callback function.
5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      p_msg: Pointer to VENDOR DEPENDENT message structure.
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Output Parameters:
5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      None.
5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_SUCCESS if successful.
5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  AVRC_BAD_HANDLE if handle is invalid.
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT16 AVRC_VendorRsp(UINT8  handle, UINT8  label, tAVRC_MSG_VENDOR *p_msg);
5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_SetTraceLevel
5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Sets the trace level for AVRC. If 0xff is passed, the
5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  current trace level is returned.
5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Input Parameters:
5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      new_level:  The level to set the AVRC tracing to:
5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      0xff-returns the current setting.
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      0-turns off tracing.
5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 1-Errors.
5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 2-Warnings.
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 3-APIs.
5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 4-Events.
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      >= 5-Debug.
5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          The new trace level or current trace level if
5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  the input parameter is 0xff.
5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern UINT8 AVRC_SetTraceLevel (UINT8 new_level);
5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_Init
5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called at stack startup to allocate the
5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  control block (if using dynamic memory), and initializes the
5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  control block and tracing level.
5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          void
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern void AVRC_Init(void);
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_ParsCommand
5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is used to parse the received command.
5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_STS_NO_ERROR, if the message in p_data is parsed successfully.
5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Otherwise, the error code defined by AVRCP 1.4
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
566ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaAVRC_API extern tAVRC_STS AVRC_ParsCommand (tAVRC_MSG *p_msg, tAVRC_COMMAND *p_result,
567ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT8 *p_buf, UINT16 buf_len);
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_ParsResponse
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is used to parse the received response.
5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_STS_NO_ERROR, if the message in p_data is parsed successfully.
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Otherwise, the error code defined by AVRCP 1.4
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
579ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaAVRC_API extern tAVRC_STS AVRC_ParsResponse (tAVRC_MSG *p_msg, tAVRC_RESPONSE *p_result,
580ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT8 *p_buf, UINT16 buf_len);
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_BldCommand
5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function builds the given AVRCP command to the given
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  GKI buffer
5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_STS_NO_ERROR, if the command is built successfully
5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Otherwise, the error code.
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern tAVRC_STS AVRC_BldCommand( tAVRC_COMMAND *p_cmd, BT_HDR **pp_pkt);
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_BldResponse
5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function builds the given AVRCP response to the given
6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  GKI buffer
6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          AVRC_STS_NO_ERROR, if the response is built successfully
6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Otherwise, the error code.
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern tAVRC_STS AVRC_BldResponse( UINT8 handle, tAVRC_RESPONSE *p_rsp, BT_HDR **pp_pkt);
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/**************************************************************************
6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_IsValidAvcType
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Check if correct AVC type is specified
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          returns TRUE if it is valid
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern BOOLEAN AVRC_IsValidAvcType(UINT8 pdu_id, UINT8 avc_type);
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         AVRC_IsValidPlayerAttr
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      Check if the given attrib value is a valid one
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          returns TRUE if it is valid
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectAVRC_API extern BOOLEAN AVRC_IsValidPlayerAttr(UINT8 attr);
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* AVRC_API_H */
637