15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 31025687c6679608fe9df918f37011414ffc72b62Hemant Gupta * Copyright (c) 2014 The Android Open Source Project 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2009-2012 Broadcom Corporation 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * you may not use this file except in compliance with the License. 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * You may obtain a copy of the License at: 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * See the License for the specific language governing permissions and 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * limitations under the License. 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 * 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Filename: btif_util.c 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Description: Miscellaneous helper functions 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ***********************************************************************************/ 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <hardware/bluetooth.h> 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <hardware/bt_hf.h> 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <hardware/bt_av.h> 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <netinet/in.h> 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <stdio.h> 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <stdlib.h> 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <string.h> 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <ctype.h> 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define LOG_TAG "BTIF_UTIL" 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btif_common.h" 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_api.h" 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "gki.h" 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btu.h" 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bte.h" 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bd.h" 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btif_dm.h" 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btif_util.h" 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_ag_api.h" 499adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#include "bta_av_api.h" 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_hh_api.h" 511025687c6679608fe9df918f37011414ffc72b62Hemant Gupta#include "bta_hf_client_api.h" 529adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#include "avrc_defs.h" 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants & Macros 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define ISDIGIT(a) ((a>='0') && (a<='9')) 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define ISXDIGIT(a) (((a>='0') && (a<='9'))||((a>='A') && (a<='F'))||((a>='a') && (a<='f'))) 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Local type definitions 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Static variables 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Static functions 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Externs 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/************************************************************************************ 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Functions 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project************************************************************************************/ 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Logging helper functions 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint str2bd(char *str, bt_bdaddr_t *addr) 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project int32_t i = 0; 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project for (i = 0; i < 6; i++) { 889b4676076ba984de33984276694347797f240a9dGanesh Ganapathi Batta addr->address[i] = (uint8_t)strtoul(str, &str, 16); 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project str++; 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return 0; 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 94ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battachar *bd2str(const bt_bdaddr_t *bdaddr, bdstr_t *bdstr) 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 96f2fc54d237a24dc4db307cb56a513a8720809f95Chris Dearman const uint8_t *addr = bdaddr->address; 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 989b4676076ba984de33984276694347797f240a9dGanesh Ganapathi Batta sprintf(*bdstr, "%02x:%02x:%02x:%02x:%02x:%02x", 99f2fc54d237a24dc4db307cb56a513a8720809f95Chris Dearman addr[0], addr[1], addr[2], 100f2fc54d237a24dc4db307cb56a513a8720809f95Chris Dearman addr[3], addr[4], addr[5]); 1019b4676076ba984de33984276694347797f240a9dGanesh Ganapathi Batta return *bdstr; 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectUINT32 devclass2uint(DEV_CLASS dev_class) 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 cod = 0; 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 108ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta if(dev_class != NULL) 109ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta { 110ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta /* if COD is 0, irrespective of the device type set it to Unclassified device */ 111ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta cod = (dev_class[2]) | (dev_class[1] << 8) | (dev_class[0] << 16); 112ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta } 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return cod; 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uint2devclass(UINT32 cod, DEV_CLASS dev_class) 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project dev_class[2] = (UINT8)cod; 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project dev_class[1] = (UINT8)(cod >> 8); 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project dev_class[0] = (UINT8)(cod >> 16); 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectstatic const UINT8 sdp_base_uuid[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB}; 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uuid16_to_uuid128(uint16_t uuid16, bt_uuid_t* uuid128) 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint16_t uuid16_bo; 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memset(uuid128, 0, sizeof(bt_uuid_t)); 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(uuid128->uu, sdp_base_uuid, MAX_UUID_SIZE); 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid16_bo = ntohs(uuid16); 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(uuid128->uu + 2, &uuid16_bo, sizeof(uint16_t)); 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid string_to_uuid(char *str, bt_uuid_t *p_uuid) 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint32_t uuid0, uuid4; 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint16_t uuid1, uuid2, uuid3, uuid5; 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project sscanf(str, "%08x-%04hx-%04hx-%04hx-%08x%04hx", 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project &uuid0, &uuid1, &uuid2, &uuid3, &uuid4, &uuid5); 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid0 = htonl(uuid0); 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid1 = htons(uuid1); 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid2 = htons(uuid2); 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid3 = htons(uuid3); 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid4 = htonl(uuid4); 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uuid5 = htons(uuid5); 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[0]), &uuid0, 4); 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[4]), &uuid1, 2); 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[6]), &uuid2, 2); 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[8]), &uuid3, 2); 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[10]), &uuid4, 4); 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&(p_uuid->uu[14]), &uuid5, 2); 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return; 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uuid_to_string(bt_uuid_t *p_uuid, char *str) 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint32_t uuid0, uuid4; 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint16_t uuid1, uuid2, uuid3, uuid5; 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid0, &(p_uuid->uu[0]), 4); 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid1, &(p_uuid->uu[4]), 2); 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid2, &(p_uuid->uu[6]), 2); 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid3, &(p_uuid->uu[8]), 2); 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid4, &(p_uuid->uu[10]), 4); 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy(&uuid5, &(p_uuid->uu[14]), 2); 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project sprintf((char *)str, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x", 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ntohl(uuid0), ntohs(uuid1), 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ntohs(uuid2), ntohs(uuid3), 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ntohl(uuid4), ntohs(uuid5)); 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return; 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function ascii_2_hex 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function converts an ASCII string into HEX 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns the number of hex bytes filled. 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint ascii_2_hex (char *p_ascii, int len, UINT8 *p_hex) 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project int x; 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 c; 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project for (x = 0; (x < len) && (*p_ascii); x++) 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if (ISDIGIT (*p_ascii)) 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project c = (*p_ascii - '0') << 4; 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project else 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project c = (toupper(*p_ascii) - 'A' + 10) << 4; 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_ascii++; 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if (*p_ascii) 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if (ISDIGIT (*p_ascii)) 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project c |= (*p_ascii - '0'); 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project else 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project c |= (toupper(*p_ascii) - 'A' + 10); 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_ascii++; 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *p_hex++ = c; 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return (x); 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_dm_search_event(UINT16 event) 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_INQ_RES_EVT) 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_INQ_CMPL_EVT) 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DISC_RES_EVT) 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DISC_BLE_RES_EVT) 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DISC_CMPL_EVT) 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DI_DISC_CMPL_EVT) 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SEARCH_CANCEL_CMPL_EVT) 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_property_type(bt_property_type_t type) 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(type) 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_BDNAME) 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_BDADDR) 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_UUIDS) 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_CLASS_OF_DEVICE) 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_TYPE_OF_DEVICE) 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_REMOTE_RSSI) 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT) 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_ADAPTER_BONDED_DEVICES) 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_ADAPTER_SCAN_MODE) 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_PROPERTY_REMOTE_FRIENDLY_NAME) 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN PROPERTY ID"; 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_dm_event(UINT16 event) 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_ENABLE_EVT) 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DISABLE_EVT) 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_PIN_REQ_EVT) 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_AUTH_CMPL_EVT) 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_AUTHORIZE_EVT) 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_LINK_UP_EVT) 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_LINK_DOWN_EVT) 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SIG_STRENGTH_EVT) 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BUSY_LEVEL_EVT) 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BOND_CANCEL_CMPL_EVT) 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SP_CFM_REQ_EVT) 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SP_KEY_NOTIF_EVT) 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SP_RMT_OOB_EVT) 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_SP_KEYPRESS_EVT) 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_ROLE_CHG_EVT) 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_KEY_EVT) 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_SEC_REQ_EVT) 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_PASSKEY_NOTIF_EVT) 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_PASSKEY_REQ_EVT) 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_OOB_REQ_EVT) 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_LOCAL_IR_EVT) 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_LOCAL_ER_EVT) 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_BLE_AUTH_CMPL_EVT) 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_DEV_UNPAIRED_EVT) 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_DM_HW_ERROR_EVT) 283e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji CASE_RETURN_STR(BTA_DM_ENER_INFO_READ) 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN DM EVENT"; 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_event(UINT16 event) 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_ENABLE_EVT) 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_REGISTER_EVT) 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_OPEN_EVT) 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_CLOSE_EVT) 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_CONN_EVT) 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AUDIO_OPEN_EVT) 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AUDIO_CLOSE_EVT) 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_SPK_EVT) 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_MIC_EVT) 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CKPD_EVT) 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_DISABLE_EVT) 30566432dcffe211e317d35978283a04a96d5620bdfMatthew Xie#if (BTM_WBS_INCLUDED == TRUE ) 30666432dcffe211e317d35978283a04a96d5620bdfMatthew Xie CASE_RETURN_STR(BTA_AG_WBS_EVT) 30766432dcffe211e317d35978283a04a96d5620bdfMatthew Xie#endif 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_A_EVT) 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_D_EVT) 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CHLD_EVT) 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CHUP_EVT) 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CIND_EVT) 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_VTS_EVT) 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BINP_EVT) 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BLDN_EVT) 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BVRA_EVT) 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_NREC_EVT) 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CNUM_EVT) 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BTRH_EVT) 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CLCC_EVT) 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_COPS_EVT) 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_UNAT_EVT) 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_CBC_EVT) 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BAC_EVT) 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_AG_AT_BCS_EVT) 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3321025687c6679608fe9df918f37011414ffc72b62Hemant Guptaconst char* dump_hf_client_event(UINT16 event) 3331025687c6679608fe9df918f37011414ffc72b62Hemant Gupta{ 3341025687c6679608fe9df918f37011414ffc72b62Hemant Gupta switch(event) 3351025687c6679608fe9df918f37011414ffc72b62Hemant Gupta { 3361025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_ENABLE_EVT) 3371025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_REGISTER_EVT) 3381025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_OPEN_EVT) 3391025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CLOSE_EVT) 3401025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CONN_EVT) 3411025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_AUDIO_OPEN_EVT) 3421025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_AUDIO_MSBC_OPEN_EVT) 3431025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_AUDIO_CLOSE_EVT) 3441025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_SPK_EVT) 3451025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_MIC_EVT) 3461025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_DISABLE_EVT) 3471025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_IND_EVT) 3481025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_VOICE_REC_EVT) 3491025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_OPERATOR_NAME_EVT) 3501025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CLIP_EVT) 3511025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CCWA_EVT) 3521025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_AT_RESULT_EVT) 3531025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CLCC_EVT) 3541025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_CNUM_EVT) 3551025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_BTRH_EVT) 3561025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_BSIR_EVT) 3571025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_BINP_EVT) 3581025687c6679608fe9df918f37011414ffc72b62Hemant Gupta CASE_RETURN_STR(BTA_HF_CLIENT_RING_INDICATION) 3591025687c6679608fe9df918f37011414ffc72b62Hemant Gupta default: 3601025687c6679608fe9df918f37011414ffc72b62Hemant Gupta return "UNKNOWN MSG ID"; 3611025687c6679608fe9df918f37011414ffc72b62Hemant Gupta } 3621025687c6679608fe9df918f37011414ffc72b62Hemant Gupta} 3631025687c6679608fe9df918f37011414ffc72b62Hemant Gupta 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hh_event(UINT16 event) 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_ENABLE_EVT) 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_DISABLE_EVT) 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_OPEN_EVT) 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_CLOSE_EVT) 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_GET_DSCP_EVT) 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_GET_PROTO_EVT) 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_GET_RPT_EVT) 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_GET_IDLE_EVT) 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_SET_PROTO_EVT) 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_SET_RPT_EVT) 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_SET_IDLE_EVT) 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_VC_UNPLUG_EVT) 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_ADD_DEV_EVT) 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_RMV_DEV_EVT) 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTA_HH_API_ERR_EVT) 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_conn_state(UINT16 event) 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CONNECTION_STATE_DISCONNECTED) 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CONNECTION_STATE_CONNECTING) 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CONNECTION_STATE_CONNECTED) 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CONNECTION_STATE_SLC_CONNECTED) 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CONNECTION_STATE_DISCONNECTING) 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_call_state(bthf_call_state_t call_state) 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(call_state) 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_IDLE) 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_HELD) 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_DIALING) 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_ALERTING) 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_INCOMING) 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_WAITING) 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_CALL_STATE_ACTIVE) 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN CALL STATE"; 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_thread_evt(bt_cb_thread_evt evt) 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(evt) 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(ASSOCIATE_JVM) 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(DISASSOCIATE_JVM) 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "unknown thread evt"; 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_audio_state(UINT16 event) 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_AUDIO_STATE_DISCONNECTED) 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_AUDIO_STATE_CONNECTING) 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_AUDIO_STATE_CONNECTED) 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTHF_AUDIO_STATE_DISCONNECTING) 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_av_conn_state(UINT16 event) 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_CONNECTION_STATE_DISCONNECTED) 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_CONNECTION_STATE_CONNECTING) 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_CONNECTION_STATE_CONNECTED) 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_CONNECTION_STATE_DISCONNECTING) 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_av_audio_state(UINT16 event) 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(event) 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_AUDIO_STATE_REMOTE_SUSPEND) 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_AUDIO_STATE_STOPPED) 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BTAV_AUDIO_STATE_STARTED) 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "UNKNOWN MSG ID"; 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_adapter_scan_mode(bt_scan_mode_t mode) 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(mode) 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_SCAN_MODE_NONE) 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_SCAN_MODE_CONNECTABLE) 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE) 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "unknown scan mode"; 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_bt_status(bt_status_t status) 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project switch(status) 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_SUCCESS) 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_FAIL) 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_NOT_READY) 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_NOMEM) 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_BUSY) 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project CASE_RETURN_STR(BT_STATUS_UNSUPPORTED) 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project default: 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return "unknown scan mode"; 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5009adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char *dump_rc_event(UINT8 event) 5019adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan{ 5029adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan switch(event) { 5039adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_RC_OPEN_EVT) 5049adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_RC_CLOSE_EVT) 5059adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_REMOTE_CMD_EVT) 5069adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_REMOTE_RSP_EVT) 5079adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_VENDOR_CMD_EVT) 5089adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_VENDOR_RSP_EVT) 5099adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(BTA_AV_META_MSG_EVT) 510247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji CASE_RETURN_STR(BTA_AV_RC_FEAT_EVT) 5119adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan default: 5129adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan return "UNKNOWN_EVENT"; 5139adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan } 5149adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan} 5159adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan 5169adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char * dump_rc_notification_event_id(UINT8 event_id) 5179adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan{ 5189adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan switch(event_id) 5199adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan { 5209adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_PLAY_STATUS_CHANGE) 5219adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_TRACK_CHANGE) 5229adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_TRACK_REACHED_END) 5239adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_TRACK_REACHED_START) 5249adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_PLAY_POS_CHANGED) 5259adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_BATTERY_STATUS_CHANGE) 5269adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_SYSTEM_STATUS_CHANGE) 5279adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_EVT_APP_SETTING_CHANGE) 528247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji CASE_RETURN_STR(AVRC_EVT_VOLUME_CHANGE) 5299adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan 5309adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan default: 5319adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan return "Unhandled Event ID"; 5329adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan } 5339adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan} 5349adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan 5359adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char* dump_rc_pdu(UINT8 pdu) 5369adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan{ 5379adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan switch(pdu) 5389adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan { 5399adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_LIST_PLAYER_APP_ATTR) 5409adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_LIST_PLAYER_APP_VALUES) 5419adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_GET_CUR_PLAYER_APP_VALUE) 5429adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_SET_PLAYER_APP_VALUE) 5439adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_GET_PLAYER_APP_ATTR_TEXT) 5449adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_GET_PLAYER_APP_VALUE_TEXT) 5459adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_INFORM_DISPLAY_CHARSET) 5469adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_INFORM_BATTERY_STAT_OF_CT) 5479adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_GET_ELEMENT_ATTR) 5489adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_GET_PLAY_STATUS) 5499adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_REGISTER_NOTIFICATION) 5509adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_REQUEST_CONTINUATION_RSP) 5519adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan CASE_RETURN_STR(AVRC_PDU_ABORT_CONTINUATION_RSP) 552247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji CASE_RETURN_STR(AVRC_PDU_SET_ABSOLUTE_VOLUME) 5539adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan default: 5549adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan return "Unknown PDU"; 5559adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan } 5569adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan} 557