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 * AVRCP definition and data types 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef _AVRC_DEFS_H 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define _AVRC_DEFS_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** constants 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Profile revision numbers */ 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_REV_1_0 0x0100 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_REV_1_3 0x0103 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_REV_1_4 0x0104 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PACKET_LEN 512 /* Per the spec, you must support 512 byte RC packets */ 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MIN_CONTROL_MTU 48 /* Per the spec, minimum MTU for the control channel */ 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MIN_BROWSE_MTU 335 /* Per the spec, minimum MTU for the browsing channel */ 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_META_PDU_OFFSET 4 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TYPE_LEN 4 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_UID_SIZE 8 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FEATURE_MASK_SIZE 16 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* command type codes */ 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD_CTRL 0 /* Instruct a target to perform an operation */ 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD_STATUS 1 /* Check a device�s current status */ 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD_SPEC_INQ 2 /* Check whether a target supports a particular 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project control command; all operands are included */ 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD_NOTIF 3 /* Used for receiving notification of a change in a device�s state */ 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD_GEN_INQ 4 /* Check whether a target supports a particular 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project control command; operands are not included */ 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* response type codes */ 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_NOT_IMPL 8 /* The target does not implement the command specified 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project by the opcode and operand, 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project or doesn�t implement the specified subunit */ 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_ACCEPT 9 /* The target executed or is executing the command */ 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_REJ 10 /* The target implements the command specified by the 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project opcode but cannot respond because the current state 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project of the target doesn�t allow it */ 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_IN_TRANS 11 /* The target implements the status command but it is 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project in a state of transition; the status command may 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project be retried at a future time */ 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_IMPL_STBL 12 /* For specific inquiry or general inquiy commands, 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project the target implements the command; for status 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project commands, the target returns stable and includes 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project the status results */ 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_CHANGED 13 /* The response frame contains a notification that the 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project target device�s state has changed */ 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP_INTERIM 15 /* For control commands, the target has accepted the 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project request but cannot return information within 100 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project milliseconds; for notify commands, the target accepted 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project the command, and will notify the controller of a change 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project of target state at a future time */ 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* subunit type */ 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_MONITOR 0x00 /* Monitor */ 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_AUDIO 0x01 /* Audio */ 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_PRINTER 0x02 /* Printer */ 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_DISC 0x03 /* Disc */ 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TAPE 0x04 /* Tape recorder/player */ 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TUNER 0x05 /* Tuner */ 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_CA 0x06 /* CA */ 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_CAMERA 0x07 /* Camera */ 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_PANEL 0x09 /* Panel */ 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_BB 0x0A /* Bulletin Board */ 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_CAM_STOR 0x0B /* Camera Storage */ 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_VENDOR 0x1C /* Vendor unique */ 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_EXT 0x1E /* Subunit type extended to next byte */ 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_UNIT 0x1F /* Unit */ 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* opcodes - defined by 1394ta */ 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_UNIT_INFO 0x30 /* Report unit information */ 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_SUB_INFO 0x31 /* Report subunit information */ 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_VENDOR 0x00 /* Vendor-dependent commands */ 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_PASS_THRU 0x7C /* panel subunit opcode */ 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* opcodes 80-9F and E0-FF are not used by 1394ta.Sneak one for the browsing channel */ 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_BROWSE 0xFF /* Browsing */ 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_OP_INVALID 0xFE /* invalid one */ 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Company ID's 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CO_BLUETOOTH_SIG 0x00FFFFFF 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CO_WIDCOMM 0x00000361 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CO_BROADCOM 0x00001018 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CO_METADATA 0x00001958 /* Unique COMPANY ID for Metadata messages */ 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* State flag for Passthrough commands 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STATE_PRESS 0 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STATE_RELEASE 1 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Operation ID list for Passthrough commands 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_SELECT 0x00 /* select */ 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_UP 0x01 /* up */ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_DOWN 0x02 /* down */ 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_LEFT 0x03 /* left */ 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_RIGHT 0x04 /* right */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_RIGHT_UP 0x05 /* right-up */ 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_RIGHT_DOWN 0x06 /* right-down */ 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_LEFT_UP 0x07 /* left-up */ 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_LEFT_DOWN 0x08 /* left-down */ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_ROOT_MENU 0x09 /* root menu */ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_SETUP_MENU 0x0A /* setup menu */ 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_CONT_MENU 0x0B /* contents menu */ 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_FAV_MENU 0x0C /* favorite menu */ 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_EXIT 0x0D /* exit */ 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_0 0x20 /* 0 */ 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_1 0x21 /* 1 */ 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_2 0x22 /* 2 */ 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_3 0x23 /* 3 */ 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_4 0x24 /* 4 */ 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_5 0x25 /* 5 */ 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_6 0x26 /* 6 */ 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_7 0x27 /* 7 */ 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_8 0x28 /* 8 */ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_9 0x29 /* 9 */ 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_DOT 0x2A /* dot */ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_ENTER 0x2B /* enter */ 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_CLEAR 0x2C /* clear */ 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_CHAN_UP 0x30 /* channel up */ 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_CHAN_DOWN 0x31 /* channel down */ 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_PREV_CHAN 0x32 /* previous channel */ 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_SOUND_SEL 0x33 /* sound select */ 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_INPUT_SEL 0x34 /* input select */ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_DISP_INFO 0x35 /* display information */ 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_HELP 0x36 /* help */ 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_PAGE_UP 0x37 /* page up */ 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_PAGE_DOWN 0x38 /* page down */ 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_POWER 0x40 /* power */ 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_VOL_UP 0x41 /* volume up */ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_VOL_DOWN 0x42 /* volume down */ 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_MUTE 0x43 /* mute */ 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_PLAY 0x44 /* play */ 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_STOP 0x45 /* stop */ 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_PAUSE 0x46 /* pause */ 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_RECORD 0x47 /* record */ 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_REWIND 0x48 /* rewind */ 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_FAST_FOR 0x49 /* fast forward */ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_EJECT 0x4A /* eject */ 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_FORWARD 0x4B /* forward */ 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_BACKWARD 0x4C /* backward */ 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_ANGLE 0x50 /* angle */ 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_SUBPICT 0x51 /* subpicture */ 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_F1 0x71 /* F1 */ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_F2 0x72 /* F2 */ 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_F3 0x73 /* F3 */ 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_F4 0x74 /* F4 */ 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_F5 0x75 /* F5 */ 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ID_VENDOR 0x7E /* vendor unique */ 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_KEYPRESSED_RELEASE 0x80 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Metadata transfer definitions 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the Metadata Packet types 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PKT_SINGLE 0 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PKT_START 1 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PKT_CONTINUE 2 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PKT_END 3 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PKT_TYPE_MASK 3 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the PDUs carried in the vendor dependant data 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_CAPABILITIES 0x10 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_LIST_PLAYER_APP_ATTR 0x11 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_LIST_PLAYER_APP_VALUES 0x12 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_CUR_PLAYER_APP_VALUE 0x13 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_SET_PLAYER_APP_VALUE 0x14 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_PLAYER_APP_ATTR_TEXT 0x15 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_PLAYER_APP_VALUE_TEXT 0x16 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_INFORM_DISPLAY_CHARSET 0x17 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_INFORM_BATTERY_STAT_OF_CT 0x18 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_ELEMENT_ATTR 0x20 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_PLAY_STATUS 0x30 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_REGISTER_NOTIFICATION 0x31 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_REQUEST_CONTINUATION_RSP 0x40 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_ABORT_CONTINUATION_RSP 0x41 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* added in 1.4 */ 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_SET_ABSOLUTE_VOLUME 0x50 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_SET_ADDRESSED_PLAYER 0x60 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_SET_BROWSED_PLAYER 0x70 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_FOLDER_ITEMS 0x71 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_CHANGE_PATH 0x72 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GET_ITEM_ATTRIBUTES 0x73 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_PLAY_ITEM 0x74 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_SEARCH 0x80 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_ADD_TO_NOW_PLAYING 0x90 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_GENERAL_REJECT 0xA0 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the vendor unique id carried in the pass through data 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_NEXT_GROUP 0x00 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_PREV_GROUP 0x01 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* the only pass through vendor unique commands defined by AVRC is the group navigation commands 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * The len for vendor unique data is 5 */ 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PASS_THRU_GROUP_LEN 5 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PDU_INVALID 0xff 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* 6.15.3 error status code for general reject */ 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_CMD 0x00 /* Invalid command, sent if TG received a PDU that it did not understand. */ 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_PARAM 0x01 /* Invalid parameter, sent if the TG received a PDU with a parameter ID that it did not understand. Sent if there is only one parameter ID in the PDU. */ 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NOT_FOUND 0x02 /* Specified parameter not found., sent if the parameter ID is understood, but content is wrong or corrupted. */ 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_INTERNAL_ERR 0x03 /* Internal Error, sent if there are error conditions not covered by a more specific error code. */ 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NO_ERROR 0x04 /* Operation completed without error. This is the status that should be returned if the operation was successful. */ 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_UID_CHANGED 0x05 /* UID Changed - The UIDs on the device have changed */ 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* #define AVRC_STS_GEN_ERROR 0x06 Unknown Error - this is changed to "reserved" */ 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_DIR 0x07 /* Invalid Direction - The Direction parameter is invalid - Change Path*/ 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NOT_DIR 0x08 /* Not a Directory - The UID provided does not refer to a folder item Change Path*/ 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NOT_EXIST 0x09 /* Does Not Exist - The UID provided does not refer to any item Change Path, PlayItem, AddToNowPlaying, GetItemAttributes*/ 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_SCOPE 0x0a /* Invalid Scope - The scope parameter is invalid GetFolderItems, PlayItem, AddToNowPlayer, GetItemAttributes, */ 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_RANGE 0x0b /* Range Out of Bounds - The start of range provided is not valid GetFolderItems*/ 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_UID_IS_DIR 0x0c /* UID is a Directory - The UID provided refers to a directory, which cannot be handled by this media player PlayItem, AddToNowPlaying */ 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_IN_USE 0x0d /* Media in Use - The media is not able to be used for this operation at this time PlayItem, AddToNowPlaying */ 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NOW_LIST_FULL 0x0e /* Now Playing List Full - No more items can be added to the Now Playing List AddToNowPlaying*/ 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_SEARCH_NOT_SUP 0x0f /* Search Not Supported - The Browsed Media Player does not support search Search */ 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_SEARCH_BUSY 0x10 /* Search in Progress - A search operation is already in progress Search*/ 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_PLAYER_ID 0x11 /* Invalid Player Id - The specified Player Id does not refer to a valid player SetAddressedPlayer, SetBrowsedPlayer*/ 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_PLAYER_N_BR 0x12 /* Player Not Browsable - The Player Id supplied refers to a Media Player which does not support browsing. SetBrowsedPlayer */ 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_PLAYER_N_ADDR 0x13 /* Player Not Addressed. The Player Id supplied refers to a player which is not currently addressed, and the command is not able to be performed if the player is not set as addressed. Search, SetBrowsedPlayer*/ 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_BAD_SEARCH_RES 0x14 /* No valid Search Results - The Search result list does not contain valid entries, e.g. after being invalidated due to change of browsed player GetFolderItems */ 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_NO_AVAL_PLAYER 0x15 /* No available players ALL */ 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_STS_ADDR_PLAYER_CHG 0x16 /* Addressed Player Changed - Register Notification */ 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_STS; 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the Capability IDs 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CAP_COMPANY_ID 0x02 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CAP_EVENTS_SUPPORTED 0x03 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_COMPANY_ID_LEN 3 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CAPABILITY_OFFSET 2 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the Player Application Settings IDs 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_EQUALIZER 0x01 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_REPEAT 0x02 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_SHUFFLE 0x03 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_SCAN 0x04 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_LOW_MENU_EXT 0x80 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_SETTING_HIGH_MENU_EXT 0xff 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the possible values of the Player Application Settings 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_OFF 0x01 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_ON 0x02 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_SINGLE_REPEAT 0x02 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_ALL_REPEAT 0x03 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_GROUP_REPEAT 0x04 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_ALL_SHUFFLE 0x02 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_GROUP_SHUFFLE 0x03 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_ALL_SCAN 0x02 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYER_VAL_GROUP_SCAN 0x03 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the possible values of Battery Status PDU 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BATTERY_STATUS_NORMAL 0x00 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BATTERY_STATUS_WARNING 0x01 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BATTERY_STATUS_CRITICAL 0x02 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BATTERY_STATUS_EXTERNAL 0x03 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BATTERY_STATUS_FULL_CHARGE 0x04 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_BATTERY_STATUS; 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define character set */ 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CHAR_SET_SIZE 2 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the Media Attribute IDs 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_TITLE 0x00000001 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_ARTIST 0x00000002 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_ALBUM 0x00000003 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_TRACK_NUM 0x00000004 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_NUM_TRACKS 0x00000005 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_GENRE 0x00000006 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_ATTR_ID_PLAYING_TIME 0x00000007 /* in miliseconds */ 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_NUM_MEDIA_ATTR_ID 7 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the possible values of play state 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_RESP_MSG_SIZE 9 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_STOPPED 0x00 /* Stopped */ 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_PLAYING 0x01 /* Playing */ 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_PAUSED 0x02 /* Paused */ 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_FWD_SEEK 0x03 /* Fwd Seek*/ 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_REV_SEEK 0x04 /* Rev Seek*/ 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PLAYSTATE_ERROR 0xFF /* Error */ 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_PLAYSTATE; 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the events that can be registered for notifications 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_PLAY_STATUS_CHANGE 0x01 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_TRACK_CHANGE 0x02 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_TRACK_REACHED_END 0x03 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_TRACK_REACHED_START 0x04 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_PLAY_POS_CHANGED 0x05 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_BATTERY_STATUS_CHANGE 0x06 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_SYSTEM_STATUS_CHANGE 0x07 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_APP_SETTING_CHANGE 0x08 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* added in AVRCP 1.4 */ 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_NOW_PLAYING_CHANGE 0x09 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_AVAL_PLAYERS_CHANGE 0x0a 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_ADDR_PLAYER_CHANGE 0x0b 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_UIDS_CHANGE 0x0c 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_VOLUME_CHANGE 0x0d 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* the number of events that can be registered for notifications */ 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_NUM_NOTIF_EVENTS 0x0d 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_MSG_LEN_1 0x01 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_MSG_LEN_2 0x02 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_MSG_LEN_5 0x05 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_EVT_MSG_LEN_9 0x09 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_VOLUME 0x7F 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the possible values of system status 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SYSTEMSTATE_PWR_ON 0x00 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SYSTEMSTATE_PWR_OFF 0x01 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SYSTEMSTATE_PWR_UNPLUGGED 0x02 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_SYSTEMSTATE; 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* the frequently used character set ids */ 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CHARSET_ID_ASCII ((UINT16) 0x0003) /* ASCII */ 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CHARSET_ID_UTF8 ((UINT16) 0x006a) /* UTF-8 */ 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CHARSET_ID_UTF16 ((UINT16) 0x03f7) /* 1015 */ 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CHARSET_ID_UTF32 ((UINT16) 0x03f9) /* 1017 */ 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Advanced Control 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ITEM_PLAYER 0x01 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ITEM_FOLDER 0x02 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_ITEM_MEDIA 0x03 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SCOPE_PLAYER_LIST 0x00 /* Media Player Item - Contains all available media players */ 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SCOPE_FILE_SYSTEM 0x01 /* Folder Item, Media Element Item 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project - The virtual filesystem containing the media content of the browsed player */ 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SCOPE_SEARCH 0x02 /* Media Element Item The results of a search operation on the browsed player */ 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SCOPE_NOW_PLAYING 0x03 /* Media Element Item The Now Playing list (or queue) of the addressed player */ 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_ITEM_COUNT_NONE 0xFF 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* folder type */ 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_MIXED 0x00 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_TITLES 0x01 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_ALNUMS 0x02 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_ARTISTS 0x03 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_GENRES 0x04 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_PLAYLISTS 0x05 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_FOLDER_TYPE_YEARS 0x06 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* major player type */ 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MJ_TYPE_AUDIO 0x01 /* Audio */ 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MJ_TYPE_VIDEO 0x02 /* Video */ 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MJ_TYPE_BC_AUDIO 0x04 /* Broadcasting Audio */ 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MJ_TYPE_BC_VIDEO 0x08 /* Broadcasting Video */ 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MJ_TYPE_INVALID 0xF0 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* player sub type */ 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TYPE_NONE 0x00 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TYPE_AUDIO_BOOK 0x01 /* Audio Book */ 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TYPE_PODCAST 0x02 /* Podcast */ 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_SUB_TYPE_INVALID 0xFC 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* media item - media type */ 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_TYPE_AUDIO 0x00 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MEDIA_TYPE_VIDEO 0x01 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_DIR_UP 0x00 /* Folder Up */ 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_DIR_DOWN 0x01 /* Folder Down */ 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_UID_SIZE 8 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_UID[AVRC_UID_SIZE]; 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** player attribute - supported features 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SELECT_BIT_NO 0 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SELECT_MASK 0x01 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SELECT_OFF 0 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SELECT_SUPPORTED(x) ((x)[AVRC_PF_SELECT_OFF] & AVRC_PF_SELECT_MASK) 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UP_BIT_NO 1 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UP_MASK 0x02 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UP_OFF 0 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UP_SUPPORTED(x) ((x)[AVRC_PF_UP_OFF] & AVRC_PF_UP_MASK) 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOWN_BIT_NO 2 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOWN_MASK 0x04 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOWN_OFF 0 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOWN_SUPPORTED(x) ((x)[AVRC_PF_DOWN_OFF] & AVRC_PF_DOWN_MASK) 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFT_BIT_NO 3 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFT_MASK 0x08 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFT_OFF 0 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFT_SUPPORTED(x) ((x)[AVRC_PF_LEFT_OFF] & AVRC_PF_LEFT_MASK) 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHT_BIT_NO 4 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHT_MASK 0x10 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHT_OFF 0 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHT_SUPPORTED(x) ((x)[AVRC_PF_RIGHT_OFF] & AVRC_PF_RIGHT_MASK) 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTUP_BIT_NO 5 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTUP_MASK 0x20 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTUP_OFF 0 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTUP_SUPPORTED(x) ((x)[AVRC_PF_RIGHTUP_OFF] & AVRC_PF_RIGHTUP_MASK) 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTDOWN_BIT_NO 6 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTDOWN_MASK 0x40 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTDOWN_OFF 0 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RIGHTDOWN_SUPPORTED(x) ((x)[AVRC_PF_RIGHTDOWN_OFF] & AVRC_PF_RIGHTDOWN_MASK) 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTUP_BIT_NO 7 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTUP_MASK 0x80 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTUP_OFF 0 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTUP_SUPPORTED(x) ((x)[AVRC_PF_LEFTUP_OFF] & AVRC_PF_LEFTUP_MASK) 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTDOWN_BIT_NO 8 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTDOWN_MASK 0x01 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTDOWN_OFF 1 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_LEFTDOWN_SUPPORTED(x) ((x)[AVRC_PF_LEFTDOWN_OFF] & AVRC_PF_LEFTDOWN_MASK) 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ROOT_MENU_BIT_NO 9 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ROOT_MENU_MASK 0x02 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ROOT_MENU_OFF 1 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ROOT_MENU_SUPPORTED(x) ((x)[AVRC_PF_ROOT_MENU_OFF] & AVRC_PF_ROOT_MENU_MASK) 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SETUP_MENU_BIT_NO 10 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SETUP_MENU_MASK 0x04 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SETUP_MENU_OFF 1 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SETUP_MENU_SUPPORTED(x) ((x)[AVRC_PF_SETUP_MENU_OFF] & AVRC_PF_SETUP_MENU_MASK) 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CONTENTS_MENU_BIT_NO 11 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CONTENTS_MENU_MASK 0x08 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CONTENTS_MENU_OFF 1 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CONTENTS_MENU_SUPPORTED(x) ((x)[AVRC_PF_CONTENTS_MENU_OFF] & AVRC_PF_CONTENTS_MENU_MASK) 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAVORITE_MENU_BIT_NO 12 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAVORITE_MENU_MASK 0x10 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAVORITE_MENU_OFF 1 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAVORITE_MENU_SUPPORTED(x) ((x)[AVRC_PF_FAVORITE_MENU_OFF] & AVRC_PF_FAVORITE_MENU_MASK) 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EXIT_BIT_NO 13 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EXIT_MASK 0x20 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EXIT_OFF 1 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EXIT_SUPPORTED(x) ((x)[AVRC_PF_EXIT_OFF] & AVRC_PF_EXIT_MASK) 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_0_BIT_NO 14 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_0_MASK 0x40 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_0_OFF 1 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_0_SUPPORTED(x) ((x)[AVRC_PF_0_OFF] & AVRC_PF_0_MASK) 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_1_BIT_NO 15 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_1_MASK 0x80 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_1_OFF 1 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_1_SUPPORTED(x) ((x)[AVRC_PF_1_OFF] & AVRC_PF_1_MASK) 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_2_BIT_NO 16 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_2_MASK 0x01 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_2_OFF 2 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_2_SUPPORTED(x) ((x)[AVRC_PF_2_OFF] & AVRC_PF_2_MASK) 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_3_BIT_NO 17 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_3_MASK 0x02 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_3_OFF 2 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_3_SUPPORTED(x) ((x)[AVRC_PF_3_OFF] & AVRC_PF_3_MASK) 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_4_BIT_NO 18 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_4_MASK 0x04 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_4_OFF 2 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_4_SUPPORTED(x) ((x)[AVRC_PF_4_OFF] & AVRC_PF_4_MASK) 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_5_BIT_NO 19 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_5_MASK 0x08 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_5_OFF 2 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_5_SUPPORTED(x) ((x)[AVRC_PF_5_OFF] & AVRC_PF_5_MASK) 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_6_BIT_NO 20 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_6_MASK 0x10 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_6_OFF 2 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_6_SUPPORTED(x) ((x)[AVRC_PF_6_OFF] & AVRC_PF_6_MASK) 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_7_BIT_NO 21 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_7_MASK 0x20 5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_7_OFF 2 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_7_SUPPORTED(x) ((x)[AVRC_PF_7_OFF] & AVRC_PF_7_MASK) 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_8_BIT_NO 22 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_8_MASK 0x40 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_8_OFF 2 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_8_SUPPORTED(x) ((x)[AVRC_PF_8_OFF] & AVRC_PF_8_MASK) 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_9_BIT_NO 23 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_9_MASK 0x80 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_9_OFF 2 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_9_SUPPORTED(x) ((x)[AVRC_PF_9_OFF] & AVRC_PF_9_MASK) 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOT_BIT_NO 24 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOT_MASK 0x01 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOT_OFF 3 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DOT_SUPPORTED(x) ((x)[AVRC_PF_DOT_OFF] & AVRC_PF_DOT_MASK) 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ENTER_BIT_NO 25 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ENTER_MASK 0x02 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ENTER_OFF 3 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ENTER_SUPPORTED(x) ((x)[AVRC_PF_ENTER_OFF] & AVRC_PF_ENTER_MASK) 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CLEAR_BIT_NO 26 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CLEAR_MASK 0x04 5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CLEAR_OFF 3 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CLEAR_SUPPORTED(x) ((x)[AVRC_PF_CLEAR_OFF] & AVRC_PF_CLEAR_MASK) 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_UP_BIT_NO 27 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_UP_MASK 0x08 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_UP_OFF 3 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_UP_SUPPORTED(x) ((x)[AVRC_PF_CHNL_UP_OFF] & AVRC_PF_CHNL_UP_MASK) 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_DOWN_BIT_NO 28 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_DOWN_MASK 0x10 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_DOWN_OFF 3 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_CHNL_DOWN_SUPPORTED(x) ((x)[AVRC_PF_CHNL_DOWN_OFF] & AVRC_PF_CHNL_DOWN_MASK) 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PREV_CHNL_BIT_NO 29 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PREV_CHNL_MASK 0x20 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PREV_CHNL_OFF 3 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PREV_CHNL_SUPPORTED(x) ((x)[AVRC_PF_PREV_CHNL_OFF] & AVRC_PF_PREV_CHNL_MASK) 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SOUND_SEL_BIT_NO 30 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SOUND_SEL_MASK 0x40 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SOUND_SEL_OFF 3 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SOUND_SEL_SUPPORTED(x) ((x)[AVRC_PF_SOUND_SEL_OFF] & AVRC_PF_SOUND_SEL_MASK) 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_INPUT_SEL_BIT_NO 31 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_INPUT_SEL_MASK 0x80 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_INPUT_SEL_OFF 3 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_INPUT_SEL_SUPPORTED(x) ((x)[AVRC_PF_INPUT_SEL_OFF] & AVRC_PF_INPUT_SEL_MASK) 5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DISP_INFO_BIT_NO 32 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DISP_INFO_MASK 0x01 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DISP_INFO_OFF 4 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_DISP_INFO_SUPPORTED(x) ((x)[AVRC_PF_DISP_INFO_OFF] & AVRC_PF_DISP_INFO_MASK) 5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_HELP_BIT_NO 33 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_HELP_MASK 0x02 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_HELP_OFF 4 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_HELP_SUPPORTED(x) ((x)[AVRC_PF_HELP_OFF] & AVRC_PF_HELP_MASK) 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_UP_BIT_NO 34 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_UP_MASK 0x04 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_UP_OFF 4 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_UP_SUPPORTED(x) ((x)[AVRC_PF_PAGE_UP_OFF] & AVRC_PF_PAGE_UP_MASK) 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_DOWN_BIT_NO 35 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_DOWN_MASK 0x08 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_DOWN_OFF 4 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAGE_DOWN_SUPPORTED(x) ((x)[AVRC_PF_PAGE_DOWN_OFF] & AVRC_PF_PAGE_DOWN_MASK) 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_POWER_BIT_NO 36 5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_POWER_MASK 0x10 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_POWER_OFF 4 5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_POWER_SUPPORTED(x) ((x)[AVRC_PF_POWER_OFF] & AVRC_PF_POWER_MASK) 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_UP_BIT_NO 37 5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_UP_MASK 0x20 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_UP_OFF 4 5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_UP_SUPPORTED(x) ((x)[AVRC_PF_VOL_UP_OFF] & AVRC_PF_VOL_UP_MASK) 5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_DOWN_BIT_NO 38 5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_DOWN_MASK 0x40 5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_DOWN_OFF 4 5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VOL_DOWN_SUPPORTED(x) ((x)[AVRC_PF_VOL_DOWN_OFF] & AVRC_PF_VOL_DOWN_MASK) 5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_MUTE_BIT_NO 39 6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_MUTE_MASK 0x80 6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_MUTE_OFF 4 6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_MUTE_SUPPORTED(x) ((x)[AVRC_PF_MUTE_OFF] & AVRC_PF_MUTE_MASK) 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PLAY_BIT_NO 40 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PLAY_MASK 0x01 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PLAY_OFF 5 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PLAY_SUPPORTED(x) ((x)[AVRC_PF_PLAY_OFF] & AVRC_PF_PLAY_MASK) 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_STOP_BIT_NO 41 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_STOP_MASK 0x02 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_STOP_OFF 5 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_STOP_SUPPORTED(x) ((x)[AVRC_PF_STOP_OFF] & AVRC_PF_STOP_MASK) 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAUSE_BIT_NO 42 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAUSE_MASK 0x04 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAUSE_OFF 5 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_PAUSE_SUPPORTED(x) ((x)[AVRC_PF_PAUSE_OFF] & AVRC_PF_PAUSE_MASK) 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RECORD_BIT_NO 43 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RECORD_MASK 0x08 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RECORD_OFF 5 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_RECORD_SUPPORTED(x) ((x)[AVRC_PF_RECORD_OFF] & AVRC_PF_RECORD_MASK) 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_REWIND_BIT_NO 44 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_REWIND_MASK 0x10 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_REWIND_OFF 5 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_REWIND_SUPPORTED(x) ((x)[AVRC_PF_REWIND_OFF] & AVRC_PF_REWIND_MASK) 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAST_FWD_BIT_NO 45 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAST_FWD_MASK 0x20 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAST_FWD_OFF 5 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FAST_FWD_SUPPORTED(x) ((x)[AVRC_PF_FAST_FWD_OFF] & AVRC_PF_FAST_FWD_MASK) 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EJECT_BIT_NO 46 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EJECT_MASK 0x40 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EJECT_OFF 5 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_EJECT_SUPPORTED(x) ((x)[AVRC_PF_EJECT_OFF] & AVRC_PF_EJECT_MASK) 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FORWARD_BIT_NO 47 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FORWARD_MASK 0x80 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FORWARD_OFF 5 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_FORWARD_SUPPORTED(x) ((x)[AVRC_PF_FORWARD_OFF] & AVRC_PF_FORWARD_MASK) 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BACKWARD_BIT_NO 48 6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BACKWARD_MASK 0x01 6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BACKWARD_OFF 6 6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BACKWARD_SUPPORTED(x) ((x)[AVRC_PF_BACKWARD_OFF] & AVRC_PF_BACKWARD_MASK) 6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ANGLE_BIT_NO 49 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ANGLE_MASK 0x02 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ANGLE_OFF 6 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ANGLE_SUPPORTED(x) ((x)[AVRC_PF_ANGLE_OFF] & AVRC_PF_ANGLE_MASK) 6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SUBPICTURE_BIT_NO 50 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SUBPICTURE_MASK 0x04 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SUBPICTURE_OFF 6 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SUBPICTURE_SUPPORTED(x) ((x)[AVRC_PF_SUBPICTURE_OFF] & AVRC_PF_SUBPICTURE_MASK) 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F1_BIT_NO 51 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F1_MASK 0x08 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F1_OFF 6 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F1_SUPPORTED(x) ((x)[AVRC_PF_F1_OFF] & AVRC_PF_F1_MASK) 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F2_BIT_NO 52 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F2_MASK 0x10 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F2_OFF 6 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F2_SUPPORTED(x) ((x)[AVRC_PF_F2_OFF] & AVRC_PF_F2_MASK) 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F3_BIT_NO 53 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F3_MASK 0x20 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F3_OFF 6 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F3_SUPPORTED(x) ((x)[AVRC_PF_F3_OFF] & AVRC_PF_F3_MASK) 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F4_BIT_NO 54 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F4_MASK 0x40 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F4_OFF 6 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F4_SUPPORTED(x) ((x)[AVRC_PF_F4_OFF] & AVRC_PF_F4_MASK) 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F5_BIT_NO 55 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F5_MASK 0x80 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F5_OFF 6 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_F5_SUPPORTED(x) ((x)[AVRC_PF_F5_OFF] & AVRC_PF_F5_MASK) 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Vendor unique. This PASSTHROUGH command is supported. */ 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VENDOR_BIT_NO 56 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VENDOR_MASK 0x01 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VENDOR_OFF 7 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_VENDOR_SUPPORTED(x) ((x)[AVRC_PF_VENDOR_OFF] & AVRC_PF_VENDOR_MASK) 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Basic Group Navigation. This overrules the SDP entry as it is set per player.7 */ 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_GROUP_NAVI_BIT_NO 57 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_GROUP_NAVI_MASK 0x02 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_GROUP_NAVI_OFF 7 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_GROUP_NAVI_SUPPORTED(x) ((x)[AVRC_PF_GROUP_NAVI_OFF] & AVRC_PF_GROUP_NAVI_MASK) 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Advanced Control Player. This bit is set if the player supports at least AVRCP 1.4. */ 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADV_CTRL_BIT_NO 58 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADV_CTRL_MASK 0x04 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADV_CTRL_OFF 7 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADV_CTRL_SUPPORTED(x) ((x)[AVRC_PF_ADV_CTRL_OFF] & AVRC_PF_ADV_CTRL_MASK) 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Browsing. This bit is set if the player supports browsing. */ 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BROWSE_BIT_NO 59 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BROWSE_MASK 0x08 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BROWSE_OFF 7 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BROWSE_SUPPORTED(x) ((x)[AVRC_PF_BROWSE_OFF] & AVRC_PF_BROWSE_MASK) 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Searching. This bit is set if the player supports searching. */ 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_BIT_NO 60 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_MASK 0x10 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_OFF 7 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_SUPPORTED(x) ((x)[AVRC_PF_SEARCH_OFF] & AVRC_PF_SEARCH_MASK) 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AddToNowPlaying. This bit is set if the player supports the AddToNowPlaying command. */ 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADD2NOWPLAY_BIT_NO 61 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADD2NOWPLAY_MASK 0x20 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADD2NOWPLAY_OFF 7 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_ADD2NOWPLAY_SUPPORTED(x) ((x)[AVRC_PF_ADD2NOWPLAY_OFF] & AVRC_PF_ADD2NOWPLAY_MASK) 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* UIDs unique in player browse tree. This bit is set if the player is able to maintain unique UIDs across the player browse tree. */ 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_UNIQUE_BIT_NO 62 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_UNIQUE_MASK 0x40 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_UNIQUE_OFF 7 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_UNIQUE_SUPPORTED(x) ((x)[AVRC_PF_UID_UNIQUE_OFF] & AVRC_PF_UID_UNIQUE_MASK) 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* OnlyBrowsableWhenAddressed. This bit is set if the player is only able to be browsed when it is set as the Addressed Player. */ 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BR_WH_ADDR_BIT_NO 63 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BR_WH_ADDR_MASK 0x80 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BR_WH_ADDR_OFF 7 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_BR_WH_ADDR_SUPPORTED(x) ((x)[AVRC_PF_BR_WH_ADDR_OFF] & AVRC_PF_BR_WH_ADDR_MASK) 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* OnlySearchableWhenAddressed. This bit is set if the player is only able to be searched when it is set as the Addressed player. */ 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_WH_ADDR_BIT_NO 64 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_WH_ADDR_MASK 0x01 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_WH_ADDR_OFF 8 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_SEARCH_WH_ADDR_SUPPORTED(x) ((x)[AVRC_PF_SEARCH_WH_ADDR_OFF] & AVRC_PF_SEARCH_WH_ADDR_MASK) 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* NowPlaying. This bit is set if the player supports the NowPlaying folder. Note that for all players that support browsing this bit shall be set */ 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_NOW_PLAY_BIT_NO 65 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_NOW_PLAY_MASK 0x02 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_NOW_PLAY_OFF 8 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_NOW_PLAY_SUPPORTED(x) ((x)[AVRC_PF_NOW_PLAY_OFF] & AVRC_PF_NOW_PLAY_MASK) 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* UIDPersistency. This bit is set if the Player is able to persist UID values between AVRCP Browse Reconnect */ 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_PERSIST_BIT_NO 66 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_PERSIST_MASK 0x04 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_PERSIST_OFF 8 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_PF_UID_PERSIST_SUPPORTED(x) ((x)[AVRC_PF_UID_PERSIST_OFF] & AVRC_PF_UID_PERSIST_MASK) 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data type definitions 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThis structure contains the header parameters of an AV/C message. 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 ctype; /* Command type. */ 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 subunit_type; /* Subunit type. */ 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 subunit_id; /* Subunit ID. This value is typically ignored in AVRCP, 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * except for VENDOR DEPENDENT messages when the value is 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * vendor-dependent. Value range is 0-7. */ 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (passthrough, vendor, etc) */ 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_HDR; 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This structure contains a UNIT INFO message. */ 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* Message header. */ 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id; /* Company identifier. */ 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 unit_type; /* Unit type. Uses the same values as subunit type. */ 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 unit; /* This value is vendor dependent and typically zero. */ 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG_UNIT; 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This structure contains a SUBUNIT INFO message. */ 7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* Message header. */ 7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 subunit_type[AVRC_SUB_TYPE_LEN]; 7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* Array containing subunit type values. */ 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN panel; /* TRUE if the panel subunit type is in the 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * subunit_type array, FALSE otherwise. */ 7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 page; /* Specifies which part of the subunit type table is 7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * returned. For AVRCP it is typically zero. 7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Value range is 0-7. */ 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG_SUB; 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This structure contains a VENDOR DEPENDENT message. */ 7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* Message header. */ 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id; /* Company identifier. */ 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_vendor_data;/* Pointer to vendor dependent data. */ 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 vendor_len; /* Length in bytes of vendor dependent data. */ 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG_VENDOR; 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* PASS THROUGH message structure */ 7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* hdr.ctype Unused. 8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * hdr.subunit_type Unused. 8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * hdr.subunit_id Unused. */ 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 op_id; /* Operation ID. */ 8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 state; /* Keypress state. */ 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_pass_data;/* Pointer to data. This parameter is only valid 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * when the op_id is AVRC_ID_VENDOR.*/ 8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pass_len; /* Length in bytes of data. This parameter is only 8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * valid when the op_id is AVRC_ID_VENDOR.*/ 8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG_PASS; 8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Command/Response indicator. */ 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CMD AVCT_CMD /* Command message */ 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_RSP AVCT_RSP /* Response message */ 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Browsing channel message structure */ 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* hdr.ctype AVRC_CMD or AVRC_RSP. 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * hdr.subunit_type Unused. 8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * hdr.subunit_id Unused. */ 8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_browse_data; /* Pointer to data. */ 8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 browse_len; /* Length in bytes of data. */ 8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_browse_pkt; /* The GKI buffer received. Set to NULL, if the callback function wants to keep the buffer */ 8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG_BROWSE; 8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is a union of all message type structures. */ 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_HDR hdr; /* Message header. */ 8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG_UNIT unit; /* UNIT INFO message. */ 8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG_SUB sub; /* SUBUNIT INFO message. */ 8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG_VENDOR vendor; /* VENDOR DEPENDENT message. */ 8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG_PASS pass; /* PASS THROUGH message. */ 8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_MSG_BROWSE browse; /* messages thru browsing channel */ 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_MSG; 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* macros */ 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_CAP_ID(a) (((a == AVRC_CAP_COMPANY_ID) || (a == AVRC_CAP_EVENTS_SUPPORTED)) ? TRUE : FALSE) 8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_EVENT_ID(a) (((a >= AVRC_EVT_PLAY_STATUS_CHANGE) && \ 8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project (a <= AVRC_EVT_APP_SETTING_CHANGE)) ? TRUE : FALSE) 8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_ATTRIBUTE(a) (((((a > 0) && a <= AVRC_PLAYER_SETTING_SCAN)) || \ 845d6750ef014c13bbfebc88a7b6789579b919e1becMike J. Chen (a >= AVRC_PLAYER_SETTING_LOW_MENU_EXT)) ? TRUE : FALSE) 8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_MEDIA_ATTRIBUTE(a) ((a >= AVRC_MEDIA_ATTR_ID_TITLE) && \ 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project (a <= AVRC_MEDIA_ATTR_ID_PLAYING_TIME) ? TRUE : FALSE) 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_BATTERY_STATUS(a) ((a <= AVRC_BATTERY_STATUS_FULL_CHARGE) ? TRUE : FALSE) 8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_SYSTEM_STATUS(a) ((a <= AVRC_SYSTEMSTATE_PWR_UNPLUGGED) ? TRUE : FALSE) 8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_IS_VALID_GROUP(a) ((a <= AVRC_PDU_PREV_GROUP) ? TRUE : FALSE) 8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Company ID is 24-bit integer We can not use the macros in bt_types.h */ 8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CO_ID_TO_BE_STREAM(p, u32) {*(p)++ = (UINT8)((u32) >> 16); *(p)++ = (UINT8)((u32) >> 8); *(p)++ = (UINT8)(u32); } 8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_BE_STREAM_TO_CO_ID(u32, p) {u32 = (((UINT32)(*((p) + 2))) + (((UINT32)(*((p) + 1))) << 8) + (((UINT32)(*(p))) << 16)); (p) += 3;} 8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data type definitions 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_APP_ATTR_SIZE 16 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_CHARSET_SIZE 16 8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_ELEM_ATTR_SIZE 8 8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Metadata transfer Building/Parsing definitions 8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct { 8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 charset_id; 8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 str_len; 8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_str; 8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_FULL_NAME; 8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct { 8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 str_len; 8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_str; 8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_NAME; 8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVRC_CAP_MAX_NUM_COMP_ID 8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CAP_MAX_NUM_COMP_ID 4 8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVRC_CAP_MAX_NUM_EVT_ID 8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_CAP_MAX_NUM_EVT_ID 16 8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 company_id[AVRC_CAP_MAX_NUM_COMP_ID]; 8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 event_id[AVRC_CAP_MAX_NUM_EVT_ID]; 8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_CAPS_PARAM; 8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_id; 9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_val; 9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_APP_SETTING; 9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_id; 9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 charset_id; 9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 str_len; 9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_str; 9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_APP_SETTING_TEXT; 9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tAVRC_FEATURE_MASK[AVRC_FEATURE_MASK_SIZE]; 9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 player_id; /* A unique identifier for this media player.*/ 9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 major_type; /* Use AVRC_MJ_TYPE_AUDIO, AVRC_MJ_TYPE_VIDEO, AVRC_MJ_TYPE_BC_AUDIO, or AVRC_MJ_TYPE_BC_VIDEO.*/ 9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 sub_type; /* Use AVRC_SUB_TYPE_NONE, AVRC_SUB_TYPE_AUDIO_BOOK, or AVRC_SUB_TYPE_PODCAST*/ 9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 play_status; /* Use AVRC_PLAYSTATE_STOPPED, AVRC_PLAYSTATE_PLAYING, AVRC_PLAYSTATE_PAUSED, AVRC_PLAYSTATE_FWD_SEEK, 9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project AVRC_PLAYSTATE_REV_SEEK, or AVRC_PLAYSTATE_ERROR*/ 9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FEATURE_MASK features; /* Supported feature bit mask*/ 9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FULL_NAME name; /* The player name, name length and character set id.*/ 9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ITEM_PLAYER; 9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID uid; /* The uid of this folder */ 9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 type; /* Use AVRC_FOLDER_TYPE_MIXED, AVRC_FOLDER_TYPE_TITLES, 9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project AVRC_FOLDER_TYPE_ALNUMS, AVRC_FOLDER_TYPE_ARTISTS, AVRC_FOLDER_TYPE_GENRES, 9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project AVRC_FOLDER_TYPE_PLAYLISTS, or AVRC_FOLDER_TYPE_YEARS.*/ 9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN playable; /* TRUE, if the folder can be played. */ 9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FULL_NAME name; /* The folder name, name length and character set id. */ 9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ITEM_FOLDER; 9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 attr_id; /* Use AVRC_MEDIA_ATTR_ID_TITLE, AVRC_MEDIA_ATTR_ID_ARTIST, AVRC_MEDIA_ATTR_ID_ALBUM, 9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project AVRC_MEDIA_ATTR_ID_TRACK_NUM, AVRC_MEDIA_ATTR_ID_NUM_TRACKS, 9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project AVRC_MEDIA_ATTR_ID_GENRE, AVRC_MEDIA_ATTR_ID_PLAYING_TIME */ 9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FULL_NAME name; /* The attribute value, value length and character set id. */ 9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ATTR_ENTRY; 9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID uid; /* The uid of this media element item */ 9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 type; /* Use AVRC_MEDIA_TYPE_AUDIO or AVRC_MEDIA_TYPE_VIDEO. */ 9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FULL_NAME name; /* The media name, name length and character set id. */ 9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_count; /* The number of attributes in p_attr_list */ 9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ATTR_ENTRY* p_attr_list; /* Attribute entry list. */ 9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ITEM_MEDIA; 9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 item_type; /* AVRC_ITEM_PLAYER, AVRC_ITEM_FOLDER, or AVRC_ITEM_MEDIA */ 9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project union 9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ITEM_PLAYER player; /* The properties of a media player item.*/ 9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ITEM_FOLDER folder; /* The properties of a folder item.*/ 9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ITEM_MEDIA media; /* The properties of a media item.*/ 9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } u; 9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ITEM; 9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetCapability */ 9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 capability_id; 9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_CAPS_CMD; 9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ListPlayerAppValues */ 9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_id; 9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_LIST_APP_VALUES_CMD; 9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetCurAppValue */ 9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attrs[AVRC_MAX_APP_ATTR_SIZE]; 9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_CUR_APP_VALUE_CMD; 9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetAppValue */ 9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_val; 9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_APP_SETTING *p_vals; 9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_APP_VALUE_CMD; 10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetAppAttrTxt */ 10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attrs[AVRC_MAX_APP_ATTR_SIZE]; 10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_APP_ATTR_TXT_CMD; 10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetAppValueTxt */ 10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_id; 10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_val; 10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 vals[AVRC_MAX_APP_ATTR_SIZE]; 10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_APP_VAL_TXT_CMD; 10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* InformCharset */ 10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_id; 10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 charsets[AVRC_MAX_CHARSET_SIZE]; 10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_INFORM_CHARSET_CMD; 10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* InformBatteryStatus */ 10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 battery_status; 10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_BATTERY_STATUS_CMD; 10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetElemAttrs */ 10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 attrs[AVRC_MAX_ELEM_ATTR_SIZE]; 10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ELEM_ATTRS_CMD; 10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* RegNotify */ 10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 event_id; 10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 param; 10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_REG_NOTIF_CMD; 10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetAddrPlayer */ 10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 player_id; 10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_ADDR_PLAYER_CMD; 10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetBrowsedPlayer */ 10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 player_id; 10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_BR_PLAYER_CMD; 10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetAbsVolume */ 10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 volume; 10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_VOLUME_CMD; 10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetFolderItems */ 10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 scope; 10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 start_item; 10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 end_item; 10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_count; 10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 *p_attr_list; 10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ITEMS_CMD; 11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ChangePath */ 11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 direction; 11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID folder_uid; 11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_CHG_PATH_CMD; 11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetItemAttrs */ 11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 scope; 11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID uid; 11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_count; 11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 *p_attr_list; 11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ATTRS_CMD; 11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Search */ 11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_FULL_NAME string; 11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SEARCH_CMD; 11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* PlayItem */ 11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 scope; 11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID uid; 11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_PLAY_ITEM_CMD; 11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AddToNowPlaying */ 11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 scope; 11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID uid; 11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ADD_TO_PLAY_CMD; 11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_CMD; 11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Continue and Abort */ 11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (assigned by AVRC_BldCommand according to pdu) */ 11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 target_pdu; 11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_NEXT_CMD; 11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CMD cmd; 11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_CAPS_CMD get_caps; /* GetCapability */ 11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CMD list_app_attr; /* ListPlayerAppAttr */ 11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_LIST_APP_VALUES_CMD list_app_values; /* ListPlayerAppValues */ 11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_CUR_APP_VALUE_CMD get_cur_app_val; /* GetCurAppValue */ 11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_APP_VALUE_CMD set_app_val; /* SetAppValue */ 11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_APP_ATTR_TXT_CMD get_app_attr_txt; /* GetAppAttrTxt */ 11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_APP_VAL_TXT_CMD get_app_val_txt; /* GetAppValueTxt */ 11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_INFORM_CHARSET_CMD inform_charset; /* InformCharset */ 11845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_BATTERY_STATUS_CMD inform_battery_status; /* InformBatteryStatus */ 11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ELEM_ATTRS_CMD get_elem_attrs; /* GetElemAttrs */ 11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CMD get_play_status; /* GetPlayStatus */ 11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_REG_NOTIF_CMD reg_notif; /* RegNotify */ 11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_NEXT_CMD continu; /* Continue */ 11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_NEXT_CMD abort; /* Abort */ 11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_ADDR_PLAYER_CMD addr_player; /* SetAddrPlayer */ 11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_VOLUME_CMD volume; /* SetAbsVolume */ 11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_BR_PLAYER_CMD br_player; /* SetBrowsedPlayer */ 11945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ITEMS_CMD get_items; /* GetFolderItems */ 11955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CHG_PATH_CMD chg_path; /* ChangePath */ 11965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ATTRS_CMD get_attrs; /* GetItemAttrs */ 11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SEARCH_CMD search; /* Search */ 11985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_PLAY_ITEM_CMD play_item; /* PlayItem */ 11995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ADD_TO_PLAY_CMD add_to_play; /* AddToNowPlaying */ 12005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_COMMAND; 12015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetCapability */ 12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 capability_id; 12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 count; 12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CAPS_PARAM param; 12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_CAPS_RSP; 12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ListPlayerAppAttr */ 12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attrs[AVRC_MAX_APP_ATTR_SIZE]; 12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_LIST_APP_ATTR_RSP; 12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ListPlayerAppValues */ 12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_val; 12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 vals[AVRC_MAX_APP_ATTR_SIZE]; 12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_LIST_APP_VALUES_RSP; 12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetCurAppValue */ 12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_val; 12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_APP_SETTING *p_vals; 12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_CUR_APP_VALUE_RSP; 12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetAppAttrTxt */ 12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_APP_SETTING_TEXT *p_attrs; 12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_APP_ATTR_TXT_RSP; 12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetElemAttrs */ 12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ATTR_ENTRY *p_attrs; 12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ELEM_ATTRS_RSP; 12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetPlayStatus */ 12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 12675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 song_len; 12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 song_pos; 12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 play_status; 12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_PLAY_STATUS_RSP; 12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* notification event parameter for AddressedPlayer change */ 12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 player_id; 12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 12795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_ADDR_PLAYER_PARAM; 12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVRC_MAX_APP_SETTINGS 12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_MAX_APP_SETTINGS 8 12835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* notification event parameter for Player Application setting change */ 12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 12875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_attr; 12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_id[AVRC_MAX_APP_SETTINGS]; 12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_value[AVRC_MAX_APP_SETTINGS]; 12915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_PLAYER_APP_PARAM; 12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 12945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 12955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_PLAYSTATE play_status; 12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_UID track; 12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 play_pos; 12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_BATTERY_STATUS battery_status; 12995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SYSTEMSTATE system_status; 13005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_PLAYER_APP_PARAM player_setting; 13015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ADDR_PLAYER_PARAM addr_player; 13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 13035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 volume; 13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_NOTIF_RSP_PARAM; 13055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* RegNotify */ 13075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 event_id; 13135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_NOTIF_RSP_PARAM param; 13145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_REG_NOTIF_RSP; 13155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetAbsVolume */ 13175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 volume; 13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_VOLUME_RSP; 13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* SetBrowsedPlayer */ 13265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 13325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 num_items; 13335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 charset_id; 13345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 folder_depth; 13355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_NAME *p_folders; 13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SET_BR_PLAYER_RSP; 13375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetFolderItems */ 13395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 13455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 item_count; 13465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ITEM *p_item_list; 13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ITEMS_RSP; 13485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ChangePath */ 13505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 num_items; 13565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_CHG_PATH_RSP; 13575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* GetItemAttrs */ 13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 attr_count; 13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_ATTR_ENTRY *p_attr_list; 13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_GET_ATTRS_RSP; 13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Search */ 13695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 uid_counter; 13755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 num_items; 13765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_SEARCH_RSP; 13775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 13805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_STS status; 13835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 opcode; /* Op Code (copied from avrc_cmd.opcode by AVRC_BldResponse user. invalid one to generate according to pdu) */ 13845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_RSP; 13855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 13875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 13885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pdu; 13895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP rsp; 13905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_CAPS_RSP get_caps; /* GetCapability */ 13915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_LIST_APP_ATTR_RSP list_app_attr; /* ListPlayerAppAttr */ 13925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_LIST_APP_VALUES_RSP list_app_values; /* ListPlayerAppValues */ 13935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_CUR_APP_VALUE_RSP get_cur_app_val; /* GetCurAppValue */ 13945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP set_app_val; /* SetAppValue */ 13955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_APP_ATTR_TXT_RSP get_app_attr_txt; /* GetAppAttrTxt */ 13965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_APP_ATTR_TXT_RSP get_app_val_txt; /* GetAppValueTxt */ 13975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP inform_charset; /* InformCharset */ 13985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP inform_battery_status; /* InformBatteryStatus */ 13995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ELEM_ATTRS_RSP get_elem_attrs; /* GetElemAttrs */ 14005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_PLAY_STATUS_RSP get_play_status; /* GetPlayStatus */ 14015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_REG_NOTIF_RSP reg_notif; /* RegNotify */ 14025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP continu; /* Continue */ 14035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP abort; /* Abort */ 14045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP addr_player; /* SetAddrPlayer */ 14065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_VOLUME_RSP volume; /* SetAbsVolume */ 14075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SET_BR_PLAYER_RSP br_player; /* SetBrowsedPlayer */ 14085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ITEMS_RSP get_items; /* GetFolderItems */ 14095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_CHG_PATH_RSP chg_path; /* ChangePath */ 14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_GET_ATTRS_RSP get_attrs; /* GetItemAttrs */ 14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_SEARCH_RSP search; /* Search */ 14125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP play_item; /* PlayItem */ 14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tAVRC_RSP add_to_play; /* AddToNowPlaying */ 14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tAVRC_RESPONSE; 14155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1418