1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * report.h 3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved. 6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions 9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met: 10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions of source code must retain the above copyright 12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * the documentation and/or other materials provided with the 16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * distribution. 17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * contributors may be used to endorse or promote products derived 19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * from this software without specific prior written permission. 20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* MODULE: report.h */ 38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* PURPOSE: Report module internal header API */ 39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef __REPORT_H__ 42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define __REPORT_H__ 43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file report.h 45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Report module API \n 46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * APIs which are used for reporting messages to the User while running. \n\n 47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The report mechanism: Messages are reported per file and severity Level \n 49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Therefore, each file has a report flag which indicate if reporting for that file is enabled, \n 50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * and each severity has a severity flag which indicate if reporting for that severity is enabled. \n 51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Only if both flags are enabled, the message is printed. \n 52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The report flags of all file are indicated in a bit map Table which is contained in the report module handle \n 53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The report flags of all severities are indicated in a bit map Table which is contained in the report module handle \n 54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* in order to work without the driver logger use that definition here 57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * #define PRINTF_ROLLBACK 58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "osApi.h" 61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "commonTypes.h" 62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define MAX_STRING_LEN 32 64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*******************************/ 67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Report Files IDs */ 68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*******************************/ 69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum 71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_0 , /* timer */ 73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_1 , /* measurementMgr */ 74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_2 , /* measurementMgrSM */ 75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_3 , /* regulatoryDomain */ 76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_4 , /* requestHandler */ 77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_5 , /* SoftGemini */ 78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_6 , /* spectrumMngmntMgr */ 79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_7 , /* SwitchChannel */ 80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_8 , /* roamingMngr */ 81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_9 , /* scanMngr */ 82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_10 , /* admCtrlXCC */ 83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_11 , /* XCCMngr */ 84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_12 , /* XCCRMMngr */ 85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_13 , /* XCCTSMngr */ 86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_14 , /* rogueAp */ 87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_15 , /* TransmitPowerXCC */ 88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_16 , /* admCtrl */ 89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_17 , /* admCtrlNone */ 90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_18 , /* admCtrlWep */ 91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_19 , /* admCtrlWpa */ 92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_20 , /* admCtrlWpa2 */ 93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_21 , /* apConn */ 94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_22 , /* broadcastKey802_1x */ 95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_23 , /* broadcastKeyNone */ 96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_24 , /* broadcastKeySM */ 97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_25 , /* conn */ 98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_26 , /* connIbss */ 99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_27 , /* connInfra */ 100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_28 , /* keyDerive */ 101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_29 , /* keyDeriveAes */ 102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_30 , /* keyDeriveCkip */ 103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_31 , /* keyDeriveTkip */ 104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_32 , /* keyDeriveWep */ 105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_33 , /* keyParser */ 106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_34 , /* keyParserExternal */ 107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_35 , /* keyParserWep */ 108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_36 , /* mainKeysSm */ 109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_37 , /* mainSecKeysOnly */ 110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_38 , /* mainSecNull */ 111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_39 , /* mainSecSm */ 112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_40 , /* rsn */ 113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_41 , /* sme */ 114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_42 , /* smeSelect */ 115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_43 , /* smeSm */ 116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_44 , /* unicastKey802_1x */ 117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_45 , /* unicastKeyNone */ 118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_46 , /* unicastKeySM */ 119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_47 , /* CmdDispatcher */ 120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_48 , /* CmdHndlr */ 121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_49 , /* DrvMain */ 122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_50 , /* EvHandler */ 123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_51 , /* Ctrl */ 124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_52 , /* GeneralUtil */ 125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_53 , /* RateAdaptation */ 126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_54 , /* rx */ 127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_55 , /* TrafficMonitor */ 128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_56 , /* txCtrl */ 129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_57 , /* txCtrlParams */ 130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_58 , /* txCtrlServ */ 131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_59 , /* TxDataClsfr */ 132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_60 , /* txDataQueue */ 133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_61 , /* txMgmtQueue */ 134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_62 , /* txPort */ 135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_63 , /* assocSM */ 136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_64 , /* authSm */ 137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_65 , /* currBss */ 138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_66 , /* healthMonitor */ 139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_67 , /* mlmeBuilder */ 140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_68 , /* mlmeParser */ 141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_69 , /* mlmeSm */ 142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_70 , /* openAuthSm */ 143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_71 , /* PowerMgr */ 144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_72 , /* PowerMgrDbgPrint */ 145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_73 , /* PowerMgrKeepAlive */ 146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_74 , /* qosMngr */ 147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_75 , /* roamingInt */ 148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_76 , /* ScanCncn */ 149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_77 , /* ScanCncnApp */ 150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_78 , /* ScanCncnOsSm */ 151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_79 , /* ScanCncnSm */ 152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_80 , /* ScanCncnSmSpecific */ 153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_81 , /* scanResultTable */ 154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_82 , /* scr */ 155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_83 , /* sharedKeyAuthSm */ 156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_84 , /* siteHash */ 157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_85 , /* siteMgr */ 158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_86 , /* StaCap */ 159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_87 , /* systemConfig */ 160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_88 , /* templates */ 161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_89 , /* trafficAdmControl */ 162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_90 , /* CmdBld */ 163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_91 , /* CmdBldCfg */ 164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_92 , /* CmdBldCfgIE */ 165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_93 , /* CmdBldCmd */ 166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_94 , /* CmdBldCmdIE */ 167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_95 , /* CmdBldItr */ 168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_96 , /* CmdBldItrIE */ 169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_97 , /* CmdQueue */ 170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_98 , /* RxQueue */ 171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_99 , /* txCtrlBlk */ 172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_100 , /* txHwQueue */ 173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_101 , /* CmdMBox */ 174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_102 , /* eventMbox */ 175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_103 , /* fwDebug */ 176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_104 , /* FwEvent */ 177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_105 , /* HwInit */ 178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_106 , /* RxXfer */ 179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_107 , /* txResult */ 180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_108 , /* txXfer */ 181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_109 , /* MacServices */ 182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_110 , /* MeasurementSrv */ 183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_111 , /* measurementSrvDbgPrint */ 184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_112 , /* MeasurementSrvSM */ 185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_113 , /* PowerSrv */ 186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_114 , /* PowerSrvSM */ 187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_115 , /* ScanSrv */ 188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_116 , /* ScanSrvSM */ 189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_117 , /* TWDriver */ 190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_118 , /* TWDriverCtrl */ 191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_119 , /* TWDriverRadio */ 192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_120 , /* TWDriverTx */ 193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_121 , /* TwIf */ 194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_122 , /* SdioBusDrv */ 195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_123 , /* TxnQueue */ 196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_124 , /* WspiBusDrv */ 197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_125 , /* context */ 198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_126 , /* freq */ 199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_127 , /* fsm */ 200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_128 , /* GenSM */ 201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_129 , /* mem */ 202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_130 , /* queue */ 203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_131 , /* rate */ 204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_132 , /* report */ 205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt FILE_ID_133 , /* stack */ 206653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt FILE_ID_134 , /* externalSec */ 207653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt FILE_ID_135 , /* roamingMngr_autoSM */ 208653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt FILE_ID_136 , /* roamingMngr_manualSM */ 209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 210653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt FILE_ID_137 , /* cmdinterpretoid */ 211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_FILES_NUM /* Number of files with trace reports */ 212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EReportFiles; 214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/************************************/ 217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Report Severity values */ 218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/************************************/ 219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EReportSeverity 221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Report Severity Types 222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All available severity Levels of the events which are reported to user.\n 225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa 227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum 229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_INIT = 1, /**< Init Level (event happened during initialization) */ 231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_INFORMATION = 2, /**< Information Level */ 232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_WARNING = 3, /**< Warning Level */ 233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_ERROR = 4, /**< Error Level (error accored) */ 234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_FATAL_ERROR = 5, /**< Fatal-Error Level (fatal-error accored) */ 235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_SM = 6, /**< State-Machine Level (event happened in State-Machine) */ 236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_CONSOLE = 7, /**< Consol Level (event happened in Consol) */ 237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt REPORT_SEVERITY_MAX = REPORT_SEVERITY_CONSOLE + 1 /**< Maximum number of report severity levels */ 238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EReportSeverity; 240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TReport 242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Report Module Object 243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All the Databases and other parameters which are needed for reporting messages to user 246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa 248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct 250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_HANDLE hOs; /**< Handle to Operating System Object */ 252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aSeverityTable[REPORT_SEVERITY_MAX]; /**< Severities Table: Table which holds for each severity level a flag which indicates whether the severity is enabled for reporting */ 253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt char aSeverityDesc[REPORT_SEVERITY_MAX][MAX_STRING_LEN]; /**< Severities Descriptors Table: Table which holds for each severity a string of its name, which is used in severity's reported messages */ 254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aFileEnable[REPORT_FILES_NUM]; /**< Files table indicating per file if it is enabled for reporting */ 255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef PRINTF_ROLLBACK 257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt char aFileName[REPORT_FILES_NUM][MAX_STRING_LEN]; /**< Files names table inserted in the file's reported messages */ 258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif 259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TReport; 261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TReportParamInfo 263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Report Parameter Information 264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Struct which defines all the Databases and other parameters which are needed 267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * for reporting messages to user. 268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The actual Content of the Report Parameter Could be one of the followed (held in union): 269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Severety Table | Module Table | Enable/Disable indication of debug module usage 270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa EExternalParam, ETwdParam 272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct 274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT32 paramType; /**< The reported parameter type - one of External Parameters (which includes Set,Get, Module, internal number etc.) 276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * of Report Module. Used by user for Setting or Getting Report Module Paramters, for exaple Set/Get severety table 277981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * to/from Report Module 278981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 279981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT32 paramLength; /**< Length of reported parameter */ 280981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 281981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt union 282981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 283981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aSeverityTable[REPORT_SEVERITY_MAX]; /**< Table which holds severity flag for every available LOG severity level. 284981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This flag indicates for each severity - whether it is enabled for Logging or not. 285981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * User can Set/Get this Tabel 286981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 287981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aFileEnable[REPORT_FILES_NUM]; /**< Table which holds file flag for every available LOG file. 288981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This flag indicates for each file - whether it is enabled for Logging or not. 289981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * User can Set/Get this Tabel 290981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 291981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT32 uReportPPMode; /**< Used by user for Indicating if Debug Module should be enabled/disabled */ 292981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 293981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } content; 294981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 295981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TReportParamInfo; 296981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 297981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TReportInitParams 298981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Report Init Parameters 299981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 300981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 301981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Struct which defines all the Databases needed for init and set the defualts of the Report Module. 302981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 303981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 304981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct 305981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 306981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* Note: The arrays sizes are aligned to 4 byte to avoid padding added by the compiler! */ 307981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aSeverityTable[(REPORT_SEVERITY_MAX + 3) & ~3]; /**< Table in the size of all available LOG severity levels which indicates for each severity - whether it is enabled for Logging or not. */ 308981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_UINT8 aFileEnable [(REPORT_FILES_NUM + 3) & ~3]; /**< Table in the size of all available LOG files which indicates for each file - whether it is enabled for Logging or not */ 309981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 310981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TReportInitParams; 311981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 312981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 313981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 314981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 315981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* report module Macros */ 316981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 317981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 318981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The report mechanism is like that: 319981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt Each file has a report flag. Each severity has a severity flag. 320981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt Only if bits are enabled, the message is printed */ 321981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The modules which have their report flag enable are indicated by a bit map in the reportModule 322981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt variable contained in the report handle*/ 323981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The severities which have are enabled are indicated by a bit map in the reportSeverity 324981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt variable contained in the report handle*/ 325981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* general trace messages */ 326981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef PRINTF_ROLLBACK 327981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 328981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE0(hReport, level, str) \ 329981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 330981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 0); } } while(0) 331981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 332981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE1(hReport, level, str, p1) \ 333981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 334981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 1, (TI_UINT32)p1); } } while(0) 335981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 336981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE2(hReport, level, str, p1, p2) \ 337981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 338981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 2, (TI_UINT32)p1, (TI_UINT32)p2); } } while(0) 339981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 340981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE3(hReport, level, str, p1, p2, p3) \ 341981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 342981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 3, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3); } } while(0) 343981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 344981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE4(hReport, level, str, p1, p2, p3, p4) \ 345981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 346981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 4, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4); } } while(0) 347981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 348981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE5(hReport, level, str, p1, p2, p3, p4, p5) \ 349981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 350981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 5, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5); } } while(0) 351981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 352981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE6(hReport, level, str, p1, p2, p3, p4, p5, p6) \ 353981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 354981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 6, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6); } } while(0) 355981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 356981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE7(hReport, level, str, p1, p2, p3, p4, p5, p6, p7) \ 357981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 358981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 7, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7); } } while(0) 359981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 360981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE8(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8) \ 361981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 362981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 8, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8); } } while(0) 363981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 364981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE9(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9) \ 365981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 366981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 9, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9); } } while(0) 367981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 368981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE10(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) \ 369981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 370981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 10, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10); } } while(0) 371981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 372981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE11(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) \ 373981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 374981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 11, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11); } } while(0) 375981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 376981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE12(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) \ 377981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 378981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 12, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12); } } while(0) 379981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 380981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE13(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) \ 381981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 382981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 13, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13); } } while(0) 383981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 384981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE14(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) \ 385981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 386981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 14, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14); } } while(0) 387981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 388981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE15(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) \ 389981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 390981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 15, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15); } } while(0) 391981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 392981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE16(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16) \ 393981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 394981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 16, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16); } } while(0) 395981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 396981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE17(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) \ 397981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 398981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 17, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17); } } while(0) 399981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 400981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE18(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18) \ 401981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 402981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 18, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18); } } while(0) 403981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 404981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE19(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19) \ 405981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 406981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 19, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19); } } while(0) 407981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 408981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE20(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20) \ 409981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 410981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 20, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19, (TI_UINT32)p20); } } while(0) 411981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 412981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE21(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) \ 413981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 414981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 21, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19, (TI_UINT32)p20, (TI_UINT32)p21); } } while(0) 415981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 416981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE22(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22) \ 417981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 418981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 22, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19, (TI_UINT32)p20, (TI_UINT32)p21, (TI_UINT32)p22); } } while(0) 419981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 420981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE25(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25) \ 421981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 422981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 22, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19, (TI_UINT32)p20, (TI_UINT32)p21, (TI_UINT32)p22, (TI_UINT32)p23, (TI_UINT32)p24, (TI_UINT32)p25); } } while(0) 423981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 424981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE31(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31) \ 425981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 426981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_Trace((((TReport *)hReport)->hOs), level, __FILE_ID__, __LINE__, 22, (TI_UINT32)p1, (TI_UINT32)p2, (TI_UINT32)p3, (TI_UINT32)p4, (TI_UINT32)p5, (TI_UINT32)p6, (TI_UINT32)p7, (TI_UINT32)p8, (TI_UINT32)p9, (TI_UINT32)p10, (TI_UINT32)p11, (TI_UINT32)p12, (TI_UINT32)p13, (TI_UINT32)p14, (TI_UINT32)p15, (TI_UINT32)p16, (TI_UINT32)p17, (TI_UINT32)p18, (TI_UINT32)p19, (TI_UINT32)p20, (TI_UINT32)p21, (TI_UINT32)p22, (TI_UINT32)p23, (TI_UINT32)p24, (TI_UINT32)p25, (TI_UINT32)p26, (TI_UINT32)p27, (TI_UINT32)p28, (TI_UINT32)p29, (TI_UINT32)p30, (TI_UINT32)p31); } } while(0) 427981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 428981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 429981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#else /* PRINTF_ROLLBACK */ 430981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 431981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE0(hReport, level, str) \ 432981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 433981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str); } } while(0) 434981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 435981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE1(hReport, level, str, p1) \ 436981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 437981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1); } } while(0) 438981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 439981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE2(hReport, level, str, p1, p2) \ 440981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 441981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2); } } while(0) 442981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 443981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE3(hReport, level, str, p1, p2, p3) \ 444981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 445981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3); } } while(0) 446981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 447981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE4(hReport, level, str, p1, p2, p3, p4) \ 448981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 449981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4); } } while(0) 450981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 451981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE5(hReport, level, str, p1, p2, p3, p4, p5) \ 452981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 453981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5); } } while(0) 454981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 455981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE6(hReport, level, str, p1, p2, p3, p4, p5, p6) \ 456981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 457981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6); } } while(0) 458981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 459981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE7(hReport, level, str, p1, p2, p3, p4, p5, p6, p7) \ 460981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 461981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7); } } while(0) 462981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 463981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE8(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8) \ 464981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 465981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8); } } while(0) 466981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 467981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE9(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9) \ 468981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 469981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9); } } while(0) 470981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 471981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE10(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) \ 472981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 473981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } } while(0) 474981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 475981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE11(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) \ 476981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 477981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); } } while(0) 478981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 479981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE12(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) \ 480981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 481981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } } while(0) 482981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 483981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE13(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) \ 484981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 485981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); } } while(0) 486981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 487981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE14(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) \ 488981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 489981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); } } while(0) 490981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 491981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE15(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) \ 492981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 493981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); } } while(0) 494981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 495981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE16(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16) \ 496981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 497981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); } } while(0) 498981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 499981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE17(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) \ 500981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 501981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); } } while(0) 502981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 503981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE18(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18) \ 504981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 505981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18); } } while(0) 506981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 507981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE19(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19) \ 508981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 509981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19); } } while(0) 510981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 511981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE20(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20) \ 512981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 513981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20); } } while(0) 514981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 515981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE21(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) \ 516981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 517981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21); } } while(0) 518981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 519981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE22(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22) \ 520981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 521981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22); } } while(0) 522981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 523981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE25(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25) \ 524981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 525981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25); } } while(0) 526981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 527981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE31(hReport, level, str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31) \ 528981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[level]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 529981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ os_printf ("%s, %s:", ((TReport *)hReport)->aFileName[__FILE_ID__], ((TReport *)hReport)->aSeverityDesc[level]); os_printf (str, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p27, p27, p28, p29, p30, p31); } } while(0) 530981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 531981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* #ifdef PRINTF_ROLLBACK */ 532981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 533981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 534981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 535981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* report module Macros */ 536981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 537981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 538981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The report mechanism is like that: 539981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtEach file has a report flag. Each severity has a severity flag. 540981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtOnly if bits are enabled, the message is printed */ 541981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The modules which have their report flag enable are indicated by a bit map in the reportModule 542981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvariable contained in the report handle*/ 543981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* The severities which have are enabled are indicated by a bit map in the reportSeverity 544981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvariable contained in the report handle*/ 545981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 546981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef REPORT_LOG 547981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 548981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \def WLAN_OS_REPORT 549981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \brief Macro which writes a message to user via specific Operating System printf. 550981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* E.g. print is done using the relevant used OS printf method. 551981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 552981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define WLAN_OS_REPORT(msg) \ 553981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { os_printf msg;} while(0) 554981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 555981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 556981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifdef INIT_MESSAGES 557981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \def WLAN_INIT_REPORT 558981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \brief Macro which writes a message to user via specific Operating System printf. 559981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* E.g. print is done using the relevant used OS printf method. 560981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 561981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define WLAN_INIT_REPORT(msg) \ 562981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { os_printf msg;} while(0) 563981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#else 564981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \def WLAN_INIT_REPORT 565981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \brief Macro which writes a message to user via specific Operating System printf. 566981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* E.g. print is done using the relevant used OS printf method. 567981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 568981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define WLAN_INIT_REPORT(msg) 569981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif 570981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE_INFO_HEX(hReport, data, datalen) \ 571981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { if (hReport && (((TReport *)hReport)->aSeverityTable[REPORT_SEVERITY_INFORMATION]) && (((TReport *)hReport)->aFileEnable[__FILE_ID__])) \ 572981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ report_PrintDump (data, datalen); } } while(0) 573981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 574981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 575981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#else /* REPORT_LOG */ 576981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 577981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* NOTE: Keep a dummy report function call to treat compilation warnings */ 578981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 579981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \def WLAN_OS_REPORT 580981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \brief Dummy macro: Nothing is done 581981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 582981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define WLAN_OS_REPORT(msg) \ 583981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { } while (0) 584981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 585981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \def WLAN_INIT_REPORT 586981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \brief Dummy macro: Nothing is done 587981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 588981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define WLAN_INIT_REPORT(msg) \ 589981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { } while (0) 590981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 591981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 592981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TRACE_INFO_HEX(hReport, data, datalen) \ 593981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt do { } while (0) 594981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 595981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* REPORT_LOG */ 596981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 597981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 598981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 599981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* report module prototypes */ 600981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************/ 601981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 602981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Create Report Module Object 603981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hOs - OS module object handle 604981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return Handle to the report module on success, NULL otherwise 605981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 606981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 607981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Report module creation function, called by the config mgr in creation phase \n 608981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * performs the following: \n 609981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Allocate the report handle 610981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 611981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_HANDLE report_Create (TI_HANDLE hOs); 612981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Set Report Module Defaults 613981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 614981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pInitParams - Pointer to Input Init Parameters 615981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 616981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 617981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 618981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Report module configuration function, called by the config mgr in configuration phase \n 619981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * performs the following: \n 620981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Reset & init local variables 621981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Resets all report modules bits 622981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Resets all severities bits 623981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Init the description strings * 624981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 625981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_SetDefaults (TI_HANDLE hReport, TReportInitParams *pInitParams); 626981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Unload Report Module 627981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 628981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 629981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 630981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 631981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Report Module unload function, called by the config mgr in the unload phase \n 632981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * performs the following: \n 633981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Free all memory allocated by the module 634981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 635981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_Unload (TI_HANDLE hReport); 636981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Set Report Module 637981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 638981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 639981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 640981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 641981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Enables the relevant module for reporting - according to the received module index 642981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 643981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_SetReportModule (TI_HANDLE hReport, TI_UINT8 module_index); 644981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Clear Report Module 645981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 646981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param module_index - Index of file to be disable for reporting 647981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 648981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 649981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 650981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Disables the relevant module for reporting - according to the received module index 651981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 652981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_ClearReportModule (TI_HANDLE hReport, TI_UINT8 module_index); 653981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Get Report files Table 654981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 655981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pFiles - Pointer to output files Table 656981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 657981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 658981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 659981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Returns the Modules Table (the table which holds Modules reporting indication) held in Report Module Object 660981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 661981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_GetReportFilesTable (TI_HANDLE hReport, TI_UINT8 *pFiles); 662981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Set Report Files Table 663981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 664981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pFiles - Pointer to input files Table 665981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 666981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 667981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 668981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Updates the Modules Table: copies the input Modules Table (the table which holds Modules reporting indication) 669981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * to the Modules Table which is held in Report Module Object 670981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 671981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_SetReportFilesTable (TI_HANDLE hReport, TI_UINT8 *pFiles); 672981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Get Report Severity Table 673981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 674981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pSeverities - Pointer to input Severity Table 675981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 676981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 677981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 678981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Returns the Severities Table (the table which holds Severities reporting indication) held in Report Module Object 679981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 680981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_GetReportSeverityTable (TI_HANDLE hReport, TI_UINT8 *pSeverities); 681981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Set Report Severity Table 682981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 683981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pSeverities - Pointer to input Severity Table 684981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 685981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 686981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 687981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Updates the Severities Table: copies the input Severities Table (the table which holds Severities reporting indication) 688981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * to the Severities Table which is held in Report Module Object 689981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 690981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_SetReportSeverityTable (TI_HANDLE hReport, TI_UINT8 *pSeverities); 691981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Set Report Parameters 692981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 693981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pParam - Pointer to input Report Parameters Information 694981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 695981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 696981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 697981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Report set param function sets parameter/s to Report Module Object. 698981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Called by the following: 699981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - configuration Manager in order to set a parameter/s from the OS abstraction layer 700981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - Form inside the driver 701981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 702981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_SetParam (TI_HANDLE hReport, TReportParamInfo *pParam); 703981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Get Report Parameters 704981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param hReport - Report module object handle 705981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pParam - Pointer to output Report Parameters Information 706981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 707981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 708981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 709981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Report get param function gets parameter/s from Report Module Object. 710981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Called by the following: 711981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - configuration Manager in order to get a parameter/s from the OS abstraction layer 712981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * - from inside the driver 713981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 714981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_GetParam (TI_HANDLE hReport, TReportParamInfo *pParam); 715981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Report Dump 716981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pBuffer - Pointer to input HEX buffer 717981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pString - Pointer to output string 718981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param size - size of output string 719981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 720981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 721981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 722981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Converts hex buffer to string buffer 723981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * NOTE: 1. The caller has to make sure that the string size is at lease: ((Size * 2) + 1) 724981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 2. A string terminator is inserted into lase char of the string 725981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 726981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_Dump (TI_UINT8 *pBuffer, char *pString, TI_UINT32 size); 727981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Report Print Dump 728981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param pData - Pointer to input data buffer 729981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \param datalen - size of input data buffer 730981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \return TI_OK on success or TI_NOK on failure 731981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 732981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description 733981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Performs HEX dump of input Data buffer. Used for debug only! 734981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 735981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_STATUS report_PrintDump (TI_UINT8 *pData, TI_UINT32 datalen); 736981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 737981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \brief Sets bRedirectOutputToLogger 738981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \param value - True if to direct output to remote PC 739981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt* \param hEvHandler - Event handler 740981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt*/ 741981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid os_setDebugOutputToLogger(TI_BOOL value); 742981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 743981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 744981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* __REPORT_H__ */ 745981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 746981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 747