summaryrefslogtreecommitdiffstats
path: root/drivers/staging/csr/csr_wifi_hip_ta_sampling.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/csr/csr_wifi_hip_ta_sampling.h')
-rw-r--r--drivers/staging/csr/csr_wifi_hip_ta_sampling.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/drivers/staging/csr/csr_wifi_hip_ta_sampling.h b/drivers/staging/csr/csr_wifi_hip_ta_sampling.h
new file mode 100644
index 000000000000..46c630b4beea
--- /dev/null
+++ b/drivers/staging/csr/csr_wifi_hip_ta_sampling.h
@@ -0,0 +1,75 @@
+/*****************************************************************************
+
+ (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__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#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);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TA_SAMPLING_H__ */