1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * TrafficMonitorAPI.h 3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved. 6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions 9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met: 10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions of source code must retain the above copyright 12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the documentation and/or other materials provided with the 16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * distribution. 17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * contributors may be used to endorse or promote products derived 19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * from this software without specific prior written permission. 20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/ 36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* MODULE: TrafficMonitor.h */ 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* PURPOSE: TrafficMonitor module Header file */ 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/ 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifndef _TRAFFIC_MONITOR_API_H 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define _TRAFFIC_MONITOR_API_H 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "DataCtrl_Api.h" 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "DrvMainModules.h" 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/ 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* call back functions prototype.*/ 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/**/ 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef void (*TraffEevntCall_t)(TI_HANDLE Context,TI_UINT32 Cookie); 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * This enum list all the available traffic monitor event 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * that a client can register to. 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef enum 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_ALL_MSDU_FRAMES =1, 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt RX_ALL_MSDU_FRAMES, 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_DIRECTED_FRAMES, 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_ALL_MSDU_FRAMES, 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_ALL_MSDU_IN_BYTES, 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_DIRECTED_IN_BYTES, 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_ALL_802_11_DATA_IN_BYTES, 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TX_RX_ALL_802_11_DATA_FRAMES 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} TraffEvntOptNum_t; 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef enum 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRAFF_EDGE = 0, 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRAFF_LEVEL 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}TraffTrigger_t; 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef enum 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRAFF_UP = 0, 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TRAFF_DOWN 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}TraffDirection_t; 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef struct 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /*initial param*/ 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TraffEevntCall_t CallBack; 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_HANDLE Context; 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 Cookie; 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TraffDirection_t Direction; 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TraffTrigger_t Trigger; 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt int Threshold; 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 TimeIntervalMs; 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TraffEvntOptNum_t MonitorType; 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt}TrafficAlertRegParm_t; 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*********************************************************************/ 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE TrafficMonitor_create(TI_HANDLE hOs); 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_Init (TStadHandlesList *pStadHandles, TI_UINT32 BWwindowMs); 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TrafficMonitor_Destroy(TI_HANDLE hTrafficMonitor); 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_HANDLE TrafficMonitor_RegEvent(TI_HANDLE hTrafficMonitor, TrafficAlertRegParm_t *TrafficAlertRegParm, TI_BOOL AutoResetCreate); 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TrafficMonitor_SetRstCondition(TI_HANDLE hTrafficMonitor,TI_HANDLE EventHandle,TI_HANDLE ResetEventHandle,TI_BOOL MutualRst); 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtint TrafficMonitor_GetFrameBandwidth(TI_HANDLE hTrafficMonitor); 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_UnregEvent(TI_HANDLE hTrafficMonitor, TI_HANDLE EventHandle); 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_Event(TI_HANDLE hTrafficMonitor,int Count,TI_UINT16 Mask,TI_UINT32 MonitorModuleType); 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_StopEventNotif(TI_HANDLE hTrafficMonitor,TI_HANDLE EventHandle); 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_StartEventNotif(TI_HANDLE hTrafficMonitor,TI_HANDLE EventHandle); 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid TrafficMonitor_ResetEvent(TI_HANDLE hTrafficMonitor, TI_HANDLE EventHandle); 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TrafficMonitor_Stop(TI_HANDLE hTrafficMonitor); 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS TrafficMonitor_Start(TI_HANDLE hTrafficMonitor); 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_BOOL TrafficMonitor_IsEventOn(TI_HANDLE EventHandle); 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 121