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  * Copyright (C) 2010-2018 Oryx Embedded SARL. All rights reserved.
8  *
9  * This file is part of CycloneTCP Open.
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software Foundation,
23  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24  *
25  * @section Description
26  *
27  * The second version of the Management Information Base (MIB-II) is used to
28  * manage TCP/IP-based hosts. Refer to the following RFCs for complete details:
29  * - RFC 1156: MIB for Network Management of TCP/IP-based internets
30  * - RFC 1213: MIB for Network Management of TCP/IP-based internets (version 2)
31  *
32  * @author Oryx Embedded SARL (www.oryx-embedded.com)
33  * @version 1.9.0
34  **/
35 
36 //Switch to the appropriate trace level
37 #define TRACE_LEVEL SNMP_TRACE_LEVEL
38 
39 //Dependencies
40 #include "core/net.h"
41 #include "mibs/mib2_module.h"
42 #include "mibs/mib2_impl.h"
43 #include "core/crypto.h"
44 #include "encoding/asn1.h"
45 #include "encoding/oid.h"
46 #include "debug.h"
47 
48 //Check TCP/IP stack configuration
49 #if (MIB2_SUPPORT == ENABLED)
50 
51 
52 /**
53  * @brief MIB-II base
54  **/
55 
57 
58 
59 /**
60  * @brief MIB-II objects
61  **/
62 
64 {
65 #if (MIB2_SYS_GROUP_SUPPORT == ENABLED)
66  //sysDescr object (1.3.6.1.2.1.1.1)
67  {
68  "sysDescr",
69  {43, 6, 1, 2, 1, 1, 1},
70  7,
74 #if (MIB2_SYS_DESCR_SIZE > 0)
78  NULL,
79  NULL,
80  NULL
81 #else
82  NULL,
83  NULL,
84  0,
85  NULL,
87  NULL
88 #endif
89  },
90  //sysObjectID object (1.3.6.1.2.1.1.2)
91  {
92  "sysObjectID",
93  {43, 6, 1, 2, 1, 1, 2},
94  7,
98 #if (MIB2_SYS_OBJECT_ID_SIZE > 0)
102  NULL,
103  NULL,
104  NULL
105 #else
106  NULL,
107  NULL,
108  0,
109  NULL,
111  NULL
112 #endif
113  },
114  //sysUpTime object (1.3.6.1.2.1.1.3)
115  {
116  "sysUpTime",
117  {43, 6, 1, 2, 1, 1, 3},
118  7,
122  NULL,
123  NULL,
124  sizeof(uint32_t),
125  NULL,
127  NULL
128  },
129  //sysContact object (1.3.6.1.2.1.1.4)
130  {
131  "sysContact",
132  {43, 6, 1, 2, 1, 1, 4},
133  7,
137 #if (MIB2_SYS_CONTACT_SIZE > 0)
141  NULL,
142  NULL,
143  NULL
144 #else
145  NULL,
146  NULL,
147  0,
150  NULL
151 #endif
152  },
153  //sysName object (1.3.6.1.2.1.1.5)
154  {
155  "sysName",
156  {43, 6, 1, 2, 1, 1, 5},
157  7,
161 #if (MIB2_SYS_NAME_SIZE > 0)
165  NULL,
166  NULL,
167  NULL
168 #else
169  NULL,
170  NULL,
171  0,
174  NULL
175 #endif
176  },
177  //sysLocation object (1.3.6.1.2.1.1.6)
178  {
179  "sysLocation",
180  {43, 6, 1, 2, 1, 1, 6},
181  7,
185 #if (MIB2_SYS_LOCATION_SIZE > 0)
189  NULL,
190  NULL,
191  NULL
192 #else
193  NULL,
194  NULL,
195  0,
198  NULL
199 #endif
200  },
201  //sysServices object (1.3.6.1.2.1.1.7)
202  {
203  "sysServices",
204  {43, 6, 1, 2, 1, 1, 7},
205  7,
210  NULL,
211  sizeof(int32_t),
212  NULL,
213  NULL,
214  NULL
215  },
216 #endif
217 #if (MIB2_IF_GROUP_SUPPORT == ENABLED)
218  //ifNumber object (1.3.6.1.2.1.2.1)
219  {
220  "ifNumber",
221  {43, 6, 1, 2, 1, 2, 1},
222  7,
227  NULL,
228  sizeof(int32_t),
229  NULL,
230  NULL,
231  NULL
232  },
233  //ifIndex object (1.3.6.1.2.1.2.2.1.1)
234  {
235  "ifIndex",
236  {43, 6, 1, 2, 1, 2, 2, 1, 1},
237  9,
241  NULL,
242  NULL,
243  sizeof(int32_t),
244  NULL,
247  },
248  //ifDescr object (1.3.6.1.2.1.2.2.1.2)
249  {
250  "ifDescr",
251  {43, 6, 1, 2, 1, 2, 2, 1, 2},
252  9,
256  NULL,
257  NULL,
258  0,
259  NULL,
262  },
263  //ifType object (1.3.6.1.2.1.2.2.1.3)
264  {
265  "ifType",
266  {43, 6, 1, 2, 1, 2, 2, 1, 3},
267  9,
271  NULL,
272  NULL,
273  sizeof(int32_t),
274  NULL,
277  },
278  //ifMtu object (1.3.6.1.2.1.2.2.1.4)
279  {
280  "ifMtu",
281  {43, 6, 1, 2, 1, 2, 2, 1, 4},
282  9,
286  NULL,
287  NULL,
288  sizeof(int32_t),
289  NULL,
292  },
293  //ifSpeed object (1.3.6.1.2.1.2.2.1.5)
294  {
295  "ifSpeed",
296  {43, 6, 1, 2, 1, 2, 2, 1, 5},
297  9,
301  NULL,
302  NULL,
303  sizeof(uint32_t),
304  NULL,
307  },
308  //ifPhysAddress object (1.3.6.1.2.1.2.2.1.6)
309  {
310  "ifPhysAddress",
311  {43, 6, 1, 2, 1, 2, 2, 1, 6},
312  9,
316  NULL,
317  NULL,
319  NULL,
322  },
323  //ifAdminStatus object (1.3.6.1.2.1.2.2.1.7)
324  {
325  "ifAdminStatus",
326  {43, 6, 1, 2, 1, 2, 2, 1, 7},
327  9,
331  NULL,
332  NULL,
333  sizeof(int32_t),
337  },
338  //ifOperStatus object (1.3.6.1.2.1.2.2.1.8)
339  {
340  "ifOperStatus",
341  {43, 6, 1, 2, 1, 2, 2, 1, 8},
342  9,
346  NULL,
347  NULL,
348  sizeof(int32_t),
349  NULL,
352  },
353  //ifLastChange object (1.3.6.1.2.1.2.2.1.9)
354  {
355  "ifLastChange",
356  {43, 6, 1, 2, 1, 2, 2, 1, 9},
357  9,
361  NULL,
362  NULL,
363  sizeof(uint32_t),
364  NULL,
367  },
368  //ifInOctets object (1.3.6.1.2.1.2.2.1.10)
369  {
370  "ifInOctets",
371  {43, 6, 1, 2, 1, 2, 2, 1, 10},
372  9,
376  NULL,
377  NULL,
378  sizeof(uint32_t),
379  NULL,
382  },
383  //ifInUcastPkts object (1.3.6.1.2.1.2.2.1.11)
384  {
385  "ifInUcastPkts",
386  {43, 6, 1, 2, 1, 2, 2, 1, 11},
387  9,
391  NULL,
392  NULL,
393  sizeof(uint32_t),
394  NULL,
397  },
398  //ifInNUcastPkts object (1.3.6.1.2.1.2.2.1.12)
399  {
400  "ifInNUcastPkts",
401  {43, 6, 1, 2, 1, 2, 2, 1, 12},
402  9,
406  NULL,
407  NULL,
408  sizeof(uint32_t),
409  NULL,
412  },
413  //ifInDiscards object (1.3.6.1.2.1.2.2.1.13)
414  {
415  "ifInDiscards",
416  {43, 6, 1, 2, 1, 2, 2, 1, 13},
417  9,
421  NULL,
422  NULL,
423  sizeof(uint32_t),
424  NULL,
427  },
428  //ifInErrors object (1.3.6.1.2.1.2.2.1.14)
429  {
430  "ifInErrors",
431  {43, 6, 1, 2, 1, 2, 2, 1, 14},
432  9,
436  NULL,
437  NULL,
438  sizeof(uint32_t),
439  NULL,
442  },
443  //ifInUnknownProtos object (1.3.6.1.2.1.2.2.1.15)
444  {
445  "ifInUnknownProtos",
446  {43, 6, 1, 2, 1, 2, 2, 1, 15},
447  9,
451  NULL,
452  NULL,
453  sizeof(uint32_t),
454  NULL,
457  },
458  //ifOutOctets object (1.3.6.1.2.1.2.2.1.16)
459  {
460  "ifOutOctets",
461  {43, 6, 1, 2, 1, 2, 2, 1, 16},
462  9,
466  NULL,
467  NULL,
468  sizeof(uint32_t),
469  NULL,
472  },
473  //ifOutUcastPkts object (1.3.6.1.2.1.2.2.1.17)
474  {
475  "ifOutUcastPkts",
476  {43, 6, 1, 2, 1, 2, 2, 1, 17},
477  9,
481  NULL,
482  NULL,
483  sizeof(uint32_t),
484  NULL,
487  },
488  //ifOutNUcastPkts object (1.3.6.1.2.1.2.2.1.18)
489  {
490  "ifOutNUcastPkts",
491  {43, 6, 1, 2, 1, 2, 2, 1, 18},
492  9,
496  NULL,
497  NULL,
498  sizeof(uint32_t),
499  NULL,
502  },
503  //ifOutDiscards object (1.3.6.1.2.1.2.2.1.19)
504  {
505  "ifOutDiscards",
506  {43, 6, 1, 2, 1, 2, 2, 1, 19},
507  9,
511  NULL,
512  NULL,
513  sizeof(uint32_t),
514  NULL,
517  },
518  //ifOutErrors object (1.3.6.1.2.1.2.2.1.20)
519  {
520  "ifOutErrors",
521  {43, 6, 1, 2, 1, 2, 2, 1, 20},
522  9,
526  NULL,
527  NULL,
528  sizeof(uint32_t),
529  NULL,
532  },
533  //ifOutQLen object (1.3.6.1.2.1.2.2.1.21)
534  {
535  "ifOutQLen",
536  {43, 6, 1, 2, 1, 2, 2, 1, 21},
537  9,
541  NULL,
542  NULL,
543  sizeof(uint32_t),
544  NULL,
547  },
548  //ifSpecific object (1.3.6.1.2.1.2.2.1.22)
549  {
550  "ifSpecific",
551  {43, 6, 1, 2, 1, 2, 2, 1, 22},
552  9,
556  NULL,
557  NULL,
559  NULL,
562  },
563 #endif
564 #if (MIB2_IP_GROUP_SUPPORT == ENABLED && IPV4_SUPPORT == ENABLED)
565  //ipForwarding object (1.3.6.1.2.1.4.1)
566  {
567  "ipForwarding",
568  {43, 6, 1, 2, 1, 4, 1},
569  7,
574  NULL,
575  sizeof(int32_t),
576  NULL,
577  NULL,
578  NULL
579  },
580  //ipDefaultTTL object (1.3.6.1.2.1.4.2)
581  {
582  "ipDefaultTTL",
583  {43, 6, 1, 2, 1, 4, 2},
584  7,
589  NULL,
590  sizeof(int32_t),
591  NULL,
592  NULL,
593  NULL
594  },
595  //ipInReceives object (1.3.6.1.2.1.4.3)
596  {
597  "ipInReceives",
598  {43, 6, 1, 2, 1, 4, 3},
599  7,
604  NULL,
605  sizeof(uint32_t),
606  NULL,
607  NULL,
608  NULL
609  },
610  //ipInHdrErrors object (1.3.6.1.2.1.4.4)
611  {
612  "ipInHdrErrors",
613  {43, 6, 1, 2, 1, 4, 4},
614  7,
619  NULL,
620  sizeof(uint32_t),
621  NULL,
622  NULL,
623  NULL
624  },
625  //ipInAddrErrors object (1.3.6.1.2.1.4.5)
626  {
627  "ipInAddrErrors",
628  {43, 6, 1, 2, 1, 4, 5},
629  7,
634  NULL,
635  sizeof(uint32_t),
636  NULL,
637  NULL,
638  NULL
639  },
640  //ipForwDatagrams object (1.3.6.1.2.1.4.6)
641  {
642  "ipForwDatagrams",
643  {43, 6, 1, 2, 1, 4, 6},
644  7,
649  NULL,
650  sizeof(uint32_t),
651  NULL,
652  NULL,
653  NULL
654  },
655  //ipInUnknownProtos object (1.3.6.1.2.1.4.7)
656  {
657  "ipInUnknownProtos",
658  {43, 6, 1, 2, 1, 4, 7},
659  7,
664  NULL,
665  sizeof(uint32_t),
666  NULL,
667  NULL,
668  NULL
669  },
670  //ipInDiscards object (1.3.6.1.2.1.4.8)
671  {
672  "ipInDiscards",
673  {43, 6, 1, 2, 1, 4, 8},
674  7,
679  NULL,
680  sizeof(uint32_t),
681  NULL,
682  NULL,
683  NULL
684  },
685  //ipInDelivers object (1.3.6.1.2.1.4.9)
686  {
687  "ipInDelivers",
688  {43, 6, 1, 2, 1, 4, 9},
689  7,
694  NULL,
695  sizeof(uint32_t),
696  NULL,
697  NULL,
698  NULL
699  },
700  //ipOutRequests object (1.3.6.1.2.1.4.10)
701  {
702  "ipOutRequests",
703  {43, 6, 1, 2, 1, 4, 10},
704  7,
709  NULL,
710  sizeof(uint32_t),
711  NULL,
712  NULL,
713  NULL
714  },
715  //ipOutDiscards object (1.3.6.1.2.1.4.11)
716  {
717  "ipOutDiscards",
718  {43, 6, 1, 2, 1, 4, 11},
719  7,
724  NULL,
725  sizeof(uint32_t),
726  NULL,
727  NULL,
728  NULL
729  },
730  //ipOutNoRoutes object (1.3.6.1.2.1.4.12)
731  {
732  "ipOutNoRoutes",
733  {43, 6, 1, 2, 1, 4, 12},
734  7,
739  NULL,
740  sizeof(uint32_t),
741  NULL,
742  NULL,
743  NULL
744  },
745  //ipReasmTimeout object (1.3.6.1.2.1.4.13)
746  {
747  "ipReasmTimeout",
748  {43, 6, 1, 2, 1, 4, 13},
749  7,
754  NULL,
755  sizeof(int32_t),
756  NULL,
757  NULL,
758  NULL
759  },
760  //ipReasmReqds object (1.3.6.1.2.1.4.14)
761  {
762  "ipReasmReqds",
763  {43, 6, 1, 2, 1, 4, 14},
764  7,
769  NULL,
770  sizeof(uint32_t),
771  NULL,
772  NULL,
773  NULL
774  },
775  //ipReasmOKs object (1.3.6.1.2.1.4.15)
776  {
777  "ipReasmOKs",
778  {43, 6, 1, 2, 1, 4, 15},
779  7,
784  NULL,
785  sizeof(uint32_t),
786  NULL,
787  NULL,
788  NULL
789  },
790  //ipReasmFails object (1.3.6.1.2.1.4.16)
791  {
792  "ipReasmFails",
793  {43, 6, 1, 2, 1, 4, 16},
794  7,
799  NULL,
800  sizeof(uint32_t),
801  NULL,
802  NULL,
803  NULL
804  },
805  //ipFragOKs object (1.3.6.1.2.1.4.17)
806  {
807  "ipFragOKs",
808  {43, 6, 1, 2, 1, 4, 17},
809  7,
814  NULL,
815  sizeof(uint32_t),
816  NULL,
817  NULL,
818  NULL
819  },
820  //ipFragFails object (1.3.6.1.2.1.4.18)
821  {
822  "ipFragFails",
823  {43, 6, 1, 2, 1, 4, 18},
824  7,
829  NULL,
830  sizeof(uint32_t),
831  NULL,
832  NULL,
833  NULL
834  },
835  //ipFragCreates object (1.3.6.1.2.1.4.19)
836  {
837  "ipFragCreates",
838  {43, 6, 1, 2, 1, 4, 19},
839  7,
844  NULL,
845  sizeof(uint32_t),
846  NULL,
847  NULL,
848  NULL
849  },
850  //ipAdEntAddr object (1.3.6.1.2.1.4.20.1.1)
851  {
852  "ipAdEntAddr",
853  {43, 6, 1, 2, 1, 4, 20, 1, 1},
854  9,
858  NULL,
859  NULL,
861  NULL,
864  },
865  //ipAdEntIfIndex object (1.3.6.1.2.1.4.20.1.2)
866  {
867  "ipAdEntIfIndex",
868  {43, 6, 1, 2, 1, 4, 20, 1, 2},
869  9,
873  NULL,
874  NULL,
875  sizeof(int32_t),
876  NULL,
879  },
880  //ipAdEntNetMask object (1.3.6.1.2.1.4.20.1.3)
881  {
882  "ipAdEntNetMask",
883  {43, 6, 1, 2, 1, 4, 20, 1, 3},
884  9,
888  NULL,
889  NULL,
891  NULL,
894  },
895  //ipAdEntBcastAddr object (1.3.6.1.2.1.4.20.1.4)
896  {
897  "ipAdEntBcastAddr",
898  {43, 6, 1, 2, 1, 4, 20, 1, 4},
899  9,
903  NULL,
904  NULL,
905  sizeof(int32_t),
906  NULL,
909  },
910  //ipAdEntReasmMaxSize object (1.3.6.1.2.1.4.20.1.5)
911  {
912  "ipAdEntReasmMaxSize",
913  {43, 6, 1, 2, 1, 4, 20, 1, 5},
914  9,
918  NULL,
919  NULL,
920  sizeof(int32_t),
921  NULL,
924  },
925  //ipNetToMediaIfIndex object (1.3.6.1.2.1.4.22.1.1)
926  {
927  "ipNetToMediaIfIndex",
928  {43, 6, 1, 2, 1, 4, 22, 1, 1},
929  9,
933  NULL,
934  NULL,
935  sizeof(int32_t),
939  },
940  //ipNetToMediaPhysAddress object (1.3.6.1.2.1.4.22.1.2)
941  {
942  "ipNetToMediaPhysAddress",
943  {43, 6, 1, 2, 1, 4, 22, 1, 2},
944  9,
948  NULL,
949  NULL,
954  },
955  //ipNetToMediaNetAddress object (1.3.6.1.2.1.4.22.1.3)
956  {
957  "ipNetToMediaNetAddress",
958  {43, 6, 1, 2, 1, 4, 22, 1, 3},
959  9,
963  NULL,
964  NULL,
969  },
970  //ipNetToMediaType object (1.3.6.1.2.1.4.22.1.4)
971  {
972  "ipNetToMediaType",
973  {43, 6, 1, 2, 1, 4, 22, 1, 4},
974  9,
978  NULL,
979  NULL,
980  sizeof(int32_t),
984  },
985  //ipRoutingDiscards object (1.3.6.1.2.1.4.23)
986  {
987  "ipRoutingDiscards",
988  {43, 6, 1, 2, 1, 4, 23},
989  7,
994  NULL,
995  sizeof(uint32_t),
996  NULL,
997  NULL,
998  NULL
999  },
1000 #endif
1001 #if (MIB2_ICMP_GROUP_SUPPORT == ENABLED && IPV4_SUPPORT == ENABLED)
1002  //icmpInMsgs object (1.3.6.1.2.1.5.1)
1003  {
1004  "icmpInMsgs",
1005  {43, 6, 1, 2, 1, 5, 1},
1006  7,
1011  NULL,
1012  sizeof(uint32_t),
1013  NULL,
1014  NULL,
1015  NULL
1016  },
1017  //icmpInErrors object (1.3.6.1.2.1.5.2)
1018  {
1019  "icmpInErrors",
1020  {43, 6, 1, 2, 1, 5, 2},
1021  7,
1026  NULL,
1027  sizeof(uint32_t),
1028  NULL,
1029  NULL,
1030  NULL
1031  },
1032  //icmpInDestUnreachs object (1.3.6.1.2.1.5.3)
1033  {
1034  "icmpInDestUnreachs",
1035  {43, 6, 1, 2, 1, 5, 3},
1036  7,
1041  NULL,
1042  sizeof(uint32_t),
1043  NULL,
1044  NULL,
1045  NULL
1046  },
1047  //icmpInTimeExcds object (1.3.6.1.2.1.5.4)
1048  {
1049  "icmpInTimeExcds",
1050  {43, 6, 1, 2, 1, 5, 4},
1051  7,
1056  NULL,
1057  sizeof(uint32_t),
1058  NULL,
1059  NULL,
1060  NULL
1061  },
1062  //icmpInParmProbs object (1.3.6.1.2.1.5.5)
1063  {
1064  "icmpInParmProbs",
1065  {43, 6, 1, 2, 1, 5, 5},
1066  7,
1071  NULL,
1072  sizeof(uint32_t),
1073  NULL,
1074  NULL,
1075  NULL
1076  },
1077  //icmpInSrcQuenchs object (1.3.6.1.2.1.5.6)
1078  {
1079  "icmpInSrcQuenchs",
1080  {43, 6, 1, 2, 1, 5, 6},
1081  7,
1086  NULL,
1087  sizeof(uint32_t),
1088  NULL,
1089  NULL,
1090  NULL
1091  },
1092  //icmpInRedirects object (1.3.6.1.2.1.5.7)
1093  {
1094  "icmpInRedirects",
1095  {43, 6, 1, 2, 1, 5, 7},
1096  7,
1101  NULL,
1102  sizeof(uint32_t),
1103  NULL,
1104  NULL,
1105  NULL
1106  },
1107  //icmpInEchos object (1.3.6.1.2.1.5.8)
1108  {
1109  "icmpInEchos",
1110  {43, 6, 1, 2, 1, 5, 8},
1111  7,
1116  NULL,
1117  sizeof(uint32_t),
1118  NULL,
1119  NULL,
1120  NULL
1121  },
1122  //icmpInEchoReps object (1.3.6.1.2.1.5.9)
1123  {
1124  "icmpInEchoReps",
1125  {43, 6, 1, 2, 1, 5, 9},
1126  7,
1131  NULL,
1132  sizeof(uint32_t),
1133  NULL,
1134  NULL,
1135  NULL
1136  },
1137  //icmpInTimestamps object (1.3.6.1.2.1.5.10)
1138  {
1139  "icmpInTimestamps",
1140  {43, 6, 1, 2, 1, 5, 10},
1141  7,
1146  NULL,
1147  sizeof(uint32_t),
1148  NULL,
1149  NULL,
1150  NULL
1151  },
1152  //icmpInTimestampReps object (1.3.6.1.2.1.5.11)
1153  {
1154  "icmpInTimestampReps",
1155  {43, 6, 1, 2, 1, 5, 11},
1156  7,
1161  NULL,
1162  sizeof(uint32_t),
1163  NULL,
1164  NULL,
1165  NULL
1166  },
1167  //icmpInAddrMasks object (1.3.6.1.2.1.5.12)
1168  {
1169  "icmpInAddrMasks",
1170  {43, 6, 1, 2, 1, 5, 12},
1171  7,
1176  NULL,
1177  sizeof(uint32_t),
1178  NULL,
1179  NULL,
1180  NULL
1181  },
1182  //icmpInAddrMaskReps object (1.3.6.1.2.1.5.13)
1183  {
1184  "icmpInAddrMaskReps",
1185  {43, 6, 1, 2, 1, 5, 13},
1186  7,
1191  NULL,
1192  sizeof(uint32_t),
1193  NULL,
1194  NULL,
1195  NULL
1196  },
1197  //icmpOutMsgs object (1.3.6.1.2.1.5.14)
1198  {
1199  "icmpOutMsgs",
1200  {43, 6, 1, 2, 1, 5, 14},
1201  7,
1206  NULL,
1207  sizeof(uint32_t),
1208  NULL,
1209  NULL,
1210  NULL
1211  },
1212  //icmpOutErrors object (1.3.6.1.2.1.5.15)
1213  {
1214  "icmpOutErrors",
1215  {43, 6, 1, 2, 1, 5, 15},
1216  7,
1221  NULL,
1222  sizeof(uint32_t),
1223  NULL,
1224  NULL,
1225  NULL
1226  },
1227  //icmpOutDestUnreachs object (1.3.6.1.2.1.5.16)
1228  {
1229  "icmpOutDestUnreachs",
1230  {43, 6, 1, 2, 1, 5, 16},
1231  7,
1236  NULL,
1237  sizeof(uint32_t),
1238  NULL,
1239  NULL,
1240  NULL
1241  },
1242  //icmpOutTimeExcds object (1.3.6.1.2.1.5.17)
1243  {
1244  "icmpOutTimeExcds",
1245  {43, 6, 1, 2, 1, 5, 17},
1246  7,
1251  NULL,
1252  sizeof(uint32_t),
1253  NULL,
1254  NULL,
1255  NULL
1256  },
1257  //icmpOutParmProbs object (1.3.6.1.2.1.5.18)
1258  {
1259  "icmpOutParmProbs",
1260  {43, 6, 1, 2, 1, 5, 18},
1261  7,
1266  NULL,
1267  sizeof(uint32_t),
1268  NULL,
1269  NULL,
1270  NULL
1271  },
1272  //icmpOutSrcQuenchs object (1.3.6.1.2.1.5.19)
1273  {
1274  "icmpOutSrcQuenchs",
1275  {43, 6, 1, 2, 1, 5, 19},
1276  7,
1281  NULL,
1282  sizeof(uint32_t),
1283  NULL,
1284  NULL,
1285  NULL
1286  },
1287  //icmpOutRedirects object (1.3.6.1.2.1.5.20)
1288  {
1289  "icmpOutRedirects",
1290  {43, 6, 1, 2, 1, 5, 20},
1291  7,
1296  NULL,
1297  sizeof(uint32_t),
1298  NULL,
1299  NULL,
1300  NULL
1301  },
1302  //icmpOutEchos object (1.3.6.1.2.1.5.21)
1303  {
1304  "icmpOutEchos",
1305  {43, 6, 1, 2, 1, 5, 21},
1306  7,
1311  NULL,
1312  sizeof(uint32_t),
1313  NULL,
1314  NULL,
1315  NULL
1316  },
1317  //icmpOutEchoReps object (1.3.6.1.2.1.5.22)
1318  {
1319  "icmpOutEchoReps",
1320  {43, 6, 1, 2, 1, 5, 22},
1321  7,
1326  NULL,
1327  sizeof(uint32_t),
1328  NULL,
1329  NULL,
1330  NULL
1331  },
1332  //icmpOutTimestamps object (1.3.6.1.2.1.5.23)
1333  {
1334  "icmpOutTimestamps",
1335  {43, 6, 1, 2, 1, 5, 23},
1336  7,
1341  NULL,
1342  sizeof(uint32_t),
1343  NULL,
1344  NULL,
1345  NULL
1346  },
1347  //icmpOutTimestampReps object (1.3.6.1.2.1.5.24)
1348  {
1349  "icmpOutTimestampReps",
1350  {43, 6, 1, 2, 1, 5, 24},
1351  7,
1356  NULL,
1357  sizeof(uint32_t),
1358  NULL,
1359  NULL,
1360  NULL
1361  },
1362  //icmpOutAddrMasks object (1.3.6.1.2.1.5.25)
1363  {
1364  "icmpOutAddrMasks",
1365  {43, 6, 1, 2, 1, 5, 25},
1366  7,
1371  NULL,
1372  sizeof(uint32_t),
1373  NULL,
1374  NULL,
1375  NULL
1376  },
1377  //icmpOutAddrMaskReps object (1.3.6.1.2.1.5.26)
1378  {
1379  "icmpOutAddrMaskReps",
1380  {43, 6, 1, 2, 1, 5, 26},
1381  7,
1386  NULL,
1387  sizeof(uint32_t),
1388  NULL,
1389  NULL,
1390  NULL
1391  },
1392 #endif
1393 #if (MIB2_TCP_GROUP_SUPPORT == ENABLED && TCP_SUPPORT == ENABLED && IPV4_SUPPORT == ENABLED)
1394  //tcpRtoAlgorithm object (1.3.6.1.2.1.6.1)
1395  {
1396  "tcpRtoAlgorithm",
1397  {43, 6, 1, 2, 1, 6, 1},
1398  7,
1403  NULL,
1404  sizeof(int32_t),
1405  NULL,
1406  NULL,
1407  NULL
1408  },
1409  //tcpRtoMin object (1.3.6.1.2.1.6.2)
1410  {
1411  "tcpRtoMin",
1412  {43, 6, 1, 2, 1, 6, 2},
1413  7,
1418  NULL,
1419  sizeof(int32_t),
1420  NULL,
1421  NULL,
1422  NULL
1423  },
1424  //tcpRtoMax object (1.3.6.1.2.1.6.3)
1425  {
1426  "tcpRtoMax",
1427  {43, 6, 1, 2, 1, 6, 3},
1428  7,
1433  NULL,
1434  sizeof(int32_t),
1435  NULL,
1436  NULL,
1437  NULL
1438  },
1439  //tcpMaxConn object (1.3.6.1.2.1.6.4)
1440  {
1441  "tcpMaxConn",
1442  {43, 6, 1, 2, 1, 6, 4},
1443  7,
1448  NULL,
1449  sizeof(int32_t),
1450  NULL,
1451  NULL,
1452  NULL
1453  },
1454  //tcpActiveOpens object (1.3.6.1.2.1.6.5)
1455  {
1456  "tcpActiveOpens",
1457  {43, 6, 1, 2, 1, 6, 5},
1458  7,
1463  NULL,
1464  sizeof(uint32_t),
1465  NULL,
1466  NULL,
1467  NULL
1468  },
1469  //tcpPassiveOpens object (1.3.6.1.2.1.6.6)
1470  {
1471  "tcpPassiveOpens",
1472  {43, 6, 1, 2, 1, 6, 6},
1473  7,
1478  NULL,
1479  sizeof(uint32_t),
1480  NULL,
1481  NULL,
1482  NULL
1483  },
1484  //tcpAttemptFails object (1.3.6.1.2.1.6.7)
1485  {
1486  "tcpAttemptFails",
1487  {43, 6, 1, 2, 1, 6, 7},
1488  7,
1493  NULL,
1494  sizeof(uint32_t),
1495  NULL,
1496  NULL,
1497  NULL
1498  },
1499  //tcpEstabResets object (1.3.6.1.2.1.6.8)
1500  {
1501  "tcpEstabResets",
1502  {43, 6, 1, 2, 1, 6, 8},
1503  7,
1508  NULL,
1509  sizeof(uint32_t),
1510  NULL,
1511  NULL,
1512  NULL
1513  },
1514  //tcpCurrEstab object (1.3.6.1.2.1.6.9)
1515  {
1516  "tcpCurrEstab",
1517  {43, 6, 1, 2, 1, 6, 9},
1518  7,
1522  NULL,
1523  NULL,
1524  sizeof(uint32_t),
1525  NULL,
1527  NULL
1528  },
1529  //tcpInSegs object (1.3.6.1.2.1.6.10)
1530  {
1531  "tcpInSegs",
1532  {43, 6, 1, 2, 1, 6, 10},
1533  7,
1538  NULL,
1539  sizeof(uint32_t),
1540  NULL,
1541  NULL,
1542  NULL
1543  },
1544  //tcpOutSegs object (1.3.6.1.2.1.6.11)
1545  {
1546  "tcpOutSegs",
1547  {43, 6, 1, 2, 1, 6, 11},
1548  7,
1553  NULL,
1554  sizeof(uint32_t),
1555  NULL,
1556  NULL,
1557  NULL
1558  },
1559  //tcpRetransSegs object (1.3.6.1.2.1.6.12)
1560  {
1561  "tcpRetransSegs",
1562  {43, 6, 1, 2, 1, 6, 12},
1563  7,
1568  NULL,
1569  sizeof(uint32_t),
1570  NULL,
1571  NULL,
1572  NULL
1573  },
1574  //tcpConnState object (1.3.6.1.2.1.6.13.1.1)
1575  {
1576  "tcpConnState",
1577  {43, 6, 1, 2, 1, 6, 13, 1, 1},
1578  9,
1582  NULL,
1583  NULL,
1584  sizeof(int32_t),
1588  },
1589  //tcpConnLocalAddress object (1.3.6.1.2.1.6.13.1.2)
1590  {
1591  "tcpConnLocalAddress",
1592  {43, 6, 1, 2, 1, 6, 13, 1, 2},
1593  9,
1597  NULL,
1598  NULL,
1600  NULL,
1603  },
1604  //tcpConnLocalPort object (1.3.6.1.2.1.6.13.1.3)
1605  {
1606  "tcpConnLocalPort",
1607  {43, 6, 1, 2, 1, 6, 13, 1, 3},
1608  9,
1612  NULL,
1613  NULL,
1614  sizeof(int32_t),
1615  NULL,
1618  },
1619  //tcpConnRemAddress object (1.3.6.1.2.1.6.13.1.4)
1620  {
1621  "tcpConnRemAddress",
1622  {43, 6, 1, 2, 1, 6, 13, 1, 4},
1623  9,
1627  NULL,
1628  NULL,
1630  NULL,
1633  },
1634  //tcpConnRemPort object (1.3.6.1.2.1.6.13.1.5)
1635  {
1636  "tcpConnRemPort",
1637  {43, 6, 1, 2, 1, 6, 13, 1, 5},
1638  9,
1642  NULL,
1643  NULL,
1644  sizeof(int32_t),
1645  NULL,
1648  },
1649  //tcpInErrs object (1.3.6.1.2.1.6.14)
1650  {
1651  "tcpInErrs",
1652  {43, 6, 1, 2, 1, 6, 14},
1653  7,
1658  NULL,
1659  sizeof(uint32_t),
1660  NULL,
1661  NULL,
1662  NULL
1663  },
1664  //tcpOutRsts object (1.3.6.1.2.1.6.15)
1665  {
1666  "tcpOutRsts",
1667  {43, 6, 1, 2, 1, 6, 15},
1668  7,
1673  NULL,
1674  sizeof(uint32_t),
1675  NULL,
1676  NULL,
1677  NULL
1678  },
1679 #endif
1680 #if (MIB2_UDP_GROUP_SUPPORT == ENABLED && UDP_SUPPORT == ENABLED && IPV4_SUPPORT == ENABLED)
1681  //udpInDatagrams object (1.3.6.1.2.1.7.1)
1682  {
1683  "udpInDatagrams",
1684  {43, 6, 1, 2, 1, 7, 1},
1685  7,
1690  NULL,
1691  sizeof(uint32_t),
1692  NULL,
1693  NULL,
1694  NULL
1695  },
1696  //udpNoPorts object (1.3.6.1.2.1.7.2)
1697  {
1698  "udpNoPorts",
1699  {43, 6, 1, 2, 1, 7, 2},
1700  7,
1705  NULL,
1706  sizeof(uint32_t),
1707  NULL,
1708  NULL,
1709  NULL
1710  },
1711  //udpInErrors object (1.3.6.1.2.1.7.3)
1712  {
1713  "udpInErrors",
1714  {43, 6, 1, 2, 1, 7, 3},
1715  7,
1720  NULL,
1721  sizeof(uint32_t),
1722  NULL,
1723  NULL,
1724  NULL
1725  },
1726  //udpOutDatagrams object (1.3.6.1.2.1.7.4)
1727  {
1728  "udpOutDatagrams",
1729  {43, 6, 1, 2, 1, 7, 4},
1730  7,
1735  NULL,
1736  sizeof(uint32_t),
1737  NULL,
1738  NULL,
1739  NULL
1740  },
1741  //udpLocalAddress object (1.3.6.1.2.1.7.5.1.1)
1742  {
1743  "udpLocalAddress",
1744  {43, 6, 1, 2, 1, 7, 5, 1, 1},
1745  9,
1749  NULL,
1750  NULL,
1752  NULL,
1755  },
1756  //udpLocalPort object (1.3.6.1.2.1.7.5.1.2)
1757  {
1758  "udpLocalPort",
1759  {43, 6, 1, 2, 1, 7, 5, 1, 2},
1760  9,
1764  NULL,
1765  NULL,
1766  sizeof(int32_t),
1767  NULL,
1770  },
1771 #endif
1772 #if (MIB2_SNMP_GROUP_SUPPORT == ENABLED)
1773  //snmpInPkts object (1.3.6.1.2.1.11.1)
1774  {
1775  "snmpInPkts",
1776  {43, 6, 1, 2, 1, 11, 1},
1777  7,
1782  NULL,
1783  sizeof(uint32_t),
1784  NULL,
1785  NULL,
1786  NULL
1787  },
1788  //snmpOutPkts object (1.3.6.1.2.1.11.2)
1789  {
1790  "snmpOutPkts",
1791  {43, 6, 1, 2, 1, 11, 2},
1792  7,
1797  NULL,
1798  sizeof(uint32_t),
1799  NULL,
1800  NULL,
1801  NULL
1802  },
1803  //snmpInBadVersions object (1.3.6.1.2.1.11.3)
1804  {
1805  "snmpInBadVersions",
1806  {43, 6, 1, 2, 1, 11, 3},
1807  7,
1812  NULL,
1813  sizeof(uint32_t),
1814  NULL,
1815  NULL,
1816  NULL
1817  },
1818  //snmpInBadCommunityNames object (1.3.6.1.2.1.11.4)
1819  {
1820  "snmpInBadCommunityNames",
1821  {43, 6, 1, 2, 1, 11, 4},
1822  7,
1827  NULL,
1828  sizeof(uint32_t),
1829  NULL,
1830  NULL,
1831  NULL
1832  },
1833  //snmpInBadCommunityUses object (1.3.6.1.2.1.11.5)
1834  {
1835  "snmpInBadCommunityUses",
1836  {43, 6, 1, 2, 1, 11, 5},
1837  7,
1842  NULL,
1843  sizeof(uint32_t),
1844  NULL,
1845  NULL,
1846  NULL
1847  },
1848  //snmpInASNParseErrs object (1.3.6.1.2.1.11.6)
1849  {
1850  "snmpInASNParseErrs",
1851  {43, 6, 1, 2, 1, 11, 6},
1852  7,
1857  NULL,
1858  sizeof(uint32_t),
1859  NULL,
1860  NULL,
1861  NULL
1862  },
1863  //snmpInTooBigs object (1.3.6.1.2.1.11.8)
1864  {
1865  "snmpInTooBigs",
1866  {43, 6, 1, 2, 1, 11, 8},
1867  7,
1872  NULL,
1873  sizeof(uint32_t),
1874  NULL,
1875  NULL,
1876  NULL
1877  },
1878  //snmpInNoSuchNames object (1.3.6.1.2.1.11.9)
1879  {
1880  "snmpInNoSuchNames",
1881  {43, 6, 1, 2, 1, 11, 9},
1882  7,
1887  NULL,
1888  sizeof(uint32_t),
1889  NULL,
1890  NULL,
1891  NULL
1892  },
1893  //snmpInBadValues object (1.3.6.1.2.1.11.10)
1894  {
1895  "snmpInBadValues",
1896  {43, 6, 1, 2, 1, 11, 10},
1897  7,
1902  NULL,
1903  sizeof(uint32_t),
1904  NULL,
1905  NULL,
1906  NULL
1907  },
1908  //snmpInReadOnlys object (1.3.6.1.2.1.11.11)
1909  {
1910  "snmpInReadOnlys",
1911  {43, 6, 1, 2, 1, 11, 11},
1912  7,
1917  NULL,
1918  sizeof(uint32_t),
1919  NULL,
1920  NULL,
1921  NULL
1922  },
1923  //snmpInGenErrs object (1.3.6.1.2.1.11.12)
1924  {
1925  "snmpInGenErrs",
1926  {43, 6, 1, 2, 1, 11, 12},
1927  7,
1932  NULL,
1933  sizeof(uint32_t),
1934  NULL,
1935  NULL,
1936  NULL
1937  },
1938  //snmpInTotalReqVars object (1.3.6.1.2.1.11.13)
1939  {
1940  "snmpInTotalReqVars",
1941  {43, 6, 1, 2, 1, 11, 13},
1942  7,
1947  NULL,
1948  sizeof(uint32_t),
1949  NULL,
1950  NULL,
1951  NULL
1952  },
1953  //snmpInTotalSetVars object (1.3.6.1.2.1.11.14)
1954  {
1955  "snmpInTotalSetVars",
1956  {43, 6, 1, 2, 1, 11, 14},
1957  7,
1962  NULL,
1963  sizeof(uint32_t),
1964  NULL,
1965  NULL,
1966  NULL
1967  },
1968  //snmpInGetRequests object (1.3.6.1.2.1.11.15)
1969  {
1970  "snmpInGetRequests",
1971  {43, 6, 1, 2, 1, 11, 15},
1972  7,
1977  NULL,
1978  sizeof(uint32_t),
1979  NULL,
1980  NULL,
1981  NULL
1982  },
1983  //snmpInGetNexts object (1.3.6.1.2.1.11.16)
1984  {
1985  "snmpInGetNexts",
1986  {43, 6, 1, 2, 1, 11, 16},
1987  7,
1992  NULL,
1993  sizeof(uint32_t),
1994  NULL,
1995  NULL,
1996  NULL
1997  },
1998  //snmpInSetRequests object (1.3.6.1.2.1.11.17)
1999  {
2000  "snmpInSetRequests",
2001  {43, 6, 1, 2, 1, 11, 17},
2002  7,
2007  NULL,
2008  sizeof(uint32_t),
2009  NULL,
2010  NULL,
2011  NULL
2012  },
2013  //snmpInGetResponses object (1.3.6.1.2.1.11.18)
2014  {
2015  "snmpInGetResponses",
2016  {43, 6, 1, 2, 1, 11, 18},
2017  7,
2022  NULL,
2023  sizeof(uint32_t),
2024  NULL,
2025  NULL,
2026  NULL
2027  },
2028  //snmpInTraps object (1.3.6.1.2.1.11.19)
2029  {
2030  "snmpInTraps",
2031  {43, 6, 1, 2, 1, 11, 19},
2032  7,
2037  NULL,
2038  sizeof(uint32_t),
2039  NULL,
2040  NULL,
2041  NULL
2042  },
2043  //snmpOutTooBigs object (1.3.6.1.2.1.11.20)
2044  {
2045  "snmpOutTooBigs",
2046  {43, 6, 1, 2, 1, 11, 20},
2047  7,
2052  NULL,
2053  sizeof(uint32_t),
2054  NULL,
2055  NULL,
2056  NULL
2057  },
2058  //snmpOutNoSuchNames object (1.3.6.1.2.1.11.21)
2059  {
2060  "snmpOutNoSuchNames",
2061  {43, 6, 1, 2, 1, 11, 21},
2062  7,
2067  NULL,
2068  sizeof(uint32_t),
2069  NULL,
2070  NULL,
2071  NULL
2072  },
2073  //snmpOutBadValues object (1.3.6.1.2.1.11.22)
2074  {
2075  "snmpOutBadValues",
2076  {43, 6, 1, 2, 1, 11, 22},
2077  7,
2082  NULL,
2083  sizeof(uint32_t),
2084  NULL,
2085  NULL,
2086  NULL
2087  },
2088  //snmpOutGenErrs object (1.3.6.1.2.1.11.24)
2089  {
2090  "snmpOutGenErrs",
2091  {43, 6, 1, 2, 1, 11, 24},
2092  7,
2097  NULL,
2098  sizeof(uint32_t),
2099  NULL,
2100  NULL,
2101  NULL
2102  },
2103  //snmpOutGetRequests object (1.3.6.1.2.1.11.25)
2104  {
2105  "snmpOutGetRequests",
2106  {43, 6, 1, 2, 1, 11, 25},
2107  7,
2112  NULL,
2113  sizeof(uint32_t),
2114  NULL,
2115  NULL,
2116  NULL
2117  },
2118  //snmpOutGetNexts object (1.3.6.1.2.1.11.26)
2119  {
2120  "snmpOutGetNexts",
2121  {43, 6, 1, 2, 1, 11, 26},
2122  7,
2127  NULL,
2128  sizeof(uint32_t),
2129  NULL,
2130  NULL,
2131  NULL
2132  },
2133  //snmpOutSetRequests object (1.3.6.1.2.1.11.27)
2134  {
2135  "snmpOutSetRequests",
2136  {43, 6, 1, 2, 1, 11, 27},
2137  7,
2142  NULL,
2143  sizeof(uint32_t),
2144  NULL,
2145  NULL,
2146  NULL
2147  },
2148  //snmpOutGetResponses object (1.3.6.1.2.1.11.28)
2149  {
2150  "snmpOutGetResponses",
2151  {43, 6, 1, 2, 1, 11, 28},
2152  7,
2157  NULL,
2158  sizeof(uint32_t),
2159  NULL,
2160  NULL,
2161  NULL
2162  },
2163  //snmpOutTraps object (1.3.6.1.2.1.11.29)
2164  {
2165  "snmpOutTraps",
2166  {43, 6, 1, 2, 1, 11, 29},
2167  7,
2172  NULL,
2173  sizeof(uint32_t),
2174  NULL,
2175  NULL,
2176  NULL
2177  },
2178  //snmpEnableAuthenTraps object (1.3.6.1.2.1.11.30)
2179  {
2180  "snmpEnableAuthenTraps",
2181  {43, 6, 1, 2, 1, 11, 30},
2182  7,
2187  NULL,
2188  sizeof(int32_t),
2189  NULL,
2190  NULL,
2191  NULL
2192  }
2193 #endif
2194 };
2195 
2196 
2197 /**
2198  * @brief MIB-II module
2199  **/
2200 
2202 {
2203  "RFC1213-MIB",
2204  {43, 6, 1, 2, 1},
2205  5,
2206  mib2Objects,
2208  mib2Init,
2209  NULL,
2210  NULL,
2211  NULL,
2212  NULL
2213 };
2214 
2215 #endif
uint32_t snmpInTooBigs
Definition: mib2_module.h:459
uint32_t snmpInBadVersions
Definition: mib2_module.h:455
uint32_t icmpOutErrors
Definition: mib2_module.h:397
int32_t tcpRtoMax
Definition: mib2_module.h:420
uint32_t tcpInSegs
Definition: mib2_module.h:426
uint32_t icmpInMsgs
Definition: mib2_module.h:383
size_t sysLocationLen
Definition: mib2_module.h:307
uint32_t icmpOutTimestampReps
Definition: mib2_module.h:406
uint32_t ipFragFails
Definition: mib2_module.h:371
TCP/IP stack core.
uint32_t icmpOutAddrMasks
Definition: mib2_module.h:407
uint32_t ipOutRequests
Definition: mib2_module.h:363
Debugging facilities.
uint32_t snmpOutPkts
Definition: mib2_module.h:454
uint32_t icmpInEchos
Definition: mib2_module.h:390
uint32_t snmpOutGetNexts
Definition: mib2_module.h:476
int32_t ipReasmTimeout
Definition: mib2_module.h:366
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.c:626
error_t mib2SetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
int32_t snmpEnableAuthenTraps
Definition: mib2_module.h:480
uint32_t ipInUnknownProtos
Definition: mib2_module.h:360
uint32_t snmpInTotalReqVars
Definition: mib2_module.h:464
uint32_t tcpInErrs
Definition: mib2_module.h:429
uint32_t udpInErrors
Definition: mib2_module.h:442
uint32_t ipReasmReqds
Definition: mib2_module.h:367
MIB-II module.
uint32_t snmpInGetResponses
Definition: mib2_module.h:469
#define MibObject
Definition: mib_common.h:44
General definitions for cryptographic algorithms.
uint32_t ipInDelivers
Definition: mib2_module.h:362
uint32_t ipInHdrErrors
Definition: mib2_module.h:357
uint32_t snmpInPkts
Definition: mib2_module.h:453
uint32_t ipInAddrErrors
Definition: mib2_module.h:358
int32_t tcpMaxConn
Definition: mib2_module.h:421
uint32_t icmpInRedirects
Definition: mib2_module.h:389
uint32_t icmpInTimestamps
Definition: mib2_module.h:392
uint32_t icmpOutTimeExcds
Definition: mib2_module.h:399
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.c:159
uint32_t snmpInASNParseErrs
Definition: mib2_module.h:458
error_t mib2SetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
char_t sysContact[MIB2_SYS_CONTACT_SIZE]
Definition: mib2_module.h:298
uint32_t snmpInTotalSetVars
Definition: mib2_module.h:465
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.c:732
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.
Definition: mib2_impl.c:1004
uint32_t ipForwDatagrams
Definition: mib2_module.h:359
Mib2IcmpGroup icmpGroup
Definition: mib2_module.h:494
#define MIB2_SYS_OBJECT_ID_SIZE
Definition: mib2_module.h:104
error_t mib2GetSysDescr(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
size_t sysNameLen
Definition: mib2_module.h:303
char_t sysLocation[MIB2_SYS_LOCATION_SIZE]
Definition: mib2_module.h:306
uint32_t icmpOutAddrMaskReps
Definition: mib2_module.h:408
Mib2Base mib2Base
MIB-II base.
Definition: mib2_module.c:56
#define MIB2_IF_SPECIFIC_SIZE
Definition: mib2_module.h:132
size_t sysDescrLen
Definition: mib2_module.h:290
OID (Object Identifier)
uint32_t snmpOutSetRequests
Definition: mib2_module.h:477
uint32_t snmpInBadValues
Definition: mib2_module.h:461
error_t mib2GetNextUdpEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next udpEntry object.
Definition: mib2_impl.c:1453
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.c:532
uint32_t snmpInNoSuchNames
Definition: mib2_module.h:460
error_t mib2SetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
error_t mib2GetNextTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next tcpConnEntry object.
Definition: mib2_impl.c:1190
Mib2TcpGroup tcpGroup
Definition: mib2_module.h:497
error_t mib2GetSysObjectID(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
#define arraysize(a)
Definition: os_port.h:68
uint32_t icmpOutDestUnreachs
Definition: mib2_module.h:398
int32_t tcpRtoAlgorithm
Definition: mib2_module.h:418
uint32_t icmpInEchoReps
Definition: mib2_module.h:391
int32_t ifNumber
Definition: mib2_module.h:343
char_t sysName[MIB2_SYS_NAME_SIZE]
Definition: mib2_module.h:302
Mib2UdpGroup udpGroup
Definition: mib2_module.h:500
char_t sysDescr[MIB2_SYS_DESCR_SIZE]
Definition: mib2_module.h:289
error_t mib2GetTcpConnEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get tcpConnEntry object value.
Definition: mib2_impl.c:1022
ASN.1 (Abstract Syntax Notation One)
uint32_t icmpInErrors
Definition: mib2_module.h:384
#define ASN1_CLASS_APPLICATION
Definition: asn1.h:46
Mib2IfGroup ifGroup
Definition: mib2_module.h:491
uint32_t icmpInTimestampReps
Definition: mib2_module.h:393
uint8_t sysObjectID[MIB2_SYS_OBJECT_ID_SIZE]
Definition: mib2_module.h:293
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.c:184
uint32_t icmpInSrcQuenchs
Definition: mib2_module.h:388
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.c:832
uint32_t tcpActiveOpens
Definition: mib2_module.h:422
uint32_t ipOutDiscards
Definition: mib2_module.h:364
uint32_t icmpInTimeExcds
Definition: mib2_module.h:386
uint32_t icmpOutTimestamps
Definition: mib2_module.h:405
uint32_t snmpOutTooBigs
Definition: mib2_module.h:471
#define MIB2_IP_ADDRESS_SIZE
Definition: mib2_module.h:146
#define MIB2_SYS_LOCATION_SIZE
Definition: mib2_module.h:125
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.c:1345
uint32_t tcpPassiveOpens
Definition: mib2_module.h:423
uint32_t udpNoPorts
Definition: mib2_module.h:441
error_t mib2Init(void)
MIB-II module initialization.
Definition: mib2_impl.c:48
int32_t sysServices
Definition: mib2_module.h:309
#define MIB2_PHYS_ADDRESS_SIZE
Definition: mib2_module.h:139
MIB-II module implementation.
uint32_t snmpInGetNexts
Definition: mib2_module.h:467
uint32_t snmpInBadCommunityUses
Definition: mib2_module.h:457
#define MIB2_SYS_DESCR_SIZE
Definition: mib2_module.h:97
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.c:477
uint32_t snmpOutNoSuchNames
Definition: mib2_module.h:472
uint32_t icmpInAddrMasks
Definition: mib2_module.h:394
#define MIB2_SYS_NAME_SIZE
Definition: mib2_module.h:118
uint32_t snmpOutGetRequests
Definition: mib2_module.h:475
uint32_t ipInReceives
Definition: mib2_module.h:356
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.c:714
uint32_t icmpOutMsgs
Definition: mib2_module.h:396
uint32_t icmpOutRedirects
Definition: mib2_module.h:402
const MibModule mib2Module
MIB-II module.
Definition: mib2_module.c:2201
const MibObject mib2Objects[]
MIB-II objects.
Definition: mib2_module.c:63
uint32_t udpOutDatagrams
Definition: mib2_module.h:443
int32_t tcpRtoMin
Definition: mib2_module.h:419
Mib2IpGroup ipGroup
Definition: mib2_module.h:493
uint32_t icmpInAddrMaskReps
Definition: mib2_module.h:395
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.c:953
uint32_t ipOutNoRoutes
Definition: mib2_module.h:365
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.c:202
MIB-II base.
Definition: mib2_module.h:488
uint32_t snmpOutGetResponses
Definition: mib2_module.h:478
uint32_t tcpOutSegs
Definition: mib2_module.h:427
uint32_t icmpOutParmProbs
Definition: mib2_module.h:400
uint32_t snmpInGenErrs
Definition: mib2_module.h:463
uint32_t ipRoutingDiscards
Definition: mib2_module.h:373
uint32_t icmpOutSrcQuenchs
Definition: mib2_module.h:401
uint32_t snmpInTraps
Definition: mib2_module.h:470
int32_t ipForwarding
Definition: mib2_module.h:354
uint32_t ipReasmFails
Definition: mib2_module.h:369
#define ASN1_CLASS_UNIVERSAL
Definition: asn1.h:45
uint32_t ipInDiscards
Definition: mib2_module.h:361
uint32_t ipReasmOKs
Definition: mib2_module.h:368
MIB module.
Definition: mib_common.h:285
uint32_t ipFragCreates
Definition: mib2_module.h:372
uint32_t ipFragOKs
Definition: mib2_module.h:370
uint32_t snmpOutGenErrs
Definition: mib2_module.h:474
uint32_t snmpInGetRequests
Definition: mib2_module.h:466
uint32_t tcpOutRsts
Definition: mib2_module.h:430
#define MIB2_SYS_CONTACT_SIZE
Definition: mib2_module.h:111
size_t sysObjectIDLen
Definition: mib2_module.h:294
uint32_t snmpInSetRequests
Definition: mib2_module.h:468
uint32_t tcpAttemptFails
Definition: mib2_module.h:424
uint32_t snmpInReadOnlys
Definition: mib2_module.h:462
error_t mib2GetSysContact(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
error_t mib2GetSysLocation(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
uint32_t icmpInParmProbs
Definition: mib2_module.h:387
uint32_t snmpOutTraps
Definition: mib2_module.h:479
uint32_t icmpOutEchos
Definition: mib2_module.h:403
int32_t ipDefaultTTL
Definition: mib2_module.h:355
Mib2SysGroup sysGroup
Definition: mib2_module.h:490
Mib2SnmpGroup snmpGroup
Definition: mib2_module.h:502
uint32_t snmpInBadCommunityNames
Definition: mib2_module.h:456
size_t sysContactLen
Definition: mib2_module.h:299
uint32_t tcpRetransSegs
Definition: mib2_module.h:428
uint32_t tcpEstabResets
Definition: mib2_module.h:425
uint32_t snmpOutBadValues
Definition: mib2_module.h:473
error_t mib2GetSysName(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
uint32_t icmpInDestUnreachs
Definition: mib2_module.h:385
uint32_t icmpOutEchoReps
Definition: mib2_module.h:404
uint32_t udpInDatagrams
Definition: mib2_module.h:440