2 * This C file has been generated by smidump 0.4.5.
3 * It is intended to be used with the NET-SNMP library.
5 * This C file is derived from the IF-MIB module.
7 * $Id: if-mib-mgr-stub.c 7690 2008-02-05 15:31:35Z schoenw $
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>
19 static oid ifNumber[] = {1, 3, 6, 1, 2, 1, 2, 1};
20 static oid ifIndex[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 1};
21 static oid ifDescr[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 2};
22 static oid ifType[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 3};
23 static oid ifMtu[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 4};
24 static oid ifSpeed[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 5};
25 static oid ifPhysAddress[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 6};
26 static oid ifAdminStatus[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 7};
27 static oid ifOperStatus[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 8};
28 static oid ifLastChange[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 9};
29 static oid ifInOctets[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 10};
30 static oid ifInUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 11};
31 static oid ifInNUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 12};
32 static oid ifInDiscards[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 13};
33 static oid ifInErrors[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 14};
34 static oid ifInUnknownProtos[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 15};
35 static oid ifOutOctets[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 16};
36 static oid ifOutUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 17};
37 static oid ifOutNUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 18};
38 static oid ifOutDiscards[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 19};
39 static oid ifOutErrors[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 20};
40 static oid ifOutQLen[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 21};
41 static oid ifSpecific[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 22};
42 static oid ifName[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1};
43 static oid ifInMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 2};
44 static oid ifInBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 3};
45 static oid ifOutMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 4};
46 static oid ifOutBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 5};
47 static oid ifHCInOctets[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6};
48 static oid ifHCInUcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 7};
49 static oid ifHCInMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 8};
50 static oid ifHCInBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 9};
51 static oid ifHCOutOctets[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 10};
52 static oid ifHCOutUcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 11};
53 static oid ifHCOutMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 12};
54 static oid ifHCOutBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 13};
55 static oid ifLinkUpDownTrapEnable[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 14};
56 static oid ifHighSpeed[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15};
57 static oid ifPromiscuousMode[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 16};
58 static oid ifConnectorPresent[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 17};
59 static oid ifAlias[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18};
60 static oid ifCounterDiscontinuityTime[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 19};
61 static oid ifStackHigherLayer[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 1};
62 static oid ifStackLowerLayer[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 2};
63 static oid ifStackStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 3};
64 static oid ifTestId[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 1};
65 static oid ifTestStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 2};
66 static oid ifTestType[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 3};
67 static oid ifTestResult[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 4};
68 static oid ifTestCode[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 5};
69 static oid ifTestOwner[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 6};
70 static oid ifRcvAddressAddress[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 1};
71 static oid ifRcvAddressStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 2};
72 static oid ifRcvAddressType[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 3};
73 static oid ifTableLastChange[] = {1, 3, 6, 1, 2, 1, 31, 1, 5};
74 static oid ifStackLastChange[] = {1, 3, 6, 1, 2, 1, 31, 1, 6};
76 int if_mib_mgr_get_interfaces(struct snmp_session *s, interfaces_t **interfaces)
78 struct snmp_session *peer;
79 struct snmp_pdu *request, *response;
80 struct variable_list *vars;
83 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
84 snmp_add_null_var(request, ifNumber, sizeof(ifNumber)/sizeof(oid));
88 snmp_free_pdu(request);
92 status = snmp_synch_response(peer, request, &response);
93 if (status != STAT_SUCCESS) {
94 if (response) snmp_free_pdu(response);
99 *interfaces = (interfaces_t *) malloc(sizeof(interfaces_t));
101 if (response) snmp_free_pdu(response);
106 for (vars = response->variables; vars; vars = vars->next_variable) {
107 if (vars->name_length > sizeof(ifNumber)/sizeof(oid)
108 && memcmp(vars->name, ifNumber, sizeof(ifNumber)) == 0) {
109 (*interfaces)->__ifNumber = *vars->val.integer;
110 (*interfaces)->ifNumber = &((*interfaces)->__ifNumber);
114 if (response) snmp_free_pdu(response);
116 if (snmp_close(peer) == 0) {
123 int if_mib_mgr_get_ifEntry(struct snmp_session *s, ifEntry_t **ifEntry)
125 struct snmp_session *peer;
126 struct snmp_pdu *request, *response;
127 struct variable_list *vars;
130 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
131 snmp_add_null_var(request, ifIndex, sizeof(ifIndex)/sizeof(oid));
132 snmp_add_null_var(request, ifDescr, sizeof(ifDescr)/sizeof(oid));
133 snmp_add_null_var(request, ifType, sizeof(ifType)/sizeof(oid));
134 snmp_add_null_var(request, ifMtu, sizeof(ifMtu)/sizeof(oid));
135 snmp_add_null_var(request, ifSpeed, sizeof(ifSpeed)/sizeof(oid));
136 snmp_add_null_var(request, ifPhysAddress, sizeof(ifPhysAddress)/sizeof(oid));
137 snmp_add_null_var(request, ifAdminStatus, sizeof(ifAdminStatus)/sizeof(oid));
138 snmp_add_null_var(request, ifOperStatus, sizeof(ifOperStatus)/sizeof(oid));
139 snmp_add_null_var(request, ifLastChange, sizeof(ifLastChange)/sizeof(oid));
140 snmp_add_null_var(request, ifInOctets, sizeof(ifInOctets)/sizeof(oid));
141 snmp_add_null_var(request, ifInUcastPkts, sizeof(ifInUcastPkts)/sizeof(oid));
142 snmp_add_null_var(request, ifInNUcastPkts, sizeof(ifInNUcastPkts)/sizeof(oid));
143 snmp_add_null_var(request, ifInDiscards, sizeof(ifInDiscards)/sizeof(oid));
144 snmp_add_null_var(request, ifInErrors, sizeof(ifInErrors)/sizeof(oid));
145 snmp_add_null_var(request, ifInUnknownProtos, sizeof(ifInUnknownProtos)/sizeof(oid));
146 snmp_add_null_var(request, ifOutOctets, sizeof(ifOutOctets)/sizeof(oid));
147 snmp_add_null_var(request, ifOutUcastPkts, sizeof(ifOutUcastPkts)/sizeof(oid));
148 snmp_add_null_var(request, ifOutNUcastPkts, sizeof(ifOutNUcastPkts)/sizeof(oid));
149 snmp_add_null_var(request, ifOutDiscards, sizeof(ifOutDiscards)/sizeof(oid));
150 snmp_add_null_var(request, ifOutErrors, sizeof(ifOutErrors)/sizeof(oid));
151 snmp_add_null_var(request, ifOutQLen, sizeof(ifOutQLen)/sizeof(oid));
152 snmp_add_null_var(request, ifSpecific, sizeof(ifSpecific)/sizeof(oid));
156 snmp_free_pdu(request);
160 status = snmp_synch_response(peer, request, &response);
161 if (status != STAT_SUCCESS) {
162 if (response) snmp_free_pdu(response);
167 *ifEntry = (ifEntry_t *) malloc(sizeof(ifEntry_t));
169 if (response) snmp_free_pdu(response);
174 for (vars = response->variables; vars; vars = vars->next_variable) {
175 if (vars->name_length > sizeof(ifIndex)/sizeof(oid)
176 && memcmp(vars->name, ifIndex, sizeof(ifIndex)) == 0) {
177 (*ifEntry)->__ifIndex = *vars->val.integer;
178 (*ifEntry)->ifIndex = &((*ifEntry)->__ifIndex);
180 if (vars->name_length > sizeof(ifDescr)/sizeof(oid)
181 && memcmp(vars->name, ifDescr, sizeof(ifDescr)) == 0) {
182 memcpy((*ifEntry)->__ifDescr, vars->val.string, vars->val_len);
183 (*ifEntry)->_ifDescrLength = vars->val_len;
184 (*ifEntry)->ifDescr = (*ifEntry)->__ifDescr;
186 if (vars->name_length > sizeof(ifType)/sizeof(oid)
187 && memcmp(vars->name, ifType, sizeof(ifType)) == 0) {
188 (*ifEntry)->__ifType = *vars->val.integer;
189 (*ifEntry)->ifType = &((*ifEntry)->__ifType);
191 if (vars->name_length > sizeof(ifMtu)/sizeof(oid)
192 && memcmp(vars->name, ifMtu, sizeof(ifMtu)) == 0) {
193 (*ifEntry)->__ifMtu = *vars->val.integer;
194 (*ifEntry)->ifMtu = &((*ifEntry)->__ifMtu);
196 if (vars->name_length > sizeof(ifSpeed)/sizeof(oid)
197 && memcmp(vars->name, ifSpeed, sizeof(ifSpeed)) == 0) {
198 (*ifEntry)->__ifSpeed = *vars->val.integer;
199 (*ifEntry)->ifSpeed = &((*ifEntry)->__ifSpeed);
201 if (vars->name_length > sizeof(ifPhysAddress)/sizeof(oid)
202 && memcmp(vars->name, ifPhysAddress, sizeof(ifPhysAddress)) == 0) {
203 memcpy((*ifEntry)->__ifPhysAddress, vars->val.string, vars->val_len);
204 (*ifEntry)->_ifPhysAddressLength = vars->val_len;
205 (*ifEntry)->ifPhysAddress = (*ifEntry)->__ifPhysAddress;
207 if (vars->name_length > sizeof(ifAdminStatus)/sizeof(oid)
208 && memcmp(vars->name, ifAdminStatus, sizeof(ifAdminStatus)) == 0) {
209 (*ifEntry)->__ifAdminStatus = *vars->val.integer;
210 (*ifEntry)->ifAdminStatus = &((*ifEntry)->__ifAdminStatus);
212 if (vars->name_length > sizeof(ifOperStatus)/sizeof(oid)
213 && memcmp(vars->name, ifOperStatus, sizeof(ifOperStatus)) == 0) {
214 (*ifEntry)->__ifOperStatus = *vars->val.integer;
215 (*ifEntry)->ifOperStatus = &((*ifEntry)->__ifOperStatus);
217 if (vars->name_length > sizeof(ifLastChange)/sizeof(oid)
218 && memcmp(vars->name, ifLastChange, sizeof(ifLastChange)) == 0) {
219 (*ifEntry)->__ifLastChange = *vars->val.integer;
220 (*ifEntry)->ifLastChange = &((*ifEntry)->__ifLastChange);
222 if (vars->name_length > sizeof(ifInOctets)/sizeof(oid)
223 && memcmp(vars->name, ifInOctets, sizeof(ifInOctets)) == 0) {
224 (*ifEntry)->__ifInOctets = *vars->val.integer;
225 (*ifEntry)->ifInOctets = &((*ifEntry)->__ifInOctets);
227 if (vars->name_length > sizeof(ifInUcastPkts)/sizeof(oid)
228 && memcmp(vars->name, ifInUcastPkts, sizeof(ifInUcastPkts)) == 0) {
229 (*ifEntry)->__ifInUcastPkts = *vars->val.integer;
230 (*ifEntry)->ifInUcastPkts = &((*ifEntry)->__ifInUcastPkts);
232 if (vars->name_length > sizeof(ifInNUcastPkts)/sizeof(oid)
233 && memcmp(vars->name, ifInNUcastPkts, sizeof(ifInNUcastPkts)) == 0) {
234 (*ifEntry)->__ifInNUcastPkts = *vars->val.integer;
235 (*ifEntry)->ifInNUcastPkts = &((*ifEntry)->__ifInNUcastPkts);
237 if (vars->name_length > sizeof(ifInDiscards)/sizeof(oid)
238 && memcmp(vars->name, ifInDiscards, sizeof(ifInDiscards)) == 0) {
239 (*ifEntry)->__ifInDiscards = *vars->val.integer;
240 (*ifEntry)->ifInDiscards = &((*ifEntry)->__ifInDiscards);
242 if (vars->name_length > sizeof(ifInErrors)/sizeof(oid)
243 && memcmp(vars->name, ifInErrors, sizeof(ifInErrors)) == 0) {
244 (*ifEntry)->__ifInErrors = *vars->val.integer;
245 (*ifEntry)->ifInErrors = &((*ifEntry)->__ifInErrors);
247 if (vars->name_length > sizeof(ifInUnknownProtos)/sizeof(oid)
248 && memcmp(vars->name, ifInUnknownProtos, sizeof(ifInUnknownProtos)) == 0) {
249 (*ifEntry)->__ifInUnknownProtos = *vars->val.integer;
250 (*ifEntry)->ifInUnknownProtos = &((*ifEntry)->__ifInUnknownProtos);
252 if (vars->name_length > sizeof(ifOutOctets)/sizeof(oid)
253 && memcmp(vars->name, ifOutOctets, sizeof(ifOutOctets)) == 0) {
254 (*ifEntry)->__ifOutOctets = *vars->val.integer;
255 (*ifEntry)->ifOutOctets = &((*ifEntry)->__ifOutOctets);
257 if (vars->name_length > sizeof(ifOutUcastPkts)/sizeof(oid)
258 && memcmp(vars->name, ifOutUcastPkts, sizeof(ifOutUcastPkts)) == 0) {
259 (*ifEntry)->__ifOutUcastPkts = *vars->val.integer;
260 (*ifEntry)->ifOutUcastPkts = &((*ifEntry)->__ifOutUcastPkts);
262 if (vars->name_length > sizeof(ifOutNUcastPkts)/sizeof(oid)
263 && memcmp(vars->name, ifOutNUcastPkts, sizeof(ifOutNUcastPkts)) == 0) {
264 (*ifEntry)->__ifOutNUcastPkts = *vars->val.integer;
265 (*ifEntry)->ifOutNUcastPkts = &((*ifEntry)->__ifOutNUcastPkts);
267 if (vars->name_length > sizeof(ifOutDiscards)/sizeof(oid)
268 && memcmp(vars->name, ifOutDiscards, sizeof(ifOutDiscards)) == 0) {
269 (*ifEntry)->__ifOutDiscards = *vars->val.integer;
270 (*ifEntry)->ifOutDiscards = &((*ifEntry)->__ifOutDiscards);
272 if (vars->name_length > sizeof(ifOutErrors)/sizeof(oid)
273 && memcmp(vars->name, ifOutErrors, sizeof(ifOutErrors)) == 0) {
274 (*ifEntry)->__ifOutErrors = *vars->val.integer;
275 (*ifEntry)->ifOutErrors = &((*ifEntry)->__ifOutErrors);
277 if (vars->name_length > sizeof(ifOutQLen)/sizeof(oid)
278 && memcmp(vars->name, ifOutQLen, sizeof(ifOutQLen)) == 0) {
279 (*ifEntry)->__ifOutQLen = *vars->val.integer;
280 (*ifEntry)->ifOutQLen = &((*ifEntry)->__ifOutQLen);
282 if (vars->name_length > sizeof(ifSpecific)/sizeof(oid)
283 && memcmp(vars->name, ifSpecific, sizeof(ifSpecific)) == 0) {
287 if (response) snmp_free_pdu(response);
289 if (snmp_close(peer) == 0) {
296 int if_mib_mgr_get_ifMIBObjects(struct snmp_session *s, ifMIBObjects_t **ifMIBObjects)
298 struct snmp_session *peer;
299 struct snmp_pdu *request, *response;
300 struct variable_list *vars;
303 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
304 snmp_add_null_var(request, ifTableLastChange, sizeof(ifTableLastChange)/sizeof(oid));
305 snmp_add_null_var(request, ifStackLastChange, sizeof(ifStackLastChange)/sizeof(oid));
309 snmp_free_pdu(request);
313 status = snmp_synch_response(peer, request, &response);
314 if (status != STAT_SUCCESS) {
315 if (response) snmp_free_pdu(response);
320 *ifMIBObjects = (ifMIBObjects_t *) malloc(sizeof(ifMIBObjects_t));
321 if (! *ifMIBObjects) {
322 if (response) snmp_free_pdu(response);
327 for (vars = response->variables; vars; vars = vars->next_variable) {
328 if (vars->name_length > sizeof(ifTableLastChange)/sizeof(oid)
329 && memcmp(vars->name, ifTableLastChange, sizeof(ifTableLastChange)) == 0) {
330 (*ifMIBObjects)->__ifTableLastChange = *vars->val.integer;
331 (*ifMIBObjects)->ifTableLastChange = &((*ifMIBObjects)->__ifTableLastChange);
333 if (vars->name_length > sizeof(ifStackLastChange)/sizeof(oid)
334 && memcmp(vars->name, ifStackLastChange, sizeof(ifStackLastChange)) == 0) {
335 (*ifMIBObjects)->__ifStackLastChange = *vars->val.integer;
336 (*ifMIBObjects)->ifStackLastChange = &((*ifMIBObjects)->__ifStackLastChange);
340 if (response) snmp_free_pdu(response);
342 if (snmp_close(peer) == 0) {
349 int if_mib_mgr_get_ifXEntry(struct snmp_session *s, ifXEntry_t **ifXEntry)
351 struct snmp_session *peer;
352 struct snmp_pdu *request, *response;
353 struct variable_list *vars;
356 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
357 snmp_add_null_var(request, ifName, sizeof(ifName)/sizeof(oid));
358 snmp_add_null_var(request, ifInMulticastPkts, sizeof(ifInMulticastPkts)/sizeof(oid));
359 snmp_add_null_var(request, ifInBroadcastPkts, sizeof(ifInBroadcastPkts)/sizeof(oid));
360 snmp_add_null_var(request, ifOutMulticastPkts, sizeof(ifOutMulticastPkts)/sizeof(oid));
361 snmp_add_null_var(request, ifOutBroadcastPkts, sizeof(ifOutBroadcastPkts)/sizeof(oid));
362 snmp_add_null_var(request, ifHCInOctets, sizeof(ifHCInOctets)/sizeof(oid));
363 snmp_add_null_var(request, ifHCInUcastPkts, sizeof(ifHCInUcastPkts)/sizeof(oid));
364 snmp_add_null_var(request, ifHCInMulticastPkts, sizeof(ifHCInMulticastPkts)/sizeof(oid));
365 snmp_add_null_var(request, ifHCInBroadcastPkts, sizeof(ifHCInBroadcastPkts)/sizeof(oid));
366 snmp_add_null_var(request, ifHCOutOctets, sizeof(ifHCOutOctets)/sizeof(oid));
367 snmp_add_null_var(request, ifHCOutUcastPkts, sizeof(ifHCOutUcastPkts)/sizeof(oid));
368 snmp_add_null_var(request, ifHCOutMulticastPkts, sizeof(ifHCOutMulticastPkts)/sizeof(oid));
369 snmp_add_null_var(request, ifHCOutBroadcastPkts, sizeof(ifHCOutBroadcastPkts)/sizeof(oid));
370 snmp_add_null_var(request, ifLinkUpDownTrapEnable, sizeof(ifLinkUpDownTrapEnable)/sizeof(oid));
371 snmp_add_null_var(request, ifHighSpeed, sizeof(ifHighSpeed)/sizeof(oid));
372 snmp_add_null_var(request, ifPromiscuousMode, sizeof(ifPromiscuousMode)/sizeof(oid));
373 snmp_add_null_var(request, ifConnectorPresent, sizeof(ifConnectorPresent)/sizeof(oid));
374 snmp_add_null_var(request, ifAlias, sizeof(ifAlias)/sizeof(oid));
375 snmp_add_null_var(request, ifCounterDiscontinuityTime, sizeof(ifCounterDiscontinuityTime)/sizeof(oid));
379 snmp_free_pdu(request);
383 status = snmp_synch_response(peer, request, &response);
384 if (status != STAT_SUCCESS) {
385 if (response) snmp_free_pdu(response);
390 *ifXEntry = (ifXEntry_t *) malloc(sizeof(ifXEntry_t));
392 if (response) snmp_free_pdu(response);
397 for (vars = response->variables; vars; vars = vars->next_variable) {
398 if (vars->name_length > sizeof(ifName)/sizeof(oid)
399 && memcmp(vars->name, ifName, sizeof(ifName)) == 0) {
400 memcpy((*ifXEntry)->__ifName, vars->val.string, vars->val_len);
401 (*ifXEntry)->_ifNameLength = vars->val_len;
402 (*ifXEntry)->ifName = (*ifXEntry)->__ifName;
404 if (vars->name_length > sizeof(ifInMulticastPkts)/sizeof(oid)
405 && memcmp(vars->name, ifInMulticastPkts, sizeof(ifInMulticastPkts)) == 0) {
406 (*ifXEntry)->__ifInMulticastPkts = *vars->val.integer;
407 (*ifXEntry)->ifInMulticastPkts = &((*ifXEntry)->__ifInMulticastPkts);
409 if (vars->name_length > sizeof(ifInBroadcastPkts)/sizeof(oid)
410 && memcmp(vars->name, ifInBroadcastPkts, sizeof(ifInBroadcastPkts)) == 0) {
411 (*ifXEntry)->__ifInBroadcastPkts = *vars->val.integer;
412 (*ifXEntry)->ifInBroadcastPkts = &((*ifXEntry)->__ifInBroadcastPkts);
414 if (vars->name_length > sizeof(ifOutMulticastPkts)/sizeof(oid)
415 && memcmp(vars->name, ifOutMulticastPkts, sizeof(ifOutMulticastPkts)) == 0) {
416 (*ifXEntry)->__ifOutMulticastPkts = *vars->val.integer;
417 (*ifXEntry)->ifOutMulticastPkts = &((*ifXEntry)->__ifOutMulticastPkts);
419 if (vars->name_length > sizeof(ifOutBroadcastPkts)/sizeof(oid)
420 && memcmp(vars->name, ifOutBroadcastPkts, sizeof(ifOutBroadcastPkts)) == 0) {
421 (*ifXEntry)->__ifOutBroadcastPkts = *vars->val.integer;
422 (*ifXEntry)->ifOutBroadcastPkts = &((*ifXEntry)->__ifOutBroadcastPkts);
424 if (vars->name_length > sizeof(ifHCInOctets)/sizeof(oid)
425 && memcmp(vars->name, ifHCInOctets, sizeof(ifHCInOctets)) == 0) {
427 if (vars->name_length > sizeof(ifHCInUcastPkts)/sizeof(oid)
428 && memcmp(vars->name, ifHCInUcastPkts, sizeof(ifHCInUcastPkts)) == 0) {
430 if (vars->name_length > sizeof(ifHCInMulticastPkts)/sizeof(oid)
431 && memcmp(vars->name, ifHCInMulticastPkts, sizeof(ifHCInMulticastPkts)) == 0) {
433 if (vars->name_length > sizeof(ifHCInBroadcastPkts)/sizeof(oid)
434 && memcmp(vars->name, ifHCInBroadcastPkts, sizeof(ifHCInBroadcastPkts)) == 0) {
436 if (vars->name_length > sizeof(ifHCOutOctets)/sizeof(oid)
437 && memcmp(vars->name, ifHCOutOctets, sizeof(ifHCOutOctets)) == 0) {
439 if (vars->name_length > sizeof(ifHCOutUcastPkts)/sizeof(oid)
440 && memcmp(vars->name, ifHCOutUcastPkts, sizeof(ifHCOutUcastPkts)) == 0) {
442 if (vars->name_length > sizeof(ifHCOutMulticastPkts)/sizeof(oid)
443 && memcmp(vars->name, ifHCOutMulticastPkts, sizeof(ifHCOutMulticastPkts)) == 0) {
445 if (vars->name_length > sizeof(ifHCOutBroadcastPkts)/sizeof(oid)
446 && memcmp(vars->name, ifHCOutBroadcastPkts, sizeof(ifHCOutBroadcastPkts)) == 0) {
448 if (vars->name_length > sizeof(ifLinkUpDownTrapEnable)/sizeof(oid)
449 && memcmp(vars->name, ifLinkUpDownTrapEnable, sizeof(ifLinkUpDownTrapEnable)) == 0) {
450 (*ifXEntry)->__ifLinkUpDownTrapEnable = *vars->val.integer;
451 (*ifXEntry)->ifLinkUpDownTrapEnable = &((*ifXEntry)->__ifLinkUpDownTrapEnable);
453 if (vars->name_length > sizeof(ifHighSpeed)/sizeof(oid)
454 && memcmp(vars->name, ifHighSpeed, sizeof(ifHighSpeed)) == 0) {
455 (*ifXEntry)->__ifHighSpeed = *vars->val.integer;
456 (*ifXEntry)->ifHighSpeed = &((*ifXEntry)->__ifHighSpeed);
458 if (vars->name_length > sizeof(ifPromiscuousMode)/sizeof(oid)
459 && memcmp(vars->name, ifPromiscuousMode, sizeof(ifPromiscuousMode)) == 0) {
460 (*ifXEntry)->__ifPromiscuousMode = *vars->val.integer;
461 (*ifXEntry)->ifPromiscuousMode = &((*ifXEntry)->__ifPromiscuousMode);
463 if (vars->name_length > sizeof(ifConnectorPresent)/sizeof(oid)
464 && memcmp(vars->name, ifConnectorPresent, sizeof(ifConnectorPresent)) == 0) {
465 (*ifXEntry)->__ifConnectorPresent = *vars->val.integer;
466 (*ifXEntry)->ifConnectorPresent = &((*ifXEntry)->__ifConnectorPresent);
468 if (vars->name_length > sizeof(ifAlias)/sizeof(oid)
469 && memcmp(vars->name, ifAlias, sizeof(ifAlias)) == 0) {
470 memcpy((*ifXEntry)->__ifAlias, vars->val.string, vars->val_len);
471 (*ifXEntry)->_ifAliasLength = vars->val_len;
472 (*ifXEntry)->ifAlias = (*ifXEntry)->__ifAlias;
474 if (vars->name_length > sizeof(ifCounterDiscontinuityTime)/sizeof(oid)
475 && memcmp(vars->name, ifCounterDiscontinuityTime, sizeof(ifCounterDiscontinuityTime)) == 0) {
476 (*ifXEntry)->__ifCounterDiscontinuityTime = *vars->val.integer;
477 (*ifXEntry)->ifCounterDiscontinuityTime = &((*ifXEntry)->__ifCounterDiscontinuityTime);
481 if (response) snmp_free_pdu(response);
483 if (snmp_close(peer) == 0) {
490 int if_mib_mgr_get_ifStackEntry(struct snmp_session *s, ifStackEntry_t **ifStackEntry)
492 struct snmp_session *peer;
493 struct snmp_pdu *request, *response;
494 struct variable_list *vars;
497 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
498 snmp_add_null_var(request, ifStackStatus, sizeof(ifStackStatus)/sizeof(oid));
502 snmp_free_pdu(request);
506 status = snmp_synch_response(peer, request, &response);
507 if (status != STAT_SUCCESS) {
508 if (response) snmp_free_pdu(response);
513 *ifStackEntry = (ifStackEntry_t *) malloc(sizeof(ifStackEntry_t));
514 if (! *ifStackEntry) {
515 if (response) snmp_free_pdu(response);
520 for (vars = response->variables; vars; vars = vars->next_variable) {
521 if (vars->name_length > sizeof(ifStackStatus)/sizeof(oid)
522 && memcmp(vars->name, ifStackStatus, sizeof(ifStackStatus)) == 0) {
523 (*ifStackEntry)->__ifStackStatus = *vars->val.integer;
524 (*ifStackEntry)->ifStackStatus = &((*ifStackEntry)->__ifStackStatus);
528 if (response) snmp_free_pdu(response);
530 if (snmp_close(peer) == 0) {
537 int if_mib_mgr_get_ifTestEntry(struct snmp_session *s, ifTestEntry_t **ifTestEntry)
539 struct snmp_session *peer;
540 struct snmp_pdu *request, *response;
541 struct variable_list *vars;
544 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
545 snmp_add_null_var(request, ifTestId, sizeof(ifTestId)/sizeof(oid));
546 snmp_add_null_var(request, ifTestStatus, sizeof(ifTestStatus)/sizeof(oid));
547 snmp_add_null_var(request, ifTestType, sizeof(ifTestType)/sizeof(oid));
548 snmp_add_null_var(request, ifTestResult, sizeof(ifTestResult)/sizeof(oid));
549 snmp_add_null_var(request, ifTestCode, sizeof(ifTestCode)/sizeof(oid));
550 snmp_add_null_var(request, ifTestOwner, sizeof(ifTestOwner)/sizeof(oid));
554 snmp_free_pdu(request);
558 status = snmp_synch_response(peer, request, &response);
559 if (status != STAT_SUCCESS) {
560 if (response) snmp_free_pdu(response);
565 *ifTestEntry = (ifTestEntry_t *) malloc(sizeof(ifTestEntry_t));
566 if (! *ifTestEntry) {
567 if (response) snmp_free_pdu(response);
572 for (vars = response->variables; vars; vars = vars->next_variable) {
573 if (vars->name_length > sizeof(ifTestId)/sizeof(oid)
574 && memcmp(vars->name, ifTestId, sizeof(ifTestId)) == 0) {
575 (*ifTestEntry)->__ifTestId = *vars->val.integer;
576 (*ifTestEntry)->ifTestId = &((*ifTestEntry)->__ifTestId);
578 if (vars->name_length > sizeof(ifTestStatus)/sizeof(oid)
579 && memcmp(vars->name, ifTestStatus, sizeof(ifTestStatus)) == 0) {
580 (*ifTestEntry)->__ifTestStatus = *vars->val.integer;
581 (*ifTestEntry)->ifTestStatus = &((*ifTestEntry)->__ifTestStatus);
583 if (vars->name_length > sizeof(ifTestType)/sizeof(oid)
584 && memcmp(vars->name, ifTestType, sizeof(ifTestType)) == 0) {
586 if (vars->name_length > sizeof(ifTestResult)/sizeof(oid)
587 && memcmp(vars->name, ifTestResult, sizeof(ifTestResult)) == 0) {
588 (*ifTestEntry)->__ifTestResult = *vars->val.integer;
589 (*ifTestEntry)->ifTestResult = &((*ifTestEntry)->__ifTestResult);
591 if (vars->name_length > sizeof(ifTestCode)/sizeof(oid)
592 && memcmp(vars->name, ifTestCode, sizeof(ifTestCode)) == 0) {
594 if (vars->name_length > sizeof(ifTestOwner)/sizeof(oid)
595 && memcmp(vars->name, ifTestOwner, sizeof(ifTestOwner)) == 0) {
596 memcpy((*ifTestEntry)->__ifTestOwner, vars->val.string, vars->val_len);
597 (*ifTestEntry)->_ifTestOwnerLength = vars->val_len;
598 (*ifTestEntry)->ifTestOwner = (*ifTestEntry)->__ifTestOwner;
602 if (response) snmp_free_pdu(response);
604 if (snmp_close(peer) == 0) {
611 int if_mib_mgr_get_ifRcvAddressEntry(struct snmp_session *s, ifRcvAddressEntry_t **ifRcvAddressEntry)
613 struct snmp_session *peer;
614 struct snmp_pdu *request, *response;
615 struct variable_list *vars;
618 request = snmp_pdu_create(SNMP_MSG_GETNEXT);
619 snmp_add_null_var(request, ifRcvAddressStatus, sizeof(ifRcvAddressStatus)/sizeof(oid));
620 snmp_add_null_var(request, ifRcvAddressType, sizeof(ifRcvAddressType)/sizeof(oid));
624 snmp_free_pdu(request);
628 status = snmp_synch_response(peer, request, &response);
629 if (status != STAT_SUCCESS) {
630 if (response) snmp_free_pdu(response);
635 *ifRcvAddressEntry = (ifRcvAddressEntry_t *) malloc(sizeof(ifRcvAddressEntry_t));
636 if (! *ifRcvAddressEntry) {
637 if (response) snmp_free_pdu(response);
642 for (vars = response->variables; vars; vars = vars->next_variable) {
643 if (vars->name_length > sizeof(ifRcvAddressStatus)/sizeof(oid)
644 && memcmp(vars->name, ifRcvAddressStatus, sizeof(ifRcvAddressStatus)) == 0) {
645 (*ifRcvAddressEntry)->__ifRcvAddressStatus = *vars->val.integer;
646 (*ifRcvAddressEntry)->ifRcvAddressStatus = &((*ifRcvAddressEntry)->__ifRcvAddressStatus);
648 if (vars->name_length > sizeof(ifRcvAddressType)/sizeof(oid)
649 && memcmp(vars->name, ifRcvAddressType, sizeof(ifRcvAddressType)) == 0) {
650 (*ifRcvAddressEntry)->__ifRcvAddressType = *vars->val.integer;
651 (*ifRcvAddressEntry)->ifRcvAddressType = &((*ifRcvAddressEntry)->__ifRcvAddressType);
655 if (response) snmp_free_pdu(response);
657 if (snmp_close(peer) == 0) {