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