mib2_module.c
Go to the documentation of this file.
1 /**
2  * @file mib2_module.c
3  * @brief MIB-II module
4  *
5  * @section License
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  *
9  * Copyright (C) 2010-2026 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  * @section Description
28  *
29  * The second version of the Management Information Base (MIB-II) is used to
30  * manage TCP/IP-based hosts. Refer to the following RFCs for complete details:
31  * - RFC 1156: MIB for Network Management of TCP/IP-based internets
32  * - RFC 1213: MIB for Network Management of TCP/IP-based internets (version 2)
33  *
34  * @author Oryx Embedded SARL (www.oryx-embedded.com)
35  * @version 2.6.0
36  **/
37 
38 //Switch to the appropriate trace level
39 #define TRACE_LEVEL SNMP_TRACE_LEVEL
40 
41 //Dependencies
42 #include "core/net.h"
43 #include "mibs/mib2_module.h"
44 #include "mibs/mib2_impl.h"
45 #include "mibs/mib2_impl_sys.h"
46 #include "mibs/mib2_impl_if.h"
47 #include "mibs/mib2_impl_ip.h"
48 #include "mibs/mib2_impl_icmp.h"
49 #include "mibs/mib2_impl_tcp.h"
50 #include "mibs/mib2_impl_udp.h"
51 #include "core/crypto.h"
52 #include "encoding/asn1.h"
53 #include "encoding/oid.h"
54 #include "debug.h"
55 
56 //Check TCP/IP stack configuration
57 #if (MIB2_SUPPORT == ENABLED)
58 
59 
60 /**
61  * @brief MIB-II base
62  **/
63 
65 
66 
67 /**
68  * @brief MIB-II objects
69  **/
70 
72 {
73 #if (MIB2_SYS_GROUP_SUPPORT == ENABLED)
74  //sysDescr object (1.3.6.1.2.1.1.1)
75  {
76  "sysDescr",
77  {43, 6, 1, 2, 1, 1, 1},
78  7,
82 #if (MIB2_SYS_DESCR_SIZE > 0)
86  NULL,
87  NULL,
88  NULL
89 #else
90  NULL,
91  NULL,
92  0,
93  NULL,
94  mib2GetSysDescr,
95  NULL
96 #endif
97  },
98  //sysObjectID object (1.3.6.1.2.1.1.2)
99  {
100  "sysObjectID",
101  {43, 6, 1, 2, 1, 1, 2},
102  7,
106 #if (MIB2_SYS_OBJECT_ID_SIZE > 0)
110  NULL,
111  NULL,
112  NULL
113 #else
114  NULL,
115  NULL,
116  0,
117  NULL,
119  NULL
120 #endif
121  },
122  //sysUpTime object (1.3.6.1.2.1.1.3)
123  {
124  "sysUpTime",
125  {43, 6, 1, 2, 1, 1, 3},
126  7,
130  NULL,
131  NULL,
132  sizeof(uint32_t),
133  NULL,
135  NULL
136  },
137  //sysContact object (1.3.6.1.2.1.1.4)
138  {
139  "sysContact",
140  {43, 6, 1, 2, 1, 1, 4},
141  7,
145 #if (MIB2_SYS_CONTACT_SIZE > 0)
149  NULL,
150  NULL,
151  NULL
152 #else
153  NULL,
154  NULL,
155  0,
158  NULL
159 #endif
160  },
161  //sysName object (1.3.6.1.2.1.1.5)
162  {
163  "sysName",
164  {43, 6, 1, 2, 1, 1, 5},
165  7,
169 #if (MIB2_SYS_NAME_SIZE > 0)
173  NULL,
174  NULL,
175  NULL
176 #else
177  NULL,
178  NULL,
179  0,
182  NULL
183 #endif
184  },
185  //sysLocation object (1.3.6.1.2.1.1.6)
186  {
187  "sysLocation",
188  {43, 6, 1, 2, 1, 1, 6},
189  7,
193 #if (MIB2_SYS_LOCATION_SIZE > 0)
197  NULL,
198  NULL,
199  NULL
200 #else
201  NULL,
202  NULL,
203  0,
206  NULL
207 #endif
208  },
209  //sysServices object (1.3.6.1.2.1.1.7)
210  {
211  "sysServices",
212  {43, 6, 1, 2, 1, 1, 7},
213  7,
218  NULL,
219  sizeof(int32_t),
220  NULL,
221  NULL,
222  NULL
223  },
224 #endif
225 #if (MIB2_IF_GROUP_SUPPORT == ENABLED)
226  //ifNumber object (1.3.6.1.2.1.2.1)
227  {
228  "ifNumber",
229  {43, 6, 1, 2, 1, 2, 1},
230  7,
234  NULL,
235  NULL,
236  sizeof(int32_t),
237  NULL,
239  NULL
240  },
241  //ifIndex object (1.3.6.1.2.1.2.2.1.1)
242  {
243  "ifIndex",
244  {43, 6, 1, 2, 1, 2, 2, 1, 1},
245  9,
249  NULL,
250  NULL,
251  sizeof(int32_t),
252  NULL,
255  },
256  //ifDescr object (1.3.6.1.2.1.2.2.1.2)
257  {
258  "ifDescr",
259  {43, 6, 1, 2, 1, 2, 2, 1, 2},
260  9,
264  NULL,
265  NULL,
266  0,
267  NULL,
270  },
271  //ifType object (1.3.6.1.2.1.2.2.1.3)
272  {
273  "ifType",
274  {43, 6, 1, 2, 1, 2, 2, 1, 3},
275  9,
279  NULL,
280  NULL,
281  sizeof(int32_t),
282  NULL,
285  },
286  //ifMtu object (1.3.6.1.2.1.2.2.1.4)
287  {
288  "ifMtu",
289  {43, 6, 1, 2, 1, 2, 2, 1, 4},
290  9,
294  NULL,
295  NULL,
296  sizeof(int32_t),
297  NULL,
300  },
301  //ifSpeed object (1.3.6.1.2.1.2.2.1.5)
302  {
303  "ifSpeed",
304  {43, 6, 1, 2, 1, 2, 2, 1, 5},
305  9,
309  NULL,
310  NULL,
311  sizeof(uint32_t),
312  NULL,
315  },
316 #if (ETH_SUPPORT == ENABLED)
317  //ifPhysAddress object (1.3.6.1.2.1.2.2.1.6)
318  {
319  "ifPhysAddress",
320  {43, 6, 1, 2, 1, 2, 2, 1, 6},
321  9,
325  NULL,
326  NULL,
328  NULL,
331  },
332 #endif
333  //ifAdminStatus object (1.3.6.1.2.1.2.2.1.7)
334  {
335  "ifAdminStatus",
336  {43, 6, 1, 2, 1, 2, 2, 1, 7},
337  9,
341  NULL,
342  NULL,
343  sizeof(int32_t),
347  },
348  //ifOperStatus object (1.3.6.1.2.1.2.2.1.8)
349  {
350  "ifOperStatus",
351  {43, 6, 1, 2, 1, 2, 2, 1, 8},
352  9,
356  NULL,
357  NULL,
358  sizeof(int32_t),
359  NULL,
362  },
363  //ifLastChange object (1.3.6.1.2.1.2.2.1.9)
364  {
365  "ifLastChange",
366  {43, 6, 1, 2, 1, 2, 2, 1, 9},
367  9,
371  NULL,
372  NULL,
373  sizeof(uint32_t),
374  NULL,
377  },
378  //ifInOctets object (1.3.6.1.2.1.2.2.1.10)
379  {
380  "ifInOctets",
381  {43, 6, 1, 2, 1, 2, 2, 1, 10},
382  9,
386  NULL,
387  NULL,
388  sizeof(uint32_t),
389  NULL,
392  },
393  //ifInUcastPkts object (1.3.6.1.2.1.2.2.1.11)
394  {
395  "ifInUcastPkts",
396  {43, 6, 1, 2, 1, 2, 2, 1, 11},
397  9,
401  NULL,
402  NULL,
403  sizeof(uint32_t),
404  NULL,
407  },
408  //ifInNUcastPkts object (1.3.6.1.2.1.2.2.1.12)
409  {
410  "ifInNUcastPkts",
411  {43, 6, 1, 2, 1, 2, 2, 1, 12},
412  9,
416  NULL,
417  NULL,
418  sizeof(uint32_t),
419  NULL,
422  },
423  //ifInDiscards object (1.3.6.1.2.1.2.2.1.13)
424  {
425  "ifInDiscards",
426  {43, 6, 1, 2, 1, 2, 2, 1, 13},
427  9,
431  NULL,
432  NULL,
433  sizeof(uint32_t),
434  NULL,
437  },
438  //ifInErrors object (1.3.6.1.2.1.2.2.1.14)
439  {
440  "ifInErrors",
441  {43, 6, 1, 2, 1, 2, 2, 1, 14},
442  9,
446  NULL,
447  NULL,
448  sizeof(uint32_t),
449  NULL,
452  },
453  //ifInUnknownProtos object (1.3.6.1.2.1.2.2.1.15)
454  {
455  "ifInUnknownProtos",
456  {43, 6, 1, 2, 1, 2, 2, 1, 15},
457  9,
461  NULL,
462  NULL,
463  sizeof(uint32_t),
464  NULL,
467  },
468  //ifOutOctets object (1.3.6.1.2.1.2.2.1.16)
469  {
470  "ifOutOctets",
471  {43, 6, 1, 2, 1, 2, 2, 1, 16},
472  9,
476  NULL,
477  NULL,
478  sizeof(uint32_t),
479  NULL,
482  },
483  //ifOutUcastPkts object (1.3.6.1.2.1.2.2.1.17)
484  {
485  "ifOutUcastPkts",
486  {43, 6, 1, 2, 1, 2, 2, 1, 17},
487  9,
491  NULL,
492  NULL,
493  sizeof(uint32_t),
494  NULL,
497  },
498  //ifOutNUcastPkts object (1.3.6.1.2.1.2.2.1.18)
499  {
500  "ifOutNUcastPkts",
501  {43, 6, 1, 2, 1, 2, 2, 1, 18},
502  9,
506  NULL,
507  NULL,
508  sizeof(uint32_t),
509  NULL,
512  },
513  //ifOutDiscards object (1.3.6.1.2.1.2.2.1.19)
514  {
515  "ifOutDiscards",
516  {43, 6, 1, 2, 1, 2, 2, 1, 19},
517  9,
521  NULL,
522  NULL,
523  sizeof(uint32_t),
524  NULL,
527  },
528  //ifOutErrors object (1.3.6.1.2.1.2.2.1.20)
529  {
530  "ifOutErrors",
531  {43, 6, 1, 2, 1, 2, 2, 1, 20},
532  9,
536  NULL,
537  NULL,
538  sizeof(uint32_t),
539  NULL,
542  },
543  //ifOutQLen object (1.3.6.1.2.1.2.2.1.21)
544  {
545  "ifOutQLen",
546  {43, 6, 1, 2, 1, 2, 2, 1, 21},
547  9,
551  NULL,
552  NULL,
553  sizeof(uint32_t),
554  NULL,
557  },
558  //ifSpecific object (1.3.6.1.2.1.2.2.1.22)
559  {
560  "ifSpecific",
561  {43, 6, 1, 2, 1, 2, 2, 1, 22},
562  9,
566  NULL,
567  NULL,
569  NULL,
572  },
573 #endif
574 #if (MIB2_IP_GROUP_SUPPORT == ENABLED)
575  //ipForwarding object (1.3.6.1.2.1.4.1)
576  {
577  "ipForwarding",
578  {43, 6, 1, 2, 1, 4, 1},
579  7,
584  NULL,
585  sizeof(int32_t),
586  NULL,
587  NULL,
588  NULL
589  },
590  //ipDefaultTTL object (1.3.6.1.2.1.4.2)
591  {
592  "ipDefaultTTL",
593  {43, 6, 1, 2, 1, 4, 2},
594  7,
599  NULL,
600  sizeof(int32_t),
601  NULL,
602  NULL,
603  NULL
604  },
605  //ipInReceives object (1.3.6.1.2.1.4.3)
606  {
607  "ipInReceives",
608  {43, 6, 1, 2, 1, 4, 3},
609  7,
613  NULL,
614  NULL,
615  sizeof(uint32_t),
616  NULL,
618  NULL
619  },
620  //ipInHdrErrors object (1.3.6.1.2.1.4.4)
621  {
622  "ipInHdrErrors",
623  {43, 6, 1, 2, 1, 4, 4},
624  7,
628  NULL,
629  NULL,
630  sizeof(uint32_t),
631  NULL,
633  NULL
634  },
635  //ipInAddrErrors object (1.3.6.1.2.1.4.5)
636  {
637  "ipInAddrErrors",
638  {43, 6, 1, 2, 1, 4, 5},
639  7,
643  NULL,
644  NULL,
645  sizeof(uint32_t),
646  NULL,
648  NULL
649  },
650  //ipForwDatagrams object (1.3.6.1.2.1.4.6)
651  {
652  "ipForwDatagrams",
653  {43, 6, 1, 2, 1, 4, 6},
654  7,
658  NULL,
659  NULL,
660  sizeof(uint32_t),
661  NULL,
663  NULL
664  },
665  //ipInUnknownProtos object (1.3.6.1.2.1.4.7)
666  {
667  "ipInUnknownProtos",
668  {43, 6, 1, 2, 1, 4, 7},
669  7,
673  NULL,
674  NULL,
675  sizeof(uint32_t),
676  NULL,
678  NULL
679  },
680  //ipInDiscards object (1.3.6.1.2.1.4.8)
681  {
682  "ipInDiscards",
683  {43, 6, 1, 2, 1, 4, 8},
684  7,
688  NULL,
689  NULL,
690  sizeof(uint32_t),
691  NULL,
693  NULL
694  },
695  //ipInDelivers object (1.3.6.1.2.1.4.9)
696  {
697  "ipInDelivers",
698  {43, 6, 1, 2, 1, 4, 9},
699  7,
703  NULL,
704  NULL,
705  sizeof(uint32_t),
706  NULL,
708  NULL
709  },
710  //ipOutRequests object (1.3.6.1.2.1.4.10)
711  {
712  "ipOutRequests",
713  {43, 6, 1, 2, 1, 4, 10},
714  7,
718  NULL,
719  NULL,
720  sizeof(uint32_t),
721  NULL,
723  NULL
724  },
725  //ipOutDiscards object (1.3.6.1.2.1.4.11)
726  {
727  "ipOutDiscards",
728  {43, 6, 1, 2, 1, 4, 11},
729  7,
733  NULL,
734  NULL,
735  sizeof(uint32_t),
736  NULL,
738  NULL
739  },
740  //ipOutNoRoutes object (1.3.6.1.2.1.4.12)
741  {
742  "ipOutNoRoutes",
743  {43, 6, 1, 2, 1, 4, 12},
744  7,
748  NULL,
749  NULL,
750  sizeof(uint32_t),
751  NULL,
753  NULL
754  },
755  //ipReasmTimeout object (1.3.6.1.2.1.4.13)
756  {
757  "ipReasmTimeout",
758  {43, 6, 1, 2, 1, 4, 13},
759  7,
764  NULL,
765  sizeof(int32_t),
766  NULL,
767  NULL,
768  NULL
769  },
770  //ipReasmReqds object (1.3.6.1.2.1.4.14)
771  {
772  "ipReasmReqds",
773  {43, 6, 1, 2, 1, 4, 14},
774  7,
778  NULL,
779  NULL,
780  sizeof(uint32_t),
781  NULL,
783  NULL
784  },
785  //ipReasmOKs object (1.3.6.1.2.1.4.15)
786  {
787  "ipReasmOKs",
788  {43, 6, 1, 2, 1, 4, 15},
789  7,
793  NULL,
794  NULL,
795  sizeof(uint32_t),
796  NULL,
798  NULL
799  },
800  //ipReasmFails object (1.3.6.1.2.1.4.16)
801  {
802  "ipReasmFails",
803  {43, 6, 1, 2, 1, 4, 16},
804  7,
808  NULL,
809  NULL,
810  sizeof(uint32_t),
811  NULL,
813  NULL
814  },
815  //ipFragOKs object (1.3.6.1.2.1.4.17)
816  {
817  "ipFragOKs",
818  {43, 6, 1, 2, 1, 4, 17},
819  7,
823  NULL,
824  NULL,
825  sizeof(uint32_t),
826  NULL,
828  NULL
829  },
830  //ipFragFails object (1.3.6.1.2.1.4.18)
831  {
832  "ipFragFails",
833  {43, 6, 1, 2, 1, 4, 18},
834  7,
838  NULL,
839  NULL,
840  sizeof(uint32_t),
841  NULL,
843  NULL
844  },
845  //ipFragCreates object (1.3.6.1.2.1.4.19)
846  {
847  "ipFragCreates",
848  {43, 6, 1, 2, 1, 4, 19},
849  7,
853  NULL,
854  NULL,
855  sizeof(uint32_t),
856  NULL,
858  NULL
859  },
860  //ipAdEntAddr object (1.3.6.1.2.1.4.20.1.1)
861  {
862  "ipAdEntAddr",
863  {43, 6, 1, 2, 1, 4, 20, 1, 1},
864  9,
868  NULL,
869  NULL,
871  NULL,
874  },
875  //ipAdEntIfIndex object (1.3.6.1.2.1.4.20.1.2)
876  {
877  "ipAdEntIfIndex",
878  {43, 6, 1, 2, 1, 4, 20, 1, 2},
879  9,
883  NULL,
884  NULL,
885  sizeof(int32_t),
886  NULL,
889  },
890  //ipAdEntNetMask object (1.3.6.1.2.1.4.20.1.3)
891  {
892  "ipAdEntNetMask",
893  {43, 6, 1, 2, 1, 4, 20, 1, 3},
894  9,
898  NULL,
899  NULL,
901  NULL,
904  },
905  //ipAdEntBcastAddr object (1.3.6.1.2.1.4.20.1.4)
906  {
907  "ipAdEntBcastAddr",
908  {43, 6, 1, 2, 1, 4, 20, 1, 4},
909  9,
913  NULL,
914  NULL,
915  sizeof(int32_t),
916  NULL,
919  },
920  //ipAdEntReasmMaxSize object (1.3.6.1.2.1.4.20.1.5)
921  {
922  "ipAdEntReasmMaxSize",
923  {43, 6, 1, 2, 1, 4, 20, 1, 5},
924  9,
928  NULL,
929  NULL,
930  sizeof(int32_t),
931  NULL,
934  },
935  //ipNetToMediaIfIndex object (1.3.6.1.2.1.4.22.1.1)
936  {
937  "ipNetToMediaIfIndex",
938  {43, 6, 1, 2, 1, 4, 22, 1, 1},
939  9,
943  NULL,
944  NULL,
945  sizeof(int32_t),
949  },
950  //ipNetToMediaPhysAddress object (1.3.6.1.2.1.4.22.1.2)
951  {
952  "ipNetToMediaPhysAddress",
953  {43, 6, 1, 2, 1, 4, 22, 1, 2},
954  9,
958  NULL,
959  NULL,
964  },
965  //ipNetToMediaNetAddress object (1.3.6.1.2.1.4.22.1.3)
966  {
967  "ipNetToMediaNetAddress",
968  {43, 6, 1, 2, 1, 4, 22, 1, 3},
969  9,
973  NULL,
974  NULL,
979  },
980  //ipNetToMediaType object (1.3.6.1.2.1.4.22.1.4)
981  {
982  "ipNetToMediaType",
983  {43, 6, 1, 2, 1, 4, 22, 1, 4},
984  9,
988  NULL,
989  NULL,
990  sizeof(int32_t),
994  },
995  //ipRoutingDiscards object (1.3.6.1.2.1.4.23)
996  {
997  "ipRoutingDiscards",
998  {43, 6, 1, 2, 1, 4, 23},
999  7,
1004  NULL,
1005  sizeof(uint32_t),
1006  NULL,
1007  NULL,
1008  NULL
1009  },
1010 #endif
1011 #if (MIB2_ICMP_GROUP_SUPPORT == ENABLED)
1012  //icmpInMsgs object (1.3.6.1.2.1.5.1)
1013  {
1014  "icmpInMsgs",
1015  {43, 6, 1, 2, 1, 5, 1},
1016  7,
1020  NULL,
1021  NULL,
1022  sizeof(uint32_t),
1023  NULL,
1025  NULL
1026  },
1027  //icmpInErrors object (1.3.6.1.2.1.5.2)
1028  {
1029  "icmpInErrors",
1030  {43, 6, 1, 2, 1, 5, 2},
1031  7,
1035  NULL,
1036  NULL,
1037  sizeof(uint32_t),
1038  NULL,
1040  NULL
1041  },
1042  //icmpInDestUnreachs object (1.3.6.1.2.1.5.3)
1043  {
1044  "icmpInDestUnreachs",
1045  {43, 6, 1, 2, 1, 5, 3},
1046  7,
1050  NULL,
1051  NULL,
1052  sizeof(uint32_t),
1053  NULL,
1055  NULL
1056  },
1057  //icmpInTimeExcds object (1.3.6.1.2.1.5.4)
1058  {
1059  "icmpInTimeExcds",
1060  {43, 6, 1, 2, 1, 5, 4},
1061  7,
1065  NULL,
1066  NULL,
1067  sizeof(uint32_t),
1068  NULL,
1070  NULL
1071  },
1072  //icmpInParmProbs object (1.3.6.1.2.1.5.5)
1073  {
1074  "icmpInParmProbs",
1075  {43, 6, 1, 2, 1, 5, 5},
1076  7,
1080  NULL,
1081  NULL,
1082  sizeof(uint32_t),
1083  NULL,
1085  NULL
1086  },
1087  //icmpInSrcQuenchs object (1.3.6.1.2.1.5.6)
1088  {
1089  "icmpInSrcQuenchs",
1090  {43, 6, 1, 2, 1, 5, 6},
1091  7,
1095  NULL,
1096  NULL,
1097  sizeof(uint32_t),
1098  NULL,
1100  NULL
1101  },
1102  //icmpInRedirects object (1.3.6.1.2.1.5.7)
1103  {
1104  "icmpInRedirects",
1105  {43, 6, 1, 2, 1, 5, 7},
1106  7,
1110  NULL,
1111  NULL,
1112  sizeof(uint32_t),
1113  NULL,
1115  NULL
1116  },
1117  //icmpInEchos object (1.3.6.1.2.1.5.8)
1118  {
1119  "icmpInEchos",
1120  {43, 6, 1, 2, 1, 5, 8},
1121  7,
1125  NULL,
1126  NULL,
1127  sizeof(uint32_t),
1128  NULL,
1130  NULL
1131  },
1132  //icmpInEchoReps object (1.3.6.1.2.1.5.9)
1133  {
1134  "icmpInEchoReps",
1135  {43, 6, 1, 2, 1, 5, 9},
1136  7,
1140  NULL,
1141  NULL,
1142  sizeof(uint32_t),
1143  NULL,
1145  NULL
1146  },
1147  //icmpInTimestamps object (1.3.6.1.2.1.5.10)
1148  {
1149  "icmpInTimestamps",
1150  {43, 6, 1, 2, 1, 5, 10},
1151  7,
1155  NULL,
1156  NULL,
1157  sizeof(uint32_t),
1158  NULL,
1160  NULL
1161  },
1162  //icmpInTimestampReps object (1.3.6.1.2.1.5.11)
1163  {
1164  "icmpInTimestampReps",
1165  {43, 6, 1, 2, 1, 5, 11},
1166  7,
1170  NULL,
1171  NULL,
1172  sizeof(uint32_t),
1173  NULL,
1175  NULL
1176  },
1177  //icmpInAddrMasks object (1.3.6.1.2.1.5.12)
1178  {
1179  "icmpInAddrMasks",
1180  {43, 6, 1, 2, 1, 5, 12},
1181  7,
1185  NULL,
1186  NULL,
1187  sizeof(uint32_t),
1188  NULL,
1190  NULL
1191  },
1192  //icmpInAddrMaskReps object (1.3.6.1.2.1.5.13)
1193  {
1194  "icmpInAddrMaskReps",
1195  {43, 6, 1, 2, 1, 5, 13},
1196  7,
1200  NULL,
1201  NULL,
1202  sizeof(uint32_t),
1203  NULL,
1205  NULL
1206  },
1207  //icmpOutMsgs object (1.3.6.1.2.1.5.14)
1208  {
1209  "icmpOutMsgs",
1210  {43, 6, 1, 2, 1, 5, 14},
1211  7,
1215  NULL,
1216  NULL,
1217  sizeof(uint32_t),
1218  NULL,
1220  NULL
1221  },
1222  //icmpOutErrors object (1.3.6.1.2.1.5.15)
1223  {
1224  "icmpOutErrors",
1225  {43, 6, 1, 2, 1, 5, 15},
1226  7,
1230  NULL,
1231  NULL,
1232  sizeof(uint32_t),
1233  NULL,
1235  NULL
1236  },
1237  //icmpOutDestUnreachs object (1.3.6.1.2.1.5.16)
1238  {
1239  "icmpOutDestUnreachs",
1240  {43, 6, 1, 2, 1, 5, 16},
1241  7,
1245  NULL,
1246  NULL,
1247  sizeof(uint32_t),
1248  NULL,
1250  NULL
1251  },
1252  //icmpOutTimeExcds object (1.3.6.1.2.1.5.17)
1253  {
1254  "icmpOutTimeExcds",
1255  {43, 6, 1, 2, 1, 5, 17},
1256  7,
1260  NULL,
1261  NULL,
1262  sizeof(uint32_t),
1263  NULL,
1265  NULL
1266  },
1267  //icmpOutParmProbs object (1.3.6.1.2.1.5.18)
1268  {
1269  "icmpOutParmProbs",
1270  {43, 6, 1, 2, 1, 5, 18},
1271  7,
1275  NULL,
1276  NULL,
1277  sizeof(uint32_t),
1278  NULL,
1280  NULL
1281  },
1282  //icmpOutSrcQuenchs object (1.3.6.1.2.1.5.19)
1283  {
1284  "icmpOutSrcQuenchs",
1285  {43, 6, 1, 2, 1, 5, 19},
1286  7,
1290  NULL,
1291  NULL,
1292  sizeof(uint32_t),
1293  NULL,
1295  NULL
1296  },
1297  //icmpOutRedirects object (1.3.6.1.2.1.5.20)
1298  {
1299  "icmpOutRedirects",
1300  {43, 6, 1, 2, 1, 5, 20},
1301  7,
1305  NULL,
1306  NULL,
1307  sizeof(uint32_t),
1308  NULL,
1310  NULL
1311  },
1312  //icmpOutEchos object (1.3.6.1.2.1.5.21)
1313  {
1314  "icmpOutEchos",
1315  {43, 6, 1, 2, 1, 5, 21},
1316  7,
1320  NULL,
1321  NULL,
1322  sizeof(uint32_t),
1323  NULL,
1325  NULL
1326  },
1327  //icmpOutEchoReps object (1.3.6.1.2.1.5.22)
1328  {
1329  "icmpOutEchoReps",
1330  {43, 6, 1, 2, 1, 5, 22},
1331  7,
1335  NULL,
1336  NULL,
1337  sizeof(uint32_t),
1338  NULL,
1340  NULL
1341  },
1342  //icmpOutTimestamps object (1.3.6.1.2.1.5.23)
1343  {
1344  "icmpOutTimestamps",
1345  {43, 6, 1, 2, 1, 5, 23},
1346  7,
1350  NULL,
1351  NULL,
1352  sizeof(uint32_t),
1353  NULL,
1355  NULL
1356  },
1357  //icmpOutTimestampReps object (1.3.6.1.2.1.5.24)
1358  {
1359  "icmpOutTimestampReps",
1360  {43, 6, 1, 2, 1, 5, 24},
1361  7,
1365  NULL,
1366  NULL,
1367  sizeof(uint32_t),
1368  NULL,
1370  NULL
1371  },
1372  //icmpOutAddrMasks object (1.3.6.1.2.1.5.25)
1373  {
1374  "icmpOutAddrMasks",
1375  {43, 6, 1, 2, 1, 5, 25},
1376  7,
1380  NULL,
1381  NULL,
1382  sizeof(uint32_t),
1383  NULL,
1385  NULL
1386  },
1387  //icmpOutAddrMaskReps object (1.3.6.1.2.1.5.26)
1388  {
1389  "icmpOutAddrMaskReps",
1390  {43, 6, 1, 2, 1, 5, 26},
1391  7,
1395  NULL,
1396  NULL,
1397  sizeof(uint32_t),
1398  NULL,
1400  NULL
1401  },
1402 #endif
1403 #if (MIB2_TCP_GROUP_SUPPORT == ENABLED)
1404  //tcpRtoAlgorithm object (1.3.6.1.2.1.6.1)
1405  {
1406  "tcpRtoAlgorithm",
1407  {43, 6, 1, 2, 1, 6, 1},
1408  7,
1413  NULL,
1414  sizeof(int32_t),
1415  NULL,
1416  NULL,
1417  NULL
1418  },
1419  //tcpRtoMin object (1.3.6.1.2.1.6.2)
1420  {
1421  "tcpRtoMin",
1422  {43, 6, 1, 2, 1, 6, 2},
1423  7,
1428  NULL,
1429  sizeof(int32_t),
1430  NULL,
1431  NULL,
1432  NULL
1433  },
1434  //tcpRtoMax object (1.3.6.1.2.1.6.3)
1435  {
1436  "tcpRtoMax",
1437  {43, 6, 1, 2, 1, 6, 3},
1438  7,
1443  NULL,
1444  sizeof(int32_t),
1445  NULL,
1446  NULL,
1447  NULL
1448  },
1449  //tcpMaxConn object (1.3.6.1.2.1.6.4)
1450  {
1451  "tcpMaxConn",
1452  {43, 6, 1, 2, 1, 6, 4},
1453  7,
1458  NULL,
1459  sizeof(int32_t),
1460  NULL,
1461  NULL,
1462  NULL
1463  },
1464  //tcpActiveOpens object (1.3.6.1.2.1.6.5)
1465  {
1466  "tcpActiveOpens",
1467  {43, 6, 1, 2, 1, 6, 5},
1468  7,
1473  NULL,
1474  sizeof(uint32_t),
1475  NULL,
1476  NULL,
1477  NULL
1478  },
1479  //tcpPassiveOpens object (1.3.6.1.2.1.6.6)
1480  {
1481  "tcpPassiveOpens",
1482  {43, 6, 1, 2, 1, 6, 6},
1483  7,
1488  NULL,
1489  sizeof(uint32_t),
1490  NULL,
1491  NULL,
1492  NULL
1493  },
1494  //tcpAttemptFails object (1.3.6.1.2.1.6.7)
1495  {
1496  "tcpAttemptFails",
1497  {43, 6, 1, 2, 1, 6, 7},
1498  7,
1503  NULL,
1504  sizeof(uint32_t),
1505  NULL,
1506  NULL,
1507  NULL
1508  },
1509  //tcpEstabResets object (1.3.6.1.2.1.6.8)
1510  {
1511  "tcpEstabResets",
1512  {43, 6, 1, 2, 1, 6, 8},
1513  7,
1518  NULL,
1519  sizeof(uint32_t),
1520  NULL,
1521  NULL,
1522  NULL
1523  },
1524  //tcpCurrEstab object (1.3.6.1.2.1.6.9)
1525  {
1526  "tcpCurrEstab",
1527  {43, 6, 1, 2, 1, 6, 9},
1528  7,
1532  NULL,
1533  NULL,
1534  sizeof(uint32_t),
1535  NULL,
1537  NULL
1538  },
1539  //tcpInSegs object (1.3.6.1.2.1.6.10)
1540  {
1541  "tcpInSegs",
1542  {43, 6, 1, 2, 1, 6, 10},
1543  7,
1548  NULL,
1549  sizeof(uint32_t),
1550  NULL,
1551  NULL,
1552  NULL
1553  },
1554  //tcpOutSegs object (1.3.6.1.2.1.6.11)
1555  {
1556  "tcpOutSegs",
1557  {43, 6, 1, 2, 1, 6, 11},
1558  7,
1563  NULL,
1564  sizeof(uint32_t),
1565  NULL,
1566  NULL,
1567  NULL
1568  },
1569  //tcpRetransSegs object (1.3.6.1.2.1.6.12)
1570  {
1571  "tcpRetransSegs",
1572  {43, 6, 1, 2, 1, 6, 12},
1573  7,
1578  NULL,
1579  sizeof(uint32_t),
1580  NULL,
1581  NULL,
1582  NULL
1583  },
1584  //tcpConnState object (1.3.6.1.2.1.6.13.1.1)
1585  {
1586  "tcpConnState",
1587  {43, 6, 1, 2, 1, 6, 13, 1, 1},
1588  9,
1592  NULL,
1593  NULL,
1594  sizeof(int32_t),
1598  },
1599  //tcpConnLocalAddress object (1.3.6.1.2.1.6.13.1.2)
1600  {
1601  "tcpConnLocalAddress",
1602  {43, 6, 1, 2, 1, 6, 13, 1, 2},
1603  9,
1607  NULL,
1608  NULL,
1610  NULL,
1613  },
1614  //tcpConnLocalPort object (1.3.6.1.2.1.6.13.1.3)
1615  {
1616  "tcpConnLocalPort",
1617  {43, 6, 1, 2, 1, 6, 13, 1, 3},
1618  9,
1622  NULL,
1623  NULL,
1624  sizeof(int32_t),
1625  NULL,
1628  },
1629  //tcpConnRemAddress object (1.3.6.1.2.1.6.13.1.4)
1630  {
1631  "tcpConnRemAddress",
1632  {43, 6, 1, 2, 1, 6, 13, 1, 4},
1633  9,
1637  NULL,
1638  NULL,
1640  NULL,
1643  },
1644  //tcpConnRemPort object (1.3.6.1.2.1.6.13.1.5)
1645  {
1646  "tcpConnRemPort",
1647  {43, 6, 1, 2, 1, 6, 13, 1, 5},
1648  9,
1652  NULL,
1653  NULL,
1654  sizeof(int32_t),
1655  NULL,
1658  },
1659  //tcpInErrs object (1.3.6.1.2.1.6.14)
1660  {
1661  "tcpInErrs",
1662  {43, 6, 1, 2, 1, 6, 14},
1663  7,
1668  NULL,
1669  sizeof(uint32_t),
1670  NULL,
1671  NULL,
1672  NULL
1673  },
1674  //tcpOutRsts object (1.3.6.1.2.1.6.15)
1675  {
1676  "tcpOutRsts",
1677  {43, 6, 1, 2, 1, 6, 15},
1678  7,
1683  NULL,
1684  sizeof(uint32_t),
1685  NULL,
1686  NULL,
1687  NULL
1688  },
1689 #endif
1690 #if (MIB2_UDP_GROUP_SUPPORT == ENABLED)
1691  //udpInDatagrams object (1.3.6.1.2.1.7.1)
1692  {
1693  "udpInDatagrams",
1694  {43, 6, 1, 2, 1, 7, 1},
1695  7,
1700  NULL,
1701  sizeof(uint32_t),
1702  NULL,
1703  NULL,
1704  NULL
1705  },
1706  //udpNoPorts object (1.3.6.1.2.1.7.2)
1707  {
1708  "udpNoPorts",
1709  {43, 6, 1, 2, 1, 7, 2},
1710  7,
1715  NULL,
1716  sizeof(uint32_t),
1717  NULL,
1718  NULL,
1719  NULL
1720  },
1721  //udpInErrors object (1.3.6.1.2.1.7.3)
1722  {
1723  "udpInErrors",
1724  {43, 6, 1, 2, 1, 7, 3},
1725  7,
1730  NULL,
1731  sizeof(uint32_t),
1732  NULL,
1733  NULL,
1734  NULL
1735  },
1736  //udpOutDatagrams object (1.3.6.1.2.1.7.4)
1737  {
1738  "udpOutDatagrams",
1739  {43, 6, 1, 2, 1, 7, 4},
1740  7,
1745  NULL,
1746  sizeof(uint32_t),
1747  NULL,
1748  NULL,
1749  NULL
1750  },
1751  //udpLocalAddress object (1.3.6.1.2.1.7.5.1.1)
1752  {
1753  "udpLocalAddress",
1754  {43, 6, 1, 2, 1, 7, 5, 1, 1},
1755  9,
1759  NULL,
1760  NULL,
1762  NULL,
1765  },
1766  //udpLocalPort object (1.3.6.1.2.1.7.5.1.2)
1767  {
1768  "udpLocalPort",
1769  {43, 6, 1, 2, 1, 7, 5, 1, 2},
1770  9,
1774  NULL,
1775  NULL,
1776  sizeof(int32_t),
1777  NULL,
1780  },
1781 #endif
1782 #if (MIB2_SNMP_GROUP_SUPPORT == ENABLED)
1783  //snmpInPkts object (1.3.6.1.2.1.11.1)
1784  {
1785  "snmpInPkts",
1786  {43, 6, 1, 2, 1, 11, 1},
1787  7,
1792  NULL,
1793  sizeof(uint32_t),
1794  NULL,
1795  NULL,
1796  NULL
1797  },
1798  //snmpOutPkts object (1.3.6.1.2.1.11.2)
1799  {
1800  "snmpOutPkts",
1801  {43, 6, 1, 2, 1, 11, 2},
1802  7,
1807  NULL,
1808  sizeof(uint32_t),
1809  NULL,
1810  NULL,
1811  NULL
1812  },
1813  //snmpInBadVersions object (1.3.6.1.2.1.11.3)
1814  {
1815  "snmpInBadVersions",
1816  {43, 6, 1, 2, 1, 11, 3},
1817  7,
1822  NULL,
1823  sizeof(uint32_t),
1824  NULL,
1825  NULL,
1826  NULL
1827  },
1828  //snmpInBadCommunityNames object (1.3.6.1.2.1.11.4)
1829  {
1830  "snmpInBadCommunityNames",
1831  {43, 6, 1, 2, 1, 11, 4},
1832  7,
1837  NULL,
1838  sizeof(uint32_t),
1839  NULL,
1840  NULL,
1841  NULL
1842  },
1843  //snmpInBadCommunityUses object (1.3.6.1.2.1.11.5)
1844  {
1845  "snmpInBadCommunityUses",
1846  {43, 6, 1, 2, 1, 11, 5},
1847  7,
1852  NULL,
1853  sizeof(uint32_t),
1854  NULL,
1855  NULL,
1856  NULL
1857  },
1858  //snmpInASNParseErrs object (1.3.6.1.2.1.11.6)
1859  {
1860  "snmpInASNParseErrs",
1861  {43, 6, 1, 2, 1, 11, 6},
1862  7,
1867  NULL,
1868  sizeof(uint32_t),
1869  NULL,
1870  NULL,
1871  NULL
1872  },
1873  //snmpInTooBigs object (1.3.6.1.2.1.11.8)
1874  {
1875  "snmpInTooBigs",
1876  {43, 6, 1, 2, 1, 11, 8},
1877  7,
1882  NULL,
1883  sizeof(uint32_t),
1884  NULL,
1885  NULL,
1886  NULL
1887  },
1888  //snmpInNoSuchNames object (1.3.6.1.2.1.11.9)
1889  {
1890  "snmpInNoSuchNames",
1891  {43, 6, 1, 2, 1, 11, 9},
1892  7,
1897  NULL,
1898  sizeof(uint32_t),
1899  NULL,
1900  NULL,
1901  NULL
1902  },
1903  //snmpInBadValues object (1.3.6.1.2.1.11.10)
1904  {
1905  "snmpInBadValues",
1906  {43, 6, 1, 2, 1, 11, 10},
1907  7,
1912  NULL,
1913  sizeof(uint32_t),
1914  NULL,
1915  NULL,
1916  NULL
1917  },
1918  //snmpInReadOnlys object (1.3.6.1.2.1.11.11)
1919  {
1920  "snmpInReadOnlys",
1921  {43, 6, 1, 2, 1, 11, 11},
1922  7,
1927  NULL,
1928  sizeof(uint32_t),
1929  NULL,
1930  NULL,
1931  NULL
1932  },
1933  //snmpInGenErrs object (1.3.6.1.2.1.11.12)
1934  {
1935  "snmpInGenErrs",
1936  {43, 6, 1, 2, 1, 11, 12},
1937  7,
1942  NULL,
1943  sizeof(uint32_t),
1944  NULL,
1945  NULL,
1946  NULL
1947  },
1948  //snmpInTotalReqVars object (1.3.6.1.2.1.11.13)
1949  {
1950  "snmpInTotalReqVars",
1951  {43, 6, 1, 2, 1, 11, 13},
1952  7,
1957  NULL,
1958  sizeof(uint32_t),
1959  NULL,
1960  NULL,
1961  NULL
1962  },
1963  //snmpInTotalSetVars object (1.3.6.1.2.1.11.14)
1964  {
1965  "snmpInTotalSetVars",
1966  {43, 6, 1, 2, 1, 11, 14},
1967  7,
1972  NULL,
1973  sizeof(uint32_t),
1974  NULL,
1975  NULL,
1976  NULL
1977  },
1978  //snmpInGetRequests object (1.3.6.1.2.1.11.15)
1979  {
1980  "snmpInGetRequests",
1981  {43, 6, 1, 2, 1, 11, 15},
1982  7,
1987  NULL,
1988  sizeof(uint32_t),
1989  NULL,
1990  NULL,
1991  NULL
1992  },
1993  //snmpInGetNexts object (1.3.6.1.2.1.11.16)
1994  {
1995  "snmpInGetNexts",
1996  {43, 6, 1, 2, 1, 11, 16},
1997  7,
2002  NULL,
2003  sizeof(uint32_t),
2004  NULL,
2005  NULL,
2006  NULL
2007  },
2008  //snmpInSetRequests object (1.3.6.1.2.1.11.17)
2009  {
2010  "snmpInSetRequests",
2011  {43, 6, 1, 2, 1, 11, 17},
2012  7,
2017  NULL,
2018  sizeof(uint32_t),
2019  NULL,
2020  NULL,
2021  NULL
2022  },
2023  //snmpInGetResponses object (1.3.6.1.2.1.11.18)
2024  {
2025  "snmpInGetResponses",
2026  {43, 6, 1, 2, 1, 11, 18},
2027  7,
2032  NULL,
2033  sizeof(uint32_t),
2034  NULL,
2035  NULL,
2036  NULL
2037  },
2038  //snmpInTraps object (1.3.6.1.2.1.11.19)
2039  {
2040  "snmpInTraps",
2041  {43, 6, 1, 2, 1, 11, 19},
2042  7,
2047  NULL,
2048  sizeof(uint32_t),
2049  NULL,
2050  NULL,
2051  NULL
2052  },
2053  //snmpOutTooBigs object (1.3.6.1.2.1.11.20)
2054  {
2055  "snmpOutTooBigs",
2056  {43, 6, 1, 2, 1, 11, 20},
2057  7,
2062  NULL,
2063  sizeof(uint32_t),
2064  NULL,
2065  NULL,
2066  NULL
2067  },
2068  //snmpOutNoSuchNames object (1.3.6.1.2.1.11.21)
2069  {
2070  "snmpOutNoSuchNames",
2071  {43, 6, 1, 2, 1, 11, 21},
2072  7,
2077  NULL,
2078  sizeof(uint32_t),
2079  NULL,
2080  NULL,
2081  NULL
2082  },
2083  //snmpOutBadValues object (1.3.6.1.2.1.11.22)
2084  {
2085  "snmpOutBadValues",
2086  {43, 6, 1, 2, 1, 11, 22},
2087  7,
2092  NULL,
2093  sizeof(uint32_t),
2094  NULL,
2095  NULL,
2096  NULL
2097  },
2098  //snmpOutGenErrs object (1.3.6.1.2.1.11.24)
2099  {
2100  "snmpOutGenErrs",
2101  {43, 6, 1, 2, 1, 11, 24},
2102  7,
2107  NULL,
2108  sizeof(uint32_t),
2109  NULL,
2110  NULL,
2111  NULL
2112  },
2113  //snmpOutGetRequests object (1.3.6.1.2.1.11.25)
2114  {
2115  "snmpOutGetRequests",
2116  {43, 6, 1, 2, 1, 11, 25},
2117  7,
2122  NULL,
2123  sizeof(uint32_t),
2124  NULL,
2125  NULL,
2126  NULL
2127  },
2128  //snmpOutGetNexts object (1.3.6.1.2.1.11.26)
2129  {
2130  "snmpOutGetNexts",
2131  {43, 6, 1, 2, 1, 11, 26},
2132  7,
2137  NULL,
2138  sizeof(uint32_t),
2139  NULL,
2140  NULL,
2141  NULL
2142  },
2143  //snmpOutSetRequests object (1.3.6.1.2.1.11.27)
2144  {
2145  "snmpOutSetRequests",
2146  {43, 6, 1, 2, 1, 11, 27},
2147  7,
2152  NULL,
2153  sizeof(uint32_t),
2154  NULL,
2155  NULL,
2156  NULL
2157  },
2158  //snmpOutGetResponses object (1.3.6.1.2.1.11.28)
2159  {
2160  "snmpOutGetResponses",
2161  {43, 6, 1, 2, 1, 11, 28},
2162  7,
2167  NULL,
2168  sizeof(uint32_t),
2169  NULL,
2170  NULL,
2171  NULL
2172  },
2173  //snmpOutTraps object (1.3.6.1.2.1.11.29)
2174  {
2175  "snmpOutTraps",
2176  {43, 6, 1, 2, 1, 11, 29},
2177  7,
2182  NULL,
2183  sizeof(uint32_t),
2184  NULL,
2185  NULL,
2186  NULL
2187  },
2188  //snmpEnableAuthenTraps object (1.3.6.1.2.1.11.30)
2189  {
2190  "snmpEnableAuthenTraps",
2191  {43, 6, 1, 2, 1, 11, 30},
2192  7,
2197  NULL,
2198  sizeof(int32_t),
2199  NULL,
2200  NULL,
2201  NULL
2202  }
2203 #endif
2204 };
2205 
2206 
2207 /**
2208  * @brief MIB-II module
2209  **/
2210 
2212 {
2213  "RFC1213-MIB",
2214  {43, 6, 1, 2, 1},
2215  5,
2216  mib2Objects,
2218  mib2Init,
2219  NULL,
2220  NULL,
2221  NULL,
2222  NULL
2223 };
2224 
2225 #endif
error_t mib2GetNextUdpEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next udpEntry object.
error_t mib2GetIcmpOutEchoReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutEchoReps object value.
MIB-II module.
@ MIB_TYPE_IP_ADDRESS
Definition: mib_common.h:60
uint32_t snmpInTooBigs
Definition: mib2_module.h:403
char_t sysName[MIB2_SYS_NAME_SIZE]
Definition: mib2_module.h:332
error_t mib2GetIcmpOutAddrMasks(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutAddrMasks object value.
error_t mib2GetIcmpInMsgs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInMsgs object value.
uint32_t snmpInBadVersions
Definition: mib2_module.h:399
error_t mib2GetIcmpOutRedirects(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutRedirects object value.
#define MIB2_SYS_LOCATION_SIZE
Definition: mib2_module.h:127
error_t mib2GetIcmpOutDestUnreachs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutDestUnreachs object value.
error_t mib2SetIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ifEntry object value.
Definition: mib2_impl_if.c:87
error_t mib2GetIcmpInAddrMaskReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInAddrMaskReps object value.
OID (Object Identifier)
const MibObject mib2Objects[]
MIB-II objects.
Definition: mib2_module.c:71
error_t mib2GetIpReasmFails(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipReasmFails object value.
Definition: mib2_impl_ip.c:386
int32_t sysServices
Definition: mib2_module.h:339
error_t mib2GetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
#define MIB2_PHYS_ADDRESS_SIZE
Definition: mib2_module.h:141
#define MIB2_SYS_DESCR_SIZE
Definition: mib2_module.h:99
uint32_t snmpOutPkts
Definition: mib2_module.h:398
uint32_t snmpOutGetNexts
Definition: mib2_module.h:420
MIB-II module implementation (ICMP group)
error_t mib2GetIcmpInAddrMasks(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInAddrMasks object value.
@ MIB_ACCESS_READ_ONLY
Definition: mib_common.h:79
#define MIB2_SYS_NAME_SIZE
Definition: mib2_module.h:120
uint32_t tcpOutSegs
Definition: mib2_module.h:371
error_t mib2GetIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ifEntry object value.
Definition: mib2_impl_if.c:105
int32_t snmpEnableAuthenTraps
Definition: mib2_module.h:424
error_t mib2GetIcmpOutTimestamps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutTimestamps object value.
uint32_t snmpInTotalReqVars
Definition: mib2_module.h:408
error_t mib2GetIcmpInDestUnreachs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInDestUnreachs object value.
error_t mib2GetIcmpInEchos(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInEchos object value.
uint32_t snmpInGetResponses
Definition: mib2_module.h:413
const MibModule mib2Module
MIB-II module.
Definition: mib2_module.c:2211
error_t mib2GetIpFragCreates(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipFragCreates object value.
Definition: mib2_impl_ip.c:466
uint32_t snmpInPkts
Definition: mib2_module.h:397
error_t mib2GetIpInDelivers(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInDelivers object value.
Definition: mib2_impl_ip.c:226
uint32_t udpOutDatagrams
Definition: mib2_module.h:387
error_t mib2GetIcmpOutAddrMaskReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutAddrMaskReps object value.
int32_t tcpRtoMin
Definition: mib2_module.h:363
uint32_t snmpInTotalSetVars
Definition: mib2_module.h:409
error_t mib2GetIpAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddrEntry object value.
Definition: mib2_impl_ip.c:493
error_t mib2SetIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipNetToMediaEntry object value.
Definition: mib2_impl_ip.c:713
size_t sysObjectIDLen
Definition: mib2_module.h:324
error_t mib2GetIcmpOutParmProbs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutParmProbs object value.
uint32_t snmpInASNParseErrs
Definition: mib2_module.h:402
error_t mib2GetIpForwDatagrams(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipForwDatagrams object value.
Definition: mib2_impl_ip.c:144
int32_t ipReasmTimeout
Definition: mib2_module.h:351
uint32_t snmpInBadValues
Definition: mib2_module.h:405
uint32_t tcpOutRsts
Definition: mib2_module.h:374
uint32_t snmpInNoSuchNames
Definition: mib2_module.h:404
Mib2TcpGroup tcpGroup
Definition: mib2_module.h:441
error_t mib2GetTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get tcpConnEntry object value.
error_t mib2GetIcmpOutTimeExcds(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutTimeExcds object value.
error_t mib2GetIpOutDiscards(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipOutDiscards object value.
Definition: mib2_impl_ip.c:279
uint32_t tcpAttemptFails
Definition: mib2_module.h:368
uint32_t udpInDatagrams
Definition: mib2_module.h:384
uint32_t snmpOutSetRequests
Definition: mib2_module.h:421
@ MIB_ACCESS_READ_WRITE
Definition: mib_common.h:80
@ MIB_TYPE_COUNTER32
Definition: mib_common.h:61
Mib2UdpGroup udpGroup
Definition: mib2_module.h:444
@ MIB_TYPE_GAUGE32
Definition: mib_common.h:62
error_t mib2GetIpInAddrErrors(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInAddrErrors object value.
Definition: mib2_impl_ip.c:116
error_t mib2GetIpInUnknownProtos(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInUnknownProtos object value.
Definition: mib2_impl_ip.c:172
error_t mib2GetIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipNetToMediaEntry object value.
Definition: mib2_impl_ip.c:731
uint32_t tcpRetransSegs
Definition: mib2_module.h:372
uint32_t tcpEstabResets
Definition: mib2_module.h:369
error_t mib2GetIcmpInTimestampReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInTimestampReps object value.
#define ASN1_CLASS_UNIVERSAL
Definition: asn1.h:52
error_t mib2GetIpOutRequests(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipOutRequests object value.
Definition: mib2_impl_ip.c:252
#define MIB2_SYS_CONTACT_SIZE
Definition: mib2_module.h:113
error_t mib2GetIcmpInTimeExcds(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInTimeExcds object value.
MIB-II module implementation (IP group)
General definitions for cryptographic algorithms.
error_t mib2GetIcmpInRedirects(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInRedirects object value.
error_t mib2GetIcmpInSrcQuenchs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInSrcQuenchs object value.
size_t sysContactLen
Definition: mib2_module.h:329
int32_t tcpRtoMax
Definition: mib2_module.h:364
uint32_t snmpOutTooBigs
Definition: mib2_module.h:415
error_t mib2GetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2GetIpFragOKs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipFragOKs object value.
Definition: mib2_impl_ip.c:412
error_t mib2GetUdpEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get udpEntry object value.
Definition: mib2_impl_udp.c:59
error_t mib2GetIcmpOutSrcQuenchs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutSrcQuenchs object value.
error_t mib2GetIpOutNoRoutes(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipOutNoRoutes object value.
Definition: mib2_impl_ip.c:306
uint32_t snmpInGetNexts
Definition: mib2_module.h:411
error_t mib2GetIcmpInEchoReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInEchoReps object value.
uint32_t snmpInBadCommunityUses
Definition: mib2_module.h:401
error_t mib2GetIcmpInTimestamps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInTimestamps object value.
MIB module.
Definition: mib_common.h:292
error_t mib2GetIcmpInParmProbs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInParmProbs object value.
error_t mib2GetIpInDiscards(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInDiscards object value.
Definition: mib2_impl_ip.c:199
error_t mib2GetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
uint32_t tcpInSegs
Definition: mib2_module.h:370
error_t mib2GetIcmpInErrors(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpInErrors object value.
error_t mib2GetIpInHdrErrors(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInHdrErrors object value.
Definition: mib2_impl_ip.c:87
size_t sysLocationLen
Definition: mib2_module.h:337
error_t mib2GetIcmpOutTimestampReps(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutTimestampReps object value.
uint32_t snmpOutNoSuchNames
Definition: mib2_module.h:416
@ ASN1_TYPE_OCTET_STRING
Definition: asn1.h:75
uint32_t snmpOutGetRequests
Definition: mib2_module.h:419
@ ASN1_TYPE_INTEGER
Definition: asn1.h:73
int32_t ipDefaultTTL
Definition: mib2_module.h:350
MIB-II module implementation.
@ MIB_TYPE_TIME_TICKS
Definition: mib_common.h:64
MIB-II module implementation (Interface group)
Mib2IpGroup ipGroup
Definition: mib2_module.h:438
uint32_t tcpInErrs
Definition: mib2_module.h:373
uint32_t snmpInGenErrs
Definition: mib2_module.h:407
uint32_t snmpInTraps
Definition: mib2_module.h:414
uint32_t snmpOutGetResponses
Definition: mib2_module.h:422
error_t mib2GetIcmpOutEchos(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutEchos object value.
error_t mib2GetNextIfEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ifEntry object.
Definition: mib2_impl_if.c:401
char_t sysDescr[MIB2_SYS_DESCR_SIZE]
Definition: mib2_module.h:319
int32_t tcpMaxConn
Definition: mib2_module.h:365
error_t mib2GetIfNumber(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ifNumber object value.
Definition: mib2_impl_if.c:59
#define MibObject
Definition: mib_common.h:46
MIB-II module implementation (System group)
error_t mib2GetIpInReceives(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipInReceives object value.
Definition: mib2_impl_ip.c:60
error_t mib2GetIcmpOutErrors(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutErrors object value.
@ ASN1_TYPE_OBJECT_IDENTIFIER
Definition: asn1.h:77
MIB-II module implementation (UDP group)
uint32_t udpInErrors
Definition: mib2_module.h:386
error_t mib2GetNextTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next tcpConnEntry object.
error_t mib2GetSysUpTime(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get sysUpTime object value.
Definition: mib2_impl_sys.c:59
#define MIB2_SYS_OBJECT_ID_SIZE
Definition: mib2_module.h:106
error_t mib2GetIpReasmReqds(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipReasmReqds object value.
Definition: mib2_impl_ip.c:333
MIB-II base.
Definition: mib2_module.h:433
char_t sysLocation[MIB2_SYS_LOCATION_SIZE]
Definition: mib2_module.h:336
Mib2Base mib2Base
MIB-II base.
Definition: mib2_module.c:64
error_t mib2SetTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set tcpConnEntry object value.
size_t sysNameLen
Definition: mib2_module.h:333
MIB-II module implementation (TCP group)
#define MIB2_IF_SPECIFIC_SIZE
Definition: mib2_module.h:134
error_t mib2Init(void)
MIB-II module initialization.
Definition: mib2_impl.c:53
uint32_t snmpInSetRequests
Definition: mib2_module.h:412
uint32_t snmpInReadOnlys
Definition: mib2_module.h:406
uint32_t snmpInGetRequests
Definition: mib2_module.h:410
uint32_t snmpOutGenErrs
Definition: mib2_module.h:418
error_t mib2SetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
int32_t ipForwarding
Definition: mib2_module.h:349
uint8_t sysObjectID[MIB2_SYS_OBJECT_ID_SIZE]
Definition: mib2_module.h:323
TCP/IP stack core.
char_t sysContact[MIB2_SYS_CONTACT_SIZE]
Definition: mib2_module.h:328
error_t mib2SetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
uint32_t snmpInBadCommunityNames
Definition: mib2_module.h:400
uint32_t tcpActiveOpens
Definition: mib2_module.h:366
Mib2SysGroup sysGroup
Definition: mib2_module.h:435
uint32_t udpNoPorts
Definition: mib2_module.h:385
int32_t tcpRtoAlgorithm
Definition: mib2_module.h:362
error_t mib2GetIcmpOutMsgs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpOutMsgs object value.
error_t mib2GetNextIpAddrEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddrEntry object.
Definition: mib2_impl_ip.c:603
error_t mib2GetIpReasmOKs(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipReasmOKs object value.
Definition: mib2_impl_ip.c:360
#define ASN1_CLASS_APPLICATION
Definition: asn1.h:53
uint32_t snmpOutTraps
Definition: mib2_module.h:423
error_t mib2GetSysObjectID(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2SetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
#define MIB2_IP_ADDRESS_SIZE
Definition: mib2_module.h:148
error_t mib2GetIpFragFails(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipFragFails object value.
Definition: mib2_impl_ip.c:439
Mib2SnmpGroup snmpGroup
Definition: mib2_module.h:447
uint32_t ipRoutingDiscards
Definition: mib2_module.h:352
size_t sysDescrLen
Definition: mib2_module.h:320
Debugging facilities.
ASN.1 (Abstract Syntax Notation One)
uint32_t tcpPassiveOpens
Definition: mib2_module.h:367
#define arraysize(a)
Definition: os_port.h:71
uint32_t snmpOutBadValues
Definition: mib2_module.h:417
error_t mib2GetTcpCurrEstab(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get tcpCurrEstab object value.
Definition: mib2_impl_tcp.c:59
error_t mib2GetNextIpNetToMediaEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipNetToMediaEntry object.
Definition: mib2_impl_ip.c:840