Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / test / dumps / netsnmp / rmon2-mib-mgr-stub.c
1 /*
2  * This C file has been generated by smidump 0.4.5.
3  * It is intended to be used with the NET-SNMP library.
4  *
5  * This C file is derived from the RMON2-MIB module.
6  *
7  * $Id: rmon2-mib-mgr-stub.c 7690 2008-02-05 15:31:35Z schoenw $
8  */
9
10 #include <stdlib.h>
11
12 #include <ucd-snmp/asn1.h>
13 #include <ucd-snmp/snmp.h>
14 #include <ucd-snmp/snmp_api.h>
15 #include <ucd-snmp/snmp_client.h>
16
17 #include "rmon2-mib.h"
18
19 static oid etherStatsDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 1, 4, 1, 1};
20 static oid etherStatsCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 1, 4, 1, 2};
21 static oid tokenRingMLStatsDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 1, 5, 1, 1};
22 static oid tokenRingMLStatsCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 1, 5, 1, 2};
23 static oid tokenRingPStatsDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 1, 6, 1, 1};
24 static oid tokenRingPStatsCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 1, 6, 1, 2};
25 static oid historyControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 2, 5, 1, 1};
26 static oid hostControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 4, 4, 1, 1};
27 static oid hostControlCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 4, 4, 1, 2};
28 static oid matrixControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 6, 4, 1, 1};
29 static oid matrixControlCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 6, 4, 1, 2};
30 static oid channelDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 7, 3, 1, 1};
31 static oid channelCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 7, 3, 1, 2};
32 static oid filterProtocolDirDataLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 7, 4, 1, 1};
33 static oid filterProtocolDirLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 7, 4, 1, 2};
34 static oid ringStationControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 10, 7, 1, 1};
35 static oid ringStationControlCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 10, 7, 1, 2};
36 static oid sourceRoutingStatsDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 10, 8, 1, 1};
37 static oid sourceRoutingStatsCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 10, 8, 1, 2};
38 static oid protocolDirLastChange[] = {1, 3, 6, 1, 2, 1, 16, 11, 1};
39 static oid protocolDirID[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 1};
40 static oid protocolDirParameters[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 2};
41 static oid protocolDirLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 3};
42 static oid protocolDirDescr[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 4};
43 static oid protocolDirType[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 5};
44 static oid protocolDirAddressMapConfig[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 6};
45 static oid protocolDirHostConfig[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 7};
46 static oid protocolDirMatrixConfig[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 8};
47 static oid protocolDirOwner[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 9};
48 static oid protocolDirStatus[] = {1, 3, 6, 1, 2, 1, 16, 11, 2, 1, 10};
49 static oid protocolDistControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 1};
50 static oid protocolDistControlDataSource[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 2};
51 static oid protocolDistControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 3};
52 static oid protocolDistControlCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 4};
53 static oid protocolDistControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 5};
54 static oid protocolDistControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 12, 1, 1, 6};
55 static oid protocolDistStatsPkts[] = {1, 3, 6, 1, 2, 1, 16, 12, 2, 1, 1};
56 static oid protocolDistStatsOctets[] = {1, 3, 6, 1, 2, 1, 16, 12, 2, 1, 2};
57 static oid addressMapInserts[] = {1, 3, 6, 1, 2, 1, 16, 13, 1};
58 static oid addressMapDeletes[] = {1, 3, 6, 1, 2, 1, 16, 13, 2};
59 static oid addressMapMaxDesiredEntries[] = {1, 3, 6, 1, 2, 1, 16, 13, 3};
60 static oid addressMapControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 13, 4, 1, 1};
61 static oid addressMapControlDataSource[] = {1, 3, 6, 1, 2, 1, 16, 13, 4, 1, 2};
62 static oid addressMapControlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 13, 4, 1, 3};
63 static oid addressMapControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 13, 4, 1, 4};
64 static oid addressMapControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 13, 4, 1, 5};
65 static oid addressMapTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 13, 5, 1, 1};
66 static oid addressMapNetworkAddress[] = {1, 3, 6, 1, 2, 1, 16, 13, 5, 1, 2};
67 static oid addressMapSource[] = {1, 3, 6, 1, 2, 1, 16, 13, 5, 1, 3};
68 static oid addressMapPhysicalAddress[] = {1, 3, 6, 1, 2, 1, 16, 13, 5, 1, 4};
69 static oid addressMapLastChange[] = {1, 3, 6, 1, 2, 1, 16, 13, 5, 1, 5};
70 static oid hlHostControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 1};
71 static oid hlHostControlDataSource[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 2};
72 static oid hlHostControlNlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 3};
73 static oid hlHostControlNlInserts[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 4};
74 static oid hlHostControlNlDeletes[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 5};
75 static oid hlHostControlNlMaxDesiredEntries[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 6};
76 static oid hlHostControlAlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 7};
77 static oid hlHostControlAlInserts[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 8};
78 static oid hlHostControlAlDeletes[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 9};
79 static oid hlHostControlAlMaxDesiredEntries[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 10};
80 static oid hlHostControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 11};
81 static oid hlHostControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 14, 1, 1, 12};
82 static oid nlHostTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 1};
83 static oid nlHostAddress[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 2};
84 static oid nlHostInPkts[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 3};
85 static oid nlHostOutPkts[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 4};
86 static oid nlHostInOctets[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 5};
87 static oid nlHostOutOctets[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 6};
88 static oid nlHostOutMacNonUnicastPkts[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 7};
89 static oid nlHostCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 14, 2, 1, 8};
90 static oid hlMatrixControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 1};
91 static oid hlMatrixControlDataSource[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 2};
92 static oid hlMatrixControlNlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 3};
93 static oid hlMatrixControlNlInserts[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 4};
94 static oid hlMatrixControlNlDeletes[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 5};
95 static oid hlMatrixControlNlMaxDesiredEntries[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 6};
96 static oid hlMatrixControlAlDroppedFrames[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 7};
97 static oid hlMatrixControlAlInserts[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 8};
98 static oid hlMatrixControlAlDeletes[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 9};
99 static oid hlMatrixControlAlMaxDesiredEntries[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 10};
100 static oid hlMatrixControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 11};
101 static oid hlMatrixControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 15, 1, 1, 12};
102 static oid nlMatrixSDTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 1};
103 static oid nlMatrixSDSourceAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 2};
104 static oid nlMatrixSDDestAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 3};
105 static oid nlMatrixSDPkts[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 4};
106 static oid nlMatrixSDOctets[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 5};
107 static oid nlMatrixSDCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 15, 2, 1, 6};
108 static oid nlMatrixDSTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 1};
109 static oid nlMatrixDSSourceAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 2};
110 static oid nlMatrixDSDestAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 3};
111 static oid nlMatrixDSPkts[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 4};
112 static oid nlMatrixDSOctets[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 5};
113 static oid nlMatrixDSCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 15, 3, 1, 6};
114 static oid nlMatrixTopNControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 1};
115 static oid nlMatrixTopNControlMatrixIndex[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 2};
116 static oid nlMatrixTopNControlRateBase[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 3};
117 static oid nlMatrixTopNControlTimeRemaining[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 4};
118 static oid nlMatrixTopNControlGeneratedReports[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 5};
119 static oid nlMatrixTopNControlDuration[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 6};
120 static oid nlMatrixTopNControlRequestedSize[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 7};
121 static oid nlMatrixTopNControlGrantedSize[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 8};
122 static oid nlMatrixTopNControlStartTime[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 9};
123 static oid nlMatrixTopNControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 10};
124 static oid nlMatrixTopNControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 15, 4, 1, 11};
125 static oid nlMatrixTopNIndex[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 1};
126 static oid nlMatrixTopNProtocolDirLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 2};
127 static oid nlMatrixTopNSourceAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 3};
128 static oid nlMatrixTopNDestAddress[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 4};
129 static oid nlMatrixTopNPktRate[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 5};
130 static oid nlMatrixTopNReversePktRate[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 6};
131 static oid nlMatrixTopNOctetRate[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 7};
132 static oid nlMatrixTopNReverseOctetRate[] = {1, 3, 6, 1, 2, 1, 16, 15, 5, 1, 8};
133 static oid alHostTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 1};
134 static oid alHostInPkts[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 2};
135 static oid alHostOutPkts[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 3};
136 static oid alHostInOctets[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 4};
137 static oid alHostOutOctets[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 5};
138 static oid alHostCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 16, 1, 1, 6};
139 static oid alMatrixSDTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 17, 1, 1, 1};
140 static oid alMatrixSDPkts[] = {1, 3, 6, 1, 2, 1, 16, 17, 1, 1, 2};
141 static oid alMatrixSDOctets[] = {1, 3, 6, 1, 2, 1, 16, 17, 1, 1, 3};
142 static oid alMatrixSDCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 17, 1, 1, 4};
143 static oid alMatrixDSTimeMark[] = {1, 3, 6, 1, 2, 1, 16, 17, 2, 1, 1};
144 static oid alMatrixDSPkts[] = {1, 3, 6, 1, 2, 1, 16, 17, 2, 1, 2};
145 static oid alMatrixDSOctets[] = {1, 3, 6, 1, 2, 1, 16, 17, 2, 1, 3};
146 static oid alMatrixDSCreateTime[] = {1, 3, 6, 1, 2, 1, 16, 17, 2, 1, 4};
147 static oid alMatrixTopNControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 1};
148 static oid alMatrixTopNControlMatrixIndex[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 2};
149 static oid alMatrixTopNControlRateBase[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 3};
150 static oid alMatrixTopNControlTimeRemaining[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 4};
151 static oid alMatrixTopNControlGeneratedReports[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 5};
152 static oid alMatrixTopNControlDuration[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 6};
153 static oid alMatrixTopNControlRequestedSize[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 7};
154 static oid alMatrixTopNControlGrantedSize[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 8};
155 static oid alMatrixTopNControlStartTime[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 9};
156 static oid alMatrixTopNControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 10};
157 static oid alMatrixTopNControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 17, 3, 1, 11};
158 static oid alMatrixTopNIndex[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 1};
159 static oid alMatrixTopNProtocolDirLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 2};
160 static oid alMatrixTopNSourceAddress[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 3};
161 static oid alMatrixTopNDestAddress[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 4};
162 static oid alMatrixTopNAppProtocolDirLocalIndex[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 5};
163 static oid alMatrixTopNPktRate[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 6};
164 static oid alMatrixTopNReversePktRate[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 7};
165 static oid alMatrixTopNOctetRate[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 8};
166 static oid alMatrixTopNReverseOctetRate[] = {1, 3, 6, 1, 2, 1, 16, 17, 4, 1, 9};
167 static oid usrHistoryControlIndex[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 1};
168 static oid usrHistoryControlObjects[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 2};
169 static oid usrHistoryControlBucketsRequested[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 3};
170 static oid usrHistoryControlBucketsGranted[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 4};
171 static oid usrHistoryControlInterval[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 5};
172 static oid usrHistoryControlOwner[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 6};
173 static oid usrHistoryControlStatus[] = {1, 3, 6, 1, 2, 1, 16, 18, 1, 1, 7};
174 static oid usrHistoryObjectIndex[] = {1, 3, 6, 1, 2, 1, 16, 18, 2, 1, 1};
175 static oid usrHistoryObjectVariable[] = {1, 3, 6, 1, 2, 1, 16, 18, 2, 1, 2};
176 static oid usrHistoryObjectSampleType[] = {1, 3, 6, 1, 2, 1, 16, 18, 2, 1, 3};
177 static oid usrHistorySampleIndex[] = {1, 3, 6, 1, 2, 1, 16, 18, 3, 1, 1};
178 static oid usrHistoryIntervalStart[] = {1, 3, 6, 1, 2, 1, 16, 18, 3, 1, 2};
179 static oid usrHistoryIntervalEnd[] = {1, 3, 6, 1, 2, 1, 16, 18, 3, 1, 3};
180 static oid usrHistoryAbsValue[] = {1, 3, 6, 1, 2, 1, 16, 18, 3, 1, 4};
181 static oid usrHistoryValStatus[] = {1, 3, 6, 1, 2, 1, 16, 18, 3, 1, 5};
182 static oid probeCapabilities[] = {1, 3, 6, 1, 2, 1, 16, 19, 1};
183 static oid probeSoftwareRev[] = {1, 3, 6, 1, 2, 1, 16, 19, 2};
184 static oid probeHardwareRev[] = {1, 3, 6, 1, 2, 1, 16, 19, 3};
185 static oid probeDateTime[] = {1, 3, 6, 1, 2, 1, 16, 19, 4};
186 static oid probeResetControl[] = {1, 3, 6, 1, 2, 1, 16, 19, 5};
187 static oid probeDownloadFile[] = {1, 3, 6, 1, 2, 1, 16, 19, 6};
188 static oid probeDownloadTFTPServer[] = {1, 3, 6, 1, 2, 1, 16, 19, 7};
189 static oid probeDownloadAction[] = {1, 3, 6, 1, 2, 1, 16, 19, 8};
190 static oid probeDownloadStatus[] = {1, 3, 6, 1, 2, 1, 16, 19, 9};
191 static oid serialMode[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 1};
192 static oid serialProtocol[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 2};
193 static oid serialTimeout[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 3};
194 static oid serialModemInitString[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 4};
195 static oid serialModemHangUpString[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 5};
196 static oid serialModemConnectResp[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 6};
197 static oid serialModemNoConnectResp[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 7};
198 static oid serialDialoutTimeout[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 8};
199 static oid serialStatus[] = {1, 3, 6, 1, 2, 1, 16, 19, 10, 1, 9};
200 static oid netConfigIPAddress[] = {1, 3, 6, 1, 2, 1, 16, 19, 11, 1, 1};
201 static oid netConfigSubnetMask[] = {1, 3, 6, 1, 2, 1, 16, 19, 11, 1, 2};
202 static oid netConfigStatus[] = {1, 3, 6, 1, 2, 1, 16, 19, 11, 1, 3};
203 static oid netDefaultGateway[] = {1, 3, 6, 1, 2, 1, 16, 19, 12};
204 static oid trapDestIndex[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 1};
205 static oid trapDestCommunity[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 2};
206 static oid trapDestProtocol[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 3};
207 static oid trapDestAddress[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 4};
208 static oid trapDestOwner[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 5};
209 static oid trapDestStatus[] = {1, 3, 6, 1, 2, 1, 16, 19, 13, 1, 6};
210 static oid serialConnectIndex[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 1};
211 static oid serialConnectDestIpAddress[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 2};
212 static oid serialConnectType[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 3};
213 static oid serialConnectDialString[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 4};
214 static oid serialConnectSwitchConnectSeq[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 5};
215 static oid serialConnectSwitchDisconnectSeq[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 6};
216 static oid serialConnectSwitchResetSeq[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 7};
217 static oid serialConnectOwner[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 8};
218 static oid serialConnectStatus[] = {1, 3, 6, 1, 2, 1, 16, 19, 14, 1, 9};
219
220 int rmon2_mib_mgr_get_etherStats2Entry(struct snmp_session *s, etherStats2Entry_t **etherStats2Entry)
221 {
222     struct snmp_session *peer;
223     struct snmp_pdu *request, *response;
224     struct variable_list *vars;
225     int status;
226
227     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
228     snmp_add_null_var(request, etherStatsDroppedFrames, sizeof(etherStatsDroppedFrames)/sizeof(oid));
229     snmp_add_null_var(request, etherStatsCreateTime, sizeof(etherStatsCreateTime)/sizeof(oid));
230
231     peer = snmp_open(s);
232     if (!peer) {
233         snmp_free_pdu(request);
234         return -1;
235     }
236
237     status = snmp_synch_response(peer, request, &response);
238     if (status != STAT_SUCCESS) {
239         if (response) snmp_free_pdu(response);
240         snmp_close(peer);
241         return -2;
242     }
243
244     *etherStats2Entry = (etherStats2Entry_t *) malloc(sizeof(etherStats2Entry_t));
245     if (! *etherStats2Entry) {
246         if (response) snmp_free_pdu(response);
247         snmp_close(peer);
248         return -4;
249     }
250
251     for (vars = response->variables; vars; vars = vars->next_variable) {
252         if (vars->name_length > sizeof(etherStatsDroppedFrames)/sizeof(oid)
253             && memcmp(vars->name, etherStatsDroppedFrames, sizeof(etherStatsDroppedFrames)) == 0) {
254             (*etherStats2Entry)->__etherStatsDroppedFrames = *vars->val.integer;
255             (*etherStats2Entry)->etherStatsDroppedFrames = &((*etherStats2Entry)->__etherStatsDroppedFrames);
256         }
257         if (vars->name_length > sizeof(etherStatsCreateTime)/sizeof(oid)
258             && memcmp(vars->name, etherStatsCreateTime, sizeof(etherStatsCreateTime)) == 0) {
259             (*etherStats2Entry)->__etherStatsCreateTime = *vars->val.integer;
260             (*etherStats2Entry)->etherStatsCreateTime = &((*etherStats2Entry)->__etherStatsCreateTime);
261         }
262     }
263
264     if (response) snmp_free_pdu(response);
265
266     if (snmp_close(peer) == 0) {
267         return -5;
268     }
269
270     return 0;
271 }
272
273 int rmon2_mib_mgr_get_tokenRingMLStats2Entry(struct snmp_session *s, tokenRingMLStats2Entry_t **tokenRingMLStats2Entry)
274 {
275     struct snmp_session *peer;
276     struct snmp_pdu *request, *response;
277     struct variable_list *vars;
278     int status;
279
280     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
281     snmp_add_null_var(request, tokenRingMLStatsDroppedFrames, sizeof(tokenRingMLStatsDroppedFrames)/sizeof(oid));
282     snmp_add_null_var(request, tokenRingMLStatsCreateTime, sizeof(tokenRingMLStatsCreateTime)/sizeof(oid));
283
284     peer = snmp_open(s);
285     if (!peer) {
286         snmp_free_pdu(request);
287         return -1;
288     }
289
290     status = snmp_synch_response(peer, request, &response);
291     if (status != STAT_SUCCESS) {
292         if (response) snmp_free_pdu(response);
293         snmp_close(peer);
294         return -2;
295     }
296
297     *tokenRingMLStats2Entry = (tokenRingMLStats2Entry_t *) malloc(sizeof(tokenRingMLStats2Entry_t));
298     if (! *tokenRingMLStats2Entry) {
299         if (response) snmp_free_pdu(response);
300         snmp_close(peer);
301         return -4;
302     }
303
304     for (vars = response->variables; vars; vars = vars->next_variable) {
305         if (vars->name_length > sizeof(tokenRingMLStatsDroppedFrames)/sizeof(oid)
306             && memcmp(vars->name, tokenRingMLStatsDroppedFrames, sizeof(tokenRingMLStatsDroppedFrames)) == 0) {
307             (*tokenRingMLStats2Entry)->__tokenRingMLStatsDroppedFrames = *vars->val.integer;
308             (*tokenRingMLStats2Entry)->tokenRingMLStatsDroppedFrames = &((*tokenRingMLStats2Entry)->__tokenRingMLStatsDroppedFrames);
309         }
310         if (vars->name_length > sizeof(tokenRingMLStatsCreateTime)/sizeof(oid)
311             && memcmp(vars->name, tokenRingMLStatsCreateTime, sizeof(tokenRingMLStatsCreateTime)) == 0) {
312             (*tokenRingMLStats2Entry)->__tokenRingMLStatsCreateTime = *vars->val.integer;
313             (*tokenRingMLStats2Entry)->tokenRingMLStatsCreateTime = &((*tokenRingMLStats2Entry)->__tokenRingMLStatsCreateTime);
314         }
315     }
316
317     if (response) snmp_free_pdu(response);
318
319     if (snmp_close(peer) == 0) {
320         return -5;
321     }
322
323     return 0;
324 }
325
326 int rmon2_mib_mgr_get_tokenRingPStats2Entry(struct snmp_session *s, tokenRingPStats2Entry_t **tokenRingPStats2Entry)
327 {
328     struct snmp_session *peer;
329     struct snmp_pdu *request, *response;
330     struct variable_list *vars;
331     int status;
332
333     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
334     snmp_add_null_var(request, tokenRingPStatsDroppedFrames, sizeof(tokenRingPStatsDroppedFrames)/sizeof(oid));
335     snmp_add_null_var(request, tokenRingPStatsCreateTime, sizeof(tokenRingPStatsCreateTime)/sizeof(oid));
336
337     peer = snmp_open(s);
338     if (!peer) {
339         snmp_free_pdu(request);
340         return -1;
341     }
342
343     status = snmp_synch_response(peer, request, &response);
344     if (status != STAT_SUCCESS) {
345         if (response) snmp_free_pdu(response);
346         snmp_close(peer);
347         return -2;
348     }
349
350     *tokenRingPStats2Entry = (tokenRingPStats2Entry_t *) malloc(sizeof(tokenRingPStats2Entry_t));
351     if (! *tokenRingPStats2Entry) {
352         if (response) snmp_free_pdu(response);
353         snmp_close(peer);
354         return -4;
355     }
356
357     for (vars = response->variables; vars; vars = vars->next_variable) {
358         if (vars->name_length > sizeof(tokenRingPStatsDroppedFrames)/sizeof(oid)
359             && memcmp(vars->name, tokenRingPStatsDroppedFrames, sizeof(tokenRingPStatsDroppedFrames)) == 0) {
360             (*tokenRingPStats2Entry)->__tokenRingPStatsDroppedFrames = *vars->val.integer;
361             (*tokenRingPStats2Entry)->tokenRingPStatsDroppedFrames = &((*tokenRingPStats2Entry)->__tokenRingPStatsDroppedFrames);
362         }
363         if (vars->name_length > sizeof(tokenRingPStatsCreateTime)/sizeof(oid)
364             && memcmp(vars->name, tokenRingPStatsCreateTime, sizeof(tokenRingPStatsCreateTime)) == 0) {
365             (*tokenRingPStats2Entry)->__tokenRingPStatsCreateTime = *vars->val.integer;
366             (*tokenRingPStats2Entry)->tokenRingPStatsCreateTime = &((*tokenRingPStats2Entry)->__tokenRingPStatsCreateTime);
367         }
368     }
369
370     if (response) snmp_free_pdu(response);
371
372     if (snmp_close(peer) == 0) {
373         return -5;
374     }
375
376     return 0;
377 }
378
379 int rmon2_mib_mgr_get_historyControl2Entry(struct snmp_session *s, historyControl2Entry_t **historyControl2Entry)
380 {
381     struct snmp_session *peer;
382     struct snmp_pdu *request, *response;
383     struct variable_list *vars;
384     int status;
385
386     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
387     snmp_add_null_var(request, historyControlDroppedFrames, sizeof(historyControlDroppedFrames)/sizeof(oid));
388
389     peer = snmp_open(s);
390     if (!peer) {
391         snmp_free_pdu(request);
392         return -1;
393     }
394
395     status = snmp_synch_response(peer, request, &response);
396     if (status != STAT_SUCCESS) {
397         if (response) snmp_free_pdu(response);
398         snmp_close(peer);
399         return -2;
400     }
401
402     *historyControl2Entry = (historyControl2Entry_t *) malloc(sizeof(historyControl2Entry_t));
403     if (! *historyControl2Entry) {
404         if (response) snmp_free_pdu(response);
405         snmp_close(peer);
406         return -4;
407     }
408
409     for (vars = response->variables; vars; vars = vars->next_variable) {
410         if (vars->name_length > sizeof(historyControlDroppedFrames)/sizeof(oid)
411             && memcmp(vars->name, historyControlDroppedFrames, sizeof(historyControlDroppedFrames)) == 0) {
412             (*historyControl2Entry)->__historyControlDroppedFrames = *vars->val.integer;
413             (*historyControl2Entry)->historyControlDroppedFrames = &((*historyControl2Entry)->__historyControlDroppedFrames);
414         }
415     }
416
417     if (response) snmp_free_pdu(response);
418
419     if (snmp_close(peer) == 0) {
420         return -5;
421     }
422
423     return 0;
424 }
425
426 int rmon2_mib_mgr_get_hostControl2Entry(struct snmp_session *s, hostControl2Entry_t **hostControl2Entry)
427 {
428     struct snmp_session *peer;
429     struct snmp_pdu *request, *response;
430     struct variable_list *vars;
431     int status;
432
433     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
434     snmp_add_null_var(request, hostControlDroppedFrames, sizeof(hostControlDroppedFrames)/sizeof(oid));
435     snmp_add_null_var(request, hostControlCreateTime, sizeof(hostControlCreateTime)/sizeof(oid));
436
437     peer = snmp_open(s);
438     if (!peer) {
439         snmp_free_pdu(request);
440         return -1;
441     }
442
443     status = snmp_synch_response(peer, request, &response);
444     if (status != STAT_SUCCESS) {
445         if (response) snmp_free_pdu(response);
446         snmp_close(peer);
447         return -2;
448     }
449
450     *hostControl2Entry = (hostControl2Entry_t *) malloc(sizeof(hostControl2Entry_t));
451     if (! *hostControl2Entry) {
452         if (response) snmp_free_pdu(response);
453         snmp_close(peer);
454         return -4;
455     }
456
457     for (vars = response->variables; vars; vars = vars->next_variable) {
458         if (vars->name_length > sizeof(hostControlDroppedFrames)/sizeof(oid)
459             && memcmp(vars->name, hostControlDroppedFrames, sizeof(hostControlDroppedFrames)) == 0) {
460             (*hostControl2Entry)->__hostControlDroppedFrames = *vars->val.integer;
461             (*hostControl2Entry)->hostControlDroppedFrames = &((*hostControl2Entry)->__hostControlDroppedFrames);
462         }
463         if (vars->name_length > sizeof(hostControlCreateTime)/sizeof(oid)
464             && memcmp(vars->name, hostControlCreateTime, sizeof(hostControlCreateTime)) == 0) {
465             (*hostControl2Entry)->__hostControlCreateTime = *vars->val.integer;
466             (*hostControl2Entry)->hostControlCreateTime = &((*hostControl2Entry)->__hostControlCreateTime);
467         }
468     }
469
470     if (response) snmp_free_pdu(response);
471
472     if (snmp_close(peer) == 0) {
473         return -5;
474     }
475
476     return 0;
477 }
478
479 int rmon2_mib_mgr_get_matrixControl2Entry(struct snmp_session *s, matrixControl2Entry_t **matrixControl2Entry)
480 {
481     struct snmp_session *peer;
482     struct snmp_pdu *request, *response;
483     struct variable_list *vars;
484     int status;
485
486     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
487     snmp_add_null_var(request, matrixControlDroppedFrames, sizeof(matrixControlDroppedFrames)/sizeof(oid));
488     snmp_add_null_var(request, matrixControlCreateTime, sizeof(matrixControlCreateTime)/sizeof(oid));
489
490     peer = snmp_open(s);
491     if (!peer) {
492         snmp_free_pdu(request);
493         return -1;
494     }
495
496     status = snmp_synch_response(peer, request, &response);
497     if (status != STAT_SUCCESS) {
498         if (response) snmp_free_pdu(response);
499         snmp_close(peer);
500         return -2;
501     }
502
503     *matrixControl2Entry = (matrixControl2Entry_t *) malloc(sizeof(matrixControl2Entry_t));
504     if (! *matrixControl2Entry) {
505         if (response) snmp_free_pdu(response);
506         snmp_close(peer);
507         return -4;
508     }
509
510     for (vars = response->variables; vars; vars = vars->next_variable) {
511         if (vars->name_length > sizeof(matrixControlDroppedFrames)/sizeof(oid)
512             && memcmp(vars->name, matrixControlDroppedFrames, sizeof(matrixControlDroppedFrames)) == 0) {
513             (*matrixControl2Entry)->__matrixControlDroppedFrames = *vars->val.integer;
514             (*matrixControl2Entry)->matrixControlDroppedFrames = &((*matrixControl2Entry)->__matrixControlDroppedFrames);
515         }
516         if (vars->name_length > sizeof(matrixControlCreateTime)/sizeof(oid)
517             && memcmp(vars->name, matrixControlCreateTime, sizeof(matrixControlCreateTime)) == 0) {
518             (*matrixControl2Entry)->__matrixControlCreateTime = *vars->val.integer;
519             (*matrixControl2Entry)->matrixControlCreateTime = &((*matrixControl2Entry)->__matrixControlCreateTime);
520         }
521     }
522
523     if (response) snmp_free_pdu(response);
524
525     if (snmp_close(peer) == 0) {
526         return -5;
527     }
528
529     return 0;
530 }
531
532 int rmon2_mib_mgr_get_channel2Entry(struct snmp_session *s, channel2Entry_t **channel2Entry)
533 {
534     struct snmp_session *peer;
535     struct snmp_pdu *request, *response;
536     struct variable_list *vars;
537     int status;
538
539     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
540     snmp_add_null_var(request, channelDroppedFrames, sizeof(channelDroppedFrames)/sizeof(oid));
541     snmp_add_null_var(request, channelCreateTime, sizeof(channelCreateTime)/sizeof(oid));
542
543     peer = snmp_open(s);
544     if (!peer) {
545         snmp_free_pdu(request);
546         return -1;
547     }
548
549     status = snmp_synch_response(peer, request, &response);
550     if (status != STAT_SUCCESS) {
551         if (response) snmp_free_pdu(response);
552         snmp_close(peer);
553         return -2;
554     }
555
556     *channel2Entry = (channel2Entry_t *) malloc(sizeof(channel2Entry_t));
557     if (! *channel2Entry) {
558         if (response) snmp_free_pdu(response);
559         snmp_close(peer);
560         return -4;
561     }
562
563     for (vars = response->variables; vars; vars = vars->next_variable) {
564         if (vars->name_length > sizeof(channelDroppedFrames)/sizeof(oid)
565             && memcmp(vars->name, channelDroppedFrames, sizeof(channelDroppedFrames)) == 0) {
566             (*channel2Entry)->__channelDroppedFrames = *vars->val.integer;
567             (*channel2Entry)->channelDroppedFrames = &((*channel2Entry)->__channelDroppedFrames);
568         }
569         if (vars->name_length > sizeof(channelCreateTime)/sizeof(oid)
570             && memcmp(vars->name, channelCreateTime, sizeof(channelCreateTime)) == 0) {
571             (*channel2Entry)->__channelCreateTime = *vars->val.integer;
572             (*channel2Entry)->channelCreateTime = &((*channel2Entry)->__channelCreateTime);
573         }
574     }
575
576     if (response) snmp_free_pdu(response);
577
578     if (snmp_close(peer) == 0) {
579         return -5;
580     }
581
582     return 0;
583 }
584
585 int rmon2_mib_mgr_get_filter2Entry(struct snmp_session *s, filter2Entry_t **filter2Entry)
586 {
587     struct snmp_session *peer;
588     struct snmp_pdu *request, *response;
589     struct variable_list *vars;
590     int status;
591
592     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
593     snmp_add_null_var(request, filterProtocolDirDataLocalIndex, sizeof(filterProtocolDirDataLocalIndex)/sizeof(oid));
594     snmp_add_null_var(request, filterProtocolDirLocalIndex, sizeof(filterProtocolDirLocalIndex)/sizeof(oid));
595
596     peer = snmp_open(s);
597     if (!peer) {
598         snmp_free_pdu(request);
599         return -1;
600     }
601
602     status = snmp_synch_response(peer, request, &response);
603     if (status != STAT_SUCCESS) {
604         if (response) snmp_free_pdu(response);
605         snmp_close(peer);
606         return -2;
607     }
608
609     *filter2Entry = (filter2Entry_t *) malloc(sizeof(filter2Entry_t));
610     if (! *filter2Entry) {
611         if (response) snmp_free_pdu(response);
612         snmp_close(peer);
613         return -4;
614     }
615
616     for (vars = response->variables; vars; vars = vars->next_variable) {
617         if (vars->name_length > sizeof(filterProtocolDirDataLocalIndex)/sizeof(oid)
618             && memcmp(vars->name, filterProtocolDirDataLocalIndex, sizeof(filterProtocolDirDataLocalIndex)) == 0) {
619             (*filter2Entry)->__filterProtocolDirDataLocalIndex = *vars->val.integer;
620             (*filter2Entry)->filterProtocolDirDataLocalIndex = &((*filter2Entry)->__filterProtocolDirDataLocalIndex);
621         }
622         if (vars->name_length > sizeof(filterProtocolDirLocalIndex)/sizeof(oid)
623             && memcmp(vars->name, filterProtocolDirLocalIndex, sizeof(filterProtocolDirLocalIndex)) == 0) {
624             (*filter2Entry)->__filterProtocolDirLocalIndex = *vars->val.integer;
625             (*filter2Entry)->filterProtocolDirLocalIndex = &((*filter2Entry)->__filterProtocolDirLocalIndex);
626         }
627     }
628
629     if (response) snmp_free_pdu(response);
630
631     if (snmp_close(peer) == 0) {
632         return -5;
633     }
634
635     return 0;
636 }
637
638 int rmon2_mib_mgr_get_ringStationControl2Entry(struct snmp_session *s, ringStationControl2Entry_t **ringStationControl2Entry)
639 {
640     struct snmp_session *peer;
641     struct snmp_pdu *request, *response;
642     struct variable_list *vars;
643     int status;
644
645     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
646     snmp_add_null_var(request, ringStationControlDroppedFrames, sizeof(ringStationControlDroppedFrames)/sizeof(oid));
647     snmp_add_null_var(request, ringStationControlCreateTime, sizeof(ringStationControlCreateTime)/sizeof(oid));
648
649     peer = snmp_open(s);
650     if (!peer) {
651         snmp_free_pdu(request);
652         return -1;
653     }
654
655     status = snmp_synch_response(peer, request, &response);
656     if (status != STAT_SUCCESS) {
657         if (response) snmp_free_pdu(response);
658         snmp_close(peer);
659         return -2;
660     }
661
662     *ringStationControl2Entry = (ringStationControl2Entry_t *) malloc(sizeof(ringStationControl2Entry_t));
663     if (! *ringStationControl2Entry) {
664         if (response) snmp_free_pdu(response);
665         snmp_close(peer);
666         return -4;
667     }
668
669     for (vars = response->variables; vars; vars = vars->next_variable) {
670         if (vars->name_length > sizeof(ringStationControlDroppedFrames)/sizeof(oid)
671             && memcmp(vars->name, ringStationControlDroppedFrames, sizeof(ringStationControlDroppedFrames)) == 0) {
672             (*ringStationControl2Entry)->__ringStationControlDroppedFrames = *vars->val.integer;
673             (*ringStationControl2Entry)->ringStationControlDroppedFrames = &((*ringStationControl2Entry)->__ringStationControlDroppedFrames);
674         }
675         if (vars->name_length > sizeof(ringStationControlCreateTime)/sizeof(oid)
676             && memcmp(vars->name, ringStationControlCreateTime, sizeof(ringStationControlCreateTime)) == 0) {
677             (*ringStationControl2Entry)->__ringStationControlCreateTime = *vars->val.integer;
678             (*ringStationControl2Entry)->ringStationControlCreateTime = &((*ringStationControl2Entry)->__ringStationControlCreateTime);
679         }
680     }
681
682     if (response) snmp_free_pdu(response);
683
684     if (snmp_close(peer) == 0) {
685         return -5;
686     }
687
688     return 0;
689 }
690
691 int rmon2_mib_mgr_get_sourceRoutingStats2Entry(struct snmp_session *s, sourceRoutingStats2Entry_t **sourceRoutingStats2Entry)
692 {
693     struct snmp_session *peer;
694     struct snmp_pdu *request, *response;
695     struct variable_list *vars;
696     int status;
697
698     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
699     snmp_add_null_var(request, sourceRoutingStatsDroppedFrames, sizeof(sourceRoutingStatsDroppedFrames)/sizeof(oid));
700     snmp_add_null_var(request, sourceRoutingStatsCreateTime, sizeof(sourceRoutingStatsCreateTime)/sizeof(oid));
701
702     peer = snmp_open(s);
703     if (!peer) {
704         snmp_free_pdu(request);
705         return -1;
706     }
707
708     status = snmp_synch_response(peer, request, &response);
709     if (status != STAT_SUCCESS) {
710         if (response) snmp_free_pdu(response);
711         snmp_close(peer);
712         return -2;
713     }
714
715     *sourceRoutingStats2Entry = (sourceRoutingStats2Entry_t *) malloc(sizeof(sourceRoutingStats2Entry_t));
716     if (! *sourceRoutingStats2Entry) {
717         if (response) snmp_free_pdu(response);
718         snmp_close(peer);
719         return -4;
720     }
721
722     for (vars = response->variables; vars; vars = vars->next_variable) {
723         if (vars->name_length > sizeof(sourceRoutingStatsDroppedFrames)/sizeof(oid)
724             && memcmp(vars->name, sourceRoutingStatsDroppedFrames, sizeof(sourceRoutingStatsDroppedFrames)) == 0) {
725             (*sourceRoutingStats2Entry)->__sourceRoutingStatsDroppedFrames = *vars->val.integer;
726             (*sourceRoutingStats2Entry)->sourceRoutingStatsDroppedFrames = &((*sourceRoutingStats2Entry)->__sourceRoutingStatsDroppedFrames);
727         }
728         if (vars->name_length > sizeof(sourceRoutingStatsCreateTime)/sizeof(oid)
729             && memcmp(vars->name, sourceRoutingStatsCreateTime, sizeof(sourceRoutingStatsCreateTime)) == 0) {
730             (*sourceRoutingStats2Entry)->__sourceRoutingStatsCreateTime = *vars->val.integer;
731             (*sourceRoutingStats2Entry)->sourceRoutingStatsCreateTime = &((*sourceRoutingStats2Entry)->__sourceRoutingStatsCreateTime);
732         }
733     }
734
735     if (response) snmp_free_pdu(response);
736
737     if (snmp_close(peer) == 0) {
738         return -5;
739     }
740
741     return 0;
742 }
743
744 int rmon2_mib_mgr_get_protocolDir(struct snmp_session *s, protocolDir_t **protocolDir)
745 {
746     struct snmp_session *peer;
747     struct snmp_pdu *request, *response;
748     struct variable_list *vars;
749     int status;
750
751     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
752     snmp_add_null_var(request, protocolDirLastChange, sizeof(protocolDirLastChange)/sizeof(oid));
753
754     peer = snmp_open(s);
755     if (!peer) {
756         snmp_free_pdu(request);
757         return -1;
758     }
759
760     status = snmp_synch_response(peer, request, &response);
761     if (status != STAT_SUCCESS) {
762         if (response) snmp_free_pdu(response);
763         snmp_close(peer);
764         return -2;
765     }
766
767     *protocolDir = (protocolDir_t *) malloc(sizeof(protocolDir_t));
768     if (! *protocolDir) {
769         if (response) snmp_free_pdu(response);
770         snmp_close(peer);
771         return -4;
772     }
773
774     for (vars = response->variables; vars; vars = vars->next_variable) {
775         if (vars->name_length > sizeof(protocolDirLastChange)/sizeof(oid)
776             && memcmp(vars->name, protocolDirLastChange, sizeof(protocolDirLastChange)) == 0) {
777             (*protocolDir)->__protocolDirLastChange = *vars->val.integer;
778             (*protocolDir)->protocolDirLastChange = &((*protocolDir)->__protocolDirLastChange);
779         }
780     }
781
782     if (response) snmp_free_pdu(response);
783
784     if (snmp_close(peer) == 0) {
785         return -5;
786     }
787
788     return 0;
789 }
790
791 int rmon2_mib_mgr_get_protocolDirEntry(struct snmp_session *s, protocolDirEntry_t **protocolDirEntry)
792 {
793     struct snmp_session *peer;
794     struct snmp_pdu *request, *response;
795     struct variable_list *vars;
796     int status;
797
798     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
799     snmp_add_null_var(request, protocolDirLocalIndex, sizeof(protocolDirLocalIndex)/sizeof(oid));
800     snmp_add_null_var(request, protocolDirDescr, sizeof(protocolDirDescr)/sizeof(oid));
801     snmp_add_null_var(request, protocolDirType, sizeof(protocolDirType)/sizeof(oid));
802     snmp_add_null_var(request, protocolDirAddressMapConfig, sizeof(protocolDirAddressMapConfig)/sizeof(oid));
803     snmp_add_null_var(request, protocolDirHostConfig, sizeof(protocolDirHostConfig)/sizeof(oid));
804     snmp_add_null_var(request, protocolDirMatrixConfig, sizeof(protocolDirMatrixConfig)/sizeof(oid));
805     snmp_add_null_var(request, protocolDirOwner, sizeof(protocolDirOwner)/sizeof(oid));
806     snmp_add_null_var(request, protocolDirStatus, sizeof(protocolDirStatus)/sizeof(oid));
807
808     peer = snmp_open(s);
809     if (!peer) {
810         snmp_free_pdu(request);
811         return -1;
812     }
813
814     status = snmp_synch_response(peer, request, &response);
815     if (status != STAT_SUCCESS) {
816         if (response) snmp_free_pdu(response);
817         snmp_close(peer);
818         return -2;
819     }
820
821     *protocolDirEntry = (protocolDirEntry_t *) malloc(sizeof(protocolDirEntry_t));
822     if (! *protocolDirEntry) {
823         if (response) snmp_free_pdu(response);
824         snmp_close(peer);
825         return -4;
826     }
827
828     for (vars = response->variables; vars; vars = vars->next_variable) {
829         if (vars->name_length > sizeof(protocolDirLocalIndex)/sizeof(oid)
830             && memcmp(vars->name, protocolDirLocalIndex, sizeof(protocolDirLocalIndex)) == 0) {
831             (*protocolDirEntry)->__protocolDirLocalIndex = *vars->val.integer;
832             (*protocolDirEntry)->protocolDirLocalIndex = &((*protocolDirEntry)->__protocolDirLocalIndex);
833         }
834         if (vars->name_length > sizeof(protocolDirDescr)/sizeof(oid)
835             && memcmp(vars->name, protocolDirDescr, sizeof(protocolDirDescr)) == 0) {
836             memcpy((*protocolDirEntry)->__protocolDirDescr, vars->val.string, vars->val_len);
837             (*protocolDirEntry)->_protocolDirDescrLength = vars->val_len;
838             (*protocolDirEntry)->protocolDirDescr = (*protocolDirEntry)->__protocolDirDescr;
839         }
840         if (vars->name_length > sizeof(protocolDirType)/sizeof(oid)
841             && memcmp(vars->name, protocolDirType, sizeof(protocolDirType)) == 0) {
842             memcpy((*protocolDirEntry)->__protocolDirType, vars->val.string, vars->val_len);
843             (*protocolDirEntry)->_protocolDirTypeLength = vars->val_len;
844             (*protocolDirEntry)->protocolDirType = (*protocolDirEntry)->__protocolDirType;
845         }
846         if (vars->name_length > sizeof(protocolDirAddressMapConfig)/sizeof(oid)
847             && memcmp(vars->name, protocolDirAddressMapConfig, sizeof(protocolDirAddressMapConfig)) == 0) {
848             (*protocolDirEntry)->__protocolDirAddressMapConfig = *vars->val.integer;
849             (*protocolDirEntry)->protocolDirAddressMapConfig = &((*protocolDirEntry)->__protocolDirAddressMapConfig);
850         }
851         if (vars->name_length > sizeof(protocolDirHostConfig)/sizeof(oid)
852             && memcmp(vars->name, protocolDirHostConfig, sizeof(protocolDirHostConfig)) == 0) {
853             (*protocolDirEntry)->__protocolDirHostConfig = *vars->val.integer;
854             (*protocolDirEntry)->protocolDirHostConfig = &((*protocolDirEntry)->__protocolDirHostConfig);
855         }
856         if (vars->name_length > sizeof(protocolDirMatrixConfig)/sizeof(oid)
857             && memcmp(vars->name, protocolDirMatrixConfig, sizeof(protocolDirMatrixConfig)) == 0) {
858             (*protocolDirEntry)->__protocolDirMatrixConfig = *vars->val.integer;
859             (*protocolDirEntry)->protocolDirMatrixConfig = &((*protocolDirEntry)->__protocolDirMatrixConfig);
860         }
861         if (vars->name_length > sizeof(protocolDirOwner)/sizeof(oid)
862             && memcmp(vars->name, protocolDirOwner, sizeof(protocolDirOwner)) == 0) {
863             memcpy((*protocolDirEntry)->__protocolDirOwner, vars->val.string, vars->val_len);
864             (*protocolDirEntry)->_protocolDirOwnerLength = vars->val_len;
865             (*protocolDirEntry)->protocolDirOwner = (*protocolDirEntry)->__protocolDirOwner;
866         }
867         if (vars->name_length > sizeof(protocolDirStatus)/sizeof(oid)
868             && memcmp(vars->name, protocolDirStatus, sizeof(protocolDirStatus)) == 0) {
869             (*protocolDirEntry)->__protocolDirStatus = *vars->val.integer;
870             (*protocolDirEntry)->protocolDirStatus = &((*protocolDirEntry)->__protocolDirStatus);
871         }
872     }
873
874     if (response) snmp_free_pdu(response);
875
876     if (snmp_close(peer) == 0) {
877         return -5;
878     }
879
880     return 0;
881 }
882
883 int rmon2_mib_mgr_get_protocolDistControlEntry(struct snmp_session *s, protocolDistControlEntry_t **protocolDistControlEntry)
884 {
885     struct snmp_session *peer;
886     struct snmp_pdu *request, *response;
887     struct variable_list *vars;
888     int status;
889
890     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
891     snmp_add_null_var(request, protocolDistControlDataSource, sizeof(protocolDistControlDataSource)/sizeof(oid));
892     snmp_add_null_var(request, protocolDistControlDroppedFrames, sizeof(protocolDistControlDroppedFrames)/sizeof(oid));
893     snmp_add_null_var(request, protocolDistControlCreateTime, sizeof(protocolDistControlCreateTime)/sizeof(oid));
894     snmp_add_null_var(request, protocolDistControlOwner, sizeof(protocolDistControlOwner)/sizeof(oid));
895     snmp_add_null_var(request, protocolDistControlStatus, sizeof(protocolDistControlStatus)/sizeof(oid));
896
897     peer = snmp_open(s);
898     if (!peer) {
899         snmp_free_pdu(request);
900         return -1;
901     }
902
903     status = snmp_synch_response(peer, request, &response);
904     if (status != STAT_SUCCESS) {
905         if (response) snmp_free_pdu(response);
906         snmp_close(peer);
907         return -2;
908     }
909
910     *protocolDistControlEntry = (protocolDistControlEntry_t *) malloc(sizeof(protocolDistControlEntry_t));
911     if (! *protocolDistControlEntry) {
912         if (response) snmp_free_pdu(response);
913         snmp_close(peer);
914         return -4;
915     }
916
917     for (vars = response->variables; vars; vars = vars->next_variable) {
918         if (vars->name_length > sizeof(protocolDistControlDataSource)/sizeof(oid)
919             && memcmp(vars->name, protocolDistControlDataSource, sizeof(protocolDistControlDataSource)) == 0) {
920         }
921         if (vars->name_length > sizeof(protocolDistControlDroppedFrames)/sizeof(oid)
922             && memcmp(vars->name, protocolDistControlDroppedFrames, sizeof(protocolDistControlDroppedFrames)) == 0) {
923             (*protocolDistControlEntry)->__protocolDistControlDroppedFrames = *vars->val.integer;
924             (*protocolDistControlEntry)->protocolDistControlDroppedFrames = &((*protocolDistControlEntry)->__protocolDistControlDroppedFrames);
925         }
926         if (vars->name_length > sizeof(protocolDistControlCreateTime)/sizeof(oid)
927             && memcmp(vars->name, protocolDistControlCreateTime, sizeof(protocolDistControlCreateTime)) == 0) {
928             (*protocolDistControlEntry)->__protocolDistControlCreateTime = *vars->val.integer;
929             (*protocolDistControlEntry)->protocolDistControlCreateTime = &((*protocolDistControlEntry)->__protocolDistControlCreateTime);
930         }
931         if (vars->name_length > sizeof(protocolDistControlOwner)/sizeof(oid)
932             && memcmp(vars->name, protocolDistControlOwner, sizeof(protocolDistControlOwner)) == 0) {
933             memcpy((*protocolDistControlEntry)->__protocolDistControlOwner, vars->val.string, vars->val_len);
934             (*protocolDistControlEntry)->_protocolDistControlOwnerLength = vars->val_len;
935             (*protocolDistControlEntry)->protocolDistControlOwner = (*protocolDistControlEntry)->__protocolDistControlOwner;
936         }
937         if (vars->name_length > sizeof(protocolDistControlStatus)/sizeof(oid)
938             && memcmp(vars->name, protocolDistControlStatus, sizeof(protocolDistControlStatus)) == 0) {
939             (*protocolDistControlEntry)->__protocolDistControlStatus = *vars->val.integer;
940             (*protocolDistControlEntry)->protocolDistControlStatus = &((*protocolDistControlEntry)->__protocolDistControlStatus);
941         }
942     }
943
944     if (response) snmp_free_pdu(response);
945
946     if (snmp_close(peer) == 0) {
947         return -5;
948     }
949
950     return 0;
951 }
952
953 int rmon2_mib_mgr_get_protocolDistStatsEntry(struct snmp_session *s, protocolDistStatsEntry_t **protocolDistStatsEntry)
954 {
955     struct snmp_session *peer;
956     struct snmp_pdu *request, *response;
957     struct variable_list *vars;
958     int status;
959
960     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
961     snmp_add_null_var(request, protocolDistStatsPkts, sizeof(protocolDistStatsPkts)/sizeof(oid));
962     snmp_add_null_var(request, protocolDistStatsOctets, sizeof(protocolDistStatsOctets)/sizeof(oid));
963
964     peer = snmp_open(s);
965     if (!peer) {
966         snmp_free_pdu(request);
967         return -1;
968     }
969
970     status = snmp_synch_response(peer, request, &response);
971     if (status != STAT_SUCCESS) {
972         if (response) snmp_free_pdu(response);
973         snmp_close(peer);
974         return -2;
975     }
976
977     *protocolDistStatsEntry = (protocolDistStatsEntry_t *) malloc(sizeof(protocolDistStatsEntry_t));
978     if (! *protocolDistStatsEntry) {
979         if (response) snmp_free_pdu(response);
980         snmp_close(peer);
981         return -4;
982     }
983
984     for (vars = response->variables; vars; vars = vars->next_variable) {
985         if (vars->name_length > sizeof(protocolDistStatsPkts)/sizeof(oid)
986             && memcmp(vars->name, protocolDistStatsPkts, sizeof(protocolDistStatsPkts)) == 0) {
987             (*protocolDistStatsEntry)->__protocolDistStatsPkts = *vars->val.integer;
988             (*protocolDistStatsEntry)->protocolDistStatsPkts = &((*protocolDistStatsEntry)->__protocolDistStatsPkts);
989         }
990         if (vars->name_length > sizeof(protocolDistStatsOctets)/sizeof(oid)
991             && memcmp(vars->name, protocolDistStatsOctets, sizeof(protocolDistStatsOctets)) == 0) {
992             (*protocolDistStatsEntry)->__protocolDistStatsOctets = *vars->val.integer;
993             (*protocolDistStatsEntry)->protocolDistStatsOctets = &((*protocolDistStatsEntry)->__protocolDistStatsOctets);
994         }
995     }
996
997     if (response) snmp_free_pdu(response);
998
999     if (snmp_close(peer) == 0) {
1000         return -5;
1001     }
1002
1003     return 0;
1004 }
1005
1006 int rmon2_mib_mgr_get_addressMap(struct snmp_session *s, addressMap_t **addressMap)
1007 {
1008     struct snmp_session *peer;
1009     struct snmp_pdu *request, *response;
1010     struct variable_list *vars;
1011     int status;
1012
1013     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1014     snmp_add_null_var(request, addressMapInserts, sizeof(addressMapInserts)/sizeof(oid));
1015     snmp_add_null_var(request, addressMapDeletes, sizeof(addressMapDeletes)/sizeof(oid));
1016     snmp_add_null_var(request, addressMapMaxDesiredEntries, sizeof(addressMapMaxDesiredEntries)/sizeof(oid));
1017
1018     peer = snmp_open(s);
1019     if (!peer) {
1020         snmp_free_pdu(request);
1021         return -1;
1022     }
1023
1024     status = snmp_synch_response(peer, request, &response);
1025     if (status != STAT_SUCCESS) {
1026         if (response) snmp_free_pdu(response);
1027         snmp_close(peer);
1028         return -2;
1029     }
1030
1031     *addressMap = (addressMap_t *) malloc(sizeof(addressMap_t));
1032     if (! *addressMap) {
1033         if (response) snmp_free_pdu(response);
1034         snmp_close(peer);
1035         return -4;
1036     }
1037
1038     for (vars = response->variables; vars; vars = vars->next_variable) {
1039         if (vars->name_length > sizeof(addressMapInserts)/sizeof(oid)
1040             && memcmp(vars->name, addressMapInserts, sizeof(addressMapInserts)) == 0) {
1041             (*addressMap)->__addressMapInserts = *vars->val.integer;
1042             (*addressMap)->addressMapInserts = &((*addressMap)->__addressMapInserts);
1043         }
1044         if (vars->name_length > sizeof(addressMapDeletes)/sizeof(oid)
1045             && memcmp(vars->name, addressMapDeletes, sizeof(addressMapDeletes)) == 0) {
1046             (*addressMap)->__addressMapDeletes = *vars->val.integer;
1047             (*addressMap)->addressMapDeletes = &((*addressMap)->__addressMapDeletes);
1048         }
1049         if (vars->name_length > sizeof(addressMapMaxDesiredEntries)/sizeof(oid)
1050             && memcmp(vars->name, addressMapMaxDesiredEntries, sizeof(addressMapMaxDesiredEntries)) == 0) {
1051             (*addressMap)->__addressMapMaxDesiredEntries = *vars->val.integer;
1052             (*addressMap)->addressMapMaxDesiredEntries = &((*addressMap)->__addressMapMaxDesiredEntries);
1053         }
1054     }
1055
1056     if (response) snmp_free_pdu(response);
1057
1058     if (snmp_close(peer) == 0) {
1059         return -5;
1060     }
1061
1062     return 0;
1063 }
1064
1065 int rmon2_mib_mgr_get_addressMapControlEntry(struct snmp_session *s, addressMapControlEntry_t **addressMapControlEntry)
1066 {
1067     struct snmp_session *peer;
1068     struct snmp_pdu *request, *response;
1069     struct variable_list *vars;
1070     int status;
1071
1072     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1073     snmp_add_null_var(request, addressMapControlDataSource, sizeof(addressMapControlDataSource)/sizeof(oid));
1074     snmp_add_null_var(request, addressMapControlDroppedFrames, sizeof(addressMapControlDroppedFrames)/sizeof(oid));
1075     snmp_add_null_var(request, addressMapControlOwner, sizeof(addressMapControlOwner)/sizeof(oid));
1076     snmp_add_null_var(request, addressMapControlStatus, sizeof(addressMapControlStatus)/sizeof(oid));
1077
1078     peer = snmp_open(s);
1079     if (!peer) {
1080         snmp_free_pdu(request);
1081         return -1;
1082     }
1083
1084     status = snmp_synch_response(peer, request, &response);
1085     if (status != STAT_SUCCESS) {
1086         if (response) snmp_free_pdu(response);
1087         snmp_close(peer);
1088         return -2;
1089     }
1090
1091     *addressMapControlEntry = (addressMapControlEntry_t *) malloc(sizeof(addressMapControlEntry_t));
1092     if (! *addressMapControlEntry) {
1093         if (response) snmp_free_pdu(response);
1094         snmp_close(peer);
1095         return -4;
1096     }
1097
1098     for (vars = response->variables; vars; vars = vars->next_variable) {
1099         if (vars->name_length > sizeof(addressMapControlDataSource)/sizeof(oid)
1100             && memcmp(vars->name, addressMapControlDataSource, sizeof(addressMapControlDataSource)) == 0) {
1101         }
1102         if (vars->name_length > sizeof(addressMapControlDroppedFrames)/sizeof(oid)
1103             && memcmp(vars->name, addressMapControlDroppedFrames, sizeof(addressMapControlDroppedFrames)) == 0) {
1104             (*addressMapControlEntry)->__addressMapControlDroppedFrames = *vars->val.integer;
1105             (*addressMapControlEntry)->addressMapControlDroppedFrames = &((*addressMapControlEntry)->__addressMapControlDroppedFrames);
1106         }
1107         if (vars->name_length > sizeof(addressMapControlOwner)/sizeof(oid)
1108             && memcmp(vars->name, addressMapControlOwner, sizeof(addressMapControlOwner)) == 0) {
1109             memcpy((*addressMapControlEntry)->__addressMapControlOwner, vars->val.string, vars->val_len);
1110             (*addressMapControlEntry)->_addressMapControlOwnerLength = vars->val_len;
1111             (*addressMapControlEntry)->addressMapControlOwner = (*addressMapControlEntry)->__addressMapControlOwner;
1112         }
1113         if (vars->name_length > sizeof(addressMapControlStatus)/sizeof(oid)
1114             && memcmp(vars->name, addressMapControlStatus, sizeof(addressMapControlStatus)) == 0) {
1115             (*addressMapControlEntry)->__addressMapControlStatus = *vars->val.integer;
1116             (*addressMapControlEntry)->addressMapControlStatus = &((*addressMapControlEntry)->__addressMapControlStatus);
1117         }
1118     }
1119
1120     if (response) snmp_free_pdu(response);
1121
1122     if (snmp_close(peer) == 0) {
1123         return -5;
1124     }
1125
1126     return 0;
1127 }
1128
1129 int rmon2_mib_mgr_get_addressMapEntry(struct snmp_session *s, addressMapEntry_t **addressMapEntry)
1130 {
1131     struct snmp_session *peer;
1132     struct snmp_pdu *request, *response;
1133     struct variable_list *vars;
1134     int status;
1135
1136     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1137     snmp_add_null_var(request, addressMapPhysicalAddress, sizeof(addressMapPhysicalAddress)/sizeof(oid));
1138     snmp_add_null_var(request, addressMapLastChange, sizeof(addressMapLastChange)/sizeof(oid));
1139
1140     peer = snmp_open(s);
1141     if (!peer) {
1142         snmp_free_pdu(request);
1143         return -1;
1144     }
1145
1146     status = snmp_synch_response(peer, request, &response);
1147     if (status != STAT_SUCCESS) {
1148         if (response) snmp_free_pdu(response);
1149         snmp_close(peer);
1150         return -2;
1151     }
1152
1153     *addressMapEntry = (addressMapEntry_t *) malloc(sizeof(addressMapEntry_t));
1154     if (! *addressMapEntry) {
1155         if (response) snmp_free_pdu(response);
1156         snmp_close(peer);
1157         return -4;
1158     }
1159
1160     for (vars = response->variables; vars; vars = vars->next_variable) {
1161         if (vars->name_length > sizeof(addressMapPhysicalAddress)/sizeof(oid)
1162             && memcmp(vars->name, addressMapPhysicalAddress, sizeof(addressMapPhysicalAddress)) == 0) {
1163             memcpy((*addressMapEntry)->__addressMapPhysicalAddress, vars->val.string, vars->val_len);
1164             (*addressMapEntry)->_addressMapPhysicalAddressLength = vars->val_len;
1165             (*addressMapEntry)->addressMapPhysicalAddress = (*addressMapEntry)->__addressMapPhysicalAddress;
1166         }
1167         if (vars->name_length > sizeof(addressMapLastChange)/sizeof(oid)
1168             && memcmp(vars->name, addressMapLastChange, sizeof(addressMapLastChange)) == 0) {
1169             (*addressMapEntry)->__addressMapLastChange = *vars->val.integer;
1170             (*addressMapEntry)->addressMapLastChange = &((*addressMapEntry)->__addressMapLastChange);
1171         }
1172     }
1173
1174     if (response) snmp_free_pdu(response);
1175
1176     if (snmp_close(peer) == 0) {
1177         return -5;
1178     }
1179
1180     return 0;
1181 }
1182
1183 int rmon2_mib_mgr_get_hlHostControlEntry(struct snmp_session *s, hlHostControlEntry_t **hlHostControlEntry)
1184 {
1185     struct snmp_session *peer;
1186     struct snmp_pdu *request, *response;
1187     struct variable_list *vars;
1188     int status;
1189
1190     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1191     snmp_add_null_var(request, hlHostControlDataSource, sizeof(hlHostControlDataSource)/sizeof(oid));
1192     snmp_add_null_var(request, hlHostControlNlDroppedFrames, sizeof(hlHostControlNlDroppedFrames)/sizeof(oid));
1193     snmp_add_null_var(request, hlHostControlNlInserts, sizeof(hlHostControlNlInserts)/sizeof(oid));
1194     snmp_add_null_var(request, hlHostControlNlDeletes, sizeof(hlHostControlNlDeletes)/sizeof(oid));
1195     snmp_add_null_var(request, hlHostControlNlMaxDesiredEntries, sizeof(hlHostControlNlMaxDesiredEntries)/sizeof(oid));
1196     snmp_add_null_var(request, hlHostControlAlDroppedFrames, sizeof(hlHostControlAlDroppedFrames)/sizeof(oid));
1197     snmp_add_null_var(request, hlHostControlAlInserts, sizeof(hlHostControlAlInserts)/sizeof(oid));
1198     snmp_add_null_var(request, hlHostControlAlDeletes, sizeof(hlHostControlAlDeletes)/sizeof(oid));
1199     snmp_add_null_var(request, hlHostControlAlMaxDesiredEntries, sizeof(hlHostControlAlMaxDesiredEntries)/sizeof(oid));
1200     snmp_add_null_var(request, hlHostControlOwner, sizeof(hlHostControlOwner)/sizeof(oid));
1201     snmp_add_null_var(request, hlHostControlStatus, sizeof(hlHostControlStatus)/sizeof(oid));
1202
1203     peer = snmp_open(s);
1204     if (!peer) {
1205         snmp_free_pdu(request);
1206         return -1;
1207     }
1208
1209     status = snmp_synch_response(peer, request, &response);
1210     if (status != STAT_SUCCESS) {
1211         if (response) snmp_free_pdu(response);
1212         snmp_close(peer);
1213         return -2;
1214     }
1215
1216     *hlHostControlEntry = (hlHostControlEntry_t *) malloc(sizeof(hlHostControlEntry_t));
1217     if (! *hlHostControlEntry) {
1218         if (response) snmp_free_pdu(response);
1219         snmp_close(peer);
1220         return -4;
1221     }
1222
1223     for (vars = response->variables; vars; vars = vars->next_variable) {
1224         if (vars->name_length > sizeof(hlHostControlDataSource)/sizeof(oid)
1225             && memcmp(vars->name, hlHostControlDataSource, sizeof(hlHostControlDataSource)) == 0) {
1226         }
1227         if (vars->name_length > sizeof(hlHostControlNlDroppedFrames)/sizeof(oid)
1228             && memcmp(vars->name, hlHostControlNlDroppedFrames, sizeof(hlHostControlNlDroppedFrames)) == 0) {
1229             (*hlHostControlEntry)->__hlHostControlNlDroppedFrames = *vars->val.integer;
1230             (*hlHostControlEntry)->hlHostControlNlDroppedFrames = &((*hlHostControlEntry)->__hlHostControlNlDroppedFrames);
1231         }
1232         if (vars->name_length > sizeof(hlHostControlNlInserts)/sizeof(oid)
1233             && memcmp(vars->name, hlHostControlNlInserts, sizeof(hlHostControlNlInserts)) == 0) {
1234             (*hlHostControlEntry)->__hlHostControlNlInserts = *vars->val.integer;
1235             (*hlHostControlEntry)->hlHostControlNlInserts = &((*hlHostControlEntry)->__hlHostControlNlInserts);
1236         }
1237         if (vars->name_length > sizeof(hlHostControlNlDeletes)/sizeof(oid)
1238             && memcmp(vars->name, hlHostControlNlDeletes, sizeof(hlHostControlNlDeletes)) == 0) {
1239             (*hlHostControlEntry)->__hlHostControlNlDeletes = *vars->val.integer;
1240             (*hlHostControlEntry)->hlHostControlNlDeletes = &((*hlHostControlEntry)->__hlHostControlNlDeletes);
1241         }
1242         if (vars->name_length > sizeof(hlHostControlNlMaxDesiredEntries)/sizeof(oid)
1243             && memcmp(vars->name, hlHostControlNlMaxDesiredEntries, sizeof(hlHostControlNlMaxDesiredEntries)) == 0) {
1244             (*hlHostControlEntry)->__hlHostControlNlMaxDesiredEntries = *vars->val.integer;
1245             (*hlHostControlEntry)->hlHostControlNlMaxDesiredEntries = &((*hlHostControlEntry)->__hlHostControlNlMaxDesiredEntries);
1246         }
1247         if (vars->name_length > sizeof(hlHostControlAlDroppedFrames)/sizeof(oid)
1248             && memcmp(vars->name, hlHostControlAlDroppedFrames, sizeof(hlHostControlAlDroppedFrames)) == 0) {
1249             (*hlHostControlEntry)->__hlHostControlAlDroppedFrames = *vars->val.integer;
1250             (*hlHostControlEntry)->hlHostControlAlDroppedFrames = &((*hlHostControlEntry)->__hlHostControlAlDroppedFrames);
1251         }
1252         if (vars->name_length > sizeof(hlHostControlAlInserts)/sizeof(oid)
1253             && memcmp(vars->name, hlHostControlAlInserts, sizeof(hlHostControlAlInserts)) == 0) {
1254             (*hlHostControlEntry)->__hlHostControlAlInserts = *vars->val.integer;
1255             (*hlHostControlEntry)->hlHostControlAlInserts = &((*hlHostControlEntry)->__hlHostControlAlInserts);
1256         }
1257         if (vars->name_length > sizeof(hlHostControlAlDeletes)/sizeof(oid)
1258             && memcmp(vars->name, hlHostControlAlDeletes, sizeof(hlHostControlAlDeletes)) == 0) {
1259             (*hlHostControlEntry)->__hlHostControlAlDeletes = *vars->val.integer;
1260             (*hlHostControlEntry)->hlHostControlAlDeletes = &((*hlHostControlEntry)->__hlHostControlAlDeletes);
1261         }
1262         if (vars->name_length > sizeof(hlHostControlAlMaxDesiredEntries)/sizeof(oid)
1263             && memcmp(vars->name, hlHostControlAlMaxDesiredEntries, sizeof(hlHostControlAlMaxDesiredEntries)) == 0) {
1264             (*hlHostControlEntry)->__hlHostControlAlMaxDesiredEntries = *vars->val.integer;
1265             (*hlHostControlEntry)->hlHostControlAlMaxDesiredEntries = &((*hlHostControlEntry)->__hlHostControlAlMaxDesiredEntries);
1266         }
1267         if (vars->name_length > sizeof(hlHostControlOwner)/sizeof(oid)
1268             && memcmp(vars->name, hlHostControlOwner, sizeof(hlHostControlOwner)) == 0) {
1269             memcpy((*hlHostControlEntry)->__hlHostControlOwner, vars->val.string, vars->val_len);
1270             (*hlHostControlEntry)->_hlHostControlOwnerLength = vars->val_len;
1271             (*hlHostControlEntry)->hlHostControlOwner = (*hlHostControlEntry)->__hlHostControlOwner;
1272         }
1273         if (vars->name_length > sizeof(hlHostControlStatus)/sizeof(oid)
1274             && memcmp(vars->name, hlHostControlStatus, sizeof(hlHostControlStatus)) == 0) {
1275             (*hlHostControlEntry)->__hlHostControlStatus = *vars->val.integer;
1276             (*hlHostControlEntry)->hlHostControlStatus = &((*hlHostControlEntry)->__hlHostControlStatus);
1277         }
1278     }
1279
1280     if (response) snmp_free_pdu(response);
1281
1282     if (snmp_close(peer) == 0) {
1283         return -5;
1284     }
1285
1286     return 0;
1287 }
1288
1289 int rmon2_mib_mgr_get_nlHostEntry(struct snmp_session *s, nlHostEntry_t **nlHostEntry)
1290 {
1291     struct snmp_session *peer;
1292     struct snmp_pdu *request, *response;
1293     struct variable_list *vars;
1294     int status;
1295
1296     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1297     snmp_add_null_var(request, nlHostInPkts, sizeof(nlHostInPkts)/sizeof(oid));
1298     snmp_add_null_var(request, nlHostOutPkts, sizeof(nlHostOutPkts)/sizeof(oid));
1299     snmp_add_null_var(request, nlHostInOctets, sizeof(nlHostInOctets)/sizeof(oid));
1300     snmp_add_null_var(request, nlHostOutOctets, sizeof(nlHostOutOctets)/sizeof(oid));
1301     snmp_add_null_var(request, nlHostOutMacNonUnicastPkts, sizeof(nlHostOutMacNonUnicastPkts)/sizeof(oid));
1302     snmp_add_null_var(request, nlHostCreateTime, sizeof(nlHostCreateTime)/sizeof(oid));
1303
1304     peer = snmp_open(s);
1305     if (!peer) {
1306         snmp_free_pdu(request);
1307         return -1;
1308     }
1309
1310     status = snmp_synch_response(peer, request, &response);
1311     if (status != STAT_SUCCESS) {
1312         if (response) snmp_free_pdu(response);
1313         snmp_close(peer);
1314         return -2;
1315     }
1316
1317     *nlHostEntry = (nlHostEntry_t *) malloc(sizeof(nlHostEntry_t));
1318     if (! *nlHostEntry) {
1319         if (response) snmp_free_pdu(response);
1320         snmp_close(peer);
1321         return -4;
1322     }
1323
1324     for (vars = response->variables; vars; vars = vars->next_variable) {
1325         if (vars->name_length > sizeof(nlHostInPkts)/sizeof(oid)
1326             && memcmp(vars->name, nlHostInPkts, sizeof(nlHostInPkts)) == 0) {
1327             (*nlHostEntry)->__nlHostInPkts = *vars->val.integer;
1328             (*nlHostEntry)->nlHostInPkts = &((*nlHostEntry)->__nlHostInPkts);
1329         }
1330         if (vars->name_length > sizeof(nlHostOutPkts)/sizeof(oid)
1331             && memcmp(vars->name, nlHostOutPkts, sizeof(nlHostOutPkts)) == 0) {
1332             (*nlHostEntry)->__nlHostOutPkts = *vars->val.integer;
1333             (*nlHostEntry)->nlHostOutPkts = &((*nlHostEntry)->__nlHostOutPkts);
1334         }
1335         if (vars->name_length > sizeof(nlHostInOctets)/sizeof(oid)
1336             && memcmp(vars->name, nlHostInOctets, sizeof(nlHostInOctets)) == 0) {
1337             (*nlHostEntry)->__nlHostInOctets = *vars->val.integer;
1338             (*nlHostEntry)->nlHostInOctets = &((*nlHostEntry)->__nlHostInOctets);
1339         }
1340         if (vars->name_length > sizeof(nlHostOutOctets)/sizeof(oid)
1341             && memcmp(vars->name, nlHostOutOctets, sizeof(nlHostOutOctets)) == 0) {
1342             (*nlHostEntry)->__nlHostOutOctets = *vars->val.integer;
1343             (*nlHostEntry)->nlHostOutOctets = &((*nlHostEntry)->__nlHostOutOctets);
1344         }
1345         if (vars->name_length > sizeof(nlHostOutMacNonUnicastPkts)/sizeof(oid)
1346             && memcmp(vars->name, nlHostOutMacNonUnicastPkts, sizeof(nlHostOutMacNonUnicastPkts)) == 0) {
1347             (*nlHostEntry)->__nlHostOutMacNonUnicastPkts = *vars->val.integer;
1348             (*nlHostEntry)->nlHostOutMacNonUnicastPkts = &((*nlHostEntry)->__nlHostOutMacNonUnicastPkts);
1349         }
1350         if (vars->name_length > sizeof(nlHostCreateTime)/sizeof(oid)
1351             && memcmp(vars->name, nlHostCreateTime, sizeof(nlHostCreateTime)) == 0) {
1352             (*nlHostEntry)->__nlHostCreateTime = *vars->val.integer;
1353             (*nlHostEntry)->nlHostCreateTime = &((*nlHostEntry)->__nlHostCreateTime);
1354         }
1355     }
1356
1357     if (response) snmp_free_pdu(response);
1358
1359     if (snmp_close(peer) == 0) {
1360         return -5;
1361     }
1362
1363     return 0;
1364 }
1365
1366 int rmon2_mib_mgr_get_hlMatrixControlEntry(struct snmp_session *s, hlMatrixControlEntry_t **hlMatrixControlEntry)
1367 {
1368     struct snmp_session *peer;
1369     struct snmp_pdu *request, *response;
1370     struct variable_list *vars;
1371     int status;
1372
1373     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1374     snmp_add_null_var(request, hlMatrixControlDataSource, sizeof(hlMatrixControlDataSource)/sizeof(oid));
1375     snmp_add_null_var(request, hlMatrixControlNlDroppedFrames, sizeof(hlMatrixControlNlDroppedFrames)/sizeof(oid));
1376     snmp_add_null_var(request, hlMatrixControlNlInserts, sizeof(hlMatrixControlNlInserts)/sizeof(oid));
1377     snmp_add_null_var(request, hlMatrixControlNlDeletes, sizeof(hlMatrixControlNlDeletes)/sizeof(oid));
1378     snmp_add_null_var(request, hlMatrixControlNlMaxDesiredEntries, sizeof(hlMatrixControlNlMaxDesiredEntries)/sizeof(oid));
1379     snmp_add_null_var(request, hlMatrixControlAlDroppedFrames, sizeof(hlMatrixControlAlDroppedFrames)/sizeof(oid));
1380     snmp_add_null_var(request, hlMatrixControlAlInserts, sizeof(hlMatrixControlAlInserts)/sizeof(oid));
1381     snmp_add_null_var(request, hlMatrixControlAlDeletes, sizeof(hlMatrixControlAlDeletes)/sizeof(oid));
1382     snmp_add_null_var(request, hlMatrixControlAlMaxDesiredEntries, sizeof(hlMatrixControlAlMaxDesiredEntries)/sizeof(oid));
1383     snmp_add_null_var(request, hlMatrixControlOwner, sizeof(hlMatrixControlOwner)/sizeof(oid));
1384     snmp_add_null_var(request, hlMatrixControlStatus, sizeof(hlMatrixControlStatus)/sizeof(oid));
1385
1386     peer = snmp_open(s);
1387     if (!peer) {
1388         snmp_free_pdu(request);
1389         return -1;
1390     }
1391
1392     status = snmp_synch_response(peer, request, &response);
1393     if (status != STAT_SUCCESS) {
1394         if (response) snmp_free_pdu(response);
1395         snmp_close(peer);
1396         return -2;
1397     }
1398
1399     *hlMatrixControlEntry = (hlMatrixControlEntry_t *) malloc(sizeof(hlMatrixControlEntry_t));
1400     if (! *hlMatrixControlEntry) {
1401         if (response) snmp_free_pdu(response);
1402         snmp_close(peer);
1403         return -4;
1404     }
1405
1406     for (vars = response->variables; vars; vars = vars->next_variable) {
1407         if (vars->name_length > sizeof(hlMatrixControlDataSource)/sizeof(oid)
1408             && memcmp(vars->name, hlMatrixControlDataSource, sizeof(hlMatrixControlDataSource)) == 0) {
1409         }
1410         if (vars->name_length > sizeof(hlMatrixControlNlDroppedFrames)/sizeof(oid)
1411             && memcmp(vars->name, hlMatrixControlNlDroppedFrames, sizeof(hlMatrixControlNlDroppedFrames)) == 0) {
1412             (*hlMatrixControlEntry)->__hlMatrixControlNlDroppedFrames = *vars->val.integer;
1413             (*hlMatrixControlEntry)->hlMatrixControlNlDroppedFrames = &((*hlMatrixControlEntry)->__hlMatrixControlNlDroppedFrames);
1414         }
1415         if (vars->name_length > sizeof(hlMatrixControlNlInserts)/sizeof(oid)
1416             && memcmp(vars->name, hlMatrixControlNlInserts, sizeof(hlMatrixControlNlInserts)) == 0) {
1417             (*hlMatrixControlEntry)->__hlMatrixControlNlInserts = *vars->val.integer;
1418             (*hlMatrixControlEntry)->hlMatrixControlNlInserts = &((*hlMatrixControlEntry)->__hlMatrixControlNlInserts);
1419         }
1420         if (vars->name_length > sizeof(hlMatrixControlNlDeletes)/sizeof(oid)
1421             && memcmp(vars->name, hlMatrixControlNlDeletes, sizeof(hlMatrixControlNlDeletes)) == 0) {
1422             (*hlMatrixControlEntry)->__hlMatrixControlNlDeletes = *vars->val.integer;
1423             (*hlMatrixControlEntry)->hlMatrixControlNlDeletes = &((*hlMatrixControlEntry)->__hlMatrixControlNlDeletes);
1424         }
1425         if (vars->name_length > sizeof(hlMatrixControlNlMaxDesiredEntries)/sizeof(oid)
1426             && memcmp(vars->name, hlMatrixControlNlMaxDesiredEntries, sizeof(hlMatrixControlNlMaxDesiredEntries)) == 0) {
1427             (*hlMatrixControlEntry)->__hlMatrixControlNlMaxDesiredEntries = *vars->val.integer;
1428             (*hlMatrixControlEntry)->hlMatrixControlNlMaxDesiredEntries = &((*hlMatrixControlEntry)->__hlMatrixControlNlMaxDesiredEntries);
1429         }
1430         if (vars->name_length > sizeof(hlMatrixControlAlDroppedFrames)/sizeof(oid)
1431             && memcmp(vars->name, hlMatrixControlAlDroppedFrames, sizeof(hlMatrixControlAlDroppedFrames)) == 0) {
1432             (*hlMatrixControlEntry)->__hlMatrixControlAlDroppedFrames = *vars->val.integer;
1433             (*hlMatrixControlEntry)->hlMatrixControlAlDroppedFrames = &((*hlMatrixControlEntry)->__hlMatrixControlAlDroppedFrames);
1434         }
1435         if (vars->name_length > sizeof(hlMatrixControlAlInserts)/sizeof(oid)
1436             && memcmp(vars->name, hlMatrixControlAlInserts, sizeof(hlMatrixControlAlInserts)) == 0) {
1437             (*hlMatrixControlEntry)->__hlMatrixControlAlInserts = *vars->val.integer;
1438             (*hlMatrixControlEntry)->hlMatrixControlAlInserts = &((*hlMatrixControlEntry)->__hlMatrixControlAlInserts);
1439         }
1440         if (vars->name_length > sizeof(hlMatrixControlAlDeletes)/sizeof(oid)
1441             && memcmp(vars->name, hlMatrixControlAlDeletes, sizeof(hlMatrixControlAlDeletes)) == 0) {
1442             (*hlMatrixControlEntry)->__hlMatrixControlAlDeletes = *vars->val.integer;
1443             (*hlMatrixControlEntry)->hlMatrixControlAlDeletes = &((*hlMatrixControlEntry)->__hlMatrixControlAlDeletes);
1444         }
1445         if (vars->name_length > sizeof(hlMatrixControlAlMaxDesiredEntries)/sizeof(oid)
1446             && memcmp(vars->name, hlMatrixControlAlMaxDesiredEntries, sizeof(hlMatrixControlAlMaxDesiredEntries)) == 0) {
1447             (*hlMatrixControlEntry)->__hlMatrixControlAlMaxDesiredEntries = *vars->val.integer;
1448             (*hlMatrixControlEntry)->hlMatrixControlAlMaxDesiredEntries = &((*hlMatrixControlEntry)->__hlMatrixControlAlMaxDesiredEntries);
1449         }
1450         if (vars->name_length > sizeof(hlMatrixControlOwner)/sizeof(oid)
1451             && memcmp(vars->name, hlMatrixControlOwner, sizeof(hlMatrixControlOwner)) == 0) {
1452             memcpy((*hlMatrixControlEntry)->__hlMatrixControlOwner, vars->val.string, vars->val_len);
1453             (*hlMatrixControlEntry)->_hlMatrixControlOwnerLength = vars->val_len;
1454             (*hlMatrixControlEntry)->hlMatrixControlOwner = (*hlMatrixControlEntry)->__hlMatrixControlOwner;
1455         }
1456         if (vars->name_length > sizeof(hlMatrixControlStatus)/sizeof(oid)
1457             && memcmp(vars->name, hlMatrixControlStatus, sizeof(hlMatrixControlStatus)) == 0) {
1458             (*hlMatrixControlEntry)->__hlMatrixControlStatus = *vars->val.integer;
1459             (*hlMatrixControlEntry)->hlMatrixControlStatus = &((*hlMatrixControlEntry)->__hlMatrixControlStatus);
1460         }
1461     }
1462
1463     if (response) snmp_free_pdu(response);
1464
1465     if (snmp_close(peer) == 0) {
1466         return -5;
1467     }
1468
1469     return 0;
1470 }
1471
1472 int rmon2_mib_mgr_get_nlMatrixSDEntry(struct snmp_session *s, nlMatrixSDEntry_t **nlMatrixSDEntry)
1473 {
1474     struct snmp_session *peer;
1475     struct snmp_pdu *request, *response;
1476     struct variable_list *vars;
1477     int status;
1478
1479     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1480     snmp_add_null_var(request, nlMatrixSDPkts, sizeof(nlMatrixSDPkts)/sizeof(oid));
1481     snmp_add_null_var(request, nlMatrixSDOctets, sizeof(nlMatrixSDOctets)/sizeof(oid));
1482     snmp_add_null_var(request, nlMatrixSDCreateTime, sizeof(nlMatrixSDCreateTime)/sizeof(oid));
1483
1484     peer = snmp_open(s);
1485     if (!peer) {
1486         snmp_free_pdu(request);
1487         return -1;
1488     }
1489
1490     status = snmp_synch_response(peer, request, &response);
1491     if (status != STAT_SUCCESS) {
1492         if (response) snmp_free_pdu(response);
1493         snmp_close(peer);
1494         return -2;
1495     }
1496
1497     *nlMatrixSDEntry = (nlMatrixSDEntry_t *) malloc(sizeof(nlMatrixSDEntry_t));
1498     if (! *nlMatrixSDEntry) {
1499         if (response) snmp_free_pdu(response);
1500         snmp_close(peer);
1501         return -4;
1502     }
1503
1504     for (vars = response->variables; vars; vars = vars->next_variable) {
1505         if (vars->name_length > sizeof(nlMatrixSDPkts)/sizeof(oid)
1506             && memcmp(vars->name, nlMatrixSDPkts, sizeof(nlMatrixSDPkts)) == 0) {
1507             (*nlMatrixSDEntry)->__nlMatrixSDPkts = *vars->val.integer;
1508             (*nlMatrixSDEntry)->nlMatrixSDPkts = &((*nlMatrixSDEntry)->__nlMatrixSDPkts);
1509         }
1510         if (vars->name_length > sizeof(nlMatrixSDOctets)/sizeof(oid)
1511             && memcmp(vars->name, nlMatrixSDOctets, sizeof(nlMatrixSDOctets)) == 0) {
1512             (*nlMatrixSDEntry)->__nlMatrixSDOctets = *vars->val.integer;
1513             (*nlMatrixSDEntry)->nlMatrixSDOctets = &((*nlMatrixSDEntry)->__nlMatrixSDOctets);
1514         }
1515         if (vars->name_length > sizeof(nlMatrixSDCreateTime)/sizeof(oid)
1516             && memcmp(vars->name, nlMatrixSDCreateTime, sizeof(nlMatrixSDCreateTime)) == 0) {
1517             (*nlMatrixSDEntry)->__nlMatrixSDCreateTime = *vars->val.integer;
1518             (*nlMatrixSDEntry)->nlMatrixSDCreateTime = &((*nlMatrixSDEntry)->__nlMatrixSDCreateTime);
1519         }
1520     }
1521
1522     if (response) snmp_free_pdu(response);
1523
1524     if (snmp_close(peer) == 0) {
1525         return -5;
1526     }
1527
1528     return 0;
1529 }
1530
1531 int rmon2_mib_mgr_get_nlMatrixDSEntry(struct snmp_session *s, nlMatrixDSEntry_t **nlMatrixDSEntry)
1532 {
1533     struct snmp_session *peer;
1534     struct snmp_pdu *request, *response;
1535     struct variable_list *vars;
1536     int status;
1537
1538     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1539     snmp_add_null_var(request, nlMatrixDSPkts, sizeof(nlMatrixDSPkts)/sizeof(oid));
1540     snmp_add_null_var(request, nlMatrixDSOctets, sizeof(nlMatrixDSOctets)/sizeof(oid));
1541     snmp_add_null_var(request, nlMatrixDSCreateTime, sizeof(nlMatrixDSCreateTime)/sizeof(oid));
1542
1543     peer = snmp_open(s);
1544     if (!peer) {
1545         snmp_free_pdu(request);
1546         return -1;
1547     }
1548
1549     status = snmp_synch_response(peer, request, &response);
1550     if (status != STAT_SUCCESS) {
1551         if (response) snmp_free_pdu(response);
1552         snmp_close(peer);
1553         return -2;
1554     }
1555
1556     *nlMatrixDSEntry = (nlMatrixDSEntry_t *) malloc(sizeof(nlMatrixDSEntry_t));
1557     if (! *nlMatrixDSEntry) {
1558         if (response) snmp_free_pdu(response);
1559         snmp_close(peer);
1560         return -4;
1561     }
1562
1563     for (vars = response->variables; vars; vars = vars->next_variable) {
1564         if (vars->name_length > sizeof(nlMatrixDSPkts)/sizeof(oid)
1565             && memcmp(vars->name, nlMatrixDSPkts, sizeof(nlMatrixDSPkts)) == 0) {
1566             (*nlMatrixDSEntry)->__nlMatrixDSPkts = *vars->val.integer;
1567             (*nlMatrixDSEntry)->nlMatrixDSPkts = &((*nlMatrixDSEntry)->__nlMatrixDSPkts);
1568         }
1569         if (vars->name_length > sizeof(nlMatrixDSOctets)/sizeof(oid)
1570             && memcmp(vars->name, nlMatrixDSOctets, sizeof(nlMatrixDSOctets)) == 0) {
1571             (*nlMatrixDSEntry)->__nlMatrixDSOctets = *vars->val.integer;
1572             (*nlMatrixDSEntry)->nlMatrixDSOctets = &((*nlMatrixDSEntry)->__nlMatrixDSOctets);
1573         }
1574         if (vars->name_length > sizeof(nlMatrixDSCreateTime)/sizeof(oid)
1575             && memcmp(vars->name, nlMatrixDSCreateTime, sizeof(nlMatrixDSCreateTime)) == 0) {
1576             (*nlMatrixDSEntry)->__nlMatrixDSCreateTime = *vars->val.integer;
1577             (*nlMatrixDSEntry)->nlMatrixDSCreateTime = &((*nlMatrixDSEntry)->__nlMatrixDSCreateTime);
1578         }
1579     }
1580
1581     if (response) snmp_free_pdu(response);
1582
1583     if (snmp_close(peer) == 0) {
1584         return -5;
1585     }
1586
1587     return 0;
1588 }
1589
1590 int rmon2_mib_mgr_get_nlMatrixTopNControlEntry(struct snmp_session *s, nlMatrixTopNControlEntry_t **nlMatrixTopNControlEntry)
1591 {
1592     struct snmp_session *peer;
1593     struct snmp_pdu *request, *response;
1594     struct variable_list *vars;
1595     int status;
1596
1597     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1598     snmp_add_null_var(request, nlMatrixTopNControlMatrixIndex, sizeof(nlMatrixTopNControlMatrixIndex)/sizeof(oid));
1599     snmp_add_null_var(request, nlMatrixTopNControlRateBase, sizeof(nlMatrixTopNControlRateBase)/sizeof(oid));
1600     snmp_add_null_var(request, nlMatrixTopNControlTimeRemaining, sizeof(nlMatrixTopNControlTimeRemaining)/sizeof(oid));
1601     snmp_add_null_var(request, nlMatrixTopNControlGeneratedReports, sizeof(nlMatrixTopNControlGeneratedReports)/sizeof(oid));
1602     snmp_add_null_var(request, nlMatrixTopNControlDuration, sizeof(nlMatrixTopNControlDuration)/sizeof(oid));
1603     snmp_add_null_var(request, nlMatrixTopNControlRequestedSize, sizeof(nlMatrixTopNControlRequestedSize)/sizeof(oid));
1604     snmp_add_null_var(request, nlMatrixTopNControlGrantedSize, sizeof(nlMatrixTopNControlGrantedSize)/sizeof(oid));
1605     snmp_add_null_var(request, nlMatrixTopNControlStartTime, sizeof(nlMatrixTopNControlStartTime)/sizeof(oid));
1606     snmp_add_null_var(request, nlMatrixTopNControlOwner, sizeof(nlMatrixTopNControlOwner)/sizeof(oid));
1607     snmp_add_null_var(request, nlMatrixTopNControlStatus, sizeof(nlMatrixTopNControlStatus)/sizeof(oid));
1608
1609     peer = snmp_open(s);
1610     if (!peer) {
1611         snmp_free_pdu(request);
1612         return -1;
1613     }
1614
1615     status = snmp_synch_response(peer, request, &response);
1616     if (status != STAT_SUCCESS) {
1617         if (response) snmp_free_pdu(response);
1618         snmp_close(peer);
1619         return -2;
1620     }
1621
1622     *nlMatrixTopNControlEntry = (nlMatrixTopNControlEntry_t *) malloc(sizeof(nlMatrixTopNControlEntry_t));
1623     if (! *nlMatrixTopNControlEntry) {
1624         if (response) snmp_free_pdu(response);
1625         snmp_close(peer);
1626         return -4;
1627     }
1628
1629     for (vars = response->variables; vars; vars = vars->next_variable) {
1630         if (vars->name_length > sizeof(nlMatrixTopNControlMatrixIndex)/sizeof(oid)
1631             && memcmp(vars->name, nlMatrixTopNControlMatrixIndex, sizeof(nlMatrixTopNControlMatrixIndex)) == 0) {
1632             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlMatrixIndex = *vars->val.integer;
1633             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlMatrixIndex = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlMatrixIndex);
1634         }
1635         if (vars->name_length > sizeof(nlMatrixTopNControlRateBase)/sizeof(oid)
1636             && memcmp(vars->name, nlMatrixTopNControlRateBase, sizeof(nlMatrixTopNControlRateBase)) == 0) {
1637             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlRateBase = *vars->val.integer;
1638             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlRateBase = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlRateBase);
1639         }
1640         if (vars->name_length > sizeof(nlMatrixTopNControlTimeRemaining)/sizeof(oid)
1641             && memcmp(vars->name, nlMatrixTopNControlTimeRemaining, sizeof(nlMatrixTopNControlTimeRemaining)) == 0) {
1642             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlTimeRemaining = *vars->val.integer;
1643             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlTimeRemaining = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlTimeRemaining);
1644         }
1645         if (vars->name_length > sizeof(nlMatrixTopNControlGeneratedReports)/sizeof(oid)
1646             && memcmp(vars->name, nlMatrixTopNControlGeneratedReports, sizeof(nlMatrixTopNControlGeneratedReports)) == 0) {
1647             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlGeneratedReports = *vars->val.integer;
1648             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlGeneratedReports = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlGeneratedReports);
1649         }
1650         if (vars->name_length > sizeof(nlMatrixTopNControlDuration)/sizeof(oid)
1651             && memcmp(vars->name, nlMatrixTopNControlDuration, sizeof(nlMatrixTopNControlDuration)) == 0) {
1652             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlDuration = *vars->val.integer;
1653             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlDuration = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlDuration);
1654         }
1655         if (vars->name_length > sizeof(nlMatrixTopNControlRequestedSize)/sizeof(oid)
1656             && memcmp(vars->name, nlMatrixTopNControlRequestedSize, sizeof(nlMatrixTopNControlRequestedSize)) == 0) {
1657             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlRequestedSize = *vars->val.integer;
1658             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlRequestedSize = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlRequestedSize);
1659         }
1660         if (vars->name_length > sizeof(nlMatrixTopNControlGrantedSize)/sizeof(oid)
1661             && memcmp(vars->name, nlMatrixTopNControlGrantedSize, sizeof(nlMatrixTopNControlGrantedSize)) == 0) {
1662             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlGrantedSize = *vars->val.integer;
1663             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlGrantedSize = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlGrantedSize);
1664         }
1665         if (vars->name_length > sizeof(nlMatrixTopNControlStartTime)/sizeof(oid)
1666             && memcmp(vars->name, nlMatrixTopNControlStartTime, sizeof(nlMatrixTopNControlStartTime)) == 0) {
1667             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlStartTime = *vars->val.integer;
1668             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlStartTime = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlStartTime);
1669         }
1670         if (vars->name_length > sizeof(nlMatrixTopNControlOwner)/sizeof(oid)
1671             && memcmp(vars->name, nlMatrixTopNControlOwner, sizeof(nlMatrixTopNControlOwner)) == 0) {
1672             memcpy((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlOwner, vars->val.string, vars->val_len);
1673             (*nlMatrixTopNControlEntry)->_nlMatrixTopNControlOwnerLength = vars->val_len;
1674             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlOwner = (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlOwner;
1675         }
1676         if (vars->name_length > sizeof(nlMatrixTopNControlStatus)/sizeof(oid)
1677             && memcmp(vars->name, nlMatrixTopNControlStatus, sizeof(nlMatrixTopNControlStatus)) == 0) {
1678             (*nlMatrixTopNControlEntry)->__nlMatrixTopNControlStatus = *vars->val.integer;
1679             (*nlMatrixTopNControlEntry)->nlMatrixTopNControlStatus = &((*nlMatrixTopNControlEntry)->__nlMatrixTopNControlStatus);
1680         }
1681     }
1682
1683     if (response) snmp_free_pdu(response);
1684
1685     if (snmp_close(peer) == 0) {
1686         return -5;
1687     }
1688
1689     return 0;
1690 }
1691
1692 int rmon2_mib_mgr_get_nlMatrixTopNEntry(struct snmp_session *s, nlMatrixTopNEntry_t **nlMatrixTopNEntry)
1693 {
1694     struct snmp_session *peer;
1695     struct snmp_pdu *request, *response;
1696     struct variable_list *vars;
1697     int status;
1698
1699     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1700     snmp_add_null_var(request, nlMatrixTopNProtocolDirLocalIndex, sizeof(nlMatrixTopNProtocolDirLocalIndex)/sizeof(oid));
1701     snmp_add_null_var(request, nlMatrixTopNSourceAddress, sizeof(nlMatrixTopNSourceAddress)/sizeof(oid));
1702     snmp_add_null_var(request, nlMatrixTopNDestAddress, sizeof(nlMatrixTopNDestAddress)/sizeof(oid));
1703     snmp_add_null_var(request, nlMatrixTopNPktRate, sizeof(nlMatrixTopNPktRate)/sizeof(oid));
1704     snmp_add_null_var(request, nlMatrixTopNReversePktRate, sizeof(nlMatrixTopNReversePktRate)/sizeof(oid));
1705     snmp_add_null_var(request, nlMatrixTopNOctetRate, sizeof(nlMatrixTopNOctetRate)/sizeof(oid));
1706     snmp_add_null_var(request, nlMatrixTopNReverseOctetRate, sizeof(nlMatrixTopNReverseOctetRate)/sizeof(oid));
1707
1708     peer = snmp_open(s);
1709     if (!peer) {
1710         snmp_free_pdu(request);
1711         return -1;
1712     }
1713
1714     status = snmp_synch_response(peer, request, &response);
1715     if (status != STAT_SUCCESS) {
1716         if (response) snmp_free_pdu(response);
1717         snmp_close(peer);
1718         return -2;
1719     }
1720
1721     *nlMatrixTopNEntry = (nlMatrixTopNEntry_t *) malloc(sizeof(nlMatrixTopNEntry_t));
1722     if (! *nlMatrixTopNEntry) {
1723         if (response) snmp_free_pdu(response);
1724         snmp_close(peer);
1725         return -4;
1726     }
1727
1728     for (vars = response->variables; vars; vars = vars->next_variable) {
1729         if (vars->name_length > sizeof(nlMatrixTopNProtocolDirLocalIndex)/sizeof(oid)
1730             && memcmp(vars->name, nlMatrixTopNProtocolDirLocalIndex, sizeof(nlMatrixTopNProtocolDirLocalIndex)) == 0) {
1731             (*nlMatrixTopNEntry)->__nlMatrixTopNProtocolDirLocalIndex = *vars->val.integer;
1732             (*nlMatrixTopNEntry)->nlMatrixTopNProtocolDirLocalIndex = &((*nlMatrixTopNEntry)->__nlMatrixTopNProtocolDirLocalIndex);
1733         }
1734         if (vars->name_length > sizeof(nlMatrixTopNSourceAddress)/sizeof(oid)
1735             && memcmp(vars->name, nlMatrixTopNSourceAddress, sizeof(nlMatrixTopNSourceAddress)) == 0) {
1736             memcpy((*nlMatrixTopNEntry)->__nlMatrixTopNSourceAddress, vars->val.string, vars->val_len);
1737             (*nlMatrixTopNEntry)->_nlMatrixTopNSourceAddressLength = vars->val_len;
1738             (*nlMatrixTopNEntry)->nlMatrixTopNSourceAddress = (*nlMatrixTopNEntry)->__nlMatrixTopNSourceAddress;
1739         }
1740         if (vars->name_length > sizeof(nlMatrixTopNDestAddress)/sizeof(oid)
1741             && memcmp(vars->name, nlMatrixTopNDestAddress, sizeof(nlMatrixTopNDestAddress)) == 0) {
1742             memcpy((*nlMatrixTopNEntry)->__nlMatrixTopNDestAddress, vars->val.string, vars->val_len);
1743             (*nlMatrixTopNEntry)->_nlMatrixTopNDestAddressLength = vars->val_len;
1744             (*nlMatrixTopNEntry)->nlMatrixTopNDestAddress = (*nlMatrixTopNEntry)->__nlMatrixTopNDestAddress;
1745         }
1746         if (vars->name_length > sizeof(nlMatrixTopNPktRate)/sizeof(oid)
1747             && memcmp(vars->name, nlMatrixTopNPktRate, sizeof(nlMatrixTopNPktRate)) == 0) {
1748             (*nlMatrixTopNEntry)->__nlMatrixTopNPktRate = *vars->val.integer;
1749             (*nlMatrixTopNEntry)->nlMatrixTopNPktRate = &((*nlMatrixTopNEntry)->__nlMatrixTopNPktRate);
1750         }
1751         if (vars->name_length > sizeof(nlMatrixTopNReversePktRate)/sizeof(oid)
1752             && memcmp(vars->name, nlMatrixTopNReversePktRate, sizeof(nlMatrixTopNReversePktRate)) == 0) {
1753             (*nlMatrixTopNEntry)->__nlMatrixTopNReversePktRate = *vars->val.integer;
1754             (*nlMatrixTopNEntry)->nlMatrixTopNReversePktRate = &((*nlMatrixTopNEntry)->__nlMatrixTopNReversePktRate);
1755         }
1756         if (vars->name_length > sizeof(nlMatrixTopNOctetRate)/sizeof(oid)
1757             && memcmp(vars->name, nlMatrixTopNOctetRate, sizeof(nlMatrixTopNOctetRate)) == 0) {
1758             (*nlMatrixTopNEntry)->__nlMatrixTopNOctetRate = *vars->val.integer;
1759             (*nlMatrixTopNEntry)->nlMatrixTopNOctetRate = &((*nlMatrixTopNEntry)->__nlMatrixTopNOctetRate);
1760         }
1761         if (vars->name_length > sizeof(nlMatrixTopNReverseOctetRate)/sizeof(oid)
1762             && memcmp(vars->name, nlMatrixTopNReverseOctetRate, sizeof(nlMatrixTopNReverseOctetRate)) == 0) {
1763             (*nlMatrixTopNEntry)->__nlMatrixTopNReverseOctetRate = *vars->val.integer;
1764             (*nlMatrixTopNEntry)->nlMatrixTopNReverseOctetRate = &((*nlMatrixTopNEntry)->__nlMatrixTopNReverseOctetRate);
1765         }
1766     }
1767
1768     if (response) snmp_free_pdu(response);
1769
1770     if (snmp_close(peer) == 0) {
1771         return -5;
1772     }
1773
1774     return 0;
1775 }
1776
1777 int rmon2_mib_mgr_get_alHostEntry(struct snmp_session *s, alHostEntry_t **alHostEntry)
1778 {
1779     struct snmp_session *peer;
1780     struct snmp_pdu *request, *response;
1781     struct variable_list *vars;
1782     int status;
1783
1784     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1785     snmp_add_null_var(request, alHostInPkts, sizeof(alHostInPkts)/sizeof(oid));
1786     snmp_add_null_var(request, alHostOutPkts, sizeof(alHostOutPkts)/sizeof(oid));
1787     snmp_add_null_var(request, alHostInOctets, sizeof(alHostInOctets)/sizeof(oid));
1788     snmp_add_null_var(request, alHostOutOctets, sizeof(alHostOutOctets)/sizeof(oid));
1789     snmp_add_null_var(request, alHostCreateTime, sizeof(alHostCreateTime)/sizeof(oid));
1790
1791     peer = snmp_open(s);
1792     if (!peer) {
1793         snmp_free_pdu(request);
1794         return -1;
1795     }
1796
1797     status = snmp_synch_response(peer, request, &response);
1798     if (status != STAT_SUCCESS) {
1799         if (response) snmp_free_pdu(response);
1800         snmp_close(peer);
1801         return -2;
1802     }
1803
1804     *alHostEntry = (alHostEntry_t *) malloc(sizeof(alHostEntry_t));
1805     if (! *alHostEntry) {
1806         if (response) snmp_free_pdu(response);
1807         snmp_close(peer);
1808         return -4;
1809     }
1810
1811     for (vars = response->variables; vars; vars = vars->next_variable) {
1812         if (vars->name_length > sizeof(alHostInPkts)/sizeof(oid)
1813             && memcmp(vars->name, alHostInPkts, sizeof(alHostInPkts)) == 0) {
1814             (*alHostEntry)->__alHostInPkts = *vars->val.integer;
1815             (*alHostEntry)->alHostInPkts = &((*alHostEntry)->__alHostInPkts);
1816         }
1817         if (vars->name_length > sizeof(alHostOutPkts)/sizeof(oid)
1818             && memcmp(vars->name, alHostOutPkts, sizeof(alHostOutPkts)) == 0) {
1819             (*alHostEntry)->__alHostOutPkts = *vars->val.integer;
1820             (*alHostEntry)->alHostOutPkts = &((*alHostEntry)->__alHostOutPkts);
1821         }
1822         if (vars->name_length > sizeof(alHostInOctets)/sizeof(oid)
1823             && memcmp(vars->name, alHostInOctets, sizeof(alHostInOctets)) == 0) {
1824             (*alHostEntry)->__alHostInOctets = *vars->val.integer;
1825             (*alHostEntry)->alHostInOctets = &((*alHostEntry)->__alHostInOctets);
1826         }
1827         if (vars->name_length > sizeof(alHostOutOctets)/sizeof(oid)
1828             && memcmp(vars->name, alHostOutOctets, sizeof(alHostOutOctets)) == 0) {
1829             (*alHostEntry)->__alHostOutOctets = *vars->val.integer;
1830             (*alHostEntry)->alHostOutOctets = &((*alHostEntry)->__alHostOutOctets);
1831         }
1832         if (vars->name_length > sizeof(alHostCreateTime)/sizeof(oid)
1833             && memcmp(vars->name, alHostCreateTime, sizeof(alHostCreateTime)) == 0) {
1834             (*alHostEntry)->__alHostCreateTime = *vars->val.integer;
1835             (*alHostEntry)->alHostCreateTime = &((*alHostEntry)->__alHostCreateTime);
1836         }
1837     }
1838
1839     if (response) snmp_free_pdu(response);
1840
1841     if (snmp_close(peer) == 0) {
1842         return -5;
1843     }
1844
1845     return 0;
1846 }
1847
1848 int rmon2_mib_mgr_get_alMatrixSDEntry(struct snmp_session *s, alMatrixSDEntry_t **alMatrixSDEntry)
1849 {
1850     struct snmp_session *peer;
1851     struct snmp_pdu *request, *response;
1852     struct variable_list *vars;
1853     int status;
1854
1855     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1856     snmp_add_null_var(request, alMatrixSDPkts, sizeof(alMatrixSDPkts)/sizeof(oid));
1857     snmp_add_null_var(request, alMatrixSDOctets, sizeof(alMatrixSDOctets)/sizeof(oid));
1858     snmp_add_null_var(request, alMatrixSDCreateTime, sizeof(alMatrixSDCreateTime)/sizeof(oid));
1859
1860     peer = snmp_open(s);
1861     if (!peer) {
1862         snmp_free_pdu(request);
1863         return -1;
1864     }
1865
1866     status = snmp_synch_response(peer, request, &response);
1867     if (status != STAT_SUCCESS) {
1868         if (response) snmp_free_pdu(response);
1869         snmp_close(peer);
1870         return -2;
1871     }
1872
1873     *alMatrixSDEntry = (alMatrixSDEntry_t *) malloc(sizeof(alMatrixSDEntry_t));
1874     if (! *alMatrixSDEntry) {
1875         if (response) snmp_free_pdu(response);
1876         snmp_close(peer);
1877         return -4;
1878     }
1879
1880     for (vars = response->variables; vars; vars = vars->next_variable) {
1881         if (vars->name_length > sizeof(alMatrixSDPkts)/sizeof(oid)
1882             && memcmp(vars->name, alMatrixSDPkts, sizeof(alMatrixSDPkts)) == 0) {
1883             (*alMatrixSDEntry)->__alMatrixSDPkts = *vars->val.integer;
1884             (*alMatrixSDEntry)->alMatrixSDPkts = &((*alMatrixSDEntry)->__alMatrixSDPkts);
1885         }
1886         if (vars->name_length > sizeof(alMatrixSDOctets)/sizeof(oid)
1887             && memcmp(vars->name, alMatrixSDOctets, sizeof(alMatrixSDOctets)) == 0) {
1888             (*alMatrixSDEntry)->__alMatrixSDOctets = *vars->val.integer;
1889             (*alMatrixSDEntry)->alMatrixSDOctets = &((*alMatrixSDEntry)->__alMatrixSDOctets);
1890         }
1891         if (vars->name_length > sizeof(alMatrixSDCreateTime)/sizeof(oid)
1892             && memcmp(vars->name, alMatrixSDCreateTime, sizeof(alMatrixSDCreateTime)) == 0) {
1893             (*alMatrixSDEntry)->__alMatrixSDCreateTime = *vars->val.integer;
1894             (*alMatrixSDEntry)->alMatrixSDCreateTime = &((*alMatrixSDEntry)->__alMatrixSDCreateTime);
1895         }
1896     }
1897
1898     if (response) snmp_free_pdu(response);
1899
1900     if (snmp_close(peer) == 0) {
1901         return -5;
1902     }
1903
1904     return 0;
1905 }
1906
1907 int rmon2_mib_mgr_get_alMatrixDSEntry(struct snmp_session *s, alMatrixDSEntry_t **alMatrixDSEntry)
1908 {
1909     struct snmp_session *peer;
1910     struct snmp_pdu *request, *response;
1911     struct variable_list *vars;
1912     int status;
1913
1914     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1915     snmp_add_null_var(request, alMatrixDSPkts, sizeof(alMatrixDSPkts)/sizeof(oid));
1916     snmp_add_null_var(request, alMatrixDSOctets, sizeof(alMatrixDSOctets)/sizeof(oid));
1917     snmp_add_null_var(request, alMatrixDSCreateTime, sizeof(alMatrixDSCreateTime)/sizeof(oid));
1918
1919     peer = snmp_open(s);
1920     if (!peer) {
1921         snmp_free_pdu(request);
1922         return -1;
1923     }
1924
1925     status = snmp_synch_response(peer, request, &response);
1926     if (status != STAT_SUCCESS) {
1927         if (response) snmp_free_pdu(response);
1928         snmp_close(peer);
1929         return -2;
1930     }
1931
1932     *alMatrixDSEntry = (alMatrixDSEntry_t *) malloc(sizeof(alMatrixDSEntry_t));
1933     if (! *alMatrixDSEntry) {
1934         if (response) snmp_free_pdu(response);
1935         snmp_close(peer);
1936         return -4;
1937     }
1938
1939     for (vars = response->variables; vars; vars = vars->next_variable) {
1940         if (vars->name_length > sizeof(alMatrixDSPkts)/sizeof(oid)
1941             && memcmp(vars->name, alMatrixDSPkts, sizeof(alMatrixDSPkts)) == 0) {
1942             (*alMatrixDSEntry)->__alMatrixDSPkts = *vars->val.integer;
1943             (*alMatrixDSEntry)->alMatrixDSPkts = &((*alMatrixDSEntry)->__alMatrixDSPkts);
1944         }
1945         if (vars->name_length > sizeof(alMatrixDSOctets)/sizeof(oid)
1946             && memcmp(vars->name, alMatrixDSOctets, sizeof(alMatrixDSOctets)) == 0) {
1947             (*alMatrixDSEntry)->__alMatrixDSOctets = *vars->val.integer;
1948             (*alMatrixDSEntry)->alMatrixDSOctets = &((*alMatrixDSEntry)->__alMatrixDSOctets);
1949         }
1950         if (vars->name_length > sizeof(alMatrixDSCreateTime)/sizeof(oid)
1951             && memcmp(vars->name, alMatrixDSCreateTime, sizeof(alMatrixDSCreateTime)) == 0) {
1952             (*alMatrixDSEntry)->__alMatrixDSCreateTime = *vars->val.integer;
1953             (*alMatrixDSEntry)->alMatrixDSCreateTime = &((*alMatrixDSEntry)->__alMatrixDSCreateTime);
1954         }
1955     }
1956
1957     if (response) snmp_free_pdu(response);
1958
1959     if (snmp_close(peer) == 0) {
1960         return -5;
1961     }
1962
1963     return 0;
1964 }
1965
1966 int rmon2_mib_mgr_get_alMatrixTopNControlEntry(struct snmp_session *s, alMatrixTopNControlEntry_t **alMatrixTopNControlEntry)
1967 {
1968     struct snmp_session *peer;
1969     struct snmp_pdu *request, *response;
1970     struct variable_list *vars;
1971     int status;
1972
1973     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
1974     snmp_add_null_var(request, alMatrixTopNControlMatrixIndex, sizeof(alMatrixTopNControlMatrixIndex)/sizeof(oid));
1975     snmp_add_null_var(request, alMatrixTopNControlRateBase, sizeof(alMatrixTopNControlRateBase)/sizeof(oid));
1976     snmp_add_null_var(request, alMatrixTopNControlTimeRemaining, sizeof(alMatrixTopNControlTimeRemaining)/sizeof(oid));
1977     snmp_add_null_var(request, alMatrixTopNControlGeneratedReports, sizeof(alMatrixTopNControlGeneratedReports)/sizeof(oid));
1978     snmp_add_null_var(request, alMatrixTopNControlDuration, sizeof(alMatrixTopNControlDuration)/sizeof(oid));
1979     snmp_add_null_var(request, alMatrixTopNControlRequestedSize, sizeof(alMatrixTopNControlRequestedSize)/sizeof(oid));
1980     snmp_add_null_var(request, alMatrixTopNControlGrantedSize, sizeof(alMatrixTopNControlGrantedSize)/sizeof(oid));
1981     snmp_add_null_var(request, alMatrixTopNControlStartTime, sizeof(alMatrixTopNControlStartTime)/sizeof(oid));
1982     snmp_add_null_var(request, alMatrixTopNControlOwner, sizeof(alMatrixTopNControlOwner)/sizeof(oid));
1983     snmp_add_null_var(request, alMatrixTopNControlStatus, sizeof(alMatrixTopNControlStatus)/sizeof(oid));
1984
1985     peer = snmp_open(s);
1986     if (!peer) {
1987         snmp_free_pdu(request);
1988         return -1;
1989     }
1990
1991     status = snmp_synch_response(peer, request, &response);
1992     if (status != STAT_SUCCESS) {
1993         if (response) snmp_free_pdu(response);
1994         snmp_close(peer);
1995         return -2;
1996     }
1997
1998     *alMatrixTopNControlEntry = (alMatrixTopNControlEntry_t *) malloc(sizeof(alMatrixTopNControlEntry_t));
1999     if (! *alMatrixTopNControlEntry) {
2000         if (response) snmp_free_pdu(response);
2001         snmp_close(peer);
2002         return -4;
2003     }
2004
2005     for (vars = response->variables; vars; vars = vars->next_variable) {
2006         if (vars->name_length > sizeof(alMatrixTopNControlMatrixIndex)/sizeof(oid)
2007             && memcmp(vars->name, alMatrixTopNControlMatrixIndex, sizeof(alMatrixTopNControlMatrixIndex)) == 0) {
2008             (*alMatrixTopNControlEntry)->__alMatrixTopNControlMatrixIndex = *vars->val.integer;
2009             (*alMatrixTopNControlEntry)->alMatrixTopNControlMatrixIndex = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlMatrixIndex);
2010         }
2011         if (vars->name_length > sizeof(alMatrixTopNControlRateBase)/sizeof(oid)
2012             && memcmp(vars->name, alMatrixTopNControlRateBase, sizeof(alMatrixTopNControlRateBase)) == 0) {
2013             (*alMatrixTopNControlEntry)->__alMatrixTopNControlRateBase = *vars->val.integer;
2014             (*alMatrixTopNControlEntry)->alMatrixTopNControlRateBase = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlRateBase);
2015         }
2016         if (vars->name_length > sizeof(alMatrixTopNControlTimeRemaining)/sizeof(oid)
2017             && memcmp(vars->name, alMatrixTopNControlTimeRemaining, sizeof(alMatrixTopNControlTimeRemaining)) == 0) {
2018             (*alMatrixTopNControlEntry)->__alMatrixTopNControlTimeRemaining = *vars->val.integer;
2019             (*alMatrixTopNControlEntry)->alMatrixTopNControlTimeRemaining = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlTimeRemaining);
2020         }
2021         if (vars->name_length > sizeof(alMatrixTopNControlGeneratedReports)/sizeof(oid)
2022             && memcmp(vars->name, alMatrixTopNControlGeneratedReports, sizeof(alMatrixTopNControlGeneratedReports)) == 0) {
2023             (*alMatrixTopNControlEntry)->__alMatrixTopNControlGeneratedReports = *vars->val.integer;
2024             (*alMatrixTopNControlEntry)->alMatrixTopNControlGeneratedReports = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlGeneratedReports);
2025         }
2026         if (vars->name_length > sizeof(alMatrixTopNControlDuration)/sizeof(oid)
2027             && memcmp(vars->name, alMatrixTopNControlDuration, sizeof(alMatrixTopNControlDuration)) == 0) {
2028             (*alMatrixTopNControlEntry)->__alMatrixTopNControlDuration = *vars->val.integer;
2029             (*alMatrixTopNControlEntry)->alMatrixTopNControlDuration = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlDuration);
2030         }
2031         if (vars->name_length > sizeof(alMatrixTopNControlRequestedSize)/sizeof(oid)
2032             && memcmp(vars->name, alMatrixTopNControlRequestedSize, sizeof(alMatrixTopNControlRequestedSize)) == 0) {
2033             (*alMatrixTopNControlEntry)->__alMatrixTopNControlRequestedSize = *vars->val.integer;
2034             (*alMatrixTopNControlEntry)->alMatrixTopNControlRequestedSize = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlRequestedSize);
2035         }
2036         if (vars->name_length > sizeof(alMatrixTopNControlGrantedSize)/sizeof(oid)
2037             && memcmp(vars->name, alMatrixTopNControlGrantedSize, sizeof(alMatrixTopNControlGrantedSize)) == 0) {
2038             (*alMatrixTopNControlEntry)->__alMatrixTopNControlGrantedSize = *vars->val.integer;
2039             (*alMatrixTopNControlEntry)->alMatrixTopNControlGrantedSize = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlGrantedSize);
2040         }
2041         if (vars->name_length > sizeof(alMatrixTopNControlStartTime)/sizeof(oid)
2042             && memcmp(vars->name, alMatrixTopNControlStartTime, sizeof(alMatrixTopNControlStartTime)) == 0) {
2043             (*alMatrixTopNControlEntry)->__alMatrixTopNControlStartTime = *vars->val.integer;
2044             (*alMatrixTopNControlEntry)->alMatrixTopNControlStartTime = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlStartTime);
2045         }
2046         if (vars->name_length > sizeof(alMatrixTopNControlOwner)/sizeof(oid)
2047             && memcmp(vars->name, alMatrixTopNControlOwner, sizeof(alMatrixTopNControlOwner)) == 0) {
2048             memcpy((*alMatrixTopNControlEntry)->__alMatrixTopNControlOwner, vars->val.string, vars->val_len);
2049             (*alMatrixTopNControlEntry)->_alMatrixTopNControlOwnerLength = vars->val_len;
2050             (*alMatrixTopNControlEntry)->alMatrixTopNControlOwner = (*alMatrixTopNControlEntry)->__alMatrixTopNControlOwner;
2051         }
2052         if (vars->name_length > sizeof(alMatrixTopNControlStatus)/sizeof(oid)
2053             && memcmp(vars->name, alMatrixTopNControlStatus, sizeof(alMatrixTopNControlStatus)) == 0) {
2054             (*alMatrixTopNControlEntry)->__alMatrixTopNControlStatus = *vars->val.integer;
2055             (*alMatrixTopNControlEntry)->alMatrixTopNControlStatus = &((*alMatrixTopNControlEntry)->__alMatrixTopNControlStatus);
2056         }
2057     }
2058
2059     if (response) snmp_free_pdu(response);
2060
2061     if (snmp_close(peer) == 0) {
2062         return -5;
2063     }
2064
2065     return 0;
2066 }
2067
2068 int rmon2_mib_mgr_get_alMatrixTopNEntry(struct snmp_session *s, alMatrixTopNEntry_t **alMatrixTopNEntry)
2069 {
2070     struct snmp_session *peer;
2071     struct snmp_pdu *request, *response;
2072     struct variable_list *vars;
2073     int status;
2074
2075     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2076     snmp_add_null_var(request, alMatrixTopNProtocolDirLocalIndex, sizeof(alMatrixTopNProtocolDirLocalIndex)/sizeof(oid));
2077     snmp_add_null_var(request, alMatrixTopNSourceAddress, sizeof(alMatrixTopNSourceAddress)/sizeof(oid));
2078     snmp_add_null_var(request, alMatrixTopNDestAddress, sizeof(alMatrixTopNDestAddress)/sizeof(oid));
2079     snmp_add_null_var(request, alMatrixTopNAppProtocolDirLocalIndex, sizeof(alMatrixTopNAppProtocolDirLocalIndex)/sizeof(oid));
2080     snmp_add_null_var(request, alMatrixTopNPktRate, sizeof(alMatrixTopNPktRate)/sizeof(oid));
2081     snmp_add_null_var(request, alMatrixTopNReversePktRate, sizeof(alMatrixTopNReversePktRate)/sizeof(oid));
2082     snmp_add_null_var(request, alMatrixTopNOctetRate, sizeof(alMatrixTopNOctetRate)/sizeof(oid));
2083     snmp_add_null_var(request, alMatrixTopNReverseOctetRate, sizeof(alMatrixTopNReverseOctetRate)/sizeof(oid));
2084
2085     peer = snmp_open(s);
2086     if (!peer) {
2087         snmp_free_pdu(request);
2088         return -1;
2089     }
2090
2091     status = snmp_synch_response(peer, request, &response);
2092     if (status != STAT_SUCCESS) {
2093         if (response) snmp_free_pdu(response);
2094         snmp_close(peer);
2095         return -2;
2096     }
2097
2098     *alMatrixTopNEntry = (alMatrixTopNEntry_t *) malloc(sizeof(alMatrixTopNEntry_t));
2099     if (! *alMatrixTopNEntry) {
2100         if (response) snmp_free_pdu(response);
2101         snmp_close(peer);
2102         return -4;
2103     }
2104
2105     for (vars = response->variables; vars; vars = vars->next_variable) {
2106         if (vars->name_length > sizeof(alMatrixTopNProtocolDirLocalIndex)/sizeof(oid)
2107             && memcmp(vars->name, alMatrixTopNProtocolDirLocalIndex, sizeof(alMatrixTopNProtocolDirLocalIndex)) == 0) {
2108             (*alMatrixTopNEntry)->__alMatrixTopNProtocolDirLocalIndex = *vars->val.integer;
2109             (*alMatrixTopNEntry)->alMatrixTopNProtocolDirLocalIndex = &((*alMatrixTopNEntry)->__alMatrixTopNProtocolDirLocalIndex);
2110         }
2111         if (vars->name_length > sizeof(alMatrixTopNSourceAddress)/sizeof(oid)
2112             && memcmp(vars->name, alMatrixTopNSourceAddress, sizeof(alMatrixTopNSourceAddress)) == 0) {
2113             memcpy((*alMatrixTopNEntry)->__alMatrixTopNSourceAddress, vars->val.string, vars->val_len);
2114             (*alMatrixTopNEntry)->_alMatrixTopNSourceAddressLength = vars->val_len;
2115             (*alMatrixTopNEntry)->alMatrixTopNSourceAddress = (*alMatrixTopNEntry)->__alMatrixTopNSourceAddress;
2116         }
2117         if (vars->name_length > sizeof(alMatrixTopNDestAddress)/sizeof(oid)
2118             && memcmp(vars->name, alMatrixTopNDestAddress, sizeof(alMatrixTopNDestAddress)) == 0) {
2119             memcpy((*alMatrixTopNEntry)->__alMatrixTopNDestAddress, vars->val.string, vars->val_len);
2120             (*alMatrixTopNEntry)->_alMatrixTopNDestAddressLength = vars->val_len;
2121             (*alMatrixTopNEntry)->alMatrixTopNDestAddress = (*alMatrixTopNEntry)->__alMatrixTopNDestAddress;
2122         }
2123         if (vars->name_length > sizeof(alMatrixTopNAppProtocolDirLocalIndex)/sizeof(oid)
2124             && memcmp(vars->name, alMatrixTopNAppProtocolDirLocalIndex, sizeof(alMatrixTopNAppProtocolDirLocalIndex)) == 0) {
2125             (*alMatrixTopNEntry)->__alMatrixTopNAppProtocolDirLocalIndex = *vars->val.integer;
2126             (*alMatrixTopNEntry)->alMatrixTopNAppProtocolDirLocalIndex = &((*alMatrixTopNEntry)->__alMatrixTopNAppProtocolDirLocalIndex);
2127         }
2128         if (vars->name_length > sizeof(alMatrixTopNPktRate)/sizeof(oid)
2129             && memcmp(vars->name, alMatrixTopNPktRate, sizeof(alMatrixTopNPktRate)) == 0) {
2130             (*alMatrixTopNEntry)->__alMatrixTopNPktRate = *vars->val.integer;
2131             (*alMatrixTopNEntry)->alMatrixTopNPktRate = &((*alMatrixTopNEntry)->__alMatrixTopNPktRate);
2132         }
2133         if (vars->name_length > sizeof(alMatrixTopNReversePktRate)/sizeof(oid)
2134             && memcmp(vars->name, alMatrixTopNReversePktRate, sizeof(alMatrixTopNReversePktRate)) == 0) {
2135             (*alMatrixTopNEntry)->__alMatrixTopNReversePktRate = *vars->val.integer;
2136             (*alMatrixTopNEntry)->alMatrixTopNReversePktRate = &((*alMatrixTopNEntry)->__alMatrixTopNReversePktRate);
2137         }
2138         if (vars->name_length > sizeof(alMatrixTopNOctetRate)/sizeof(oid)
2139             && memcmp(vars->name, alMatrixTopNOctetRate, sizeof(alMatrixTopNOctetRate)) == 0) {
2140             (*alMatrixTopNEntry)->__alMatrixTopNOctetRate = *vars->val.integer;
2141             (*alMatrixTopNEntry)->alMatrixTopNOctetRate = &((*alMatrixTopNEntry)->__alMatrixTopNOctetRate);
2142         }
2143         if (vars->name_length > sizeof(alMatrixTopNReverseOctetRate)/sizeof(oid)
2144             && memcmp(vars->name, alMatrixTopNReverseOctetRate, sizeof(alMatrixTopNReverseOctetRate)) == 0) {
2145             (*alMatrixTopNEntry)->__alMatrixTopNReverseOctetRate = *vars->val.integer;
2146             (*alMatrixTopNEntry)->alMatrixTopNReverseOctetRate = &((*alMatrixTopNEntry)->__alMatrixTopNReverseOctetRate);
2147         }
2148     }
2149
2150     if (response) snmp_free_pdu(response);
2151
2152     if (snmp_close(peer) == 0) {
2153         return -5;
2154     }
2155
2156     return 0;
2157 }
2158
2159 int rmon2_mib_mgr_get_usrHistoryControlEntry(struct snmp_session *s, usrHistoryControlEntry_t **usrHistoryControlEntry)
2160 {
2161     struct snmp_session *peer;
2162     struct snmp_pdu *request, *response;
2163     struct variable_list *vars;
2164     int status;
2165
2166     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2167     snmp_add_null_var(request, usrHistoryControlObjects, sizeof(usrHistoryControlObjects)/sizeof(oid));
2168     snmp_add_null_var(request, usrHistoryControlBucketsRequested, sizeof(usrHistoryControlBucketsRequested)/sizeof(oid));
2169     snmp_add_null_var(request, usrHistoryControlBucketsGranted, sizeof(usrHistoryControlBucketsGranted)/sizeof(oid));
2170     snmp_add_null_var(request, usrHistoryControlInterval, sizeof(usrHistoryControlInterval)/sizeof(oid));
2171     snmp_add_null_var(request, usrHistoryControlOwner, sizeof(usrHistoryControlOwner)/sizeof(oid));
2172     snmp_add_null_var(request, usrHistoryControlStatus, sizeof(usrHistoryControlStatus)/sizeof(oid));
2173
2174     peer = snmp_open(s);
2175     if (!peer) {
2176         snmp_free_pdu(request);
2177         return -1;
2178     }
2179
2180     status = snmp_synch_response(peer, request, &response);
2181     if (status != STAT_SUCCESS) {
2182         if (response) snmp_free_pdu(response);
2183         snmp_close(peer);
2184         return -2;
2185     }
2186
2187     *usrHistoryControlEntry = (usrHistoryControlEntry_t *) malloc(sizeof(usrHistoryControlEntry_t));
2188     if (! *usrHistoryControlEntry) {
2189         if (response) snmp_free_pdu(response);
2190         snmp_close(peer);
2191         return -4;
2192     }
2193
2194     for (vars = response->variables; vars; vars = vars->next_variable) {
2195         if (vars->name_length > sizeof(usrHistoryControlObjects)/sizeof(oid)
2196             && memcmp(vars->name, usrHistoryControlObjects, sizeof(usrHistoryControlObjects)) == 0) {
2197             (*usrHistoryControlEntry)->__usrHistoryControlObjects = *vars->val.integer;
2198             (*usrHistoryControlEntry)->usrHistoryControlObjects = &((*usrHistoryControlEntry)->__usrHistoryControlObjects);
2199         }
2200         if (vars->name_length > sizeof(usrHistoryControlBucketsRequested)/sizeof(oid)
2201             && memcmp(vars->name, usrHistoryControlBucketsRequested, sizeof(usrHistoryControlBucketsRequested)) == 0) {
2202             (*usrHistoryControlEntry)->__usrHistoryControlBucketsRequested = *vars->val.integer;
2203             (*usrHistoryControlEntry)->usrHistoryControlBucketsRequested = &((*usrHistoryControlEntry)->__usrHistoryControlBucketsRequested);
2204         }
2205         if (vars->name_length > sizeof(usrHistoryControlBucketsGranted)/sizeof(oid)
2206             && memcmp(vars->name, usrHistoryControlBucketsGranted, sizeof(usrHistoryControlBucketsGranted)) == 0) {
2207             (*usrHistoryControlEntry)->__usrHistoryControlBucketsGranted = *vars->val.integer;
2208             (*usrHistoryControlEntry)->usrHistoryControlBucketsGranted = &((*usrHistoryControlEntry)->__usrHistoryControlBucketsGranted);
2209         }
2210         if (vars->name_length > sizeof(usrHistoryControlInterval)/sizeof(oid)
2211             && memcmp(vars->name, usrHistoryControlInterval, sizeof(usrHistoryControlInterval)) == 0) {
2212             (*usrHistoryControlEntry)->__usrHistoryControlInterval = *vars->val.integer;
2213             (*usrHistoryControlEntry)->usrHistoryControlInterval = &((*usrHistoryControlEntry)->__usrHistoryControlInterval);
2214         }
2215         if (vars->name_length > sizeof(usrHistoryControlOwner)/sizeof(oid)
2216             && memcmp(vars->name, usrHistoryControlOwner, sizeof(usrHistoryControlOwner)) == 0) {
2217             memcpy((*usrHistoryControlEntry)->__usrHistoryControlOwner, vars->val.string, vars->val_len);
2218             (*usrHistoryControlEntry)->_usrHistoryControlOwnerLength = vars->val_len;
2219             (*usrHistoryControlEntry)->usrHistoryControlOwner = (*usrHistoryControlEntry)->__usrHistoryControlOwner;
2220         }
2221         if (vars->name_length > sizeof(usrHistoryControlStatus)/sizeof(oid)
2222             && memcmp(vars->name, usrHistoryControlStatus, sizeof(usrHistoryControlStatus)) == 0) {
2223             (*usrHistoryControlEntry)->__usrHistoryControlStatus = *vars->val.integer;
2224             (*usrHistoryControlEntry)->usrHistoryControlStatus = &((*usrHistoryControlEntry)->__usrHistoryControlStatus);
2225         }
2226     }
2227
2228     if (response) snmp_free_pdu(response);
2229
2230     if (snmp_close(peer) == 0) {
2231         return -5;
2232     }
2233
2234     return 0;
2235 }
2236
2237 int rmon2_mib_mgr_get_usrHistoryObjectEntry(struct snmp_session *s, usrHistoryObjectEntry_t **usrHistoryObjectEntry)
2238 {
2239     struct snmp_session *peer;
2240     struct snmp_pdu *request, *response;
2241     struct variable_list *vars;
2242     int status;
2243
2244     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2245     snmp_add_null_var(request, usrHistoryObjectVariable, sizeof(usrHistoryObjectVariable)/sizeof(oid));
2246     snmp_add_null_var(request, usrHistoryObjectSampleType, sizeof(usrHistoryObjectSampleType)/sizeof(oid));
2247
2248     peer = snmp_open(s);
2249     if (!peer) {
2250         snmp_free_pdu(request);
2251         return -1;
2252     }
2253
2254     status = snmp_synch_response(peer, request, &response);
2255     if (status != STAT_SUCCESS) {
2256         if (response) snmp_free_pdu(response);
2257         snmp_close(peer);
2258         return -2;
2259     }
2260
2261     *usrHistoryObjectEntry = (usrHistoryObjectEntry_t *) malloc(sizeof(usrHistoryObjectEntry_t));
2262     if (! *usrHistoryObjectEntry) {
2263         if (response) snmp_free_pdu(response);
2264         snmp_close(peer);
2265         return -4;
2266     }
2267
2268     for (vars = response->variables; vars; vars = vars->next_variable) {
2269         if (vars->name_length > sizeof(usrHistoryObjectVariable)/sizeof(oid)
2270             && memcmp(vars->name, usrHistoryObjectVariable, sizeof(usrHistoryObjectVariable)) == 0) {
2271         }
2272         if (vars->name_length > sizeof(usrHistoryObjectSampleType)/sizeof(oid)
2273             && memcmp(vars->name, usrHistoryObjectSampleType, sizeof(usrHistoryObjectSampleType)) == 0) {
2274             (*usrHistoryObjectEntry)->__usrHistoryObjectSampleType = *vars->val.integer;
2275             (*usrHistoryObjectEntry)->usrHistoryObjectSampleType = &((*usrHistoryObjectEntry)->__usrHistoryObjectSampleType);
2276         }
2277     }
2278
2279     if (response) snmp_free_pdu(response);
2280
2281     if (snmp_close(peer) == 0) {
2282         return -5;
2283     }
2284
2285     return 0;
2286 }
2287
2288 int rmon2_mib_mgr_get_usrHistoryEntry(struct snmp_session *s, usrHistoryEntry_t **usrHistoryEntry)
2289 {
2290     struct snmp_session *peer;
2291     struct snmp_pdu *request, *response;
2292     struct variable_list *vars;
2293     int status;
2294
2295     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2296     snmp_add_null_var(request, usrHistoryIntervalStart, sizeof(usrHistoryIntervalStart)/sizeof(oid));
2297     snmp_add_null_var(request, usrHistoryIntervalEnd, sizeof(usrHistoryIntervalEnd)/sizeof(oid));
2298     snmp_add_null_var(request, usrHistoryAbsValue, sizeof(usrHistoryAbsValue)/sizeof(oid));
2299     snmp_add_null_var(request, usrHistoryValStatus, sizeof(usrHistoryValStatus)/sizeof(oid));
2300
2301     peer = snmp_open(s);
2302     if (!peer) {
2303         snmp_free_pdu(request);
2304         return -1;
2305     }
2306
2307     status = snmp_synch_response(peer, request, &response);
2308     if (status != STAT_SUCCESS) {
2309         if (response) snmp_free_pdu(response);
2310         snmp_close(peer);
2311         return -2;
2312     }
2313
2314     *usrHistoryEntry = (usrHistoryEntry_t *) malloc(sizeof(usrHistoryEntry_t));
2315     if (! *usrHistoryEntry) {
2316         if (response) snmp_free_pdu(response);
2317         snmp_close(peer);
2318         return -4;
2319     }
2320
2321     for (vars = response->variables; vars; vars = vars->next_variable) {
2322         if (vars->name_length > sizeof(usrHistoryIntervalStart)/sizeof(oid)
2323             && memcmp(vars->name, usrHistoryIntervalStart, sizeof(usrHistoryIntervalStart)) == 0) {
2324             (*usrHistoryEntry)->__usrHistoryIntervalStart = *vars->val.integer;
2325             (*usrHistoryEntry)->usrHistoryIntervalStart = &((*usrHistoryEntry)->__usrHistoryIntervalStart);
2326         }
2327         if (vars->name_length > sizeof(usrHistoryIntervalEnd)/sizeof(oid)
2328             && memcmp(vars->name, usrHistoryIntervalEnd, sizeof(usrHistoryIntervalEnd)) == 0) {
2329             (*usrHistoryEntry)->__usrHistoryIntervalEnd = *vars->val.integer;
2330             (*usrHistoryEntry)->usrHistoryIntervalEnd = &((*usrHistoryEntry)->__usrHistoryIntervalEnd);
2331         }
2332         if (vars->name_length > sizeof(usrHistoryAbsValue)/sizeof(oid)
2333             && memcmp(vars->name, usrHistoryAbsValue, sizeof(usrHistoryAbsValue)) == 0) {
2334             (*usrHistoryEntry)->__usrHistoryAbsValue = *vars->val.integer;
2335             (*usrHistoryEntry)->usrHistoryAbsValue = &((*usrHistoryEntry)->__usrHistoryAbsValue);
2336         }
2337         if (vars->name_length > sizeof(usrHistoryValStatus)/sizeof(oid)
2338             && memcmp(vars->name, usrHistoryValStatus, sizeof(usrHistoryValStatus)) == 0) {
2339             (*usrHistoryEntry)->__usrHistoryValStatus = *vars->val.integer;
2340             (*usrHistoryEntry)->usrHistoryValStatus = &((*usrHistoryEntry)->__usrHistoryValStatus);
2341         }
2342     }
2343
2344     if (response) snmp_free_pdu(response);
2345
2346     if (snmp_close(peer) == 0) {
2347         return -5;
2348     }
2349
2350     return 0;
2351 }
2352
2353 int rmon2_mib_mgr_get_probeConfig(struct snmp_session *s, probeConfig_t **probeConfig)
2354 {
2355     struct snmp_session *peer;
2356     struct snmp_pdu *request, *response;
2357     struct variable_list *vars;
2358     int status;
2359
2360     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2361     snmp_add_null_var(request, probeCapabilities, sizeof(probeCapabilities)/sizeof(oid));
2362     snmp_add_null_var(request, probeSoftwareRev, sizeof(probeSoftwareRev)/sizeof(oid));
2363     snmp_add_null_var(request, probeHardwareRev, sizeof(probeHardwareRev)/sizeof(oid));
2364     snmp_add_null_var(request, probeDateTime, sizeof(probeDateTime)/sizeof(oid));
2365     snmp_add_null_var(request, probeResetControl, sizeof(probeResetControl)/sizeof(oid));
2366     snmp_add_null_var(request, probeDownloadFile, sizeof(probeDownloadFile)/sizeof(oid));
2367     snmp_add_null_var(request, probeDownloadTFTPServer, sizeof(probeDownloadTFTPServer)/sizeof(oid));
2368     snmp_add_null_var(request, probeDownloadAction, sizeof(probeDownloadAction)/sizeof(oid));
2369     snmp_add_null_var(request, probeDownloadStatus, sizeof(probeDownloadStatus)/sizeof(oid));
2370     snmp_add_null_var(request, netDefaultGateway, sizeof(netDefaultGateway)/sizeof(oid));
2371
2372     peer = snmp_open(s);
2373     if (!peer) {
2374         snmp_free_pdu(request);
2375         return -1;
2376     }
2377
2378     status = snmp_synch_response(peer, request, &response);
2379     if (status != STAT_SUCCESS) {
2380         if (response) snmp_free_pdu(response);
2381         snmp_close(peer);
2382         return -2;
2383     }
2384
2385     *probeConfig = (probeConfig_t *) malloc(sizeof(probeConfig_t));
2386     if (! *probeConfig) {
2387         if (response) snmp_free_pdu(response);
2388         snmp_close(peer);
2389         return -4;
2390     }
2391
2392     for (vars = response->variables; vars; vars = vars->next_variable) {
2393         if (vars->name_length > sizeof(probeCapabilities)/sizeof(oid)
2394             && memcmp(vars->name, probeCapabilities, sizeof(probeCapabilities)) == 0) {
2395             memcpy((*probeConfig)->__probeCapabilities, vars->val.string, vars->val_len);
2396             (*probeConfig)->_probeCapabilitiesLength = vars->val_len;
2397             (*probeConfig)->probeCapabilities = (*probeConfig)->__probeCapabilities;
2398         }
2399         if (vars->name_length > sizeof(probeSoftwareRev)/sizeof(oid)
2400             && memcmp(vars->name, probeSoftwareRev, sizeof(probeSoftwareRev)) == 0) {
2401             memcpy((*probeConfig)->__probeSoftwareRev, vars->val.string, vars->val_len);
2402             (*probeConfig)->_probeSoftwareRevLength = vars->val_len;
2403             (*probeConfig)->probeSoftwareRev = (*probeConfig)->__probeSoftwareRev;
2404         }
2405         if (vars->name_length > sizeof(probeHardwareRev)/sizeof(oid)
2406             && memcmp(vars->name, probeHardwareRev, sizeof(probeHardwareRev)) == 0) {
2407             memcpy((*probeConfig)->__probeHardwareRev, vars->val.string, vars->val_len);
2408             (*probeConfig)->_probeHardwareRevLength = vars->val_len;
2409             (*probeConfig)->probeHardwareRev = (*probeConfig)->__probeHardwareRev;
2410         }
2411         if (vars->name_length > sizeof(probeDateTime)/sizeof(oid)
2412             && memcmp(vars->name, probeDateTime, sizeof(probeDateTime)) == 0) {
2413             memcpy((*probeConfig)->__probeDateTime, vars->val.string, vars->val_len);
2414             (*probeConfig)->_probeDateTimeLength = vars->val_len;
2415             (*probeConfig)->probeDateTime = (*probeConfig)->__probeDateTime;
2416         }
2417         if (vars->name_length > sizeof(probeResetControl)/sizeof(oid)
2418             && memcmp(vars->name, probeResetControl, sizeof(probeResetControl)) == 0) {
2419             (*probeConfig)->__probeResetControl = *vars->val.integer;
2420             (*probeConfig)->probeResetControl = &((*probeConfig)->__probeResetControl);
2421         }
2422         if (vars->name_length > sizeof(probeDownloadFile)/sizeof(oid)
2423             && memcmp(vars->name, probeDownloadFile, sizeof(probeDownloadFile)) == 0) {
2424             memcpy((*probeConfig)->__probeDownloadFile, vars->val.string, vars->val_len);
2425             (*probeConfig)->_probeDownloadFileLength = vars->val_len;
2426             (*probeConfig)->probeDownloadFile = (*probeConfig)->__probeDownloadFile;
2427         }
2428         if (vars->name_length > sizeof(probeDownloadTFTPServer)/sizeof(oid)
2429             && memcmp(vars->name, probeDownloadTFTPServer, sizeof(probeDownloadTFTPServer)) == 0) {
2430             memcpy((*probeConfig)->__probeDownloadTFTPServer, vars->val.string, vars->val_len);
2431             (*probeConfig)->probeDownloadTFTPServer = (*probeConfig)->__probeDownloadTFTPServer;
2432         }
2433         if (vars->name_length > sizeof(probeDownloadAction)/sizeof(oid)
2434             && memcmp(vars->name, probeDownloadAction, sizeof(probeDownloadAction)) == 0) {
2435             (*probeConfig)->__probeDownloadAction = *vars->val.integer;
2436             (*probeConfig)->probeDownloadAction = &((*probeConfig)->__probeDownloadAction);
2437         }
2438         if (vars->name_length > sizeof(probeDownloadStatus)/sizeof(oid)
2439             && memcmp(vars->name, probeDownloadStatus, sizeof(probeDownloadStatus)) == 0) {
2440             (*probeConfig)->__probeDownloadStatus = *vars->val.integer;
2441             (*probeConfig)->probeDownloadStatus = &((*probeConfig)->__probeDownloadStatus);
2442         }
2443         if (vars->name_length > sizeof(netDefaultGateway)/sizeof(oid)
2444             && memcmp(vars->name, netDefaultGateway, sizeof(netDefaultGateway)) == 0) {
2445             memcpy((*probeConfig)->__netDefaultGateway, vars->val.string, vars->val_len);
2446             (*probeConfig)->netDefaultGateway = (*probeConfig)->__netDefaultGateway;
2447         }
2448     }
2449
2450     if (response) snmp_free_pdu(response);
2451
2452     if (snmp_close(peer) == 0) {
2453         return -5;
2454     }
2455
2456     return 0;
2457 }
2458
2459 int rmon2_mib_mgr_get_serialConfigEntry(struct snmp_session *s, serialConfigEntry_t **serialConfigEntry)
2460 {
2461     struct snmp_session *peer;
2462     struct snmp_pdu *request, *response;
2463     struct variable_list *vars;
2464     int status;
2465
2466     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2467     snmp_add_null_var(request, serialMode, sizeof(serialMode)/sizeof(oid));
2468     snmp_add_null_var(request, serialProtocol, sizeof(serialProtocol)/sizeof(oid));
2469     snmp_add_null_var(request, serialTimeout, sizeof(serialTimeout)/sizeof(oid));
2470     snmp_add_null_var(request, serialModemInitString, sizeof(serialModemInitString)/sizeof(oid));
2471     snmp_add_null_var(request, serialModemHangUpString, sizeof(serialModemHangUpString)/sizeof(oid));
2472     snmp_add_null_var(request, serialModemConnectResp, sizeof(serialModemConnectResp)/sizeof(oid));
2473     snmp_add_null_var(request, serialModemNoConnectResp, sizeof(serialModemNoConnectResp)/sizeof(oid));
2474     snmp_add_null_var(request, serialDialoutTimeout, sizeof(serialDialoutTimeout)/sizeof(oid));
2475     snmp_add_null_var(request, serialStatus, sizeof(serialStatus)/sizeof(oid));
2476
2477     peer = snmp_open(s);
2478     if (!peer) {
2479         snmp_free_pdu(request);
2480         return -1;
2481     }
2482
2483     status = snmp_synch_response(peer, request, &response);
2484     if (status != STAT_SUCCESS) {
2485         if (response) snmp_free_pdu(response);
2486         snmp_close(peer);
2487         return -2;
2488     }
2489
2490     *serialConfigEntry = (serialConfigEntry_t *) malloc(sizeof(serialConfigEntry_t));
2491     if (! *serialConfigEntry) {
2492         if (response) snmp_free_pdu(response);
2493         snmp_close(peer);
2494         return -4;
2495     }
2496
2497     for (vars = response->variables; vars; vars = vars->next_variable) {
2498         if (vars->name_length > sizeof(serialMode)/sizeof(oid)
2499             && memcmp(vars->name, serialMode, sizeof(serialMode)) == 0) {
2500             (*serialConfigEntry)->__serialMode = *vars->val.integer;
2501             (*serialConfigEntry)->serialMode = &((*serialConfigEntry)->__serialMode);
2502         }
2503         if (vars->name_length > sizeof(serialProtocol)/sizeof(oid)
2504             && memcmp(vars->name, serialProtocol, sizeof(serialProtocol)) == 0) {
2505             (*serialConfigEntry)->__serialProtocol = *vars->val.integer;
2506             (*serialConfigEntry)->serialProtocol = &((*serialConfigEntry)->__serialProtocol);
2507         }
2508         if (vars->name_length > sizeof(serialTimeout)/sizeof(oid)
2509             && memcmp(vars->name, serialTimeout, sizeof(serialTimeout)) == 0) {
2510             (*serialConfigEntry)->__serialTimeout = *vars->val.integer;
2511             (*serialConfigEntry)->serialTimeout = &((*serialConfigEntry)->__serialTimeout);
2512         }
2513         if (vars->name_length > sizeof(serialModemInitString)/sizeof(oid)
2514             && memcmp(vars->name, serialModemInitString, sizeof(serialModemInitString)) == 0) {
2515             memcpy((*serialConfigEntry)->__serialModemInitString, vars->val.string, vars->val_len);
2516             (*serialConfigEntry)->_serialModemInitStringLength = vars->val_len;
2517             (*serialConfigEntry)->serialModemInitString = (*serialConfigEntry)->__serialModemInitString;
2518         }
2519         if (vars->name_length > sizeof(serialModemHangUpString)/sizeof(oid)
2520             && memcmp(vars->name, serialModemHangUpString, sizeof(serialModemHangUpString)) == 0) {
2521             memcpy((*serialConfigEntry)->__serialModemHangUpString, vars->val.string, vars->val_len);
2522             (*serialConfigEntry)->_serialModemHangUpStringLength = vars->val_len;
2523             (*serialConfigEntry)->serialModemHangUpString = (*serialConfigEntry)->__serialModemHangUpString;
2524         }
2525         if (vars->name_length > sizeof(serialModemConnectResp)/sizeof(oid)
2526             && memcmp(vars->name, serialModemConnectResp, sizeof(serialModemConnectResp)) == 0) {
2527             memcpy((*serialConfigEntry)->__serialModemConnectResp, vars->val.string, vars->val_len);
2528             (*serialConfigEntry)->_serialModemConnectRespLength = vars->val_len;
2529             (*serialConfigEntry)->serialModemConnectResp = (*serialConfigEntry)->__serialModemConnectResp;
2530         }
2531         if (vars->name_length > sizeof(serialModemNoConnectResp)/sizeof(oid)
2532             && memcmp(vars->name, serialModemNoConnectResp, sizeof(serialModemNoConnectResp)) == 0) {
2533             memcpy((*serialConfigEntry)->__serialModemNoConnectResp, vars->val.string, vars->val_len);
2534             (*serialConfigEntry)->_serialModemNoConnectRespLength = vars->val_len;
2535             (*serialConfigEntry)->serialModemNoConnectResp = (*serialConfigEntry)->__serialModemNoConnectResp;
2536         }
2537         if (vars->name_length > sizeof(serialDialoutTimeout)/sizeof(oid)
2538             && memcmp(vars->name, serialDialoutTimeout, sizeof(serialDialoutTimeout)) == 0) {
2539             (*serialConfigEntry)->__serialDialoutTimeout = *vars->val.integer;
2540             (*serialConfigEntry)->serialDialoutTimeout = &((*serialConfigEntry)->__serialDialoutTimeout);
2541         }
2542         if (vars->name_length > sizeof(serialStatus)/sizeof(oid)
2543             && memcmp(vars->name, serialStatus, sizeof(serialStatus)) == 0) {
2544             (*serialConfigEntry)->__serialStatus = *vars->val.integer;
2545             (*serialConfigEntry)->serialStatus = &((*serialConfigEntry)->__serialStatus);
2546         }
2547     }
2548
2549     if (response) snmp_free_pdu(response);
2550
2551     if (snmp_close(peer) == 0) {
2552         return -5;
2553     }
2554
2555     return 0;
2556 }
2557
2558 int rmon2_mib_mgr_get_netConfigEntry(struct snmp_session *s, netConfigEntry_t **netConfigEntry)
2559 {
2560     struct snmp_session *peer;
2561     struct snmp_pdu *request, *response;
2562     struct variable_list *vars;
2563     int status;
2564
2565     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2566     snmp_add_null_var(request, netConfigIPAddress, sizeof(netConfigIPAddress)/sizeof(oid));
2567     snmp_add_null_var(request, netConfigSubnetMask, sizeof(netConfigSubnetMask)/sizeof(oid));
2568     snmp_add_null_var(request, netConfigStatus, sizeof(netConfigStatus)/sizeof(oid));
2569
2570     peer = snmp_open(s);
2571     if (!peer) {
2572         snmp_free_pdu(request);
2573         return -1;
2574     }
2575
2576     status = snmp_synch_response(peer, request, &response);
2577     if (status != STAT_SUCCESS) {
2578         if (response) snmp_free_pdu(response);
2579         snmp_close(peer);
2580         return -2;
2581     }
2582
2583     *netConfigEntry = (netConfigEntry_t *) malloc(sizeof(netConfigEntry_t));
2584     if (! *netConfigEntry) {
2585         if (response) snmp_free_pdu(response);
2586         snmp_close(peer);
2587         return -4;
2588     }
2589
2590     for (vars = response->variables; vars; vars = vars->next_variable) {
2591         if (vars->name_length > sizeof(netConfigIPAddress)/sizeof(oid)
2592             && memcmp(vars->name, netConfigIPAddress, sizeof(netConfigIPAddress)) == 0) {
2593             memcpy((*netConfigEntry)->__netConfigIPAddress, vars->val.string, vars->val_len);
2594             (*netConfigEntry)->netConfigIPAddress = (*netConfigEntry)->__netConfigIPAddress;
2595         }
2596         if (vars->name_length > sizeof(netConfigSubnetMask)/sizeof(oid)
2597             && memcmp(vars->name, netConfigSubnetMask, sizeof(netConfigSubnetMask)) == 0) {
2598             memcpy((*netConfigEntry)->__netConfigSubnetMask, vars->val.string, vars->val_len);
2599             (*netConfigEntry)->netConfigSubnetMask = (*netConfigEntry)->__netConfigSubnetMask;
2600         }
2601         if (vars->name_length > sizeof(netConfigStatus)/sizeof(oid)
2602             && memcmp(vars->name, netConfigStatus, sizeof(netConfigStatus)) == 0) {
2603             (*netConfigEntry)->__netConfigStatus = *vars->val.integer;
2604             (*netConfigEntry)->netConfigStatus = &((*netConfigEntry)->__netConfigStatus);
2605         }
2606     }
2607
2608     if (response) snmp_free_pdu(response);
2609
2610     if (snmp_close(peer) == 0) {
2611         return -5;
2612     }
2613
2614     return 0;
2615 }
2616
2617 int rmon2_mib_mgr_get_trapDestEntry(struct snmp_session *s, trapDestEntry_t **trapDestEntry)
2618 {
2619     struct snmp_session *peer;
2620     struct snmp_pdu *request, *response;
2621     struct variable_list *vars;
2622     int status;
2623
2624     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2625     snmp_add_null_var(request, trapDestCommunity, sizeof(trapDestCommunity)/sizeof(oid));
2626     snmp_add_null_var(request, trapDestProtocol, sizeof(trapDestProtocol)/sizeof(oid));
2627     snmp_add_null_var(request, trapDestAddress, sizeof(trapDestAddress)/sizeof(oid));
2628     snmp_add_null_var(request, trapDestOwner, sizeof(trapDestOwner)/sizeof(oid));
2629     snmp_add_null_var(request, trapDestStatus, sizeof(trapDestStatus)/sizeof(oid));
2630
2631     peer = snmp_open(s);
2632     if (!peer) {
2633         snmp_free_pdu(request);
2634         return -1;
2635     }
2636
2637     status = snmp_synch_response(peer, request, &response);
2638     if (status != STAT_SUCCESS) {
2639         if (response) snmp_free_pdu(response);
2640         snmp_close(peer);
2641         return -2;
2642     }
2643
2644     *trapDestEntry = (trapDestEntry_t *) malloc(sizeof(trapDestEntry_t));
2645     if (! *trapDestEntry) {
2646         if (response) snmp_free_pdu(response);
2647         snmp_close(peer);
2648         return -4;
2649     }
2650
2651     for (vars = response->variables; vars; vars = vars->next_variable) {
2652         if (vars->name_length > sizeof(trapDestCommunity)/sizeof(oid)
2653             && memcmp(vars->name, trapDestCommunity, sizeof(trapDestCommunity)) == 0) {
2654             memcpy((*trapDestEntry)->__trapDestCommunity, vars->val.string, vars->val_len);
2655             (*trapDestEntry)->_trapDestCommunityLength = vars->val_len;
2656             (*trapDestEntry)->trapDestCommunity = (*trapDestEntry)->__trapDestCommunity;
2657         }
2658         if (vars->name_length > sizeof(trapDestProtocol)/sizeof(oid)
2659             && memcmp(vars->name, trapDestProtocol, sizeof(trapDestProtocol)) == 0) {
2660             (*trapDestEntry)->__trapDestProtocol = *vars->val.integer;
2661             (*trapDestEntry)->trapDestProtocol = &((*trapDestEntry)->__trapDestProtocol);
2662         }
2663         if (vars->name_length > sizeof(trapDestAddress)/sizeof(oid)
2664             && memcmp(vars->name, trapDestAddress, sizeof(trapDestAddress)) == 0) {
2665             memcpy((*trapDestEntry)->__trapDestAddress, vars->val.string, vars->val_len);
2666             (*trapDestEntry)->_trapDestAddressLength = vars->val_len;
2667             (*trapDestEntry)->trapDestAddress = (*trapDestEntry)->__trapDestAddress;
2668         }
2669         if (vars->name_length > sizeof(trapDestOwner)/sizeof(oid)
2670             && memcmp(vars->name, trapDestOwner, sizeof(trapDestOwner)) == 0) {
2671             memcpy((*trapDestEntry)->__trapDestOwner, vars->val.string, vars->val_len);
2672             (*trapDestEntry)->_trapDestOwnerLength = vars->val_len;
2673             (*trapDestEntry)->trapDestOwner = (*trapDestEntry)->__trapDestOwner;
2674         }
2675         if (vars->name_length > sizeof(trapDestStatus)/sizeof(oid)
2676             && memcmp(vars->name, trapDestStatus, sizeof(trapDestStatus)) == 0) {
2677             (*trapDestEntry)->__trapDestStatus = *vars->val.integer;
2678             (*trapDestEntry)->trapDestStatus = &((*trapDestEntry)->__trapDestStatus);
2679         }
2680     }
2681
2682     if (response) snmp_free_pdu(response);
2683
2684     if (snmp_close(peer) == 0) {
2685         return -5;
2686     }
2687
2688     return 0;
2689 }
2690
2691 int rmon2_mib_mgr_get_serialConnectionEntry(struct snmp_session *s, serialConnectionEntry_t **serialConnectionEntry)
2692 {
2693     struct snmp_session *peer;
2694     struct snmp_pdu *request, *response;
2695     struct variable_list *vars;
2696     int status;
2697
2698     request = snmp_pdu_create(SNMP_MSG_GETNEXT);
2699     snmp_add_null_var(request, serialConnectDestIpAddress, sizeof(serialConnectDestIpAddress)/sizeof(oid));
2700     snmp_add_null_var(request, serialConnectType, sizeof(serialConnectType)/sizeof(oid));
2701     snmp_add_null_var(request, serialConnectDialString, sizeof(serialConnectDialString)/sizeof(oid));
2702     snmp_add_null_var(request, serialConnectSwitchConnectSeq, sizeof(serialConnectSwitchConnectSeq)/sizeof(oid));
2703     snmp_add_null_var(request, serialConnectSwitchDisconnectSeq, sizeof(serialConnectSwitchDisconnectSeq)/sizeof(oid));
2704     snmp_add_null_var(request, serialConnectSwitchResetSeq, sizeof(serialConnectSwitchResetSeq)/sizeof(oid));
2705     snmp_add_null_var(request, serialConnectOwner, sizeof(serialConnectOwner)/sizeof(oid));
2706     snmp_add_null_var(request, serialConnectStatus, sizeof(serialConnectStatus)/sizeof(oid));
2707
2708     peer = snmp_open(s);
2709     if (!peer) {
2710         snmp_free_pdu(request);
2711         return -1;
2712     }
2713
2714     status = snmp_synch_response(peer, request, &response);
2715     if (status != STAT_SUCCESS) {
2716         if (response) snmp_free_pdu(response);
2717         snmp_close(peer);
2718         return -2;
2719     }
2720
2721     *serialConnectionEntry = (serialConnectionEntry_t *) malloc(sizeof(serialConnectionEntry_t));
2722     if (! *serialConnectionEntry) {
2723         if (response) snmp_free_pdu(response);
2724         snmp_close(peer);
2725         return -4;
2726     }
2727
2728     for (vars = response->variables; vars; vars = vars->next_variable) {
2729         if (vars->name_length > sizeof(serialConnectDestIpAddress)/sizeof(oid)
2730             && memcmp(vars->name, serialConnectDestIpAddress, sizeof(serialConnectDestIpAddress)) == 0) {
2731             memcpy((*serialConnectionEntry)->__serialConnectDestIpAddress, vars->val.string, vars->val_len);
2732             (*serialConnectionEntry)->serialConnectDestIpAddress = (*serialConnectionEntry)->__serialConnectDestIpAddress;
2733         }
2734         if (vars->name_length > sizeof(serialConnectType)/sizeof(oid)
2735             && memcmp(vars->name, serialConnectType, sizeof(serialConnectType)) == 0) {
2736             (*serialConnectionEntry)->__serialConnectType = *vars->val.integer;
2737             (*serialConnectionEntry)->serialConnectType = &((*serialConnectionEntry)->__serialConnectType);
2738         }
2739         if (vars->name_length > sizeof(serialConnectDialString)/sizeof(oid)
2740             && memcmp(vars->name, serialConnectDialString, sizeof(serialConnectDialString)) == 0) {
2741             memcpy((*serialConnectionEntry)->__serialConnectDialString, vars->val.string, vars->val_len);
2742             (*serialConnectionEntry)->_serialConnectDialStringLength = vars->val_len;
2743             (*serialConnectionEntry)->serialConnectDialString = (*serialConnectionEntry)->__serialConnectDialString;
2744         }
2745         if (vars->name_length > sizeof(serialConnectSwitchConnectSeq)/sizeof(oid)
2746             && memcmp(vars->name, serialConnectSwitchConnectSeq, sizeof(serialConnectSwitchConnectSeq)) == 0) {
2747             memcpy((*serialConnectionEntry)->__serialConnectSwitchConnectSeq, vars->val.string, vars->val_len);
2748             (*serialConnectionEntry)->_serialConnectSwitchConnectSeqLength = vars->val_len;
2749             (*serialConnectionEntry)->serialConnectSwitchConnectSeq = (*serialConnectionEntry)->__serialConnectSwitchConnectSeq;
2750         }
2751         if (vars->name_length > sizeof(serialConnectSwitchDisconnectSeq)/sizeof(oid)
2752             && memcmp(vars->name, serialConnectSwitchDisconnectSeq, sizeof(serialConnectSwitchDisconnectSeq)) == 0) {
2753             memcpy((*serialConnectionEntry)->__serialConnectSwitchDisconnectSeq, vars->val.string, vars->val_len);
2754             (*serialConnectionEntry)->_serialConnectSwitchDisconnectSeqLength = vars->val_len;
2755             (*serialConnectionEntry)->serialConnectSwitchDisconnectSeq = (*serialConnectionEntry)->__serialConnectSwitchDisconnectSeq;
2756         }
2757         if (vars->name_length > sizeof(serialConnectSwitchResetSeq)/sizeof(oid)
2758             && memcmp(vars->name, serialConnectSwitchResetSeq, sizeof(serialConnectSwitchResetSeq)) == 0) {
2759             memcpy((*serialConnectionEntry)->__serialConnectSwitchResetSeq, vars->val.string, vars->val_len);
2760             (*serialConnectionEntry)->_serialConnectSwitchResetSeqLength = vars->val_len;
2761             (*serialConnectionEntry)->serialConnectSwitchResetSeq = (*serialConnectionEntry)->__serialConnectSwitchResetSeq;
2762         }
2763         if (vars->name_length > sizeof(serialConnectOwner)/sizeof(oid)
2764             && memcmp(vars->name, serialConnectOwner, sizeof(serialConnectOwner)) == 0) {
2765             memcpy((*serialConnectionEntry)->__serialConnectOwner, vars->val.string, vars->val_len);
2766             (*serialConnectionEntry)->_serialConnectOwnerLength = vars->val_len;
2767             (*serialConnectionEntry)->serialConnectOwner = (*serialConnectionEntry)->__serialConnectOwner;
2768         }
2769         if (vars->name_length > sizeof(serialConnectStatus)/sizeof(oid)
2770             && memcmp(vars->name, serialConnectStatus, sizeof(serialConnectStatus)) == 0) {
2771             (*serialConnectionEntry)->__serialConnectStatus = *vars->val.integer;
2772             (*serialConnectionEntry)->serialConnectStatus = &((*serialConnectionEntry)->__serialConnectStatus);
2773         }
2774     }
2775
2776     if (response) snmp_free_pdu(response);
2777
2778     if (snmp_close(peer) == 0) {
2779         return -5;
2780     }
2781
2782     return 0;
2783 }
2784
2785