AGENT++  4.0.3
snmp_counters.h
Go to the documentation of this file.
1 /*_############################################################################
2  _##
3  _## AGENT++ 4.0 - snmp_counters.h
4  _##
5  _## Copyright (C) 2000-2013 Frank Fock and Jochen Katz (agentpp.com)
6  _##
7  _## Licensed under the Apache License, Version 2.0 (the "License");
8  _## you may not use this file except in compliance with the License.
9  _## You may obtain a copy of the License at
10  _##
11  _## http://www.apache.org/licenses/LICENSE-2.0
12  _##
13  _## Unless required by applicable law or agreed to in writing, software
14  _## distributed under the License is distributed on an "AS IS" BASIS,
15  _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  _## See the License for the specific language governing permissions and
17  _## limitations under the License.
18  _##
19  _##########################################################################*/
20 
21 #ifndef snmp_counters_h_
22 #define snmp_counters_h_
23 
24 #include <agent_pp/agent++.h>
25 #include <agent_pp/snmp_pp_ext.h>
26 
27 #ifdef AGENTPP_NAMESPACE
28 namespace Agentpp {
29 #endif
30 
31 #define SNMP_COUNTERS 29
32 
33 
34 
35 /**********************************************************************
36  *
37  * class MibIIsnmpCounter
38  *
39  */
40 
42 
43 public:
45 
46  static NS_SNMP Counter32 inPkts() { return counter_snmp[0]; }
47  static NS_SNMP Counter32 outPkts() { return counter_snmp[1]; }
48  static NS_SNMP Counter32 inBadVersions() { return counter_snmp[2]; }
49  static NS_SNMP Counter32 inBadCommunityNames() { return counter_snmp[3]; }
50  static NS_SNMP Counter32 inBadCommunityUses() { return counter_snmp[4]; }
51  static NS_SNMP Counter32 inASNParseErrs() { return counter_snmp[5]; }
52  static NS_SNMP Counter32 inTooBigs() { return counter_snmp[6]; }
53  static NS_SNMP Counter32 inNoSuchNames() { return counter_snmp[7]; }
54  static NS_SNMP Counter32 inBadValues() { return counter_snmp[8]; }
55  static NS_SNMP Counter32 inReadOnlys() { return counter_snmp[9]; }
56  static NS_SNMP Counter32 inGenErrs() { return counter_snmp[10]; }
57  static NS_SNMP Counter32 inTotalReqVars() { return counter_snmp[11]; }
58  static NS_SNMP Counter32 inTotalSetVars() { return counter_snmp[12]; }
59  static NS_SNMP Counter32 inGetRequests() { return counter_snmp[13]; }
60  static NS_SNMP Counter32 inGetNexts() { return counter_snmp[14]; }
61  static NS_SNMP Counter32 inSetRequests() { return counter_snmp[15]; }
62  static NS_SNMP Counter32 inGetResponses() { return counter_snmp[16]; }
63  static NS_SNMP Counter32 inTraps() { return counter_snmp[17]; }
64  static NS_SNMP Counter32 outTooBigs() { return counter_snmp[18]; }
65  static NS_SNMP Counter32 outNoSuchNames() { return counter_snmp[19]; }
66  static NS_SNMP Counter32 outBadValues() { return counter_snmp[20]; }
67  static NS_SNMP Counter32 outGenErrs() { return counter_snmp[21]; }
68  static NS_SNMP Counter32 outGetRequests() { return counter_snmp[22]; }
69  static NS_SNMP Counter32 outGetNexts() { return counter_snmp[23]; }
70  static NS_SNMP Counter32 outSetRequests() { return counter_snmp[24]; }
71  static NS_SNMP Counter32 outGetResponses() { return counter_snmp[25]; }
72  static NS_SNMP Counter32 outTraps() { return counter_snmp[26]; }
73  static NS_SNMP Counter32 silentDrops() { return counter_snmp[27]; }
74  static NS_SNMP Counter32 proxyDrops() { return counter_snmp[28]; }
75 
76 
77  static void incInPkts() { counter_snmp[0]++; }
78  static void incOutPkts() { counter_snmp[1]++; }
79  static void incInBadVersions() { counter_snmp[2]++; }
80  static void incInBadCommunityNames() { counter_snmp[3]++; }
81  static void incInBadCommunityUses(){ counter_snmp[4]++; }
82  static void incInASNParseErrs() { counter_snmp[5]++; }
83  static void incInTooBigs() { counter_snmp[6]++; }
84  static void incInNoSuchNames() { counter_snmp[7]++; }
85  static void incInBadValues() { counter_snmp[8]++; }
86  static void incInReadOnlys() { counter_snmp[9]++; }
87  static void incInGenErrs() { counter_snmp[10]++; }
88  static void incInTotalReqVars() { counter_snmp[11]++; }
89  static void incInTotalSetVars() { counter_snmp[12]++; }
90  static void incInGetRequests() { counter_snmp[13]++; }
91  static void incInGetNexts() { counter_snmp[14]++; }
92  static void incInSetRequests() { counter_snmp[15]++; }
93  static void incInGetResponses() { counter_snmp[16]++; }
94  static void incInTraps() { counter_snmp[17]++; }
95  static void incOutTooBigs() { counter_snmp[18]++; }
96  static void incOutNoSuchNames() { counter_snmp[19]++; }
97  static void incOutBadValues() { counter_snmp[20]++; }
98  static void incOutGenErrs() { counter_snmp[21]++; }
99  static void incOutGetRequests() { counter_snmp[22]++; }
100  static void incOutGetNexts() { counter_snmp[23]++; }
101  static void incOutSetRequests() { counter_snmp[24]++; }
102  static void incOutGetResponses() { counter_snmp[25]++; }
103  static void incOutTraps() { counter_snmp[26]++; }
104  static void incSilentDrops() { counter_snmp[27]++; }
105  static void incProxyDrops() { counter_snmp[28]++; }
106 
107  // set all counters to zero
108  static void reset();
109 
110 protected:
111  static unsigned long counter_snmp[];
112 };
113 
114 #ifdef AGENTPP_NAMESPACE
115 }
116 #endif
117 #endif