mib2_module.h
Go to the documentation of this file.
1 /**
2  * @file mib2_module.h
3  * @brief MIB-II module
4  *
5  * @section License
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  *
9  * Copyright (C) 2010-2023 Oryx Embedded SARL. All rights reserved.
10  *
11  * This file is part of CycloneTCP Open.
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software Foundation,
25  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26  *
27  * @author Oryx Embedded SARL (www.oryx-embedded.com)
28  * @version 2.2.2
29  **/
30 
31 #ifndef _MIB2_MODULE_H
32 #define _MIB2_MODULE_H
33 
34 //Dependencies
35 #include "core/net.h"
36 #include "core/udp.h"
37 #include "core/tcp.h"
38 #include "ipv4/ipv4.h"
39 #include "mibs/mib_common.h"
40 
41 //MIB-II module support
42 #ifndef MIB2_SUPPORT
43  #define MIB2_SUPPORT DISABLED
44 #elif (MIB2_SUPPORT != ENABLED && MIB2_SUPPORT != DISABLED)
45  #error MIB2_SUPPORT parameter is not valid
46 #endif
47 
48 //System group support
49 #ifndef MIB2_SYS_GROUP_SUPPORT
50  #define MIB2_SYS_GROUP_SUPPORT ENABLED
51 #elif (MIB2_SYS_GROUP_SUPPORT != ENABLED && MIB2_SYS_GROUP_SUPPORT != DISABLED)
52  #error MIB2_SYS_GROUP_SUPPORT parameter is not valid
53 #endif
54 
55 //Interface group support
56 #ifndef MIB2_IF_GROUP_SUPPORT
57  #define MIB2_IF_GROUP_SUPPORT ENABLED
58 #elif (MIB2_IF_GROUP_SUPPORT != ENABLED && MIB2_IF_GROUP_SUPPORT != DISABLED)
59  #error MIB2_IF_GROUP_SUPPORT parameter is not valid
60 #endif
61 
62 //IP group support
63 #ifndef MIB2_IP_GROUP_SUPPORT
64  #define MIB2_IP_GROUP_SUPPORT ENABLED
65 #elif (MIB2_IP_GROUP_SUPPORT != ENABLED && MIB2_IP_GROUP_SUPPORT != DISABLED)
66  #error MIB2_IP_GROUP_SUPPORT parameter is not valid
67 #endif
68 
69 //ICMP group support
70 #ifndef MIB2_ICMP_GROUP_SUPPORT
71  #define MIB2_ICMP_GROUP_SUPPORT ENABLED
72 #elif (MIB2_ICMP_GROUP_SUPPORT != ENABLED && MIB2_ICMP_GROUP_SUPPORT != DISABLED)
73  #errorMIB2_ICMP_GROUP_SUPPORT parameter is not valid
74 #endif
75 
76 //TCP group support
77 #ifndef MIB2_TCP_GROUP_SUPPORT
78  #define MIB2_TCP_GROUP_SUPPORT ENABLED
79 #elif (MIB2_TCP_GROUP_SUPPORT != ENABLED && MIB2_TCP_GROUP_SUPPORT != DISABLED)
80  #error MIB2_TCP_GROUP_SUPPORT parameter is not valid
81 #endif
82 
83 //UDP group support
84 #ifndef MIB2_UDP_GROUP_SUPPORT
85  #define MIB2_UDP_GROUP_SUPPORT ENABLED
86 #elif (MIB2_UDP_GROUP_SUPPORT != ENABLED && MIB2_UDP_GROUP_SUPPORT != DISABLED)
87  #error MIB2_UDP_GROUP_SUPPORT parameter is not valid
88 #endif
89 
90 //SNMP group support
91 #ifndef MIB2_SNMP_GROUP_SUPPORT
92  #define MIB2_SNMP_GROUP_SUPPORT ENABLED
93 #elif (MIB2_SNMP_GROUP_SUPPORT != ENABLED && MIB2_SNMP_GROUP_SUPPORT != DISABLED)
94  #error MIB2_SNMP_GROUP_SUPPORT parameter is not valid
95 #endif
96 
97 //Size of sysDescr object
98 #ifndef MIB2_SYS_DESCR_SIZE
99  #define MIB2_SYS_DESCR_SIZE 16
100 #elif (MIB2_SYS_DESCR_SIZE < 0)
101  #error MIB2_SYS_DESCR_SIZE parameter is not valid
102 #endif
103 
104 //Size of sysObjectID object
105 #ifndef MIB2_SYS_OBJECT_ID_SIZE
106  #define MIB2_SYS_OBJECT_ID_SIZE 16
107 #elif (MIB2_SYS_OBJECT_ID_SIZE < 0)
108  #error MIB2_SYS_OBJECT_ID_SIZE parameter is not valid
109 #endif
110 
111 //Size of sysContact object
112 #ifndef MIB2_SYS_CONTACT_SIZE
113  #define MIB2_SYS_CONTACT_SIZE 16
114 #elif (MIB2_SYS_CONTACT_SIZE < 0)
115  #error MIB2_SYS_CONTACT_SIZE parameter is not valid
116 #endif
117 
118 //Size of sysName object
119 #ifndef MIB2_SYS_NAME_SIZE
120  #define MIB2_SYS_NAME_SIZE 16
121 #elif (MIB2_SYS_NAME_SIZE < 0)
122  #error MIB2_SYS_NAME_SIZE parameter is not valid
123 #endif
124 
125 //Size of sysLocation object
126 #ifndef MIB2_SYS_LOCATION_SIZE
127  #define MIB2_SYS_LOCATION_SIZE 16
128 #elif (MIB2_SYS_LOCATION_SIZE < 0)
129  #error MIB2_SYS_LOCATION_SIZE parameter is not valid
130 #endif
131 
132 //Size of ifSpecific object
133 #ifndef MIB2_IF_SPECIFIC_SIZE
134  #define MIB2_IF_SPECIFIC_SIZE 16
135 #elif (MIB2_IF_SPECIFIC_SIZE < 1)
136  #error MIB2_IF_SPECIFIC_SIZE parameter is not valid
137 #endif
138 
139 //Size of PhysAddress data type
140 #ifndef MIB2_PHYS_ADDRESS_SIZE
141  #define MIB2_PHYS_ADDRESS_SIZE 6
142 #elif (MIB2_PHYS_ADDRESS_SIZE < 6)
143  #error MIB2_PHYS_ADDRESS_SIZE parameter is not valid
144 #endif
145 
146 //Size of IpAddress data type
147 #ifndef MIB2_IP_ADDRESS_SIZE
148  #define MIB2_IP_ADDRESS_SIZE 4
149 #elif (MIB2_IP_ADDRESS_SIZE != 4)
150  #error MIB2_IP_ADDRESS_SIZE parameter is not valid
151 #endif
152 
153 //Macro definitions (Interface group)
154 #if (MIB2_SUPPORT == ENABLED && MIB2_IF_GROUP_SUPPORT == ENABLED)
155  #define MIB2_IF_SET_TIME_TICKS(name, value) mib2Base.ifGroup.name = value
156  #define MIB2_IF_INC_COUNTER32(name, value) mib2Base.ifGroup.name += value
157 #else
158  #define MIB2_IF_SET_TIME_TICKS(name, value)
159  #define MIB2_IF_INC_COUNTER32(name, value)
160 #endif
161 
162 //Macro definitions (IP group)
163 #if (MIB2_SUPPORT == ENABLED && MIB2_IP_GROUP_SUPPORT == ENABLED)
164  #define MIB2_IP_INC_COUNTER32(name, value) mib2Base.ipGroup.name += value
165 #else
166  #define MIB2_IP_INC_COUNTER32(name, value)
167 #endif
168 
169 //Macro definitions (ICMP group)
170 #if (MIB2_SUPPORT == ENABLED && MIB2_ICMP_GROUP_SUPPORT == ENABLED)
171  #define MIB2_ICMP_INC_COUNTER32(name, value) mib2Base.icmpGroup.name += value
172 #else
173  #define MIB2_ICMP_INC_COUNTER32(name, value)
174 #endif
175 
176 //Macro definitions (TCP group)
177 #if (MIB2_SUPPORT == ENABLED && MIB2_TCP_GROUP_SUPPORT == ENABLED)
178  #define MIB2_TCP_INC_COUNTER32(name, value) mib2Base.tcpGroup.name += value
179 #else
180  #define MIB2_TCP_INC_COUNTER32(name, value)
181 #endif
182 
183 //Macro definitions (UDP group)
184 #if (MIB2_SUPPORT == ENABLED && MIB2_UDP_GROUP_SUPPORT == ENABLED)
185  #define MIB2_UDP_INC_COUNTER32(name, value) mib2Base.udpGroup.name += value
186 #else
187  #define MIB2_UDP_INC_COUNTER32(name, value)
188 #endif
189 
190 //Macro definitions (SNMP group)
191 #if (MIB2_SUPPORT == ENABLED && MIB2_SNMP_GROUP_SUPPORT == ENABLED)
192  #define MIB2_SNMP_INC_COUNTER32(name, value) mib2Base.snmpGroup.name += value
193 #else
194  #define MIB2_SNMP_INC_COUNTER32(name, value)
195 #endif
196 
197 //C++ guard
198 #ifdef __cplusplus
199 extern "C" {
200 #endif
201 
202 
203 /**
204  * @brief System services
205  **/
206 
207 typedef enum
208 {
215 
216 
217 /**
218  * @brief Interface types
219  **/
220 
221 typedef enum
222 {
240 
241 
242 /**
243  * @brief The desired state of the interface
244  **/
245 
246 typedef enum
247 {
252 
253 
254 /**
255  * @brief The operational state of the interface
256  **/
257 
258 typedef enum
259 {
264 
265 
266 /**
267  * @brief IP forwarding state
268  **/
269 
270 typedef enum
271 {
275 
276 
277 /**
278  * @brief Type of mapping
279  **/
280 
281 typedef enum
282 {
288 
289 
290 /**
291  * @brief RTO calculation algorithm
292  **/
293 
294 typedef enum
295 {
301 
302 
303 /**
304  * @brief TCP connection states
305  **/
306 
307 typedef enum
308 {
322 
323 
324 /**
325  * @brief Enabled/disabled state of authentication failure traps
326  **/
327 
328 typedef enum
329 {
333 
334 
335 /**
336  * @brief System group
337  **/
338 
339 typedef struct
340 {
341 #if (MIB2_SYS_DESCR_SIZE > 0)
343  size_t sysDescrLen;
344 #endif
345 #if (MIB2_SYS_OBJECT_ID_SIZE > 0)
346  uint8_t sysObjectID[MIB2_SYS_OBJECT_ID_SIZE];
348 #endif
349  uint32_t sysUpTime;
350 #if (MIB2_SYS_CONTACT_SIZE > 0)
353 #endif
354 #if (MIB2_SYS_NAME_SIZE > 0)
356  size_t sysNameLen;
357 #endif
358 #if (MIB2_SYS_LOCATION_SIZE > 0)
361 #endif
362  int32_t sysServices;
363 } Mib2SysGroup;
364 
365 
366 /**
367  * @brief Interfaces table entry
368  **/
369 
370 typedef struct
371 {
372  uint32_t ifLastChange;
373  uint32_t ifInOctets;
374  uint32_t ifInUcastPkts;
375  uint32_t ifInNUcastPkts;
376  uint32_t ifInDiscards;
377  uint32_t ifInErrors;
379  uint32_t ifOutOctets;
380  uint32_t ifOutUcastPkts;
381  uint32_t ifOutNUcastPkts;
382  uint32_t ifOutDiscards;
383  uint32_t ifOutErrors;
384  uint32_t ifOutQLen;
385  uint8_t ifSpecific[MIB2_IF_SPECIFIC_SIZE];
387 } Mib2IfEntry;
388 
389 
390 /**
391  * @brief Interfaces group
392  **/
393 
394 typedef struct
395 {
396  int32_t ifNumber;
398 } Mib2IfGroup;
399 
400 
401 /**
402  * @brief IP group
403  **/
404 
405 typedef struct
406 {
407  int32_t ipForwarding;
408  int32_t ipDefaultTTL;
409  uint32_t ipInReceives;
410  uint32_t ipInHdrErrors;
411  uint32_t ipInAddrErrors;
412  uint32_t ipForwDatagrams;
414  uint32_t ipInDiscards;
415  uint32_t ipInDelivers;
416  uint32_t ipOutRequests;
417  uint32_t ipOutDiscards;
418  uint32_t ipOutNoRoutes;
419  int32_t ipReasmTimeout;
420  uint32_t ipReasmReqds;
421  uint32_t ipReasmOKs;
422  uint32_t ipReasmFails;
423  uint32_t ipFragOKs;
424  uint32_t ipFragFails;
425  uint32_t ipFragCreates;
427 } Mib2IpGroup;
428 
429 
430 /**
431  * @brief ICMP group
432  **/
433 
434 typedef struct
435 {
436  uint32_t icmpInMsgs;
437  uint32_t icmpInErrors;
439  uint32_t icmpInTimeExcds;
440  uint32_t icmpInParmProbs;
442  uint32_t icmpInRedirects;
443  uint32_t icmpInEchos;
444  uint32_t icmpInEchoReps;
447  uint32_t icmpInAddrMasks;
449  uint32_t icmpOutMsgs;
450  uint32_t icmpOutErrors;
456  uint32_t icmpOutEchos;
457  uint32_t icmpOutEchoReps;
462 } Mib2IcmpGroup;
463 
464 
465 /**
466  * @brief TCP group
467  **/
468 
469 typedef struct
470 {
472  int32_t tcpRtoMin;
473  int32_t tcpRtoMax;
474  int32_t tcpMaxConn;
475  uint32_t tcpActiveOpens;
476  uint32_t tcpPassiveOpens;
477  uint32_t tcpAttemptFails;
478  uint32_t tcpEstabResets;
479  uint32_t tcpInSegs;
480  uint32_t tcpOutSegs;
481  uint32_t tcpRetransSegs;
482  uint32_t tcpInErrs;
483  uint32_t tcpOutRsts;
484 } Mib2TcpGroup;
485 
486 
487 /**
488  * @brief UDP group
489  **/
490 
491 typedef struct
492 {
493  uint32_t udpInDatagrams;
494  uint32_t udpNoPorts;
495  uint32_t udpInErrors;
496  uint32_t udpOutDatagrams;
497 } Mib2UdpGroup;
498 
499 
500 /**
501  * @brief SNMP group
502  **/
503 
504 typedef struct
505 {
506  uint32_t snmpInPkts;
507  uint32_t snmpOutPkts;
512  uint32_t snmpInTooBigs;
514  uint32_t snmpInBadValues;
515  uint32_t snmpInReadOnlys;
516  uint32_t snmpInGenErrs;
520  uint32_t snmpInGetNexts;
523  uint32_t snmpInTraps;
524  uint32_t snmpOutTooBigs;
527  uint32_t snmpOutGenErrs;
529  uint32_t snmpOutGetNexts;
532  uint32_t snmpOutTraps;
534 } Mib2SnmpGroup;
535 
536 
537 /**
538  * @brief MIB-II base
539  **/
540 
541 typedef struct
542 {
543 #if (MIB2_SYS_GROUP_SUPPORT == ENABLED)
545 #endif
546 #if (MIB2_IF_GROUP_SUPPORT == ENABLED)
548 #endif
549 #if (MIB2_IP_GROUP_SUPPORT == ENABLED)
551 #endif
552 #if (MIB2_ICMP_GROUP_SUPPORT == ENABLED)
554 #endif
555 #if (MIB2_TCP_GROUP_SUPPORT == ENABLED)
557 #endif
558 #if (MIB2_UDP_GROUP_SUPPORT == ENABLED)
560 #endif
561 #if (MIB2_SNMP_GROUP_SUPPORT == ENABLED)
563 #endif
564 } Mib2Base;
565 
566 
567 //MIB-II related constants
568 extern Mib2Base mib2Base;
569 extern const MibObject mib2Objects[];
570 extern const MibModule mib2Module;
571 
572 //C++ guard
573 #ifdef __cplusplus
574 }
575 #endif
576 
577 #endif
SNMP group.
Definition: mib2_module.h:505
@ MIB2_IF_TYPE_OTHER
Definition: mib2_module.h:223
Interfaces table entry.
Definition: mib2_module.h:371
uint32_t icmpInDestUnreachs
Definition: mib2_module.h:438
uint32_t ipInAddrErrors
Definition: mib2_module.h:411
uint32_t icmpOutEchoReps
Definition: mib2_module.h:457
uint32_t icmpOutErrors
Definition: mib2_module.h:450
uint32_t snmpInTooBigs
Definition: mib2_module.h:512
@ MIB2_TCP_CONN_STATE_FIN_WAIT_2
Definition: mib2_module.h:315
uint32_t ipOutDiscards
Definition: mib2_module.h:417
@ MIB2_IF_TYPE_PROP_PTP_SERIAL
Definition: mib2_module.h:225
ICMP group.
Definition: mib2_module.h:435
Interfaces group.
Definition: mib2_module.h:395
Mib2IfAdminStatus
The desired state of the interface.
Definition: mib2_module.h:247
uint32_t snmpInBadVersions
Definition: mib2_module.h:508
uint32_t ifInDiscards
Definition: mib2_module.h:376
@ MIB2_SYS_SERVICE_PHYSICAL
Definition: mib2_module.h:209
#define MIB2_SYS_LOCATION_SIZE
Definition: mib2_module.h:127
@ MIB2_IF_TYPE_L2_VLAN
Definition: mib2_module.h:234
uint32_t ipFragFails
Definition: mib2_module.h:424
uint32_t ipForwDatagrams
Definition: mib2_module.h:412
uint32_t icmpOutAddrMasks
Definition: mib2_module.h:460
uint32_t icmpInMsgs
Definition: mib2_module.h:436
uint32_t ifOutDiscards
Definition: mib2_module.h:382
uint32_t icmpOutTimestampReps
Definition: mib2_module.h:459
uint32_t icmpInEchos
Definition: mib2_module.h:443
@ MIB2_TCP_CONN_STATE_CLOSE_WAIT
Definition: mib2_module.h:316
uint32_t ipInHdrErrors
Definition: mib2_module.h:410
int32_t sysServices
Definition: mib2_module.h:362
#define MIB2_SYS_DESCR_SIZE
Definition: mib2_module.h:99
@ MIB2_SYS_SERVICE_APPLICATIONS
Definition: mib2_module.h:213
@ MIB2_TCP_RTO_ALGORITHM_OTHER
Definition: mib2_module.h:296
@ MIB2_IF_TYPE_ETHERNET_CSMACD
Definition: mib2_module.h:224
uint32_t snmpOutPkts
Definition: mib2_module.h:507
uint32_t ifInUcastPkts
Definition: mib2_module.h:374
uint32_t snmpOutGetNexts
Definition: mib2_module.h:529
@ MIB2_IF_TYPE_PPP
Definition: mib2_module.h:226
Mib2IpForwarding
IP forwarding state.
Definition: mib2_module.h:271
uint32_t ipReasmReqds
Definition: mib2_module.h:420
@ MIB2_TCP_CONN_STATE_CLOSING
Definition: mib2_module.h:318
#define MIB2_SYS_NAME_SIZE
Definition: mib2_module.h:120
uint32_t tcpOutSegs
Definition: mib2_module.h:480
int32_t snmpEnableAuthenTraps
Definition: mib2_module.h:533
uint32_t snmpInTotalReqVars
Definition: mib2_module.h:517
uint32_t icmpInRedirects
Definition: mib2_module.h:442
@ MIB2_IF_TYPE_BRIDGE
Definition: mib2_module.h:237
Mib2EnableAuthenTraps
Enabled/disabled state of authentication failure traps.
Definition: mib2_module.h:329
uint32_t snmpInGetResponses
Definition: mib2_module.h:522
#define NET_INTERFACE_COUNT
Definition: net.h:113
@ MIB2_IF_TYPE_IEEE_802_15_4
Definition: mib2_module.h:238
uint32_t icmpInTimestamps
Definition: mib2_module.h:445
uint32_t ifOutUcastPkts
Definition: mib2_module.h:380
uint32_t snmpInPkts
Definition: mib2_module.h:506
@ MIB2_IP_NET_TO_MEDIA_TYPE_INVALID
Definition: mib2_module.h:284
@ MIB2_IP_FORWARDING_DISABLED
Definition: mib2_module.h:273
uint32_t udpOutDatagrams
Definition: mib2_module.h:496
int32_t tcpRtoMin
Definition: mib2_module.h:472
uint32_t ipFragCreates
Definition: mib2_module.h:425
uint32_t snmpInTotalSetVars
Definition: mib2_module.h:518
uint32_t ipReasmOKs
Definition: mib2_module.h:421
Mib2IfType
Interface types.
Definition: mib2_module.h:222
size_t sysObjectIDLen
Definition: mib2_module.h:347
uint32_t icmpOutTimeExcds
Definition: mib2_module.h:452
@ MIB2_TCP_CONN_STATE_LISTEN
Definition: mib2_module.h:310
Mib2IcmpGroup icmpGroup
Definition: mib2_module.h:553
uint32_t snmpInASNParseErrs
Definition: mib2_module.h:511
int32_t ipReasmTimeout
Definition: mib2_module.h:419
@ MIB2_TCP_CONN_STATE_DELETE_TCB
Definition: mib2_module.h:320
uint32_t icmpOutAddrMaskReps
Definition: mib2_module.h:461
uint32_t snmpInBadValues
Definition: mib2_module.h:514
uint32_t tcpOutRsts
Definition: mib2_module.h:483
uint32_t snmpInNoSuchNames
Definition: mib2_module.h:513
uint32_t ipInDiscards
Definition: mib2_module.h:414
@ MIB2_IF_ADMIN_STATUS_UP
Definition: mib2_module.h:248
Mib2TcpGroup tcpGroup
Definition: mib2_module.h:556
uint32_t ifInNUcastPkts
Definition: mib2_module.h:375
uint32_t tcpAttemptFails
Definition: mib2_module.h:477
uint32_t udpInDatagrams
Definition: mib2_module.h:493
int32_t ifNumber
Definition: mib2_module.h:396
uint32_t snmpOutSetRequests
Definition: mib2_module.h:530
@ MIB2_IF_TYPE_RS232
Definition: mib2_module.h:229
Mib2UdpGroup udpGroup
Definition: mib2_module.h:559
uint32_t ifOutNUcastPkts
Definition: mib2_module.h:381
uint32_t icmpOutDestUnreachs
Definition: mib2_module.h:451
uint32_t icmpInErrors
Definition: mib2_module.h:437
TCP group.
Definition: mib2_module.h:470
uint32_t icmpInEchoReps
Definition: mib2_module.h:444
uint32_t tcpRetransSegs
Definition: mib2_module.h:481
Mib2IfGroup ifGroup
Definition: mib2_module.h:547
@ MIB2_IF_TYPE_TUNNEL
Definition: mib2_module.h:233
uint32_t tcpEstabResets
Definition: mib2_module.h:478
@ MIB2_SYS_SERVICE_INTERNET
Definition: mib2_module.h:211
@ MIB2_IF_TYPE_HDLC
Definition: mib2_module.h:232
uint32_t icmpInSrcQuenchs
Definition: mib2_module.h:441
@ MIB2_TCP_CONN_STATE_FIN_WAIT_1
Definition: mib2_module.h:314
uint32_t ifOutErrors
Definition: mib2_module.h:383
@ MIB2_AUTHEN_TRAPS_DISABLED
Definition: mib2_module.h:331
@ MIB2_IF_OPER_STATUS_DOWN
Definition: mib2_module.h:261
@ MIB2_AUTHEN_TRAPS_ENABLED
Definition: mib2_module.h:330
#define MIB2_SYS_CONTACT_SIZE
Definition: mib2_module.h:113
uint32_t ipFragOKs
Definition: mib2_module.h:423
Mib2Base mib2Base
MIB-II base.
Definition: mib2_module.c:63
uint32_t icmpInTimeExcds
Definition: mib2_module.h:439
@ MIB2_TCP_CONN_STATE_LAST_ACK
Definition: mib2_module.h:317
uint32_t ipInUnknownProtos
Definition: mib2_module.h:413
@ MIB2_IF_TYPE_PARA
Definition: mib2_module.h:230
uint32_t icmpInTimestampReps
Definition: mib2_module.h:446
size_t sysContactLen
Definition: mib2_module.h:352
int32_t tcpRtoMax
Definition: mib2_module.h:473
uint32_t icmpOutTimestamps
Definition: mib2_module.h:458
uint32_t ifLastChange
Definition: mib2_module.h:372
uint32_t snmpOutTooBigs
Definition: mib2_module.h:524
Mib2IfOperStatus
The operational state of the interface.
Definition: mib2_module.h:259
@ MIB2_IF_ADMIN_STATUS_DOWN
Definition: mib2_module.h:249
@ MIB2_IP_FORWARDING_ENABLED
Definition: mib2_module.h:272
uint32_t snmpInGetNexts
Definition: mib2_module.h:520
uint32_t snmpInBadCommunityUses
Definition: mib2_module.h:510
MIB module.
Definition: mib_common.h:288
uint32_t sysUpTime
Definition: mib2_module.h:349
Mib2TcpConnState
TCP connection states.
Definition: mib2_module.h:308
@ MIB2_IP_NET_TO_MEDIA_TYPE_OTHER
Definition: mib2_module.h:283
uint32_t tcpInSegs
Definition: mib2_module.h:479
@ MIB2_IF_TYPE_SOFT_LOOPBACK
Definition: mib2_module.h:227
uint32_t icmpOutMsgs
Definition: mib2_module.h:449
uint32_t ifInUnknownProtos
Definition: mib2_module.h:378
size_t sysLocationLen
Definition: mib2_module.h:360
uint32_t icmpOutRedirects
Definition: mib2_module.h:455
@ MIB2_SYS_SERVICE_DATALINK
Definition: mib2_module.h:210
@ MIB2_TCP_CONN_STATE_CLOSED
Definition: mib2_module.h:309
uint32_t snmpOutNoSuchNames
Definition: mib2_module.h:525
uint32_t icmpInAddrMasks
Definition: mib2_module.h:447
uint32_t snmpOutGetRequests
Definition: mib2_module.h:528
int32_t ipDefaultTTL
Definition: mib2_module.h:408
char char_t
Definition: compiler_port.h:48
uint32_t icmpInAddrMaskReps
Definition: mib2_module.h:448
Mib2IpGroup ipGroup
Definition: mib2_module.h:550
Common definitions for MIB modules.
TCP (Transmission Control Protocol)
@ MIB2_TCP_RTO_ALGORITHM_CONSTANT
Definition: mib2_module.h:297
uint32_t tcpInErrs
Definition: mib2_module.h:482
uint32_t snmpInGenErrs
Definition: mib2_module.h:516
uint32_t snmpInTraps
Definition: mib2_module.h:523
uint32_t snmpOutGetResponses
Definition: mib2_module.h:531
uint32_t ifOutOctets
Definition: mib2_module.h:379
@ MIB2_SYS_SERVICE_END_TO_END
Definition: mib2_module.h:212
UDP (User Datagram Protocol)
uint32_t ipInReceives
Definition: mib2_module.h:409
@ MIB2_TCP_RTO_ALGORITHM_VANJ
Definition: mib2_module.h:299
uint32_t icmpOutParmProbs
Definition: mib2_module.h:453
int32_t tcpMaxConn
Definition: mib2_module.h:474
#define MibObject
Definition: mib_common.h:46
Mib2TcpRtoAlgorithm
RTO calculation algorithm.
Definition: mib2_module.h:295
@ MIB2_IF_ADMIN_STATUS_TESTING
Definition: mib2_module.h:250
uint32_t icmpOutSrcQuenchs
Definition: mib2_module.h:454
const MibModule mib2Module
MIB-II module.
Definition: mib2_module.c:2210
@ MIB2_TCP_CONN_STATE_TIME_WAIT
Definition: mib2_module.h:319
Mib2IpNetToMediaType
Type of mapping.
Definition: mib2_module.h:282
uint32_t ifInOctets
Definition: mib2_module.h:373
uint32_t udpInErrors
Definition: mib2_module.h:495
IP group.
Definition: mib2_module.h:406
uint32_t ifOutQLen
Definition: mib2_module.h:384
uint32_t ipReasmFails
Definition: mib2_module.h:422
#define MIB2_SYS_OBJECT_ID_SIZE
Definition: mib2_module.h:106
MIB-II base.
Definition: mib2_module.h:542
@ MIB2_IF_OPER_STATUS_TESTING
Definition: mib2_module.h:262
size_t sysNameLen
Definition: mib2_module.h:356
@ MIB2_IF_OPER_STATUS_UP
Definition: mib2_module.h:260
IPv4 (Internet Protocol Version 4)
#define MIB2_IF_SPECIFIC_SIZE
Definition: mib2_module.h:134
@ MIB2_IF_TYPE_IEEE_802_11
Definition: mib2_module.h:231
@ MIB2_TCP_CONN_STATE_SYN_SENT
Definition: mib2_module.h:311
uint32_t snmpInSetRequests
Definition: mib2_module.h:521
uint32_t snmpInReadOnlys
Definition: mib2_module.h:515
uint32_t ipOutNoRoutes
Definition: mib2_module.h:418
uint32_t snmpInGetRequests
Definition: mib2_module.h:519
uint32_t snmpOutGenErrs
Definition: mib2_module.h:527
int32_t ipForwarding
Definition: mib2_module.h:407
const MibObject mib2Objects[]
MIB-II objects.
Definition: mib2_module.c:70
TCP/IP stack core.
@ MIB2_IF_TYPE_USB
Definition: mib2_module.h:235
uint32_t icmpOutEchos
Definition: mib2_module.h:456
@ MIB2_TCP_CONN_STATE_ESTABLISHED
Definition: mib2_module.h:313
uint32_t snmpInBadCommunityNames
Definition: mib2_module.h:509
uint32_t tcpActiveOpens
Definition: mib2_module.h:475
uint32_t ipInDelivers
Definition: mib2_module.h:415
Mib2SysGroup sysGroup
Definition: mib2_module.h:544
uint32_t udpNoPorts
Definition: mib2_module.h:494
uint32_t ipOutRequests
Definition: mib2_module.h:416
int32_t tcpRtoAlgorithm
Definition: mib2_module.h:471
@ MIB2_IP_NET_TO_MEDIA_TYPE_DYNAMIC
Definition: mib2_module.h:285
uint32_t icmpInParmProbs
Definition: mib2_module.h:440
@ MIB2_IP_NET_TO_MEDIA_TYPE_STATIC
Definition: mib2_module.h:286
uint32_t snmpOutTraps
Definition: mib2_module.h:532
@ MIB2_TCP_RTO_ALGORITHM_RSRE
Definition: mib2_module.h:298
UDP group.
Definition: mib2_module.h:492
@ MIB2_TCP_CONN_STATE_SYN_RECEIVED
Definition: mib2_module.h:312
Mib2SysService
System services.
Definition: mib2_module.h:208
size_t ifSpecificLen
Definition: mib2_module.h:386
Mib2SnmpGroup snmpGroup
Definition: mib2_module.h:562
@ MIB2_IF_TYPE_SLIP
Definition: mib2_module.h:228
uint32_t ipRoutingDiscards
Definition: mib2_module.h:426
size_t sysDescrLen
Definition: mib2_module.h:343
@ MIB2_IF_TYPE_PLC
Definition: mib2_module.h:236
System group.
Definition: mib2_module.h:340
uint32_t tcpPassiveOpens
Definition: mib2_module.h:476
uint32_t snmpOutBadValues
Definition: mib2_module.h:526
uint32_t ifInErrors
Definition: mib2_module.h:377