Kernel  |  3.10

下载     查看原文件
C++程序  |  67行  |  1.71 KB
/*****************************************************************************

            (c) Cambridge Silicon Radio Limited 2011
            All rights reserved and confidential information of CSR

            Refer to LICENSE.txt included with this source for details
            on the license terms.

*****************************************************************************/

/*
 * ---------------------------------------------------------------------------
 *  FILE:     csr_wifi_hip_ta_sampling.h
 *
 *  PURPOSE:
 *      This file contains Traffic Analysis definitions common to the
 *      sampling and analysis modules.
 *
 * ---------------------------------------------------------------------------
 */
#ifndef __TA_SAMPLING_H__
#define __TA_SAMPLING_H__

#include "csr_wifi_hip_unifi.h"

typedef struct ta_l4stats
{
    u32 rxTcpBytesCount;
    u32 txTcpBytesCount;
    u32 rxUdpBytesCount;
    u32 txUdpBytesCount;
} ta_l4stats_t;

/*
 * Context structure to preserve state between calls.
 */

typedef struct ta_data
{
    /* Current packet filter configuration */
    u16 packet_filter;

    /* Current packet custom filter configuration */
    CsrWifiRouterCtrlTrafficFilter custom_filter;

    /* The timestamp of the last tx packet processed. */
    u32 tx_last_ts;

    /* The timestamp of the last packet processed. */
    u32 last_indication_time;

    /* Statistics */
    CsrWifiRouterCtrlTrafficStats stats;

    /* Current traffic classification */
    CsrWifiRouterCtrlTrafficType traffic_type;

    /* Sum of packet rx rates for this interval used to calculate mean */
    u32    rx_sum_rate;
    ta_l4stats_t ta_l4stats;
} ta_data_t;


void unifi_ta_sampling_init(card_t *card);

#endif /* __TA_SAMPLING_H__ */