15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 1999-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 * This file contains definitions for implementing the 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * diagnostic trace message service. 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_TRACE_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_TRACE_H 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTTRC_INCLUDED 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_INCLUDED FALSE 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTTRC_PARSER_INCLUDED 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_PARSER_INCLUDED FALSE 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_TRACE_RAM_SIZE 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_TRACE_RAM_SIZE 10000 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTE tracing IDs for debug purposes */ 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* LayerIDs for stack */ 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_GKI 1 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTU 2 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_HCI 3 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_L2CAP 4 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_RFCM_MX 5 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_RFCM_PRT 6 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_OBEX_C 7 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_OBEX_S 8 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_AVCT 9 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_AVDT 10 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_AVRC 11 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BIC 12 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BIS 13 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BNEP 14 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BPP 15 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_ACL 16 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_PM 17 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_DEV_CTRL 18 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_SVC_DSC 19 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_INQ 20 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_SCO 21 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BTM_SEC 22 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_DUN 23 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_HID 24 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_HSP2 25 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_CTP 26 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_FTC 27 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_FTS 28 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_GAP 29 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_GOEP 30 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_HCRP 31 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_ICP 32 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_OPC 33 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_OPS 34 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_PAN 35 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SAP 36 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SDP 37 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SLIP 38 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SPP 39 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_TCS 40 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_VDP 41 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_MCAP 42 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_GATT 43 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SMP 44 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_NFC 45 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_NCI 46 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_IDEP 47 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_NDEP 48 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_LLCP 49 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_RW 50 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_CE 51 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_SNEP 52 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_NDEF 53 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* LayerIDs for BTA */ 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_ACC 55 /* Advanced Camera Client */ 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_AG 56 /* audio gateway */ 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_AV 57 /* Advanced audio */ 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_BIC 58 /* Basic Imaging Client */ 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_BIS 59 /* Basic Imaging Server */ 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_BP 60 /* Basic Printing Client */ 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_CG 61 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_CT 62 /* cordless telephony terminal */ 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_DG 63 /* data gateway */ 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_DM 64 /* device manager */ 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_DM_SRCH 65 /* device manager search */ 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_DM_SEC 66 /* device manager security */ 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_FM 67 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_FTC 68 /* file transfer client */ 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_FTS 69 /* file transfer server */ 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_HIDH 70 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_HIDD 71 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_JV 72 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_OPC 73 /* object push client */ 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_OPS 74 /* object push server */ 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_PAN 75 /* Personal Area Networking */ 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_PR 76 /* Printer client */ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_SC 77 /* SIM Card Access server */ 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_SS 78 /* synchronization server */ 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTA_SYS 79 /* system manager */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_AVDT_SCB 80 /* avdt scb */ 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_AVDT_CCB 81 /* avdt ccb */ 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* LayerIDs added for BTL-A. Probably should modify bte_logmsg.c in future. */ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_RFCOMM 82 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_RFCOMM_DATA 83 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_OBEX 84 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_A2D 85 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_STK_BIP 86 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* LayerIDs for BT APP */ 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BTAPP 87 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_BT_PROTOCOL 88 /* this is a temporary solution to allow dynamic 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project enable/disable of BT_PROTOCOL_TRACE */ 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_MAX_ID BTTRC_ID_BT_PROTOCOL 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ID_ALL_LAYERS 0xFF /* all trace layers */ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTTRC_LAYER_ID; 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Trace type definitions. Note that these are mutually exclusive in a trace. This 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectmeans that any trace can be either error,warning,api,event or dbg */ 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_ERROR 0x01 /* Traces for error situation */ 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_WARNING 0x02 /* Traces for warning situation */ 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_API 0x04 /* Traces for API */ 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_EVENT 0x08 /* Traces for EVENT */ 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_ACTION 0x10 /* Traces for Action functions */ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TYPE_DBG 0x20 /* Traces for debugging purpose */ 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTTRC_TYPE; 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Masks to identify the stack that originated the trace */ 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TRACE_LITE 0x80 /* MM Lite stack */ 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TRACE_EMBD 0x40 /* Embedded host stack */ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Parameter datatypes used in Trace APIs */ 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_PARAM_UINT8 1 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_PARAM_UINT16 2 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_PARAM_UINT32 3 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTTRC_PARAM_TYPE; 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Special token definitions */ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_TOKEN_SM_STATE 0xFFFF /* Token indicating the State of a State m/c */ 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct { 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_LAYER_ID layer_id; 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type; /* TODO: use tBTTRC_TYPE instead of "classical level 0-5" */ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTTRC_LEVEL; 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 (tBTTRC_SET_TRACE_LEVEL)( UINT8 ); 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct { 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const tBTTRC_LAYER_ID layer_id_start; 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const tBTTRC_LAYER_ID layer_id_end; 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_SET_TRACE_LEVEL *p_f; 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project const char *trc_name; 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 trace_level; 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTTRC_FUNC_MAP; 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTTRC_FUNC_MAP bttrc_set_level_map[]; 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const UINT16 bttrc_map_size; 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BT_API tBTTRC_LEVEL * BTA_SysSetTraceLevel( tBTTRC_LEVEL * p_levels ); 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" { 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* External declaration for appl_trace_level here to avoid to add the declaration in all the files using APPL_TRACExxx macros */ 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern UINT8 appl_trace_level ; 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTE_InitTraceLevels( void ); 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Prototype for message logging function. */ 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void LogMsg (UINT32 trace_set_mask, const char *fmt_str, ...); 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Prototype for stack tracing function. */ 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace0(tBTTRC_LAYER_ID layer_id, 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token); 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace1(tBTTRC_LAYER_ID layer_id, 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val); 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace2(tBTTRC_LAYER_ID layer_id, 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val, 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p2_type, UINT32 p2_val); 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace3(tBTTRC_LAYER_ID layer_id, 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val, 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p2_type, UINT32 p2_val, 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p3_type, UINT32 p3_val); 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace4(tBTTRC_LAYER_ID layer_id, 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val, 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p2_type, UINT32 p2_val, 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p3_type, UINT32 p3_val, 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p4_type, UINT32 p4_val); 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace5(tBTTRC_LAYER_ID layer_id, 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val, 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p2_type, UINT32 p2_val, 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p3_type, UINT32 p3_val, 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p4_type, UINT32 p4_val, 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p5_type, UINT32 p5_val); 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectEXPORT_API extern void BTTRC_StackTrace6(tBTTRC_LAYER_ID layer_id, 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_TYPE type, 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 token, 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p1_type, UINT32 p1_val, 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p2_type, UINT32 p2_val, 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p3_type, UINT32 p3_val, 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p4_type, UINT32 p4_val, 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p5_type, UINT32 p5_val, 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTTRC_PARAM_TYPE p6_type, UINT32 p6_val); 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* p_levels must be a 0 terminated list ! */ 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project//EXPORT_API extern tBTTRC_LEVEL * BTA_SysSetTraceLevel( tBTTRC_LEVEL * p_levels ); 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Trace configurable parameters 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/ 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Enables or disables verbose trace information. */ 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_TRACE_VERBOSE 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_TRACE_VERBOSE FALSE 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Enables or disables all trace messages. */ 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_USE_TRACES 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_USE_TRACES TRUE 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Trace Levels 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** The following values may be used for different levels: 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_NONE 0 * No trace messages to be generated 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_ERROR 1 * Error condition trace messages 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_WARNING 2 * Warning condition trace messages 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_API 3 * API traces 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_EVENT 4 * Debug messages for events 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BT_TRACE_LEVEL_DEBUG 5 * Debug messages (general) 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/ 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific ++ 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Core Stack default trace levels */ 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HCI_INITIAL_TRACE_LEVEL 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HCI_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_INITIAL_TRACE_LEVEL 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_INITIAL_TRACE_LEVEL 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef RFCOMM_INITIAL_TRACE_LEVEL 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define RFCOMM_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_INITIAL_TRACE_LEVEL 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GAP_INITIAL_TRACE_LEVEL 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define GAP_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_INITIAL_TRACE_LEVEL 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_INITIAL_TRACE_LEVEL 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef A2D_INITIAL_TRACE_LEVEL 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define A2D_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_INITIAL_TRACE_LEVEL 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_INITIAL_TRACE_LEVEL 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVCT_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVRC_INITIAL_TRACE_LEVEL 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVRC_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_INITIAL_TRACE_LEVEL 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_INITIAL_TRACE_LEVEL 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef APPL_INITIAL_TRACE_LEVEL 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define APPL_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_TRACE_APPL 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_TRACE_APPL BT_USE_TRACES 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_INITIAL_TRACE_LEVEL 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define GATT_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_INITIAL_TRACE_LEVEL 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SMP_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_WARNING 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project// btla-specific -- 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTTRC_INCLUDED == TRUE) 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTTRC MACROS */ 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_EVENT(lid, event, state) \ 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace1(lid, BTTRC_TYPE_EVENT, event, BTTRC_PARAM_UINT8, state);} 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ACTION(lid, action) \ 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace0(lid, BTTRC_TYPE_ACTION, action);} 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_STATE(lid, state) \ 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace1(lid, BTTRC_TYPE_EVENT, BTTRC_TOKEN_SM_STATE, BTTRC_PARAM_UINT8, state);} 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API0(lid, api) \ 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace0(lid, BTTRC_TYPE_API, api);} 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API1(lid, api, p1_t,p1_v) \ 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace1(lid, BTTRC_TYPE_API, api, p1_t,p1_v);} 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API2(lid, api, p1_t,p1_v,p2_t,p2_v) \ 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace2(lid, BTTRC_TYPE_API, api, p1_t,p1_v,p2_t,p2_v);} 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API3(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) \ 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace3(lid, BTTRC_TYPE_API, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v);} 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API4(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) \ 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace4(lid, BTTRC_TYPE_API, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v);} 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API5(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) \ 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace5(lid, BTTRC_TYPE_API, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v);} 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API6(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) \ 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace6(lid, BTTRC_TYPE_API, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v);} 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG0(lid, dbg) \ 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace0(lid, BTTRC_TYPE_DBG, dbg);} 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG1(lid, dbg, p1_t,p1_v) \ 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace1(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v);} 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG2(lid, dbg, p1_t,p1_v,p2_t,p2_v) \ 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace2(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v,p2_t,p2_v);} 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG3(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) \ 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace3(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v);} 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG4(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) \ 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace4(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v);} 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG5(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) \ 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace5(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v);} 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG6(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) \ 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project {BTTRC_StackTrace6(lid, BTTRC_TYPE_DBG, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v);} 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT MACROS */ 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API0(api) \ 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_API0(BTTRC_ID_STK_AVDT, api) 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API1(api, p1_t, p1_v) \ 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_API1(BTTRC_ID_STK_AVDT, api, p1_t, p1_v) 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API2(api, p1_t, p1_v, p2_t, p2_v) \ 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_API2(BTTRC_ID_STK_AVDT, api, p1_t, p1_v, p2_t, p2_v) 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT_SCB MACROS */ 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_EVENT(event, state) \ 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_EVENT(BTTRC_ID_AVDT_SCB, event, state) 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_ACTION(action) \ 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_ACTION(BTTRC_ID_AVDT_SCB, action) 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_STATE(next_state) \ 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_STATE(BTTRC_ID_AVDT_SCB, next_state) 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG0(dbg) \ 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG0(BTTRC_ID_AVDT_SCB, dbg) 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG1(dbg, p1_t,p1_v) \ 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG1(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v) 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG2(dbg, p1_t,p1_v,p2_t,p2_v) \ 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG2(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v,p2_t,p2_v) 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG3(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) \ 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG3(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG4(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) \ 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG4(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG5(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) \ 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG5(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG6(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) \ 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG6(BTTRC_ID_AVDT_SCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT_CCB MACROS */ 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_EVENT(event, state) \ 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_EVENT(BTTRC_ID_AVDT_CCB, event, state) 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_ACTION(action) \ 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_ACTION(BTTRC_ID_AVDT_CCB, action) 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_STATE(next_state) \ 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_STATE(BTTRC_ID_AVDT_CCB, next_state) 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG0(dbg) \ 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG0(BTTRC_ID_AVDT_CCB, dbg) 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG1(dbg, p1_t,p1_v) \ 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG1(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v) 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG2(dbg, p1_t,p1_v,p2_t,p2_v) \ 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG2(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v,p2_t,p2_v) 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG3(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) \ 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG3(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG4(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) \ 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG4(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG5(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) \ 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG5(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG6(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) \ 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTTRC_DBG6(BTTRC_ID_AVDT_CCB, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else /*BTTRC_INCLUDED*/ 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTTRC MACROS */ 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_EVENT(lid, event, state) 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_ACTION(lid, action) 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_STATE(lid, state) 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API0(lid, api) 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API1(lid, api, p1_t, p1_v) 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API2(lid, api, p1_t, p1_v, p2_t, p2_v) 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API3(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API4(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API5(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_API6(lid, api, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG0(lid, dbg) 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG1(lid, dbg, p1_t,p1_v) 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG2(lid, dbg, p1_t,p1_v,p2_t,p2_v) 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG3(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG4(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG5(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_DBG6(lid, dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT MACROS */ 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API0(api) 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API1(api, p1_t,p1_v) 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_API2(api, p1_t,p1_v,p2_t,p2_v) 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT_SCB MACROS */ 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_EVENT(event, state) 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_ACTION(action) 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_STATE(next_state) 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG0(dbg) 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG1(dbg, p1_t,p1_v) 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG2(dbg, p1_t,p1_v,p2_t,p2_v) 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG3(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG4(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG5(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_SCB_DBG6(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*AVDT_CCB MACROS */ 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_EVENT(event, state) 5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_ACTION(action) 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_STATE(next_state) 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG0(dbg) 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG1(dbg, p1_t,p1_v) 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG2(dbg, p1_t,p1_v,p2_t,p2_v) 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG3(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v) 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG4(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v) 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG5(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v) 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTTRC_AVDT_CCB_DBG6(dbg, p1_t,p1_v,p2_t,p2_v,p3_t,p3_v,p4_t,p4_v,p5_t,p5_v,p6_t,p6_v) 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************************/ 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /*BTTRC_INCLUDED*/ 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BT_USE_TRACES == TRUE) 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 529a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define BT_TRACE(l,t,...) LogMsg((TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | (t)), ##__VA_ARGS__) 530a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define BT_ERROR_TRACE(l,...) LogMsg(TRACE_CTRL_GENERAL | (l) | TRACE_ORG_STACK | TRACE_TYPE_ERROR, ##__VA_ARGS__) 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the HCI unit 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 53483c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati 535a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define HCI_TRACE_ERROR(...) {if (btu_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_HCI, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 536a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define HCI_TRACE_WARNING(...) {if (btu_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_HCI, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 537a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define HCI_TRACE_EVENT(...) {if (btu_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_HCI, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 538a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define HCI_TRACE_DEBUG(...) {if (btu_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_HCI, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for BTM 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 54383c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_ERROR(...) {if (btm_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_BTM, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 54483c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_WARNING(...) {if (btm_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_BTM, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 54583c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_API(...) {if (btm_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_BTM, TRACE_TYPE_API, ##__VA_ARGS__);} 54683c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_EVENT(...) {if (btm_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_BTM, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 54783c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_DEBUG(...) {if (btm_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_BTM, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the L2CAP unit 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 552a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_ERROR(...) {if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_L2CAP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 553a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_WARNING(...) {if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_L2CAP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 554a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_API(...) {if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_L2CAP, TRACE_TYPE_API, ##__VA_ARGS__);} 555a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_EVENT(...) {if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_L2CAP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 556a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_DEBUG(...) {if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_L2CAP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the SDP unit 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 560a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_ERROR(...) {if (sdp_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_SDP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 561a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_WARNING(...) {if (sdp_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_SDP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 562a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_API(...) {if (sdp_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_SDP, TRACE_TYPE_API, ##__VA_ARGS__);} 563a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_EVENT(...) {if (sdp_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_SDP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 564a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_DEBUG(...) {if (sdp_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_SDP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the RFCOMM unit 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 568d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_ERROR(...) {if (rfc_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_RFCOMM, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 569d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_WARNING(...) {if (rfc_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_RFCOMM, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 570d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_API(...) {if (rfc_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_RFCOMM, TRACE_TYPE_API, ##__VA_ARGS__);} 571d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_EVENT(...) {if (rfc_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_RFCOMM, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 572d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_DEBUG(...) {if (rfc_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_RFCOMM, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Generic Access Profile traces */ 575d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_ERROR(...) {if (gap_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_GAP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 576d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_EVENT(...) {if (gap_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_GAP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 577d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_API(...) {if (gap_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_GAP, TRACE_TYPE_API, ##__VA_ARGS__);} 578d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_WARNING(...) {if (gap_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_GAP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for HID Host */ 581d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_ERROR(...) {if (hh_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_HID, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 582d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_WARNING(...) {if (hh_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_HID, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 583d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_API(...) {if (hh_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_HID, TRACE_TYPE_API, ##__VA_ARGS__);} 584d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_EVENT(...) {if (hh_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_HID, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 585d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_DEBUG(...) {if (hh_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_HID, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for BNEP */ 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 589d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_ERROR(...) {if (bnep_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_BNEP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 590d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_WARNING(...) {if (bnep_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_BNEP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 591d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_API(...) {if (bnep_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_BNEP, TRACE_TYPE_API, ##__VA_ARGS__);} 592d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_EVENT(...) {if (bnep_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_BNEP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 593d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_DEBUG(...) {if (bnep_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_BNEP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for PAN */ 5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 597d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_ERROR(...) {if (pan_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_PAN, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 598d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_WARNING(...) {if (pan_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_PAN, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 599d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_API(...) {if (pan_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_PAN, TRACE_TYPE_API, ##__VA_ARGS__);} 600d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_EVENT(...) {if (pan_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_PAN, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 601d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_DEBUG(...) {if (pan_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_PAN, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the A2DP profile 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 605158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_ERROR(...) {if (a2d_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_A2D, TRACE_TYPE_ERROR,##__VA_ARGS__);} 606158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_WARNING(...) {if (a2d_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_A2D, TRACE_TYPE_WARNING,##__VA_ARGS__);} 607158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_EVENT(...) {if (a2d_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_A2D, TRACE_TYPE_EVENT,##__VA_ARGS__);} 608158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_DEBUG(...) {if (a2d_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_A2D, TRACE_TYPE_DEBUG,##__VA_ARGS__);} 609158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_API(...) {if (a2d_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_A2D, TRACE_TYPE_API,##__VA_ARGS__);} 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVDTP 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 613158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_ERROR(...) {if (avdt_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 614158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_WARNING(...) {if (avdt_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 615158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_EVENT(...) {if (avdt_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 616158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_DEBUG(...) {if (avdt_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 617158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_API(...) {if (avdt_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_API, ##__VA_ARGS__);} 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the AVCTP protocol 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 621158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_ERROR(...) {if (avct_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 622158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_WARNING(...) {if (avct_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 623158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_EVENT(...) {if (avct_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 624158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_DEBUG(...) {if (avct_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 625158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_API(...) {if (avct_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_API, ##__VA_ARGS__);} 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the AVRCP profile 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 629b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_ERROR(...) {if (avrc_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 630b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_WARNING(...) {if (avrc_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 631b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_EVENT(...) {if (avrc_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 632b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_DEBUG(...) {if (avrc_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 633b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_API(...) {if (avrc_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_AVP, TRACE_TYPE_API, ##__VA_ARGS__);} 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 637b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_ERROR(...) {if (mca_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_MCA, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 638b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_WARNING(...) {if (mca_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_MCA, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 639b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_EVENT(...) {if (mca_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_MCA, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 640b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_DEBUG(...) {if (mca_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_MCA, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 641b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_API(...) {if (mca_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_MCA, TRACE_TYPE_API, ##__VA_ARGS__);} 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the ATT/GATT unit 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 645b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_ERROR(...) {if (gatt_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_ATT, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 646b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_WARNING(...) {if (gatt_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_ATT, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 647b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_API(...) {if (gatt_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_ATT, TRACE_TYPE_API, ##__VA_ARGS__);} 648b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_EVENT(...) {if (gatt_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_ATT, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 649b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_DEBUG(...) {if (gatt_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_ATT, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the SMP unit 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 653b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_ERROR(...) {if (smp_cb.trace_level >= BT_TRACE_LEVEL_ERROR) BT_TRACE(TRACE_LAYER_SMP, TRACE_TYPE_ERROR, ##__VA_ARGS__);} 654b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_WARNING(...) {if (smp_cb.trace_level >= BT_TRACE_LEVEL_WARNING) BT_TRACE(TRACE_LAYER_SMP, TRACE_TYPE_WARNING, ##__VA_ARGS__);} 655b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_API(...) {if (smp_cb.trace_level >= BT_TRACE_LEVEL_API) BT_TRACE(TRACE_LAYER_SMP, TRACE_TYPE_API, ##__VA_ARGS__);} 656b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_EVENT(...) {if (smp_cb.trace_level >= BT_TRACE_LEVEL_EVENT) BT_TRACE(TRACE_LAYER_SMP, TRACE_TYPE_EVENT, ##__VA_ARGS__);} 657b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_DEBUG(...) {if (smp_cb.trace_level >= BT_TRACE_LEVEL_DEBUG) BT_TRACE(TRACE_LAYER_SMP, TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* END OF USE TRACES */ 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6620212487880be33e255d49f6e38dbb035d1f77750Sharvil Nanavati#define BT_TRACE(l,t,...) 6630212487880be33e255d49f6e38dbb035d1f77750Sharvil Nanavati#define BT_BT_ERROR_TRACE(l,...) 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the HCI unit 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 66783c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define HCI_TRACE_ERROR(...) 66883c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define HCI_TRACE_WARNING(...) 66983c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define HCI_TRACE_EVENT(...) 67083c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define HCI_TRACE_DEBUG(...) 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for BTM 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 67583c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_ERROR(...) 67683c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_WARNING(...) 67783c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_API(...) 67883c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_EVENT(...) 67983c5256f1951db020d81412e1d595d7a37962f3eSharvil Nanavati#define BTM_TRACE_DEBUG(...) 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the L2CAP unit 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 684a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_ERROR(...) 685a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_WARNING(...) 686a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_API(...) 687a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_EVENT(...) 688a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define L2CAP_TRACE_DEBUG(...) 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the SDP unit 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 692a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_ERROR(...) 693a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_WARNING(...) 694a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_API(...) 695a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_EVENT(...) 696a51c9d9d225e41fe36a0133f1c17fd981ea59c1dSharvil Nanavati#define SDP_TRACE_DEBUG(...) 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the RFCOMM unit 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 700d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_ERROR(...) 701d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_WARNING(...) 702d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_API(...) 703d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_EVENT(...) 704d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define RFCOMM_TRACE_DEBUG(...) 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Generic Access Profile traces */ 707d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_ERROR(...) 708d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_EVENT(...) 709d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_API(...) 710d5bba906b0704cd60e824613bd2e438935ba5d89Sharvil Nanavati#define GAP_TRACE_WARNING(...) 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for HID Host */ 713d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_ERROR(...) 714d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_WARNING(...) 715d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_API(...) 716d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_EVENT(...) 717d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define HIDH_TRACE_DEBUG(...) 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for BNEP */ 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 721d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_ERROR(...) 722d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_WARNING(...) 723d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_API(...) 724d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_EVENT(...) 725d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define BNEP_TRACE_DEBUG(...) 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for PAN */ 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 729d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_ERROR(...) 730d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_WARNING(...) 731d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_API(...) 732d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_EVENT(...) 733d6e1b1ee17959461a80936f7308d8129615315d2Sharvil Nanavati#define PAN_TRACE_DEBUG(...) 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the A2DP profile 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 737158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_ERROR(...) 738158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_WARNING(...) 739158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_EVENT(...) 740158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_DEBUG(...) 741158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define A2D_TRACE_API(...) 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* AVDTP 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 745158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_ERROR(...) 746158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_WARNING(...) 747158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_EVENT(...) 748158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_DEBUG(...) 749158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVDT_TRACE_API(...) 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the AVCTP protocol 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 753158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_ERROR(...) 754158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_WARNING(...) 755158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_EVENT(...) 756158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_DEBUG(...) 757158084e065230a10ffeba6b24ab2fd22b422baedSharvil Nanavati#define AVCT_TRACE_API(...) 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the AVRCP profile 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 761b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_ERROR(...) 762b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_WARNING(...) 763b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_EVENT(...) 764b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_DEBUG(...) 765b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define AVRC_TRACE_API(...) 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 769b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_ERROR(...) 770b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_WARNING(...) 771b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_EVENT(...) 772b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_DEBUG(...) 773b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define MCA_TRACE_API(...) 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the GATT 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 777b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_ERROR(...) 778b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_WARNING(...) 779b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_API(...) 780b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_EVENT(...) 781b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define GATT_TRACE_DEBUG(...) 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define tracing for the SMP unit 7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 785b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_ERROR(...) 786b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_WARNING(...) 787b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_API(...) 788b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_EVENT(...) 789b44cc59d286ad255e872c60df02e032bd8d9d75bSharvil Nanavati#define SMP_TRACE_DEBUG(...) 7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BT_TRACE_BTIF == TRUE) 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern UINT8 btif_trace_level; 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for application */ 798e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_ERROR(...) {if (btif_trace_level >= BT_TRACE_LEVEL_ERROR) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_ERROR, ##__VA_ARGS__);} 799e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_WARNING(...) {if (btif_trace_level >= BT_TRACE_LEVEL_WARNING) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_WARNING, ##__VA_ARGS__);} 800e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_API(...) {if (btif_trace_level >= BT_TRACE_LEVEL_API) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_API, ##__VA_ARGS__);} 801e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_EVENT(...) {if (btif_trace_level >= BT_TRACE_LEVEL_EVENT) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_EVENT, ##__VA_ARGS__);} 802e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_DEBUG(...) {if (btif_trace_level >= BT_TRACE_LEVEL_DEBUG) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 803e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_VERBOSE(...) {if (btif_trace_level >= BT_TRACE_LEVEL_VERBOSE) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for Application */ 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 808e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_ERROR(...) 809e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_WARNING(...) 810e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_API(...) 811e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_EVENT(...) 812e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_DEBUG(...) 813e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define BTIF_TRACE_VERBOSE(...) 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BT_USE_TRACES == TRUE || BT_TRACE_APPL == TRUE) 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for application */ 821e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_ERROR(...) {if (appl_trace_level >= BT_TRACE_LEVEL_ERROR) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_ERROR, ##__VA_ARGS__);} 822e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_WARNING(...) {if (appl_trace_level >= BT_TRACE_LEVEL_WARNING) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_WARNING, ##__VA_ARGS__);} 823e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_API(...) {if (appl_trace_level >= BT_TRACE_LEVEL_API) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_API, ##__VA_ARGS__);} 824e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_EVENT(...) {if (appl_trace_level >= BT_TRACE_LEVEL_EVENT) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_EVENT, ##__VA_ARGS__);} 825e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_DEBUG(...) {if (appl_trace_level >= BT_TRACE_LEVEL_DEBUG) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 826e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_VERBOSE(...) {if (appl_trace_level >= BT_TRACE_LEVEL_VERBOSE) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_DEBUG, ##__VA_ARGS__);} 827ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* define traces for Application */ 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 831e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_ERROR(...) 832e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_WARNING(...) 833e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_API(...) 834e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_EVENT(...) 835e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_DEBUG(...) 836e8c3d75b75493911ebf0f99c83676359657178f7Sharvil Nanavati#define APPL_TRACE_VERBOSE(...) 837ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8407939ed0c9a50c769e9e648a2d7751e0894b485edzzy/* Simplified Trace Helper Macro 8417939ed0c9a50c769e9e648a2d7751e0894b485edzzy*/ 8427939ed0c9a50c769e9e648a2d7751e0894b485edzzy#if (BT_USE_TRACES == TRUE) 8437939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdld(fmt, ...) \ 8447939ed0c9a50c769e9e648a2d7751e0894b485edzzy do{\ 8457939ed0c9a50c769e9e648a2d7751e0894b485edzzy if((MY_LOG_LEVEL) >= BT_TRACE_LEVEL_DEBUG) \ 8467939ed0c9a50c769e9e648a2d7751e0894b485edzzy LogMsg((MY_LOG_LAYER) | TRACE_TYPE_DEBUG, "%s(L%d): " fmt, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ 8477939ed0c9a50c769e9e648a2d7751e0894b485edzzy }while(0) 8487939ed0c9a50c769e9e648a2d7751e0894b485edzzy 8497939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdlw(fmt, ...) \ 8507939ed0c9a50c769e9e648a2d7751e0894b485edzzy do{\ 8517939ed0c9a50c769e9e648a2d7751e0894b485edzzy if((MY_LOG_LEVEL) >= BT_TRACE_LEVEL_DEBUG) \ 8527939ed0c9a50c769e9e648a2d7751e0894b485edzzy LogMsg((MY_LOG_LAYER) | TRACE_TYPE_WARNING, "%s(L%d): " fmt, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ 8537939ed0c9a50c769e9e648a2d7751e0894b485edzzy }while(0) 8547939ed0c9a50c769e9e648a2d7751e0894b485edzzy 8557939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdle(fmt, ...) \ 8567939ed0c9a50c769e9e648a2d7751e0894b485edzzy do{\ 8577939ed0c9a50c769e9e648a2d7751e0894b485edzzy if((MY_LOG_LEVEL) >= BT_TRACE_LEVEL_DEBUG) \ 8587939ed0c9a50c769e9e648a2d7751e0894b485edzzy LogMsg((MY_LOG_LAYER) | TRACE_TYPE_ERROR, "%s(L%d): " fmt, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ 8597939ed0c9a50c769e9e648a2d7751e0894b485edzzy }while(0) 8607939ed0c9a50c769e9e648a2d7751e0894b485edzzy 8617939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdla(assert_if) \ 8627939ed0c9a50c769e9e648a2d7751e0894b485edzzy do{\ 8637939ed0c9a50c769e9e648a2d7751e0894b485edzzy if(((MY_LOG_LEVEL) >= BT_TRACE_LEVEL_ERROR) && !(assert_if)) \ 8647939ed0c9a50c769e9e648a2d7751e0894b485edzzy LogMsg((MY_LOG_LAYER) | TRACE_TYPE_ERROR, "%s(L%d): assert failed: " #assert_if, __FUNCTION__, __LINE__); \ 8657939ed0c9a50c769e9e648a2d7751e0894b485edzzy }while(0) 8667939ed0c9a50c769e9e648a2d7751e0894b485edzzy#else 8677939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdld(fmt, ...) ((void)0) /*Empty statement as placeholder*/ 8687939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdlw(fmt, ...) ((void)0) 8697939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdle(fmt, ...) ((void)0) 8707939ed0c9a50c769e9e648a2d7751e0894b485edzzy#define bdla(assert_if) ((void)0) 8717939ed0c9a50c769e9e648a2d7751e0894b485edzzy#endif 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BT_TRACE_H */ 873