1 /*
2 * This C file has been generated by smidump 0.4.2-pre1.
3 * It is intended to be used with the NET-SNMP agent library.
4 *
5 * This C file is derived from the IF-MIB module.
6 *
7 * $Id: if-mib-agt-stub.c 1606 2003-12-01 12:24:15Z strauss $
8 */
9
10 #include <stdio.h>
11 #include <string.h>
12 #include <malloc.h>
13
14 #include "if-mib.h"
15
16 #include <ucd-snmp/asn1.h>
17 #include <ucd-snmp/snmp.h>
18 #include <ucd-snmp/snmp_api.h>
19 #include <ucd-snmp/snmp_impl.h>
20 #include <ucd-snmp/snmp_vars.h>
21
22 /*
23 * Forward declaration of read methods for groups of scalars and tables:
24 */
25
26 static unsigned char *
27 read_interfaces_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
28 static unsigned char *
29 read_ifEntry_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
30 static unsigned char *
31 read_ifMIBObjects_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
32 static unsigned char *
33 read_ifXEntry_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
34 static unsigned char *
35 read_ifStackEntry_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
36 static unsigned char *
37 read_ifTestEntry_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
38 static unsigned char *
39 read_ifRcvAddressEntry_stub(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
40
41 /*
42 * Forward declaration of write methods for writable objects:
43 */
44
45 static int
46 write_ifAdminStatus_stub(int, u_char *, u_char, int, u_char *, oid *, int);
47 static int
48 write_ifLinkUpDownTrapEnable_stub(int, u_char *, u_char, int, u_char *, oid *, int);
49 static int
50 write_ifPromiscuousMode_stub(int, u_char *, u_char, int, u_char *, oid *, int);
51 static int
52 write_ifAlias_stub(int, u_char *, u_char, int, u_char *, oid *, int);
53 static int
54 write_ifStackStatus_stub(int, u_char *, u_char, int, u_char *, oid *, int);
55 static int
56 write_ifTestId_stub(int, u_char *, u_char, int, u_char *, oid *, int);
57 static int
58 write_ifTestStatus_stub(int, u_char *, u_char, int, u_char *, oid *, int);
59 static int
60 write_ifTestType_stub(int, u_char *, u_char, int, u_char *, oid *, int);
61 static int
62 write_ifTestOwner_stub(int, u_char *, u_char, int, u_char *, oid *, int);
63 static int
64 write_ifRcvAddressStatus_stub(int, u_char *, u_char, int, u_char *, oid *, int);
65 static int
66 write_ifRcvAddressType_stub(int, u_char *, u_char, int, u_char *, oid *, int);
67
68 /*
69 * Definitions of tags that are used internally to read/write
70 * the selected object type. These tags should be unique.
71 */
72
73 #define IFNUMBER 1
74
75 static oid interfaces_base[] = {1, 3, 6, 1, 2, 1, 2};
76
77 struct variable interfaces_variables[] = {
78 { IFNUMBER, ASN_INTEGER, RONLY, read_interfaces_stub, 1, {1} },
79 };
80
81 #define IFINDEX 1
82 #define IFDESCR 2
83 #define IFTYPE 3
84 #define IFMTU 4
85 #define IFSPEED 5
86 #define IFPHYSADDRESS 6
87 #define IFADMINSTATUS 7
88 #define IFOPERSTATUS 8
89 #define IFLASTCHANGE 9
90 #define IFINOCTETS 10
91 #define IFINUCASTPKTS 11
92 #define IFINNUCASTPKTS 12
93 #define IFINDISCARDS 13
94 #define IFINERRORS 14
95 #define IFINUNKNOWNPROTOS 15
96 #define IFOUTOCTETS 16
97 #define IFOUTUCASTPKTS 17
98 #define IFOUTNUCASTPKTS 18
99 #define IFOUTDISCARDS 19
100 #define IFOUTERRORS 20
101 #define IFOUTQLEN 21
102 #define IFSPECIFIC 22
103
104 static oid ifEntry_base[] = {1, 3, 6, 1, 2, 1, 2, 2, 1};
105
106 struct variable ifEntry_variables[] = {
107 { IFINDEX, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {1} },
108 { IFDESCR, ASN_OCTET_STR, RONLY, read_ifEntry_stub, 1, {2} },
109 { IFTYPE, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {3} },
110 { IFMTU, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {4} },
111 { IFSPEED, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {5} },
112 { IFPHYSADDRESS, ASN_OCTET_STR, RONLY, read_ifEntry_stub, 1, {6} },
113 { IFADMINSTATUS, ASN_INTEGER, RWRITE, read_ifEntry_stub, 1, {7} },
114 { IFOPERSTATUS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {8} },
115 { IFLASTCHANGE, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {9} },
116 { IFINOCTETS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {10} },
117 { IFINUCASTPKTS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {11} },
118 { IFINNUCASTPKTS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {12} },
119 { IFINDISCARDS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {13} },
120 { IFINERRORS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {14} },
121 { IFINUNKNOWNPROTOS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {15} },
122 { IFOUTOCTETS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {16} },
123 { IFOUTUCASTPKTS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {17} },
124 { IFOUTNUCASTPKTS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {18} },
125 { IFOUTDISCARDS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {19} },
126 { IFOUTERRORS, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {20} },
127 { IFOUTQLEN, ASN_INTEGER, RONLY, read_ifEntry_stub, 1, {21} },
128 { IFSPECIFIC, ASN_OBJECT_ID, RONLY, read_ifEntry_stub, 1, {22} },
129 };
130
131 #define IFTABLELASTCHANGE 5
132 #define IFSTACKLASTCHANGE 6
133
134 static oid ifMIBObjects_base[] = {1, 3, 6, 1, 2, 1, 31, 1};
135
136 struct variable ifMIBObjects_variables[] = {
137 { IFTABLELASTCHANGE, ASN_INTEGER, RONLY, read_ifMIBObjects_stub, 1, {5} },
138 { IFSTACKLASTCHANGE, ASN_INTEGER, RONLY, read_ifMIBObjects_stub, 1, {6} },
139 };
140
141 #define IFNAME 1
142 #define IFINMULTICASTPKTS 2
143 #define IFINBROADCASTPKTS 3
144 #define IFOUTMULTICASTPKTS 4
145 #define IFOUTBROADCASTPKTS 5
146 #define IFHCINOCTETS 6
147 #define IFHCINUCASTPKTS 7
148 #define IFHCINMULTICASTPKTS 8
149 #define IFHCINBROADCASTPKTS 9
150 #define IFHCOUTOCTETS 10
151 #define IFHCOUTUCASTPKTS 11
152 #define IFHCOUTMULTICASTPKTS 12
153 #define IFHCOUTBROADCASTPKTS 13
154 #define IFLINKUPDOWNTRAPENABLE 14
155 #define IFHIGHSPEED 15
156 #define IFPROMISCUOUSMODE 16
157 #define IFCONNECTORPRESENT 17
158 #define IFALIAS 18
159 #define IFCOUNTERDISCONTINUITYTIME 19
160
161 static oid ifXEntry_base[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1};
162
163 struct variable ifXEntry_variables[] = {
164 { IFNAME, ASN_OCTET_STR, RONLY, read_ifXEntry_stub, 1, {1} },
165 { IFINMULTICASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {2} },
166 { IFINBROADCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {3} },
167 { IFOUTMULTICASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {4} },
168 { IFOUTBROADCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {5} },
169 { IFHCINOCTETS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {6} },
170 { IFHCINUCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {7} },
171 { IFHCINMULTICASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {8} },
172 { IFHCINBROADCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {9} },
173 { IFHCOUTOCTETS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {10} },
174 { IFHCOUTUCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {11} },
175 { IFHCOUTMULTICASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {12} },
176 { IFHCOUTBROADCASTPKTS, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {13} },
177 { IFLINKUPDOWNTRAPENABLE, ASN_INTEGER, RWRITE, read_ifXEntry_stub, 1, {14} },
178 { IFHIGHSPEED, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {15} },
179 { IFPROMISCUOUSMODE, ASN_INTEGER, RWRITE, read_ifXEntry_stub, 1, {16} },
180 { IFCONNECTORPRESENT, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {17} },
181 { IFALIAS, ASN_OCTET_STR, RWRITE, read_ifXEntry_stub, 1, {18} },
182 { IFCOUNTERDISCONTINUITYTIME, ASN_INTEGER, RONLY, read_ifXEntry_stub, 1, {19} },
183 };
184
185 #define IFSTACKSTATUS 3
186
187 static oid ifStackEntry_base[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1};
188
189 struct variable ifStackEntry_variables[] = {
190 { IFSTACKSTATUS, ASN_INTEGER, RWRITE, read_ifStackEntry_stub, 1, {3} },
191 };
192
193 #define IFTESTID 1
194 #define IFTESTSTATUS 2
195 #define IFTESTTYPE 3
196 #define IFTESTRESULT 4
197 #define IFTESTCODE 5
198 #define IFTESTOWNER 6
199
200 static oid ifTestEntry_base[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1};
201
202 struct variable ifTestEntry_variables[] = {
203 { IFTESTID, ASN_INTEGER, RWRITE, read_ifTestEntry_stub, 1, {1} },
204 { IFTESTSTATUS, ASN_INTEGER, RWRITE, read_ifTestEntry_stub, 1, {2} },
205 { IFTESTTYPE, ASN_OBJECT_ID, RWRITE, read_ifTestEntry_stub, 1, {3} },
206 { IFTESTRESULT, ASN_INTEGER, RONLY, read_ifTestEntry_stub, 1, {4} },
207 { IFTESTCODE, ASN_OBJECT_ID, RONLY, read_ifTestEntry_stub, 1, {5} },
208 { IFTESTOWNER, ASN_OCTET_STR, RWRITE, read_ifTestEntry_stub, 1, {6} },
209 };
210
211 #define IFRCVADDRESSSTATUS 2
212 #define IFRCVADDRESSTYPE 3
213
214 static oid ifRcvAddressEntry_base[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1};
215
216 struct variable ifRcvAddressEntry_variables[] = {
217 { IFRCVADDRESSSTATUS, ASN_INTEGER, RWRITE, read_ifRcvAddressEntry_stub, 1, {2} },
218 { IFRCVADDRESSTYPE, ASN_INTEGER, RWRITE, read_ifRcvAddressEntry_stub, 1, {3} },
219 };
220
221
222
223 /*
224 * Registration functions for the various MIB groups.
225 */
226
register_interfaces()227 int register_interfaces()
228 {
229 return register_mib("interfaces",
230 interfaces_variables,
231 sizeof(struct variable),
232 sizeof(interfaces_variables)/sizeof(struct variable),
233 interfaces_base,
234 sizeof(interfaces_base)/sizeof(oid));
235 };
236
237
register_ifEntry()238 int register_ifEntry()
239 {
240 return register_mib("ifEntry",
241 ifEntry_variables,
242 sizeof(struct variable),
243 sizeof(ifEntry_variables)/sizeof(struct variable),
244 ifEntry_base,
245 sizeof(ifEntry_base)/sizeof(oid));
246 };
247
248
register_ifMIBObjects()249 int register_ifMIBObjects()
250 {
251 return register_mib("ifMIBObjects",
252 ifMIBObjects_variables,
253 sizeof(struct variable),
254 sizeof(ifMIBObjects_variables)/sizeof(struct variable),
255 ifMIBObjects_base,
256 sizeof(ifMIBObjects_base)/sizeof(oid));
257 };
258
259
register_ifXEntry()260 int register_ifXEntry()
261 {
262 return register_mib("ifXEntry",
263 ifXEntry_variables,
264 sizeof(struct variable),
265 sizeof(ifXEntry_variables)/sizeof(struct variable),
266 ifXEntry_base,
267 sizeof(ifXEntry_base)/sizeof(oid));
268 };
269
270
register_ifStackEntry()271 int register_ifStackEntry()
272 {
273 return register_mib("ifStackEntry",
274 ifStackEntry_variables,
275 sizeof(struct variable),
276 sizeof(ifStackEntry_variables)/sizeof(struct variable),
277 ifStackEntry_base,
278 sizeof(ifStackEntry_base)/sizeof(oid));
279 };
280
281
register_ifTestEntry()282 int register_ifTestEntry()
283 {
284 return register_mib("ifTestEntry",
285 ifTestEntry_variables,
286 sizeof(struct variable),
287 sizeof(ifTestEntry_variables)/sizeof(struct variable),
288 ifTestEntry_base,
289 sizeof(ifTestEntry_base)/sizeof(oid));
290 };
291
292
register_ifRcvAddressEntry()293 int register_ifRcvAddressEntry()
294 {
295 return register_mib("ifRcvAddressEntry",
296 ifRcvAddressEntry_variables,
297 sizeof(struct variable),
298 sizeof(ifRcvAddressEntry_variables)/sizeof(struct variable),
299 ifRcvAddressEntry_base,
300 sizeof(ifRcvAddressEntry_base)/sizeof(oid));
301 };
302
303
304 /*
305 * Read methods for groups of scalars and tables:
306 */
307
308 static unsigned char *
read_interfaces_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)309 read_interfaces_stub(struct variable *vp,
310 oid *name,
311 size_t *length,
312 int exact,
313 size_t *var_len,
314 WriteMethod **write_method)
315 {
316 static interfaces_t interfaces;
317
318 /* check whether the instance identifier is valid */
319
320 if (header_generic(vp, name, length, exact, var_len,
321 write_method) == MATCH_FAILED) {
322 return NULL;
323 }
324
325 /* call the user supplied function to retrieve values */
326
327 read_interfaces(&interfaces);
328
329 /* return the current value of the variable */
330
331 switch (vp->magic) {
332
333 case IFNUMBER:
334 return (unsigned char *) &interfaces.ifNumber;
335
336 default:
337 ERROR_MSG("");
338 }
339
340 return NULL;
341 }
342
343 static unsigned char *
read_ifEntry_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)344 read_ifEntry_stub(struct variable *vp,
345 oid *name,
346 size_t *length,
347 int exact,
348 size_t *var_len,
349 WriteMethod **write_method)
350 {
351 static ifEntry_t ifEntry;
352
353 /* call the user supplied function to retrieve values */
354
355 read_ifEntry(&ifEntry);
356
357 /* return the current value of the variable */
358
359 switch (vp->magic) {
360
361 case IFINDEX:
362 return (unsigned char *) &ifEntry.ifIndex;
363
364 case IFDESCR:
365 *var_len = ifEntry._ifDescrLength;
366 return (unsigned char *) ifEntry.ifDescr;
367
368 case IFTYPE:
369 return (unsigned char *) &ifEntry.ifType;
370
371 case IFMTU:
372 return (unsigned char *) &ifEntry.ifMtu;
373
374 case IFSPEED:
375 return (unsigned char *) &ifEntry.ifSpeed;
376
377 case IFPHYSADDRESS:
378 *var_len = ifEntry._ifPhysAddressLength;
379 return (unsigned char *) ifEntry.ifPhysAddress;
380
381 case IFADMINSTATUS:
382 return (unsigned char *) &ifEntry.ifAdminStatus;
383
384 case IFOPERSTATUS:
385 return (unsigned char *) &ifEntry.ifOperStatus;
386
387 case IFLASTCHANGE:
388 return (unsigned char *) &ifEntry.ifLastChange;
389
390 case IFINOCTETS:
391 return (unsigned char *) &ifEntry.ifInOctets;
392
393 case IFINUCASTPKTS:
394 return (unsigned char *) &ifEntry.ifInUcastPkts;
395
396 case IFINNUCASTPKTS:
397 return (unsigned char *) &ifEntry.ifInNUcastPkts;
398
399 case IFINDISCARDS:
400 return (unsigned char *) &ifEntry.ifInDiscards;
401
402 case IFINERRORS:
403 return (unsigned char *) &ifEntry.ifInErrors;
404
405 case IFINUNKNOWNPROTOS:
406 return (unsigned char *) &ifEntry.ifInUnknownProtos;
407
408 case IFOUTOCTETS:
409 return (unsigned char *) &ifEntry.ifOutOctets;
410
411 case IFOUTUCASTPKTS:
412 return (unsigned char *) &ifEntry.ifOutUcastPkts;
413
414 case IFOUTNUCASTPKTS:
415 return (unsigned char *) &ifEntry.ifOutNUcastPkts;
416
417 case IFOUTDISCARDS:
418 return (unsigned char *) &ifEntry.ifOutDiscards;
419
420 case IFOUTERRORS:
421 return (unsigned char *) &ifEntry.ifOutErrors;
422
423 case IFOUTQLEN:
424 return (unsigned char *) &ifEntry.ifOutQLen;
425
426 case IFSPECIFIC:
427 *var_len = ifEntry._ifSpecificLength;
428 return (unsigned char *) ifEntry.ifSpecific;
429
430 default:
431 ERROR_MSG("");
432 }
433
434 return NULL;
435 }
436
437 static unsigned char *
read_ifMIBObjects_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)438 read_ifMIBObjects_stub(struct variable *vp,
439 oid *name,
440 size_t *length,
441 int exact,
442 size_t *var_len,
443 WriteMethod **write_method)
444 {
445 static ifMIBObjects_t ifMIBObjects;
446
447 /* call the user supplied function to retrieve values */
448
449 read_ifMIBObjects(&ifMIBObjects);
450
451 /* return the current value of the variable */
452
453 switch (vp->magic) {
454
455 case IFTABLELASTCHANGE:
456 return (unsigned char *) &ifMIBObjects.ifTableLastChange;
457
458 case IFSTACKLASTCHANGE:
459 return (unsigned char *) &ifMIBObjects.ifStackLastChange;
460
461 default:
462 ERROR_MSG("");
463 }
464
465 return NULL;
466 }
467
468 static unsigned char *
read_ifXEntry_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)469 read_ifXEntry_stub(struct variable *vp,
470 oid *name,
471 size_t *length,
472 int exact,
473 size_t *var_len,
474 WriteMethod **write_method)
475 {
476 static ifXEntry_t ifXEntry;
477
478 /* call the user supplied function to retrieve values */
479
480 read_ifXEntry(&ifXEntry);
481
482 /* return the current value of the variable */
483
484 switch (vp->magic) {
485
486 case IFNAME:
487 *var_len = ifXEntry._ifNameLength;
488 return (unsigned char *) ifXEntry.ifName;
489
490 case IFINMULTICASTPKTS:
491 return (unsigned char *) &ifXEntry.ifInMulticastPkts;
492
493 case IFINBROADCASTPKTS:
494 return (unsigned char *) &ifXEntry.ifInBroadcastPkts;
495
496 case IFOUTMULTICASTPKTS:
497 return (unsigned char *) &ifXEntry.ifOutMulticastPkts;
498
499 case IFOUTBROADCASTPKTS:
500 return (unsigned char *) &ifXEntry.ifOutBroadcastPkts;
501
502 case IFHCINOCTETS:
503 /* add code to return the value here */
504
505 case IFHCINUCASTPKTS:
506 /* add code to return the value here */
507
508 case IFHCINMULTICASTPKTS:
509 /* add code to return the value here */
510
511 case IFHCINBROADCASTPKTS:
512 /* add code to return the value here */
513
514 case IFHCOUTOCTETS:
515 /* add code to return the value here */
516
517 case IFHCOUTUCASTPKTS:
518 /* add code to return the value here */
519
520 case IFHCOUTMULTICASTPKTS:
521 /* add code to return the value here */
522
523 case IFHCOUTBROADCASTPKTS:
524 /* add code to return the value here */
525
526 case IFLINKUPDOWNTRAPENABLE:
527 return (unsigned char *) &ifXEntry.ifLinkUpDownTrapEnable;
528
529 case IFHIGHSPEED:
530 return (unsigned char *) &ifXEntry.ifHighSpeed;
531
532 case IFPROMISCUOUSMODE:
533 return (unsigned char *) &ifXEntry.ifPromiscuousMode;
534
535 case IFCONNECTORPRESENT:
536 return (unsigned char *) &ifXEntry.ifConnectorPresent;
537
538 case IFALIAS:
539 *var_len = ifXEntry._ifAliasLength;
540 return (unsigned char *) ifXEntry.ifAlias;
541
542 case IFCOUNTERDISCONTINUITYTIME:
543 return (unsigned char *) &ifXEntry.ifCounterDiscontinuityTime;
544
545 default:
546 ERROR_MSG("");
547 }
548
549 return NULL;
550 }
551
552 static unsigned char *
read_ifStackEntry_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)553 read_ifStackEntry_stub(struct variable *vp,
554 oid *name,
555 size_t *length,
556 int exact,
557 size_t *var_len,
558 WriteMethod **write_method)
559 {
560 static ifStackEntry_t ifStackEntry;
561
562 /* call the user supplied function to retrieve values */
563
564 read_ifStackEntry(&ifStackEntry);
565
566 /* return the current value of the variable */
567
568 switch (vp->magic) {
569
570 case IFSTACKSTATUS:
571 return (unsigned char *) &ifStackEntry.ifStackStatus;
572
573 default:
574 ERROR_MSG("");
575 }
576
577 return NULL;
578 }
579
580 static unsigned char *
read_ifTestEntry_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)581 read_ifTestEntry_stub(struct variable *vp,
582 oid *name,
583 size_t *length,
584 int exact,
585 size_t *var_len,
586 WriteMethod **write_method)
587 {
588 static ifTestEntry_t ifTestEntry;
589
590 /* call the user supplied function to retrieve values */
591
592 read_ifTestEntry(&ifTestEntry);
593
594 /* return the current value of the variable */
595
596 switch (vp->magic) {
597
598 case IFTESTID:
599 return (unsigned char *) &ifTestEntry.ifTestId;
600
601 case IFTESTSTATUS:
602 return (unsigned char *) &ifTestEntry.ifTestStatus;
603
604 case IFTESTTYPE:
605 *var_len = ifTestEntry._ifTestTypeLength;
606 return (unsigned char *) ifTestEntry.ifTestType;
607
608 case IFTESTRESULT:
609 return (unsigned char *) &ifTestEntry.ifTestResult;
610
611 case IFTESTCODE:
612 *var_len = ifTestEntry._ifTestCodeLength;
613 return (unsigned char *) ifTestEntry.ifTestCode;
614
615 case IFTESTOWNER:
616 *var_len = ifTestEntry._ifTestOwnerLength;
617 return (unsigned char *) ifTestEntry.ifTestOwner;
618
619 default:
620 ERROR_MSG("");
621 }
622
623 return NULL;
624 }
625
626 static unsigned char *
read_ifRcvAddressEntry_stub(struct variable * vp,oid * name,size_t * length,int exact,size_t * var_len,WriteMethod ** write_method)627 read_ifRcvAddressEntry_stub(struct variable *vp,
628 oid *name,
629 size_t *length,
630 int exact,
631 size_t *var_len,
632 WriteMethod **write_method)
633 {
634 static ifRcvAddressEntry_t ifRcvAddressEntry;
635
636 /* call the user supplied function to retrieve values */
637
638 read_ifRcvAddressEntry(&ifRcvAddressEntry);
639
640 /* return the current value of the variable */
641
642 switch (vp->magic) {
643
644 case IFRCVADDRESSSTATUS:
645 return (unsigned char *) &ifRcvAddressEntry.ifRcvAddressStatus;
646
647 case IFRCVADDRESSTYPE:
648 return (unsigned char *) &ifRcvAddressEntry.ifRcvAddressType;
649
650 default:
651 ERROR_MSG("");
652 }
653
654 return NULL;
655 }
656
657
658 /*
659 * Forward declaration of write methods for writable objects:
660 */
661
662 static int
write_ifAdminStatus_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)663 write_ifAdminStatus_stub(int action,
664 u_char *var_val,
665 u_char var_val_type,
666 int var_val_len,
667 u_char *statP,
668 oid *name,
669 int name_len)
670 {
671 return SNMP_ERR_NOERROR;
672 }
673
674 static int
write_ifLinkUpDownTrapEnable_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)675 write_ifLinkUpDownTrapEnable_stub(int action,
676 u_char *var_val,
677 u_char var_val_type,
678 int var_val_len,
679 u_char *statP,
680 oid *name,
681 int name_len)
682 {
683 return SNMP_ERR_NOERROR;
684 }
685
686 static int
write_ifPromiscuousMode_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)687 write_ifPromiscuousMode_stub(int action,
688 u_char *var_val,
689 u_char var_val_type,
690 int var_val_len,
691 u_char *statP,
692 oid *name,
693 int name_len)
694 {
695 return SNMP_ERR_NOERROR;
696 }
697
698 static int
write_ifAlias_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)699 write_ifAlias_stub(int action,
700 u_char *var_val,
701 u_char var_val_type,
702 int var_val_len,
703 u_char *statP,
704 oid *name,
705 int name_len)
706 {
707 return SNMP_ERR_NOERROR;
708 }
709
710 static int
write_ifStackStatus_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)711 write_ifStackStatus_stub(int action,
712 u_char *var_val,
713 u_char var_val_type,
714 int var_val_len,
715 u_char *statP,
716 oid *name,
717 int name_len)
718 {
719 return SNMP_ERR_NOERROR;
720 }
721
722 static int
write_ifTestId_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)723 write_ifTestId_stub(int action,
724 u_char *var_val,
725 u_char var_val_type,
726 int var_val_len,
727 u_char *statP,
728 oid *name,
729 int name_len)
730 {
731 return SNMP_ERR_NOERROR;
732 }
733
734 static int
write_ifTestStatus_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)735 write_ifTestStatus_stub(int action,
736 u_char *var_val,
737 u_char var_val_type,
738 int var_val_len,
739 u_char *statP,
740 oid *name,
741 int name_len)
742 {
743 return SNMP_ERR_NOERROR;
744 }
745
746 static int
write_ifTestType_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)747 write_ifTestType_stub(int action,
748 u_char *var_val,
749 u_char var_val_type,
750 int var_val_len,
751 u_char *statP,
752 oid *name,
753 int name_len)
754 {
755 return SNMP_ERR_NOERROR;
756 }
757
758 static int
write_ifTestOwner_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)759 write_ifTestOwner_stub(int action,
760 u_char *var_val,
761 u_char var_val_type,
762 int var_val_len,
763 u_char *statP,
764 oid *name,
765 int name_len)
766 {
767 return SNMP_ERR_NOERROR;
768 }
769
770 static int
write_ifRcvAddressStatus_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)771 write_ifRcvAddressStatus_stub(int action,
772 u_char *var_val,
773 u_char var_val_type,
774 int var_val_len,
775 u_char *statP,
776 oid *name,
777 int name_len)
778 {
779 return SNMP_ERR_NOERROR;
780 }
781
782 static int
write_ifRcvAddressType_stub(int action,u_char * var_val,u_char var_val_type,int var_val_len,u_char * statP,oid * name,int name_len)783 write_ifRcvAddressType_stub(int action,
784 u_char *var_val,
785 u_char var_val_type,
786 int var_val_len,
787 u_char *statP,
788 oid *name,
789 int name_len)
790 {
791 return SNMP_ERR_NOERROR;
792 }
793
794
795