1/*
2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3 * All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * File: mib.h
20 *
21 * Purpose: Implement MIB Data Structure
22 *
23 * Author: Tevin Chen
24 *
25 * Date: May 21, 1996
26 *
27 */
28
29#ifndef __MIB_H__
30#define __MIB_H__
31
32#include "desc.h"
33
34//
35// 802.11 counter
36//
37
38typedef struct tagSDot11Counters {
39	unsigned long long   RTSSuccessCount;
40	unsigned long long   RTSFailureCount;
41	unsigned long long   ACKFailureCount;
42	unsigned long long   FCSErrorCount;
43} SDot11Counters, *PSDot11Counters;
44
45//
46// Custom counter
47//
48typedef struct tagSISRCounters {
49	unsigned long dwIsrTx0OK;
50	unsigned long dwIsrAC0TxOK;
51	unsigned long dwIsrBeaconTxOK;
52	unsigned long dwIsrRx0OK;
53	unsigned long dwIsrTBTTInt;
54	unsigned long dwIsrSTIMERInt;
55	unsigned long dwIsrWatchDog;
56	unsigned long dwIsrUnrecoverableError;
57	unsigned long dwIsrSoftInterrupt;
58	unsigned long dwIsrMIBNearfull;
59	unsigned long dwIsrRxNoBuf;
60
61	unsigned long dwIsrUnknown;
62
63	unsigned long dwIsrRx1OK;
64	unsigned long dwIsrSTIMER1Int;
65} SISRCounters, *PSISRCounters;
66
67//
68// statistic counter
69//
70typedef struct tagSStatCounter {
71	SISRCounters ISRStat;
72} SStatCounter, *PSStatCounter;
73
74void STAvUpdateIsrStatCounter(PSStatCounter pStatistic, unsigned long dwIsr);
75
76void STAvUpdate802_11Counter(
77	PSDot11Counters p802_11Counter,
78	PSStatCounter   pStatistic,
79	unsigned long dwCounter
80);
81
82#endif // __MIB_H__
83