1 #include "EXTERN.h"
2 #include "perl.h"
3 #include "XSUB.h"
4
5 #include <net-snmp/net-snmp-config.h>
6 #include <net-snmp/agent/ds_agent.h>
7
8
9 /* autogenerated by "gen" from const-c.inc */
10
11 #define PERL_constant_NOTFOUND 1
12 #define PERL_constant_NOTDEF 2
13 #define PERL_constant_ISIV 3
14 #define PERL_constant_ISNO 4
15 #define PERL_constant_ISNV 5
16 #define PERL_constant_ISPV 6
17 #define PERL_constant_ISPVN 7
18 #define PERL_constant_ISSV 8
19 #define PERL_constant_ISUNDEF 9
20 #define PERL_constant_ISUV 10
21 #define PERL_constant_ISYES 11
22
23 #ifndef NVTYPE
24 typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
25 #endif
26 #ifndef aTHX_
27 #define aTHX_ /* 5.6 or later define this for threading support. */
28 #endif
29 #ifndef pTHX_
30 #define pTHX_ /* 5.6 or later define this for threading support. */
31 #endif
32
33 static int
constant_22(pTHX_ const char * name,IV * iv_return)34 constant_22 (pTHX_ const char *name, IV *iv_return) {
35 /* When generated this function returned values for the list of names given
36 here. However, subsequent manual editing may have added or removed some.
37 NETSNMP_DS_AGENT_FLAGS NETSNMP_DS_AGENT_PORTS NETSNMP_DS_SMUX_SOCKET */
38 /* Offset 17 gives the best switch position. */
39 switch (name[17]) {
40 case 'F':
41 if (memEQ(name, "NETSNMP_DS_AGENT_FLAGS", 22)) {
42 /* ^ */
43 #ifdef NETSNMP_DS_AGENT_FLAGS
44 *iv_return = NETSNMP_DS_AGENT_FLAGS;
45 return PERL_constant_ISIV;
46 #else
47 return PERL_constant_NOTDEF;
48 #endif
49 }
50 break;
51 case 'O':
52 if (memEQ(name, "NETSNMP_DS_SMUX_SOCKET", 22)) {
53 /* ^ */
54 #ifdef NETSNMP_DS_SMUX_SOCKET
55 *iv_return = NETSNMP_DS_SMUX_SOCKET;
56 return PERL_constant_ISIV;
57 #else
58 return PERL_constant_NOTDEF;
59 #endif
60 }
61 break;
62 case 'P':
63 if (memEQ(name, "NETSNMP_DS_AGENT_PORTS", 22)) {
64 /* ^ */
65 #ifdef NETSNMP_DS_AGENT_PORTS
66 *iv_return = NETSNMP_DS_AGENT_PORTS;
67 return PERL_constant_ISIV;
68 #else
69 return PERL_constant_NOTDEF;
70 #endif
71 }
72 break;
73 }
74 return PERL_constant_NOTFOUND;
75 }
76
77 static int
constant_24(pTHX_ const char * name,IV * iv_return)78 constant_24 (pTHX_ const char *name, IV *iv_return) {
79 /* When generated this function returned values for the list of names given
80 here. However, subsequent manual editing may have added or removed some.
81 NETSNMP_DS_AGENT_GROUPID NETSNMP_DS_AGENT_VERBOSE NETSNMP_DS_NOTIF_LOG_CTX
82 */
83 /* Offset 19 gives the best switch position. */
84 switch (name[19]) {
85 case 'G':
86 if (memEQ(name, "NETSNMP_DS_NOTIF_LOG_CTX", 24)) {
87 /* ^ */
88 #ifdef NETSNMP_DS_NOTIF_LOG_CTX
89 *iv_return = NETSNMP_DS_NOTIF_LOG_CTX;
90 return PERL_constant_ISIV;
91 #else
92 return PERL_constant_NOTDEF;
93 #endif
94 }
95 break;
96 case 'O':
97 if (memEQ(name, "NETSNMP_DS_AGENT_GROUPID", 24)) {
98 /* ^ */
99 #ifdef NETSNMP_DS_AGENT_GROUPID
100 *iv_return = NETSNMP_DS_AGENT_GROUPID;
101 return PERL_constant_ISIV;
102 #else
103 return PERL_constant_NOTDEF;
104 #endif
105 }
106 break;
107 case 'R':
108 if (memEQ(name, "NETSNMP_DS_AGENT_VERBOSE", 24)) {
109 /* ^ */
110 #ifdef NETSNMP_DS_AGENT_VERBOSE
111 *iv_return = NETSNMP_DS_AGENT_VERBOSE;
112 return PERL_constant_ISIV;
113 #else
114 return PERL_constant_NOTDEF;
115 #endif
116 }
117 break;
118 }
119 return PERL_constant_NOTFOUND;
120 }
121
122 static int
constant_30(pTHX_ const char * name,IV * iv_return)123 constant_30 (pTHX_ const char *name, IV *iv_return) {
124 /* When generated this function returned values for the list of names given
125 here. However, subsequent manual editing may have added or removed some.
126 NETSNMP_DS_AGENT_AGENTX_MASTER NETSNMP_DS_AGENT_CACHE_TIMEOUT
127 NETSNMP_DS_AGENT_LEAVE_PIDFILE NETSNMP_DS_AGENT_STRICT_DISMAN */
128 /* Offset 27 gives the best switch position. */
129 switch (name[27]) {
130 case 'I':
131 if (memEQ(name, "NETSNMP_DS_AGENT_LEAVE_PIDFILE", 30)) {
132 /* ^ */
133 #ifdef NETSNMP_DS_AGENT_LEAVE_PIDFILE
134 *iv_return = NETSNMP_DS_AGENT_LEAVE_PIDFILE;
135 return PERL_constant_ISIV;
136 #else
137 return PERL_constant_NOTDEF;
138 #endif
139 }
140 break;
141 case 'M':
142 if (memEQ(name, "NETSNMP_DS_AGENT_STRICT_DISMAN", 30)) {
143 /* ^ */
144 #ifdef NETSNMP_DS_AGENT_STRICT_DISMAN
145 *iv_return = NETSNMP_DS_AGENT_STRICT_DISMAN;
146 return PERL_constant_ISIV;
147 #else
148 return PERL_constant_NOTDEF;
149 #endif
150 }
151 break;
152 case 'O':
153 if (memEQ(name, "NETSNMP_DS_AGENT_CACHE_TIMEOUT", 30)) {
154 /* ^ */
155 #ifdef NETSNMP_DS_AGENT_CACHE_TIMEOUT
156 *iv_return = NETSNMP_DS_AGENT_CACHE_TIMEOUT;
157 return PERL_constant_ISIV;
158 #else
159 return PERL_constant_NOTDEF;
160 #endif
161 }
162 break;
163 case 'T':
164 if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_MASTER", 30)) {
165 /* ^ */
166 #ifdef NETSNMP_DS_AGENT_AGENTX_MASTER
167 *iv_return = NETSNMP_DS_AGENT_AGENTX_MASTER;
168 return PERL_constant_ISIV;
169 #else
170 return PERL_constant_NOTDEF;
171 #endif
172 }
173 break;
174 }
175 return PERL_constant_NOTFOUND;
176 }
177
178 static int
constant_31(pTHX_ const char * name,IV * iv_return)179 constant_31 (pTHX_ const char *name, IV *iv_return) {
180 /* When generated this function returned values for the list of names given
181 here. However, subsequent manual editing may have added or removed some.
182 NETSNMP_DS_AGENT_AGENTX_RETRIES NETSNMP_DS_AGENT_AGENTX_TIMEOUT
183 NETSNMP_DS_AGENT_NO_ROOT_ACCESS NETSNMP_DS_AGENT_PERL_INIT_FILE */
184 /* Offset 27 gives the best switch position. */
185 switch (name[27]) {
186 case 'C':
187 if (memEQ(name, "NETSNMP_DS_AGENT_NO_ROOT_ACCESS", 31)) {
188 /* ^ */
189 #ifdef NETSNMP_DS_AGENT_NO_ROOT_ACCESS
190 *iv_return = NETSNMP_DS_AGENT_NO_ROOT_ACCESS;
191 return PERL_constant_ISIV;
192 #else
193 return PERL_constant_NOTDEF;
194 #endif
195 }
196 break;
197 case 'E':
198 if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_TIMEOUT", 31)) {
199 /* ^ */
200 #ifdef NETSNMP_DS_AGENT_AGENTX_TIMEOUT
201 *iv_return = NETSNMP_DS_AGENT_AGENTX_TIMEOUT;
202 return PERL_constant_ISIV;
203 #else
204 return PERL_constant_NOTDEF;
205 #endif
206 }
207 break;
208 case 'F':
209 if (memEQ(name, "NETSNMP_DS_AGENT_PERL_INIT_FILE", 31)) {
210 /* ^ */
211 #ifdef NETSNMP_DS_AGENT_PERL_INIT_FILE
212 *iv_return = NETSNMP_DS_AGENT_PERL_INIT_FILE;
213 return PERL_constant_ISIV;
214 #else
215 return PERL_constant_NOTDEF;
216 #endif
217 }
218 break;
219 case 'R':
220 if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_RETRIES", 31)) {
221 /* ^ */
222 #ifdef NETSNMP_DS_AGENT_AGENTX_RETRIES
223 *iv_return = NETSNMP_DS_AGENT_AGENTX_RETRIES;
224 return PERL_constant_ISIV;
225 #else
226 return PERL_constant_NOTDEF;
227 #endif
228 }
229 break;
230 }
231 return PERL_constant_NOTFOUND;
232 }
233
234 static int
constant_33(pTHX_ const char * name,IV * iv_return)235 constant_33 (pTHX_ const char *name, IV *iv_return) {
236 /* When generated this function returned values for the list of names given
237 here. However, subsequent manual editing may have added or removed some.
238 NETSNMP_DS_AGENT_INTERNAL_SECNAME NETSNMP_DS_AGENT_INTERNAL_VERSION
239 NETSNMP_DS_AGENT_QUIT_IMMEDIATELY */
240 /* Offset 31 gives the best switch position. */
241 switch (name[31]) {
242 case 'L':
243 if (memEQ(name, "NETSNMP_DS_AGENT_QUIT_IMMEDIATELY", 33)) {
244 /* ^ */
245 #ifdef NETSNMP_DS_AGENT_QUIT_IMMEDIATELY
246 *iv_return = NETSNMP_DS_AGENT_QUIT_IMMEDIATELY;
247 return PERL_constant_ISIV;
248 #else
249 return PERL_constant_NOTDEF;
250 #endif
251 }
252 break;
253 case 'M':
254 if (memEQ(name, "NETSNMP_DS_AGENT_INTERNAL_SECNAME", 33)) {
255 /* ^ */
256 #ifdef NETSNMP_DS_AGENT_INTERNAL_SECNAME
257 *iv_return = NETSNMP_DS_AGENT_INTERNAL_SECNAME;
258 return PERL_constant_ISIV;
259 #else
260 return PERL_constant_NOTDEF;
261 #endif
262 }
263 break;
264 case 'O':
265 if (memEQ(name, "NETSNMP_DS_AGENT_INTERNAL_VERSION", 33)) {
266 /* ^ */
267 #ifdef NETSNMP_DS_AGENT_INTERNAL_VERSION
268 *iv_return = NETSNMP_DS_AGENT_INTERNAL_VERSION;
269 return PERL_constant_ISIV;
270 #else
271 return PERL_constant_NOTDEF;
272 #endif
273 }
274 break;
275 }
276 return PERL_constant_NOTFOUND;
277 }
278
279 static int
constant(pTHX_ const char * name,STRLEN len,IV * iv_return)280 constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
281 /* Initially switch on the length of the name. */
282 /* When generated this function returned values for the list of names given
283 in this section of perl code. Rather than manually editing these functions
284 to add or remove constants, which would result in this comment and section
285 of code becoming inaccurate, we recommend that you edit this section of
286 code, and use it to regenerate a new set of constant functions which you
287 then use to replace the originals.
288
289 Regenerate these constant functions by feeding this entire source file to
290 perl -x
291
292 #!/usr/bin/perl -w
293 use ExtUtils::Constant qw (constant_types C_constant XS_constant);
294
295 my $types = {map {($_, 1)} qw(IV)};
296 my @names = (qw(NETSNMP_DS_AGENT_AGENTX_MASTER
297 NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL
298 NETSNMP_DS_AGENT_AGENTX_RETRIES NETSNMP_DS_AGENT_AGENTX_TIMEOUT
299 NETSNMP_DS_AGENT_CACHE_TIMEOUT NETSNMP_DS_AGENT_DISABLE_PERL
300 NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS
301 NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS
302 NETSNMP_DS_AGENT_FLAGS NETSNMP_DS_AGENT_GROUPID
303 NETSNMP_DS_AGENT_INTERNAL_SECLEVEL
304 NETSNMP_DS_AGENT_INTERNAL_SECNAME
305 NETSNMP_DS_AGENT_INTERNAL_VERSION NETSNMP_DS_AGENT_LEAVE_PIDFILE
306 NETSNMP_DS_AGENT_MAX_GETBULKREPEATS
307 NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES
308 NETSNMP_DS_AGENT_NO_CACHING
309 NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS
310 NETSNMP_DS_AGENT_NO_ROOT_ACCESS NETSNMP_DS_AGENT_PERL_INIT_FILE
311 NETSNMP_DS_AGENT_PORTS NETSNMP_DS_AGENT_PROGNAME
312 NETSNMP_DS_AGENT_QUIT_IMMEDIATELY NETSNMP_DS_AGENT_ROLE
313 NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES
314 NETSNMP_DS_AGENT_STRICT_DISMAN NETSNMP_DS_AGENT_USERID
315 NETSNMP_DS_AGENT_VERBOSE NETSNMP_DS_AGENT_X_DIR_PERM
316 NETSNMP_DS_AGENT_X_SOCKET NETSNMP_DS_AGENT_X_SOCK_GROUP
317 NETSNMP_DS_AGENT_X_SOCK_PERM NETSNMP_DS_AGENT_X_SOCK_USER
318 NETSNMP_DS_APP_DONT_LOG NETSNMP_DS_NOTIF_LOG_CTX
319 NETSNMP_DS_SMUX_SOCKET));
320
321 print constant_types(); # macro defs
322 foreach (C_constant ("NetSNMP::agent::default_store", 'constant', 'IV', $types, undef, 3, @names) ) {
323 print $_, "\n"; # C constant subs
324 }
325 print "#### XS Section:\n";
326 print XS_constant ("NetSNMP::agent::default_store", $types);
327 __END__
328 */
329
330 switch (len) {
331 case 21:
332 if (memEQ(name, "NETSNMP_DS_AGENT_ROLE", 21)) {
333 #ifdef NETSNMP_DS_AGENT_ROLE
334 *iv_return = NETSNMP_DS_AGENT_ROLE;
335 return PERL_constant_ISIV;
336 #else
337 return PERL_constant_NOTDEF;
338 #endif
339 }
340 break;
341 case 22:
342 return constant_22 (aTHX_ name, iv_return);
343 break;
344 case 23:
345 /* Names all of length 23. */
346 /* NETSNMP_DS_AGENT_USERID NETSNMP_DS_APP_DONT_LOG */
347 /* Offset 18 gives the best switch position. */
348 switch (name[18]) {
349 case 'S':
350 if (memEQ(name, "NETSNMP_DS_AGENT_USERID", 23)) {
351 /* ^ */
352 #ifdef NETSNMP_DS_AGENT_USERID
353 *iv_return = NETSNMP_DS_AGENT_USERID;
354 return PERL_constant_ISIV;
355 #else
356 return PERL_constant_NOTDEF;
357 #endif
358 }
359 break;
360 case 'T':
361 if (memEQ(name, "NETSNMP_DS_APP_DONT_LOG", 23)) {
362 /* ^ */
363 #ifdef NETSNMP_DS_APP_DONT_LOG
364 *iv_return = NETSNMP_DS_APP_DONT_LOG;
365 return PERL_constant_ISIV;
366 #else
367 return PERL_constant_NOTDEF;
368 #endif
369 }
370 break;
371 }
372 break;
373 case 24:
374 return constant_24 (aTHX_ name, iv_return);
375 break;
376 case 25:
377 /* Names all of length 25. */
378 /* NETSNMP_DS_AGENT_PROGNAME NETSNMP_DS_AGENT_X_SOCKET */
379 /* Offset 19 gives the best switch position. */
380 switch (name[19]) {
381 case 'O':
382 if (memEQ(name, "NETSNMP_DS_AGENT_PROGNAME", 25)) {
383 /* ^ */
384 #ifdef NETSNMP_DS_AGENT_PROGNAME
385 *iv_return = NETSNMP_DS_AGENT_PROGNAME;
386 return PERL_constant_ISIV;
387 #else
388 return PERL_constant_NOTDEF;
389 #endif
390 }
391 break;
392 case 'S':
393 if (memEQ(name, "NETSNMP_DS_AGENT_X_SOCKET", 25)) {
394 /* ^ */
395 #ifdef NETSNMP_DS_AGENT_X_SOCKET
396 *iv_return = NETSNMP_DS_AGENT_X_SOCKET;
397 return PERL_constant_ISIV;
398 #else
399 return PERL_constant_NOTDEF;
400 #endif
401 }
402 break;
403 }
404 break;
405 case 27:
406 /* Names all of length 27. */
407 /* NETSNMP_DS_AGENT_NO_CACHING NETSNMP_DS_AGENT_X_DIR_PERM */
408 /* Offset 24 gives the best switch position. */
409 switch (name[24]) {
410 case 'E':
411 if (memEQ(name, "NETSNMP_DS_AGENT_X_DIR_PERM", 27)) {
412 /* ^ */
413 #ifdef NETSNMP_DS_AGENT_X_DIR_PERM
414 *iv_return = NETSNMP_DS_AGENT_X_DIR_PERM;
415 return PERL_constant_ISIV;
416 #else
417 return PERL_constant_NOTDEF;
418 #endif
419 }
420 break;
421 case 'I':
422 if (memEQ(name, "NETSNMP_DS_AGENT_NO_CACHING", 27)) {
423 /* ^ */
424 #ifdef NETSNMP_DS_AGENT_NO_CACHING
425 *iv_return = NETSNMP_DS_AGENT_NO_CACHING;
426 return PERL_constant_ISIV;
427 #else
428 return PERL_constant_NOTDEF;
429 #endif
430 }
431 break;
432 }
433 break;
434 case 28:
435 /* Names all of length 28. */
436 /* NETSNMP_DS_AGENT_X_SOCK_PERM NETSNMP_DS_AGENT_X_SOCK_USER */
437 /* Offset 27 gives the best switch position. */
438 switch (name[27]) {
439 case 'M':
440 if (memEQ(name, "NETSNMP_DS_AGENT_X_SOCK_PER", 27)) {
441 /* M */
442 #ifdef NETSNMP_DS_AGENT_X_SOCK_PERM
443 *iv_return = NETSNMP_DS_AGENT_X_SOCK_PERM;
444 return PERL_constant_ISIV;
445 #else
446 return PERL_constant_NOTDEF;
447 #endif
448 }
449 break;
450 case 'R':
451 if (memEQ(name, "NETSNMP_DS_AGENT_X_SOCK_USE", 27)) {
452 /* R */
453 #ifdef NETSNMP_DS_AGENT_X_SOCK_USER
454 *iv_return = NETSNMP_DS_AGENT_X_SOCK_USER;
455 return PERL_constant_ISIV;
456 #else
457 return PERL_constant_NOTDEF;
458 #endif
459 }
460 break;
461 }
462 break;
463 case 29:
464 /* Names all of length 29. */
465 /* NETSNMP_DS_AGENT_DISABLE_PERL NETSNMP_DS_AGENT_X_SOCK_GROUP */
466 /* Offset 21 gives the best switch position. */
467 switch (name[21]) {
468 case 'B':
469 if (memEQ(name, "NETSNMP_DS_AGENT_DISABLE_PERL", 29)) {
470 /* ^ */
471 #ifdef NETSNMP_DS_AGENT_DISABLE_PERL
472 *iv_return = NETSNMP_DS_AGENT_DISABLE_PERL;
473 return PERL_constant_ISIV;
474 #else
475 return PERL_constant_NOTDEF;
476 #endif
477 }
478 break;
479 case 'C':
480 if (memEQ(name, "NETSNMP_DS_AGENT_X_SOCK_GROUP", 29)) {
481 /* ^ */
482 #ifdef NETSNMP_DS_AGENT_X_SOCK_GROUP
483 *iv_return = NETSNMP_DS_AGENT_X_SOCK_GROUP;
484 return PERL_constant_ISIV;
485 #else
486 return PERL_constant_NOTDEF;
487 #endif
488 }
489 break;
490 }
491 break;
492 case 30:
493 return constant_30 (aTHX_ name, iv_return);
494 break;
495 case 31:
496 return constant_31 (aTHX_ name, iv_return);
497 break;
498 case 33:
499 return constant_33 (aTHX_ name, iv_return);
500 break;
501 case 34:
502 if (memEQ(name, "NETSNMP_DS_AGENT_INTERNAL_SECLEVEL", 34)) {
503 #ifdef NETSNMP_DS_AGENT_INTERNAL_SECLEVEL
504 *iv_return = NETSNMP_DS_AGENT_INTERNAL_SECLEVEL;
505 return PERL_constant_ISIV;
506 #else
507 return PERL_constant_NOTDEF;
508 #endif
509 }
510 break;
511 case 35:
512 if (memEQ(name, "NETSNMP_DS_AGENT_MAX_GETBULKREPEATS", 35)) {
513 #ifdef NETSNMP_DS_AGENT_MAX_GETBULKREPEATS
514 *iv_return = NETSNMP_DS_AGENT_MAX_GETBULKREPEATS;
515 return PERL_constant_ISIV;
516 #else
517 return PERL_constant_NOTDEF;
518 #endif
519 }
520 break;
521 case 37:
522 /* Names all of length 37. */
523 /* NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL
524 NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES */
525 /* Offset 26 gives the best switch position. */
526 switch (name[26]) {
527 case 'L':
528 if (memEQ(name, "NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES", 37)) {
529 /* ^ */
530 #ifdef NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES
531 *iv_return = NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES;
532 return PERL_constant_ISIV;
533 #else
534 return PERL_constant_NOTDEF;
535 #endif
536 }
537 break;
538 case 'N':
539 if (memEQ(name, "NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL", 37)) {
540 /* ^ */
541 #ifdef NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL
542 *iv_return = NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL;
543 return PERL_constant_ISIV;
544 #else
545 return PERL_constant_NOTDEF;
546 #endif
547 }
548 break;
549 }
550 break;
551 case 39:
552 /* Names all of length 39. */
553 /* NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS
554 NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES */
555 /* Offset 21 gives the best switch position. */
556 switch (name[21]) {
557 case 'N':
558 if (memEQ(name, "NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES", 39)) {
559 /* ^ */
560 #ifdef NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES
561 *iv_return = NETSNMP_DS_AGENT_SKIPNFSINHOSTRESOURCES;
562 return PERL_constant_ISIV;
563 #else
564 return PERL_constant_NOTDEF;
565 #endif
566 }
567 break;
568 case 'O':
569 if (memEQ(name, "NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS", 39)) {
570 /* ^ */
571 #ifdef NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS
572 *iv_return = NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS;
573 return PERL_constant_ISIV;
574 #else
575 return PERL_constant_NOTDEF;
576 #endif
577 }
578 break;
579 }
580 break;
581 case 42:
582 if (memEQ(name, "NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS", 42)) {
583 #ifdef NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS
584 *iv_return = NETSNMP_DS_AGENT_DONT_RETAIN_NOTIFICATIONS;
585 return PERL_constant_ISIV;
586 #else
587 return PERL_constant_NOTDEF;
588 #endif
589 }
590 break;
591 case 46:
592 if (memEQ(name, "NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS", 46)) {
593 #ifdef NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS
594 *iv_return = NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS;
595 return PERL_constant_ISIV;
596 #else
597 return PERL_constant_NOTDEF;
598 #endif
599 }
600 break;
601 }
602 return PERL_constant_NOTFOUND;
603 }
604
605
606
607 /* autogenerated by "gen" from const-xs.inc */
608
609 MODULE = NetSNMP::agent::default_store PACKAGE = NetSNMP::agent::default_store
610
611 void
612 constant(sv)
613 PREINIT:
614 #ifdef dXSTARG
615 dXSTARG; /* Faster if we have it. */
616 #else
617 dTARGET;
618 #endif
619 STRLEN len;
620 int type;
621 IV iv = 0;
622 /* NV nv; Uncomment this if you need to return NVs */
623 /* const char *pv; Uncomment this if you need to return PVs */
624 INPUT:
625 SV * sv;
626 const char * s = SvPV(sv, len);
627 PPCODE:
628 /* Change this to constant(aTHX_ s, len, &iv, &nv);
629 if you need to return both NVs and IVs */
630 type = constant(aTHX_ s, len, &iv);
631 /* Return 1 or 2 items. First is error message, or undef if no error.
632 Second, if present, is found value */
633 switch (type) {
634 case PERL_constant_NOTFOUND:
635 sv = sv_2mortal(newSVpvf("%s is not a valid NetSNMP::agent::default_store macro", s));
636 PUSHs(sv);
637 break;
638 case PERL_constant_NOTDEF:
639 sv = sv_2mortal(newSVpvf(
640 "Your vendor has not defined NetSNMP::agent::default_store macro %s, used", s));
641 PUSHs(sv);
642 break;
643 case PERL_constant_ISIV:
644 EXTEND(SP, 1);
645 PUSHs(&PL_sv_undef);
646 PUSHi(iv);
647 break;
648 /* Uncomment this if you need to return NOs
649 case PERL_constant_ISNO:
650 EXTEND(SP, 1);
651 PUSHs(&PL_sv_undef);
652 PUSHs(&PL_sv_no);
653 break; */
654 /* Uncomment this if you need to return NVs
655 case PERL_constant_ISNV:
656 EXTEND(SP, 1);
657 PUSHs(&PL_sv_undef);
658 PUSHn(nv);
659 break; */
660 /* Uncomment this if you need to return PVs
661 case PERL_constant_ISPV:
662 EXTEND(SP, 1);
663 PUSHs(&PL_sv_undef);
664 PUSHp(pv, strlen(pv));
665 break; */
666 /* Uncomment this if you need to return PVNs
667 case PERL_constant_ISPVN:
668 EXTEND(SP, 1);
669 PUSHs(&PL_sv_undef);
670 PUSHp(pv, iv);
671 break; */
672 /* Uncomment this if you need to return SVs
673 case PERL_constant_ISSV:
674 EXTEND(SP, 1);
675 PUSHs(&PL_sv_undef);
676 PUSHs(sv);
677 break; */
678 /* Uncomment this if you need to return UNDEFs
679 case PERL_constant_ISUNDEF:
680 break; */
681 /* Uncomment this if you need to return UVs
682 case PERL_constant_ISUV:
683 EXTEND(SP, 1);
684 PUSHs(&PL_sv_undef);
685 PUSHu((UV)iv);
686 break; */
687 /* Uncomment this if you need to return YESs
688 case PERL_constant_ISYES:
689 EXTEND(SP, 1);
690 PUSHs(&PL_sv_undef);
691 PUSHs(&PL_sv_yes);
692 break; */
693 default:
694 sv = sv_2mortal(newSVpvf(
695 "Unexpected return type %d while processing NetSNMP::agent::default_store macro %s, used",
696 type, s));
697 PUSHs(sv);
698 }
699
700
701
702