164064216a8433360745f69edddce19a606659163The Android Open Source Project/**************************************************************************** 264064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+** 364064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |** 564064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved. |** 664064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 764064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without |** 864064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions |** 964064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met: |** 1064064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1164064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Redistributions of source code must retain the above copyright |** 1264064216a8433360745f69edddce19a606659163The Android Open Source Project**| notice, this list of conditions and the following disclaimer. |** 1364064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Redistributions in binary form must reproduce the above copyright |** 1464064216a8433360745f69edddce19a606659163The Android Open Source Project**| notice, this list of conditions and the following disclaimer in |** 1564064216a8433360745f69edddce19a606659163The Android Open Source Project**| the documentation and/or other materials provided with the |** 1664064216a8433360745f69edddce19a606659163The Android Open Source Project**| distribution. |** 1764064216a8433360745f69edddce19a606659163The Android Open Source Project**| * Neither the name Texas Instruments nor the names of its |** 1864064216a8433360745f69edddce19a606659163The Android Open Source Project**| contributors may be used to endorse or promote products derived |** 1964064216a8433360745f69edddce19a606659163The Android Open Source Project**| from this software without specific prior written permission. |** 2064064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |** 2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |** 2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |** 2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |** 2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |** 2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |** 2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |** 2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |** 2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |** 3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |** 3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |** 3264064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 3364064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+** 3464064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/ 3564064216a8433360745f69edddce19a606659163The Android Open Source Project 3664064216a8433360745f69edddce19a606659163The Android Open Source Project/**************************************************************************** 3764064216a8433360745f69edddce19a606659163The Android Open Source Project * 3864064216a8433360745f69edddce19a606659163The Android Open Source Project * MODULE: whalTrace.h 3964064216a8433360745f69edddce19a606659163The Android Open Source Project * PURPOSE: Trace on Rx/Tx packets 4064064216a8433360745f69edddce19a606659163The Android Open Source Project * 4164064216a8433360745f69edddce19a606659163The Android Open Source Project ****************************************************************************/ 4264064216a8433360745f69edddce19a606659163The Android Open Source Project 4364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WHAL_TRACE_H 4464064216a8433360745f69edddce19a606659163The Android Open Source Project#define _WHAL_TRACE_H 4564064216a8433360745f69edddce19a606659163The Android Open Source Project 4664064216a8433360745f69edddce19a606659163The Android Open Source Project#include "whalCommon.h" 4764064216a8433360745f69edddce19a606659163The Android Open Source Project#include "whalHwDefs.h" 4864064216a8433360745f69edddce19a606659163The Android Open Source Project 4964064216a8433360745f69edddce19a606659163The Android Open Source Project 5064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef TIWLN_WINCE30 5164064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_MAX_EVENTS 2000 5264064216a8433360745f69edddce19a606659163The Android Open Source Project#else 5364064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_MAX_EVENTS 10 5464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 5564064216a8433360745f69edddce19a606659163The Android Open Source Project 5664064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_MAX_ACT_LEN 5 5764064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_MAX_OBJ_LEN 3 5864064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_HDR_LEN 2 5964064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRACER_MAX_STR_LEN 70 6064064216a8433360745f69edddce19a606659163The Android Open Source Project 6164064216a8433360745f69edddce19a606659163The Android Open Source Project 6264064216a8433360745f69edddce19a606659163The Android Open Source Project 6364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum 6464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 6564064216a8433360745f69edddce19a606659163The Android Open Source Project NUM_FREE_DESCRIPTOR, 6664064216a8433360745f69edddce19a606659163The Android Open Source Project DESCRIPTOR_OCCUPIED, 6764064216a8433360745f69edddce19a606659163The Android Open Source Project CLEAR_DESCRIPTORS, 6864064216a8433360745f69edddce19a606659163The Android Open Source Project FREE_BLOCKS, 6964064216a8433360745f69edddce19a606659163The Android Open Source Project} varSetType_e; 7064064216a8433360745f69edddce19a606659163The Android Open Source Project 7164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct 7264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 7364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 time; 7464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT16 MpduLen; 7564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 Ctl; 7664064216a8433360745f69edddce19a606659163The Android Open Source Project UINT16 Rate; 7764064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 Status[4]; 7864064216a8433360745f69edddce19a606659163The Android Open Source Project dot11_header_t FrameHeader; 7964064216a8433360745f69edddce19a606659163The Android Open Source Project int FrameData; 8064064216a8433360745f69edddce19a606659163The Android Open Source Project} TRACER_DATA; 8164064216a8433360745f69edddce19a606659163The Android Open Source Project 8264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct 8364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 8464064216a8433360745f69edddce19a606659163The Android Open Source Project char String[TRACER_MAX_STR_LEN]; 8564064216a8433360745f69edddce19a606659163The Android Open Source Project int IntValue; 8664064216a8433360745f69edddce19a606659163The Android Open Source Project} TRACER_CTRL; 8764064216a8433360745f69edddce19a606659163The Android Open Source Project 8864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct 8964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 9064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 TimStamp; 9164064216a8433360745f69edddce19a606659163The Android Open Source Project char Action[TRACER_MAX_ACT_LEN]; 9264064216a8433360745f69edddce19a606659163The Android Open Source Project char Object[TRACER_MAX_OBJ_LEN]; 9364064216a8433360745f69edddce19a606659163The Android Open Source Project 9464064216a8433360745f69edddce19a606659163The Android Open Source Project union 9564064216a8433360745f69edddce19a606659163The Android Open Source Project { 9664064216a8433360745f69edddce19a606659163The Android Open Source Project TRACER_DATA TrcData; 9764064216a8433360745f69edddce19a606659163The Android Open Source Project TRACER_CTRL TrcCtrl; 9864064216a8433360745f69edddce19a606659163The Android Open Source Project }Info; 9964064216a8433360745f69edddce19a606659163The Android Open Source Project 10064064216a8433360745f69edddce19a606659163The Android Open Source Project} TRACER_EVENT; 10164064216a8433360745f69edddce19a606659163The Android Open Source Project 10264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct _WhalTrace_T 10364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 10464064216a8433360745f69edddce19a606659163The Android Open Source Project int Enable; 10564064216a8433360745f69edddce19a606659163The Android Open Source Project int Idx; 10664064216a8433360745f69edddce19a606659163The Android Open Source Project int Num; 10764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TNETW_MASTER_MODE 10864064216a8433360745f69edddce19a606659163The Android Open Source Project TRACER_EVENT Evt[TRACER_MAX_EVENTS]; 10964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 11064064216a8433360745f69edddce19a606659163The Android Open Source Project void *hProtect; 11164064216a8433360745f69edddce19a606659163The Android Open Source Project short traceMask; 11264064216a8433360745f69edddce19a606659163The Android Open Source Project 11364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 MinNumDescriptorFree; 11464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 MacOccupiedDescriptor; 11564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 MaxClearDescriptor; 11664064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 MaxFreeBlks; 11764064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 BugCounter; 11864064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 reBug; 11964064216a8433360745f69edddce19a606659163The Android Open Source Project 12064064216a8433360745f69edddce19a606659163The Android Open Source Project 12164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_HANDLE hTNETWIF; 12264064216a8433360745f69edddce19a606659163The Android Open Source Project 12364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_HANDLE hOs; 12464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_HANDLE hReport; 12564064216a8433360745f69edddce19a606659163The Android Open Source Project} WhalTrace_T; 12664064216a8433360745f69edddce19a606659163The Android Open Source Project 12764064216a8433360745f69edddce19a606659163The Android Open Source Projectextern WhalTrace_T *whal_traceCreate(TI_HANDLE hOs); 12864064216a8433360745f69edddce19a606659163The Android Open Source Projectextern int whal_traceDestroy(WhalTrace_T *pTrc); 12964064216a8433360745f69edddce19a606659163The Android Open Source Projectextern int whal_traceConfig(WhalTrace_T *pTrc, TI_HANDLE hTNETWIF, TI_HANDLE hReport); 13064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TNETW_MASTER_MODE 13164064216a8433360745f69edddce19a606659163The Android Open Source Projectextern int whal_traceAddTx(WhalTrace_T *pTrc, HwTxDesc_T *pHwTxDesc, char *Action); 13264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 13364064216a8433360745f69edddce19a606659163The Android Open Source Projectextern int whal_traceIsEnable(WhalTrace_T *pTrc); 13464064216a8433360745f69edddce19a606659163The Android Open Source Projectextern void whal_traceEnable(WhalTrace_T *pTrc, int val); 13564064216a8433360745f69edddce19a606659163The Android Open Source Project 13664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 137