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/library/default_store.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_LIB_APPTYPE NETSNMP_DS_LIB_CONTEXT NETSNMP_DS_LIB_MIBDIRS
38      NETSNMP_DS_LIB_SECNAME */
39   /* Offset 16 gives the best switch position.  */
40   switch (name[16]) {
41   case 'E':
42     if (memEQ(name, "NETSNMP_DS_LIB_SECNAME", 22)) {
43     /*                               ^            */
44 #ifdef NETSNMP_DS_LIB_SECNAME
45       *iv_return = NETSNMP_DS_LIB_SECNAME;
46       return PERL_constant_ISIV;
47 #else
48       return PERL_constant_NOTDEF;
49 #endif
50     }
51     break;
52   case 'I':
53     if (memEQ(name, "NETSNMP_DS_LIB_MIBDIRS", 22)) {
54     /*                               ^            */
55 #ifdef NETSNMP_DS_LIB_MIBDIRS
56       *iv_return = NETSNMP_DS_LIB_MIBDIRS;
57       return PERL_constant_ISIV;
58 #else
59       return PERL_constant_NOTDEF;
60 #endif
61     }
62     break;
63   case 'O':
64     if (memEQ(name, "NETSNMP_DS_LIB_CONTEXT", 22)) {
65     /*                               ^            */
66 #ifdef NETSNMP_DS_LIB_CONTEXT
67       *iv_return = NETSNMP_DS_LIB_CONTEXT;
68       return PERL_constant_ISIV;
69 #else
70       return PERL_constant_NOTDEF;
71 #endif
72     }
73     break;
74   case 'P':
75     if (memEQ(name, "NETSNMP_DS_LIB_APPTYPE", 22)) {
76     /*                               ^            */
77 #ifdef NETSNMP_DS_LIB_APPTYPE
78       *iv_return = NETSNMP_DS_LIB_APPTYPE;
79       return PERL_constant_ISIV;
80 #else
81       return PERL_constant_NOTDEF;
82 #endif
83     }
84     break;
85   }
86   return PERL_constant_NOTFOUND;
87 }
88 
89 static int
constant_23(pTHX_ const char * name,IV * iv_return)90 constant_23 (pTHX_ const char *name, IV *iv_return) {
91   /* When generated this function returned values for the list of names given
92      here.  However, subsequent manual editing may have added or removed some.
93      NETSNMP_DS_LIB_APPTYPES NETSNMP_DS_LIB_SECLEVEL NETSNMP_DS_LIB_SECMODEL */
94   /* Offset 18 gives the best switch position.  */
95   switch (name[18]) {
96   case 'L':
97     if (memEQ(name, "NETSNMP_DS_LIB_SECLEVEL", 23)) {
98     /*                                 ^           */
99 #ifdef NETSNMP_DS_LIB_SECLEVEL
100       *iv_return = NETSNMP_DS_LIB_SECLEVEL;
101       return PERL_constant_ISIV;
102 #else
103       return PERL_constant_NOTDEF;
104 #endif
105     }
106     break;
107   case 'M':
108     if (memEQ(name, "NETSNMP_DS_LIB_SECMODEL", 23)) {
109     /*                                 ^           */
110 #ifdef NETSNMP_DS_LIB_SECMODEL
111       *iv_return = NETSNMP_DS_LIB_SECMODEL;
112       return PERL_constant_ISIV;
113 #else
114       return PERL_constant_NOTDEF;
115 #endif
116     }
117     break;
118   case 'T':
119     if (memEQ(name, "NETSNMP_DS_LIB_APPTYPES", 23)) {
120     /*                                 ^           */
121 #ifdef NETSNMP_DS_LIB_APPTYPES
122       *iv_return = NETSNMP_DS_LIB_APPTYPES;
123       return PERL_constant_ISIV;
124 #else
125       return PERL_constant_NOTDEF;
126 #endif
127     }
128     break;
129   }
130   return PERL_constant_NOTFOUND;
131 }
132 
133 static int
constant_24(pTHX_ const char * name,IV * iv_return)134 constant_24 (pTHX_ const char *name, IV *iv_return) {
135   /* When generated this function returned values for the list of names given
136      here.  However, subsequent manual editing may have added or removed some.
137      NETSNMP_DS_LIB_16BIT_IDS NETSNMP_DS_LIB_COMMUNITY NETSNMP_DS_LIB_OIDPREFIX
138      NETSNMP_DS_LIB_OIDSUFFIX */
139   /* Offset 18 gives the best switch position.  */
140   switch (name[18]) {
141   case 'I':
142     if (memEQ(name, "NETSNMP_DS_LIB_16BIT_IDS", 24)) {
143     /*                                 ^            */
144 #ifdef NETSNMP_DS_LIB_16BIT_IDS
145       *iv_return = NETSNMP_DS_LIB_16BIT_IDS;
146       return PERL_constant_ISIV;
147 #else
148       return PERL_constant_NOTDEF;
149 #endif
150     }
151     break;
152   case 'M':
153     if (memEQ(name, "NETSNMP_DS_LIB_COMMUNITY", 24)) {
154     /*                                 ^            */
155 #ifdef NETSNMP_DS_LIB_COMMUNITY
156       *iv_return = NETSNMP_DS_LIB_COMMUNITY;
157       return PERL_constant_ISIV;
158 #else
159       return PERL_constant_NOTDEF;
160 #endif
161     }
162     break;
163   case 'P':
164     if (memEQ(name, "NETSNMP_DS_LIB_OIDPREFIX", 24)) {
165     /*                                 ^            */
166 #ifdef NETSNMP_DS_LIB_OIDPREFIX
167       *iv_return = NETSNMP_DS_LIB_OIDPREFIX;
168       return PERL_constant_ISIV;
169 #else
170       return PERL_constant_NOTDEF;
171 #endif
172     }
173     break;
174   case 'S':
175     if (memEQ(name, "NETSNMP_DS_LIB_OIDSUFFIX", 24)) {
176     /*                                 ^            */
177 #ifdef NETSNMP_DS_LIB_OIDSUFFIX
178       *iv_return = NETSNMP_DS_LIB_OIDSUFFIX;
179       return PERL_constant_ISIV;
180 #else
181       return PERL_constant_NOTDEF;
182 #endif
183     }
184     break;
185   }
186   return PERL_constant_NOTFOUND;
187 }
188 
189 static int
constant_25(pTHX_ const char * name,IV * iv_return)190 constant_25 (pTHX_ const char *name, IV *iv_return) {
191   /* When generated this function returned values for the list of names given
192      here.  However, subsequent manual editing may have added or removed some.
193      NETSNMP_DS_APPLICATION_ID NETSNMP_DS_LIB_KSM_KEYTAB
194      NETSNMP_DS_LIB_MIB_ERRORS NETSNMP_DS_LIB_PASSPHRASE
195      NETSNMP_DS_SNMP_VERSION_1 NETSNMP_DS_SNMP_VERSION_3 */
196   /* Offset 24 gives the best switch position.  */
197   switch (name[24]) {
198   case '1':
199     if (memEQ(name, "NETSNMP_DS_SNMP_VERSION_", 24)) {
200     /*                                       1      */
201 #ifdef NETSNMP_DS_SNMP_VERSION_1
202       *iv_return = NETSNMP_DS_SNMP_VERSION_1;
203       return PERL_constant_ISIV;
204 #else
205       return PERL_constant_NOTDEF;
206 #endif
207     }
208     break;
209   case '3':
210     if (memEQ(name, "NETSNMP_DS_SNMP_VERSION_", 24)) {
211     /*                                       3      */
212 #ifdef NETSNMP_DS_SNMP_VERSION_3
213       *iv_return = NETSNMP_DS_SNMP_VERSION_3;
214       return PERL_constant_ISIV;
215 #else
216       return PERL_constant_NOTDEF;
217 #endif
218     }
219     break;
220   case 'B':
221     if (memEQ(name, "NETSNMP_DS_LIB_KSM_KEYTA", 24)) {
222     /*                                       B      */
223 #ifdef NETSNMP_DS_LIB_KSM_KEYTAB
224       *iv_return = NETSNMP_DS_LIB_KSM_KEYTAB;
225       return PERL_constant_ISIV;
226 #else
227       return PERL_constant_NOTDEF;
228 #endif
229     }
230     break;
231   case 'D':
232     if (memEQ(name, "NETSNMP_DS_APPLICATION_I", 24)) {
233     /*                                       D      */
234 #ifdef NETSNMP_DS_APPLICATION_ID
235       *iv_return = NETSNMP_DS_APPLICATION_ID;
236       return PERL_constant_ISIV;
237 #else
238       return PERL_constant_NOTDEF;
239 #endif
240     }
241     break;
242   case 'E':
243     if (memEQ(name, "NETSNMP_DS_LIB_PASSPHRAS", 24)) {
244     /*                                       E      */
245 #ifdef NETSNMP_DS_LIB_PASSPHRASE
246       *iv_return = NETSNMP_DS_LIB_PASSPHRASE;
247       return PERL_constant_ISIV;
248 #else
249       return PERL_constant_NOTDEF;
250 #endif
251     }
252     break;
253   case 'S':
254     if (memEQ(name, "NETSNMP_DS_LIB_MIB_ERROR", 24)) {
255     /*                                       S      */
256 #ifdef NETSNMP_DS_LIB_MIB_ERRORS
257       *iv_return = NETSNMP_DS_LIB_MIB_ERRORS;
258       return PERL_constant_ISIV;
259 #else
260       return PERL_constant_NOTDEF;
261 #endif
262     }
263     break;
264   }
265   return PERL_constant_NOTFOUND;
266 }
267 
268 static int
constant_26(pTHX_ const char * name,IV * iv_return)269 constant_26 (pTHX_ const char *name, IV *iv_return) {
270   /* When generated this function returned values for the list of names given
271      here.  However, subsequent manual editing may have added or removed some.
272      NETSNMP_DS_LIB_CLIENT_ADDR NETSNMP_DS_LIB_DUMP_PACKET
273      NETSNMP_DS_LIB_MIB_REPLACE NETSNMP_DS_LIB_QUICK_PRINT
274      NETSNMP_DS_LIB_SNMPVERSION NETSNMP_DS_SNMP_VERSION_2c */
275   /* Offset 22 gives the best switch position.  */
276   switch (name[22]) {
277   case 'A':
278     if (memEQ(name, "NETSNMP_DS_LIB_CLIENT_ADDR", 26)) {
279     /*                                     ^          */
280 #ifdef NETSNMP_DS_LIB_CLIENT_ADDR
281       *iv_return = NETSNMP_DS_LIB_CLIENT_ADDR;
282       return PERL_constant_ISIV;
283 #else
284       return PERL_constant_NOTDEF;
285 #endif
286     }
287     break;
288   case 'C':
289     if (memEQ(name, "NETSNMP_DS_LIB_DUMP_PACKET", 26)) {
290     /*                                     ^          */
291 #ifdef NETSNMP_DS_LIB_DUMP_PACKET
292       *iv_return = NETSNMP_DS_LIB_DUMP_PACKET;
293       return PERL_constant_ISIV;
294 #else
295       return PERL_constant_NOTDEF;
296 #endif
297     }
298     break;
299   case 'L':
300     if (memEQ(name, "NETSNMP_DS_LIB_MIB_REPLACE", 26)) {
301     /*                                     ^          */
302 #ifdef NETSNMP_DS_LIB_MIB_REPLACE
303       *iv_return = NETSNMP_DS_LIB_MIB_REPLACE;
304       return PERL_constant_ISIV;
305 #else
306       return PERL_constant_NOTDEF;
307 #endif
308     }
309     break;
310   case 'N':
311     if (memEQ(name, "NETSNMP_DS_SNMP_VERSION_2c", 26)) {
312     /*                                     ^          */
313 #ifdef NETSNMP_DS_SNMP_VERSION_2c
314       *iv_return = NETSNMP_DS_SNMP_VERSION_2c;
315       return PERL_constant_ISIV;
316 #else
317       return PERL_constant_NOTDEF;
318 #endif
319     }
320     break;
321   case 'R':
322     if (memEQ(name, "NETSNMP_DS_LIB_QUICK_PRINT", 26)) {
323     /*                                     ^          */
324 #ifdef NETSNMP_DS_LIB_QUICK_PRINT
325       *iv_return = NETSNMP_DS_LIB_QUICK_PRINT;
326       return PERL_constant_ISIV;
327 #else
328       return PERL_constant_NOTDEF;
329 #endif
330     }
331     break;
332   case 'S':
333     if (memEQ(name, "NETSNMP_DS_LIB_SNMPVERSION", 26)) {
334     /*                                     ^          */
335 #ifdef NETSNMP_DS_LIB_SNMPVERSION
336       *iv_return = NETSNMP_DS_LIB_SNMPVERSION;
337       return PERL_constant_ISIV;
338 #else
339       return PERL_constant_NOTDEF;
340 #endif
341     }
342     break;
343   }
344   return PERL_constant_NOTFOUND;
345 }
346 
347 static int
constant_27(pTHX_ const char * name,IV * iv_return)348 constant_27 (pTHX_ const char *name, IV *iv_return) {
349   /* When generated this function returned values for the list of names given
350      here.  However, subsequent manual editing may have added or removed some.
351      NETSNMP_DS_LIB_DEFAULT_PORT NETSNMP_DS_LIB_MIB_WARNINGS
352      NETSNMP_DS_LIB_QUICKE_PRINT NETSNMP_DS_LIB_REGEX_ACCESS */
353   /* Offset 17 gives the best switch position.  */
354   switch (name[17]) {
355   case 'B':
356     if (memEQ(name, "NETSNMP_DS_LIB_MIB_WARNINGS", 27)) {
357     /*                                ^                */
358 #ifdef NETSNMP_DS_LIB_MIB_WARNINGS
359       *iv_return = NETSNMP_DS_LIB_MIB_WARNINGS;
360       return PERL_constant_ISIV;
361 #else
362       return PERL_constant_NOTDEF;
363 #endif
364     }
365     break;
366   case 'F':
367     if (memEQ(name, "NETSNMP_DS_LIB_DEFAULT_PORT", 27)) {
368     /*                                ^                */
369 #ifdef NETSNMP_DS_LIB_DEFAULT_PORT
370       *iv_return = NETSNMP_DS_LIB_DEFAULT_PORT;
371       return PERL_constant_ISIV;
372 #else
373       return PERL_constant_NOTDEF;
374 #endif
375     }
376     break;
377   case 'G':
378     if (memEQ(name, "NETSNMP_DS_LIB_REGEX_ACCESS", 27)) {
379     /*                                ^                */
380 #ifdef NETSNMP_DS_LIB_REGEX_ACCESS
381       *iv_return = NETSNMP_DS_LIB_REGEX_ACCESS;
382       return PERL_constant_ISIV;
383 #else
384       return PERL_constant_NOTDEF;
385 #endif
386     }
387     break;
388   case 'I':
389     if (memEQ(name, "NETSNMP_DS_LIB_QUICKE_PRINT", 27)) {
390     /*                                ^                */
391 #ifdef NETSNMP_DS_LIB_QUICKE_PRINT
392       *iv_return = NETSNMP_DS_LIB_QUICKE_PRINT;
393       return PERL_constant_ISIV;
394 #else
395       return PERL_constant_NOTDEF;
396 #endif
397     }
398     break;
399   }
400   return PERL_constant_NOTFOUND;
401 }
402 
403 static int
constant_28(pTHX_ const char * name,IV * iv_return)404 constant_28 (pTHX_ const char *name, IV *iv_return) {
405   /* When generated this function returned values for the list of names given
406      here.  However, subsequent manual editing may have added or removed some.
407      NETSNMP_DS_LIB_AUTHMASTERKEY NETSNMP_DS_LIB_CLIENTRECVBUF
408      NETSNMP_DS_LIB_CLIENTSENDBUF NETSNMP_DS_LIB_ESCAPE_QUOTES
409      NETSNMP_DS_LIB_LOG_TIMESTAMP NETSNMP_DS_LIB_PRIVMASTERKEY
410      NETSNMP_DS_LIB_RANDOM_ACCESS NETSNMP_DS_LIB_SERVERRECVBUF
411      NETSNMP_DS_LIB_SERVERSENDBUF */
412   /* Offset 15 gives the best switch position.  */
413   switch (name[15]) {
414   case 'A':
415     if (memEQ(name, "NETSNMP_DS_LIB_AUTHMASTERKEY", 28)) {
416     /*                              ^                   */
417 #ifdef NETSNMP_DS_LIB_AUTHMASTERKEY
418       *iv_return = NETSNMP_DS_LIB_AUTHMASTERKEY;
419       return PERL_constant_ISIV;
420 #else
421       return PERL_constant_NOTDEF;
422 #endif
423     }
424     break;
425   case 'C':
426     if (memEQ(name, "NETSNMP_DS_LIB_CLIENTRECVBUF", 28)) {
427     /*                              ^                   */
428 #ifdef NETSNMP_DS_LIB_CLIENTRECVBUF
429       *iv_return = NETSNMP_DS_LIB_CLIENTRECVBUF;
430       return PERL_constant_ISIV;
431 #else
432       return PERL_constant_NOTDEF;
433 #endif
434     }
435     if (memEQ(name, "NETSNMP_DS_LIB_CLIENTSENDBUF", 28)) {
436     /*                              ^                   */
437 #ifdef NETSNMP_DS_LIB_CLIENTSENDBUF
438       *iv_return = NETSNMP_DS_LIB_CLIENTSENDBUF;
439       return PERL_constant_ISIV;
440 #else
441       return PERL_constant_NOTDEF;
442 #endif
443     }
444     break;
445   case 'E':
446     if (memEQ(name, "NETSNMP_DS_LIB_ESCAPE_QUOTES", 28)) {
447     /*                              ^                   */
448 #ifdef NETSNMP_DS_LIB_ESCAPE_QUOTES
449       *iv_return = NETSNMP_DS_LIB_ESCAPE_QUOTES;
450       return PERL_constant_ISIV;
451 #else
452       return PERL_constant_NOTDEF;
453 #endif
454     }
455     break;
456   case 'L':
457     if (memEQ(name, "NETSNMP_DS_LIB_LOG_TIMESTAMP", 28)) {
458     /*                              ^                   */
459 #ifdef NETSNMP_DS_LIB_LOG_TIMESTAMP
460       *iv_return = NETSNMP_DS_LIB_LOG_TIMESTAMP;
461       return PERL_constant_ISIV;
462 #else
463       return PERL_constant_NOTDEF;
464 #endif
465     }
466     break;
467   case 'P':
468     if (memEQ(name, "NETSNMP_DS_LIB_PRIVMASTERKEY", 28)) {
469     /*                              ^                   */
470 #ifdef NETSNMP_DS_LIB_PRIVMASTERKEY
471       *iv_return = NETSNMP_DS_LIB_PRIVMASTERKEY;
472       return PERL_constant_ISIV;
473 #else
474       return PERL_constant_NOTDEF;
475 #endif
476     }
477     break;
478   case 'R':
479     if (memEQ(name, "NETSNMP_DS_LIB_RANDOM_ACCESS", 28)) {
480     /*                              ^                   */
481 #ifdef NETSNMP_DS_LIB_RANDOM_ACCESS
482       *iv_return = NETSNMP_DS_LIB_RANDOM_ACCESS;
483       return PERL_constant_ISIV;
484 #else
485       return PERL_constant_NOTDEF;
486 #endif
487     }
488     break;
489   case 'S':
490     if (memEQ(name, "NETSNMP_DS_LIB_SERVERRECVBUF", 28)) {
491     /*                              ^                   */
492 #ifdef NETSNMP_DS_LIB_SERVERRECVBUF
493       *iv_return = NETSNMP_DS_LIB_SERVERRECVBUF;
494       return PERL_constant_ISIV;
495 #else
496       return PERL_constant_NOTDEF;
497 #endif
498     }
499     if (memEQ(name, "NETSNMP_DS_LIB_SERVERSENDBUF", 28)) {
500     /*                              ^                   */
501 #ifdef NETSNMP_DS_LIB_SERVERSENDBUF
502       *iv_return = NETSNMP_DS_LIB_SERVERSENDBUF;
503       return PERL_constant_ISIV;
504 #else
505       return PERL_constant_NOTDEF;
506 #endif
507     }
508     break;
509   }
510   return PERL_constant_NOTFOUND;
511 }
512 
513 static int
constant_29(pTHX_ const char * name,IV * iv_return)514 constant_29 (pTHX_ const char *name, IV *iv_return) {
515   /* When generated this function returned values for the list of names given
516      here.  However, subsequent manual editing may have added or removed some.
517      NETSNMP_DS_LIB_AUTHPASSPHRASE NETSNMP_DS_LIB_EXTENDED_INDEX
518      NETSNMP_DS_LIB_OPTIONALCONFIG NETSNMP_DS_LIB_PERSISTENT_DIR
519      NETSNMP_DS_LIB_PRINT_FULL_OID NETSNMP_DS_LIB_PRINT_HEX_TEXT
520      NETSNMP_DS_LIB_PRIVPASSPHRASE NETSNMP_DS_LIB_REVERSE_ENCODE
521      NETSNMP_DS_LIB_SBSM_LOCAL_PWD */
522   /* Offset 23 gives the best switch position.  */
523   switch (name[23]) {
524   case 'A':
525     if (memEQ(name, "NETSNMP_DS_LIB_SBSM_LOCAL_PWD", 29)) {
526     /*                                      ^            */
527 #ifdef NETSNMP_DS_LIB_SBSM_LOCAL_PWD
528       *iv_return = NETSNMP_DS_LIB_SBSM_LOCAL_PWD;
529       return PERL_constant_ISIV;
530 #else
531       return PERL_constant_NOTDEF;
532 #endif
533     }
534     break;
535   case 'C':
536     if (memEQ(name, "NETSNMP_DS_LIB_OPTIONALCONFIG", 29)) {
537     /*                                      ^            */
538 #ifdef NETSNMP_DS_LIB_OPTIONALCONFIG
539       *iv_return = NETSNMP_DS_LIB_OPTIONALCONFIG;
540       return PERL_constant_ISIV;
541 #else
542       return PERL_constant_NOTDEF;
543 #endif
544     }
545     break;
546   case 'E':
547     if (memEQ(name, "NETSNMP_DS_LIB_REVERSE_ENCODE", 29)) {
548     /*                                      ^            */
549 #ifdef NETSNMP_DS_LIB_REVERSE_ENCODE
550       *iv_return = NETSNMP_DS_LIB_REVERSE_ENCODE;
551       return PERL_constant_ISIV;
552 #else
553       return PERL_constant_NOTDEF;
554 #endif
555     }
556     break;
557   case 'L':
558     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_FULL_OID", 29)) {
559     /*                                      ^            */
560 #ifdef NETSNMP_DS_LIB_PRINT_FULL_OID
561       *iv_return = NETSNMP_DS_LIB_PRINT_FULL_OID;
562       return PERL_constant_ISIV;
563 #else
564       return PERL_constant_NOTDEF;
565 #endif
566     }
567     break;
568   case 'N':
569     if (memEQ(name, "NETSNMP_DS_LIB_PERSISTENT_DIR", 29)) {
570     /*                                      ^            */
571 #ifdef NETSNMP_DS_LIB_PERSISTENT_DIR
572       *iv_return = NETSNMP_DS_LIB_PERSISTENT_DIR;
573       return PERL_constant_ISIV;
574 #else
575       return PERL_constant_NOTDEF;
576 #endif
577     }
578     break;
579   case 'P':
580     if (memEQ(name, "NETSNMP_DS_LIB_AUTHPASSPHRASE", 29)) {
581     /*                                      ^            */
582 #ifdef NETSNMP_DS_LIB_AUTHPASSPHRASE
583       *iv_return = NETSNMP_DS_LIB_AUTHPASSPHRASE;
584       return PERL_constant_ISIV;
585 #else
586       return PERL_constant_NOTDEF;
587 #endif
588     }
589     if (memEQ(name, "NETSNMP_DS_LIB_PRIVPASSPHRASE", 29)) {
590     /*                                      ^            */
591 #ifdef NETSNMP_DS_LIB_PRIVPASSPHRASE
592       *iv_return = NETSNMP_DS_LIB_PRIVPASSPHRASE;
593       return PERL_constant_ISIV;
594 #else
595       return PERL_constant_NOTDEF;
596 #endif
597     }
598     break;
599   case 'X':
600     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_HEX_TEXT", 29)) {
601     /*                                      ^            */
602 #ifdef NETSNMP_DS_LIB_PRINT_HEX_TEXT
603       *iv_return = NETSNMP_DS_LIB_PRINT_HEX_TEXT;
604       return PERL_constant_ISIV;
605 #else
606       return PERL_constant_NOTDEF;
607 #endif
608     }
609     break;
610   case '_':
611     if (memEQ(name, "NETSNMP_DS_LIB_EXTENDED_INDEX", 29)) {
612     /*                                      ^            */
613 #ifdef NETSNMP_DS_LIB_EXTENDED_INDEX
614       *iv_return = NETSNMP_DS_LIB_EXTENDED_INDEX;
615       return PERL_constant_ISIV;
616 #else
617       return PERL_constant_NOTDEF;
618 #endif
619     }
620     break;
621   }
622   return PERL_constant_NOTFOUND;
623 }
624 
625 static int
constant_30(pTHX_ const char * name,IV * iv_return)626 constant_30 (pTHX_ const char *name, IV *iv_return) {
627   /* When generated this function returned values for the list of names given
628      here.  However, subsequent manual editing may have added or removed some.
629      NETSNMP_DS_LIB_APPEND_LOGFILES NETSNMP_DS_LIB_MIB_PARSE_LABEL
630      NETSNMP_DS_LIB_NO_DISPLAY_HINT NETSNMP_DS_LIB_SAVE_MIB_DESCRS */
631   /* Offset 27 gives the best switch position.  */
632   switch (name[27]) {
633   case 'B':
634     if (memEQ(name, "NETSNMP_DS_LIB_MIB_PARSE_LABEL", 30)) {
635     /*                                          ^         */
636 #ifdef NETSNMP_DS_LIB_MIB_PARSE_LABEL
637       *iv_return = NETSNMP_DS_LIB_MIB_PARSE_LABEL;
638       return PERL_constant_ISIV;
639 #else
640       return PERL_constant_NOTDEF;
641 #endif
642     }
643     break;
644   case 'C':
645     if (memEQ(name, "NETSNMP_DS_LIB_SAVE_MIB_DESCRS", 30)) {
646     /*                                          ^         */
647 #ifdef NETSNMP_DS_LIB_SAVE_MIB_DESCRS
648       *iv_return = NETSNMP_DS_LIB_SAVE_MIB_DESCRS;
649       return PERL_constant_ISIV;
650 #else
651       return PERL_constant_NOTDEF;
652 #endif
653     }
654     break;
655   case 'I':
656     if (memEQ(name, "NETSNMP_DS_LIB_NO_DISPLAY_HINT", 30)) {
657     /*                                          ^         */
658 #ifdef NETSNMP_DS_LIB_NO_DISPLAY_HINT
659       *iv_return = NETSNMP_DS_LIB_NO_DISPLAY_HINT;
660       return PERL_constant_ISIV;
661 #else
662       return PERL_constant_NOTDEF;
663 #endif
664     }
665     break;
666   case 'L':
667     if (memEQ(name, "NETSNMP_DS_LIB_APPEND_LOGFILES", 30)) {
668     /*                                          ^         */
669 #ifdef NETSNMP_DS_LIB_APPEND_LOGFILES
670       *iv_return = NETSNMP_DS_LIB_APPEND_LOGFILES;
671       return PERL_constant_ISIV;
672 #else
673       return PERL_constant_NOTDEF;
674 #endif
675     }
676     break;
677   }
678   return PERL_constant_NOTFOUND;
679 }
680 
681 static int
constant_31(pTHX_ const char * name,IV * iv_return)682 constant_31 (pTHX_ const char *name, IV *iv_return) {
683   /* When generated this function returned values for the list of names given
684      here.  However, subsequent manual editing may have added or removed some.
685      NETSNMP_DS_LIB_AUTHLOCALIZEDKEY NETSNMP_DS_LIB_DONT_CHECK_RANGE
686      NETSNMP_DS_LIB_DONT_PRINT_UNITS NETSNMP_DS_LIB_HAVE_READ_CONFIG
687      NETSNMP_DS_LIB_KSM_SERVICE_NAME NETSNMP_DS_LIB_MIB_COMMENT_TERM
688      NETSNMP_DS_LIB_PRINT_BARE_VALUE NETSNMP_DS_LIB_PRIVLOCALIZEDKEY */
689   /* Offset 28 gives the best switch position.  */
690   switch (name[28]) {
691   case 'A':
692     if (memEQ(name, "NETSNMP_DS_LIB_KSM_SERVICE_NAME", 31)) {
693     /*                                           ^         */
694 #ifdef NETSNMP_DS_LIB_KSM_SERVICE_NAME
695       *iv_return = NETSNMP_DS_LIB_KSM_SERVICE_NAME;
696       return PERL_constant_ISIV;
697 #else
698       return PERL_constant_NOTDEF;
699 #endif
700     }
701     break;
702   case 'E':
703     if (memEQ(name, "NETSNMP_DS_LIB_MIB_COMMENT_TERM", 31)) {
704     /*                                           ^         */
705 #ifdef NETSNMP_DS_LIB_MIB_COMMENT_TERM
706       *iv_return = NETSNMP_DS_LIB_MIB_COMMENT_TERM;
707       return PERL_constant_ISIV;
708 #else
709       return PERL_constant_NOTDEF;
710 #endif
711     }
712     break;
713   case 'F':
714     if (memEQ(name, "NETSNMP_DS_LIB_HAVE_READ_CONFIG", 31)) {
715     /*                                           ^         */
716 #ifdef NETSNMP_DS_LIB_HAVE_READ_CONFIG
717       *iv_return = NETSNMP_DS_LIB_HAVE_READ_CONFIG;
718       return PERL_constant_ISIV;
719 #else
720       return PERL_constant_NOTDEF;
721 #endif
722     }
723     break;
724   case 'I':
725     if (memEQ(name, "NETSNMP_DS_LIB_DONT_PRINT_UNITS", 31)) {
726     /*                                           ^         */
727 #ifdef NETSNMP_DS_LIB_DONT_PRINT_UNITS
728       *iv_return = NETSNMP_DS_LIB_DONT_PRINT_UNITS;
729       return PERL_constant_ISIV;
730 #else
731       return PERL_constant_NOTDEF;
732 #endif
733     }
734     break;
735   case 'K':
736     if (memEQ(name, "NETSNMP_DS_LIB_AUTHLOCALIZEDKEY", 31)) {
737     /*                                           ^         */
738 #ifdef NETSNMP_DS_LIB_AUTHLOCALIZEDKEY
739       *iv_return = NETSNMP_DS_LIB_AUTHLOCALIZEDKEY;
740       return PERL_constant_ISIV;
741 #else
742       return PERL_constant_NOTDEF;
743 #endif
744     }
745     if (memEQ(name, "NETSNMP_DS_LIB_PRIVLOCALIZEDKEY", 31)) {
746     /*                                           ^         */
747 #ifdef NETSNMP_DS_LIB_PRIVLOCALIZEDKEY
748       *iv_return = NETSNMP_DS_LIB_PRIVLOCALIZEDKEY;
749       return PERL_constant_ISIV;
750 #else
751       return PERL_constant_NOTDEF;
752 #endif
753     }
754     break;
755   case 'L':
756     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_BARE_VALUE", 31)) {
757     /*                                           ^         */
758 #ifdef NETSNMP_DS_LIB_PRINT_BARE_VALUE
759       *iv_return = NETSNMP_DS_LIB_PRINT_BARE_VALUE;
760       return PERL_constant_ISIV;
761 #else
762       return PERL_constant_NOTDEF;
763 #endif
764     }
765     break;
766   case 'N':
767     if (memEQ(name, "NETSNMP_DS_LIB_DONT_CHECK_RANGE", 31)) {
768     /*                                           ^         */
769 #ifdef NETSNMP_DS_LIB_DONT_CHECK_RANGE
770       *iv_return = NETSNMP_DS_LIB_DONT_CHECK_RANGE;
771       return PERL_constant_ISIV;
772 #else
773       return PERL_constant_NOTDEF;
774 #endif
775     }
776     break;
777   }
778   return PERL_constant_NOTFOUND;
779 }
780 
781 static int
constant_32(pTHX_ const char * name,IV * iv_return)782 constant_32 (pTHX_ const char *name, IV *iv_return) {
783   /* When generated this function returned values for the list of names given
784      here.  However, subsequent manual editing may have added or removed some.
785      NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT NETSNMP_DS_LIB_CONFIGURATION_DIR
786      NETSNMP_DS_LIB_DONT_READ_CONFIGS NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH
787      NETSNMP_DS_LIB_NO_TOKEN_WARNINGS NETSNMP_DS_LIB_NUMERIC_TIMETICKS
788      NETSNMP_DS_LIB_OID_OUTPUT_FORMAT NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY
789      NETSNMP_DS_LIB_TEMP_FILE_PATTERN */
790   /* Offset 29 gives the best switch position.  */
791   switch (name[29]) {
792   case 'C':
793     if (memEQ(name, "NETSNMP_DS_LIB_NUMERIC_TIMETICKS", 32)) {
794     /*                                            ^         */
795 #ifdef NETSNMP_DS_LIB_NUMERIC_TIMETICKS
796       *iv_return = NETSNMP_DS_LIB_NUMERIC_TIMETICKS;
797       return PERL_constant_ISIV;
798 #else
799       return PERL_constant_NOTDEF;
800 #endif
801     }
802     break;
803   case 'D':
804     if (memEQ(name, "NETSNMP_DS_LIB_CONFIGURATION_DIR", 32)) {
805     /*                                            ^         */
806 #ifdef NETSNMP_DS_LIB_CONFIGURATION_DIR
807       *iv_return = NETSNMP_DS_LIB_CONFIGURATION_DIR;
808       return PERL_constant_ISIV;
809 #else
810       return PERL_constant_NOTDEF;
811 #endif
812     }
813     break;
814   case 'E':
815     if (memEQ(name, "NETSNMP_DS_LIB_TEMP_FILE_PATTERN", 32)) {
816     /*                                            ^         */
817 #ifdef NETSNMP_DS_LIB_TEMP_FILE_PATTERN
818       *iv_return = NETSNMP_DS_LIB_TEMP_FILE_PATTERN;
819       return PERL_constant_ISIV;
820 #else
821       return PERL_constant_NOTDEF;
822 #endif
823     }
824     break;
825   case 'G':
826     if (memEQ(name, "NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH", 32)) {
827     /*                                            ^         */
828 #ifdef NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH
829       *iv_return = NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH;
830       return PERL_constant_ISIV;
831 #else
832       return PERL_constant_NOTDEF;
833 #endif
834     }
835     break;
836   case 'I':
837     if (memEQ(name, "NETSNMP_DS_LIB_DONT_READ_CONFIGS", 32)) {
838     /*                                            ^         */
839 #ifdef NETSNMP_DS_LIB_DONT_READ_CONFIGS
840       *iv_return = NETSNMP_DS_LIB_DONT_READ_CONFIGS;
841       return PERL_constant_ISIV;
842 #else
843       return PERL_constant_NOTDEF;
844 #endif
845     }
846     break;
847   case 'M':
848     if (memEQ(name, "NETSNMP_DS_LIB_OID_OUTPUT_FORMAT", 32)) {
849     /*                                            ^         */
850 #ifdef NETSNMP_DS_LIB_OID_OUTPUT_FORMAT
851       *iv_return = NETSNMP_DS_LIB_OID_OUTPUT_FORMAT;
852       return PERL_constant_ISIV;
853 #else
854       return PERL_constant_NOTDEF;
855 #endif
856     }
857     break;
858   case 'N':
859     if (memEQ(name, "NETSNMP_DS_LIB_NO_TOKEN_WARNINGS", 32)) {
860     /*                                            ^         */
861 #ifdef NETSNMP_DS_LIB_NO_TOKEN_WARNINGS
862       *iv_return = NETSNMP_DS_LIB_NO_TOKEN_WARNINGS;
863       return PERL_constant_ISIV;
864 #else
865       return PERL_constant_NOTDEF;
866 #endif
867     }
868     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY", 32)) {
869     /*                                            ^         */
870 #ifdef NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY
871       *iv_return = NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY;
872       return PERL_constant_ISIV;
873 #else
874       return PERL_constant_NOTDEF;
875 #endif
876     }
877     break;
878   case 'P':
879     if (memEQ(name, "NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT", 32)) {
880     /*                                            ^         */
881 #ifdef NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT
882       *iv_return = NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT;
883       return PERL_constant_ISIV;
884 #else
885       return PERL_constant_NOTDEF;
886 #endif
887     }
888     break;
889   }
890   return PERL_constant_NOTFOUND;
891 }
892 
893 static int
constant_33(pTHX_ const char * name,IV * iv_return)894 constant_33 (pTHX_ const char *name, IV *iv_return) {
895   /* When generated this function returned values for the list of names given
896      here.  However, subsequent manual editing may have added or removed some.
897      NETSNMP_DS_LIB_ALARM_DONT_USE_SIG NETSNMP_DS_LIB_DONT_PERSIST_STATE
898      NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS
899      NETSNMP_DS_LIB_READ_UCD_STYLE_OID */
900   /* Offset 32 gives the best switch position.  */
901   switch (name[32]) {
902   case 'D':
903     if (memEQ(name, "NETSNMP_DS_LIB_READ_UCD_STYLE_OI", 32)) {
904     /*                                               D      */
905 #ifdef NETSNMP_DS_LIB_READ_UCD_STYLE_OID
906       *iv_return = NETSNMP_DS_LIB_READ_UCD_STYLE_OID;
907       return PERL_constant_ISIV;
908 #else
909       return PERL_constant_NOTDEF;
910 #endif
911     }
912     break;
913   case 'E':
914     if (memEQ(name, "NETSNMP_DS_LIB_DONT_PERSIST_STAT", 32)) {
915     /*                                               E      */
916 #ifdef NETSNMP_DS_LIB_DONT_PERSIST_STATE
917       *iv_return = NETSNMP_DS_LIB_DONT_PERSIST_STATE;
918       return PERL_constant_ISIV;
919 #else
920       return PERL_constant_NOTDEF;
921 #endif
922     }
923     break;
924   case 'G':
925     if (memEQ(name, "NETSNMP_DS_LIB_ALARM_DONT_USE_SI", 32)) {
926     /*                                               G      */
927 #ifdef NETSNMP_DS_LIB_ALARM_DONT_USE_SIG
928       *iv_return = NETSNMP_DS_LIB_ALARM_DONT_USE_SIG;
929       return PERL_constant_ISIV;
930 #else
931       return PERL_constant_NOTDEF;
932 #endif
933     }
934     break;
935   case 'M':
936     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_NUMERIC_ENU", 32)) {
937     /*                                               M      */
938 #ifdef NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM
939       *iv_return = NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM;
940       return PERL_constant_ISIV;
941 #else
942       return PERL_constant_NOTDEF;
943 #endif
944     }
945     break;
946   case 'S':
947     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_NUMERIC_OID", 32)) {
948     /*                                               S      */
949 #ifdef NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS
950       *iv_return = NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS;
951       return PERL_constant_ISIV;
952 #else
953       return PERL_constant_NOTDEF;
954 #endif
955     }
956     break;
957   }
958   return PERL_constant_NOTFOUND;
959 }
960 
961 static int
constant_34(pTHX_ const char * name,IV * iv_return)962 constant_34 (pTHX_ const char *name, IV *iv_return) {
963   /* When generated this function returned values for the list of names given
964      here.  However, subsequent manual editing may have added or removed some.
965      NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS
966      NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID */
967   /* Offset 28 gives the best switch position.  */
968   switch (name[28]) {
969   case 'G':
970     if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD", 34)) {
971     /*                                           ^            */
972 #ifdef NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD
973       *iv_return = NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD;
974       return PERL_constant_ISIV;
975 #else
976       return PERL_constant_NOTDEF;
977 #endif
978     }
979     break;
980   case 'L':
981     if (memEQ(name, "NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID", 34)) {
982     /*                                           ^            */
983 #ifdef NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID
984       *iv_return = NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID;
985       return PERL_constant_ISIV;
986 #else
987       return PERL_constant_NOTDEF;
988 #endif
989     }
990     break;
991   case 'M':
992     if (memEQ(name, "NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY", 34)) {
993     /*                                           ^            */
994 #ifdef NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY
995       *iv_return = NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY;
996       return PERL_constant_ISIV;
997 #else
998       return PERL_constant_NOTDEF;
999 #endif
1000     }
1001     break;
1002   case 'N':
1003     if (memEQ(name, "NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS", 34)) {
1004     /*                                           ^            */
1005 #ifdef NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS
1006       *iv_return = NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS;
1007       return PERL_constant_ISIV;
1008 #else
1009       return PERL_constant_NOTDEF;
1010 #endif
1011     }
1012     break;
1013   }
1014   return PERL_constant_NOTFOUND;
1015 }
1016 
1017 static int
constant_38(pTHX_ const char * name,IV * iv_return)1018 constant_38 (pTHX_ const char *name, IV *iv_return) {
1019   /* When generated this function returned values for the list of names given
1020      here.  However, subsequent manual editing may have added or removed some.
1021      NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD
1022      NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE
1023      NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG */
1024   /* Offset 37 gives the best switch position.  */
1025   switch (name[37]) {
1026   case 'D':
1027     if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOA", 37)) {
1028     /*                                                    D      */
1029 #ifdef NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD
1030       *iv_return = NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD;
1031       return PERL_constant_ISIV;
1032 #else
1033       return PERL_constant_NOTDEF;
1034 #endif
1035     }
1036     break;
1037   case 'E':
1038     if (memEQ(name, "NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAV", 37)) {
1039     /*                                                    E      */
1040 #ifdef NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE
1041       *iv_return = NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE;
1042       return PERL_constant_ISIV;
1043 #else
1044       return PERL_constant_NOTDEF;
1045 #endif
1046     }
1047     break;
1048   case 'G':
1049     if (memEQ(name, "NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFI", 37)) {
1050     /*                                                    G      */
1051 #ifdef NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG
1052       *iv_return = NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG;
1053       return PERL_constant_ISIV;
1054 #else
1055       return PERL_constant_NOTDEF;
1056 #endif
1057     }
1058     break;
1059   }
1060   return PERL_constant_NOTFOUND;
1061 }
1062 
1063 static int
constant(pTHX_ const char * name,STRLEN len,IV * iv_return)1064 constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
1065   /* Initially switch on the length of the name.  */
1066   /* When generated this function returned values for the list of names given
1067      in this section of perl code.  Rather than manually editing these functions
1068      to add or remove constants, which would result in this comment and section
1069      of code becoming inaccurate, we recommend that you edit this section of
1070      code, and use it to regenerate a new set of constant functions which you
1071      then use to replace the originals.
1072 
1073      Regenerate these constant functions by feeding this entire source file to
1074      perl -x
1075 
1076 #!/usr/bin/perl -w
1077 use ExtUtils::Constant qw (constant_types C_constant XS_constant);
1078 
1079 my $types = {map {($_, 1)} qw(IV)};
1080 my @names = (qw(NETSNMP_DS_APPLICATION_ID NETSNMP_DS_LIBRARY_ID
1081 	       NETSNMP_DS_LIB_16BIT_IDS NETSNMP_DS_LIB_2DIGIT_HEX_OUTPUT
1082 	       NETSNMP_DS_LIB_ALARM_DONT_USE_SIG NETSNMP_DS_LIB_APPEND_LOGFILES
1083 	       NETSNMP_DS_LIB_APPTYPE NETSNMP_DS_LIB_APPTYPES
1084 	       NETSNMP_DS_LIB_AUTHLOCALIZEDKEY NETSNMP_DS_LIB_AUTHMASTERKEY
1085 	       NETSNMP_DS_LIB_AUTHPASSPHRASE NETSNMP_DS_LIB_CLIENTRECVBUF
1086 	       NETSNMP_DS_LIB_CLIENTSENDBUF NETSNMP_DS_LIB_CLIENT_ADDR
1087 	       NETSNMP_DS_LIB_COMMUNITY NETSNMP_DS_LIB_CONFIGURATION_DIR
1088 	       NETSNMP_DS_LIB_CONTEXT NETSNMP_DS_LIB_DEFAULT_PORT
1089 	       NETSNMP_DS_LIB_DISABLE_CONFIG_LOAD
1090 	       NETSNMP_DS_LIB_DISABLE_PERSISTENT_LOAD
1091 	       NETSNMP_DS_LIB_DISABLE_PERSISTENT_SAVE
1092 	       NETSNMP_DS_LIB_DONT_BREAKDOWN_OIDS
1093 	       NETSNMP_DS_LIB_DONT_CHECK_RANGE
1094 	       NETSNMP_DS_LIB_DONT_PERSIST_STATE
1095 	       NETSNMP_DS_LIB_DONT_PRINT_UNITS NETSNMP_DS_LIB_DONT_READ_CONFIGS
1096 	       NETSNMP_DS_LIB_DUMP_PACKET NETSNMP_DS_LIB_ESCAPE_QUOTES
1097 	       NETSNMP_DS_LIB_EXTENDED_INDEX NETSNMP_DS_LIB_HAVE_READ_CONFIG
1098 	       NETSNMP_DS_LIB_HAVE_READ_PREMIB_CONFIG
1099 	       NETSNMP_DS_LIB_HEX_OUTPUT_LENGTH
1100 	       NETSNMP_DS_LIB_IGNORE_NO_COMMUNITY NETSNMP_DS_LIB_KSM_KEYTAB
1101 	       NETSNMP_DS_LIB_KSM_SERVICE_NAME NETSNMP_DS_LIB_LOG_TIMESTAMP
1102 	       NETSNMP_DS_LIB_MIBDIRS NETSNMP_DS_LIB_MIB_COMMENT_TERM
1103 	       NETSNMP_DS_LIB_MIB_ERRORS NETSNMP_DS_LIB_MIB_PARSE_LABEL
1104 	       NETSNMP_DS_LIB_MIB_REPLACE NETSNMP_DS_LIB_MIB_WARNINGS
1105 	       NETSNMP_DS_LIB_NO_DISPLAY_HINT NETSNMP_DS_LIB_NO_TOKEN_WARNINGS
1106 	       NETSNMP_DS_LIB_NUMERIC_TIMETICKS NETSNMP_DS_LIB_OIDPREFIX
1107 	       NETSNMP_DS_LIB_OIDSUFFIX NETSNMP_DS_LIB_OID_OUTPUT_FORMAT
1108 	       NETSNMP_DS_LIB_OPTIONALCONFIG NETSNMP_DS_LIB_PASSPHRASE
1109 	       NETSNMP_DS_LIB_PERSISTENT_DIR NETSNMP_DS_LIB_PRINT_BARE_VALUE
1110 	       NETSNMP_DS_LIB_PRINT_FULL_OID NETSNMP_DS_LIB_PRINT_HEX_TEXT
1111 	       NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM
1112 	       NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS
1113 	       NETSNMP_DS_LIB_PRINT_SUFFIX_ONLY
1114 	       NETSNMP_DS_LIB_PRINT_UCD_STYLE_OID
1115 	       NETSNMP_DS_LIB_PRIVLOCALIZEDKEY NETSNMP_DS_LIB_PRIVMASTERKEY
1116 	       NETSNMP_DS_LIB_PRIVPASSPHRASE NETSNMP_DS_LIB_QUICKE_PRINT
1117 	       NETSNMP_DS_LIB_QUICK_PRINT NETSNMP_DS_LIB_RANDOM_ACCESS
1118 	       NETSNMP_DS_LIB_READ_UCD_STYLE_OID NETSNMP_DS_LIB_REGEX_ACCESS
1119 	       NETSNMP_DS_LIB_REVERSE_ENCODE NETSNMP_DS_LIB_SAVE_MIB_DESCRS
1120 	       NETSNMP_DS_LIB_SBSM_LOCAL_PWD NETSNMP_DS_LIB_SECLEVEL
1121 	       NETSNMP_DS_LIB_SECMODEL NETSNMP_DS_LIB_SECNAME
1122 	       NETSNMP_DS_LIB_SERVERRECVBUF NETSNMP_DS_LIB_SERVERSENDBUF
1123 	       NETSNMP_DS_LIB_SNMPVERSION NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT
1124 	       NETSNMP_DS_LIB_TEMP_FILE_PATTERN NETSNMP_DS_MAX_IDS
1125 	       NETSNMP_DS_MAX_SUBIDS NETSNMP_DS_SNMP_VERSION_1
1126 	       NETSNMP_DS_SNMP_VERSION_2c NETSNMP_DS_SNMP_VERSION_3
1127 	       NETSNMP_DS_TOKEN_ID));
1128 
1129 print constant_types(); # macro defs
1130 foreach (C_constant ("NetSNMP::default_store", 'constant', 'IV', $types, undef, 3, @names) ) {
1131     print $_, "\n"; # C constant subs
1132 }
1133 print "#### XS Section:\n";
1134 print XS_constant ("NetSNMP::default_store", $types);
1135 __END__
1136    */
1137 
1138   switch (len) {
1139   case 18:
1140     if (memEQ(name, "NETSNMP_DS_MAX_IDS", 18)) {
1141 #ifdef NETSNMP_DS_MAX_IDS
1142       *iv_return = NETSNMP_DS_MAX_IDS;
1143       return PERL_constant_ISIV;
1144 #else
1145       return PERL_constant_NOTDEF;
1146 #endif
1147     }
1148     break;
1149   case 19:
1150     if (memEQ(name, "NETSNMP_DS_TOKEN_ID", 19)) {
1151 #ifdef NETSNMP_DS_TOKEN_ID
1152       *iv_return = NETSNMP_DS_TOKEN_ID;
1153       return PERL_constant_ISIV;
1154 #else
1155       return PERL_constant_NOTDEF;
1156 #endif
1157     }
1158     break;
1159   case 21:
1160     /* Names all of length 21.  */
1161     /* NETSNMP_DS_LIBRARY_ID NETSNMP_DS_MAX_SUBIDS */
1162     /* Offset 11 gives the best switch position.  */
1163     switch (name[11]) {
1164     case 'L':
1165       if (memEQ(name, "NETSNMP_DS_LIBRARY_ID", 21)) {
1166       /*                          ^                */
1167 #ifdef NETSNMP_DS_LIBRARY_ID
1168         *iv_return = NETSNMP_DS_LIBRARY_ID;
1169         return PERL_constant_ISIV;
1170 #else
1171         return PERL_constant_NOTDEF;
1172 #endif
1173       }
1174       break;
1175     case 'M':
1176       if (memEQ(name, "NETSNMP_DS_MAX_SUBIDS", 21)) {
1177       /*                          ^                */
1178 #ifdef NETSNMP_DS_MAX_SUBIDS
1179         *iv_return = NETSNMP_DS_MAX_SUBIDS;
1180         return PERL_constant_ISIV;
1181 #else
1182         return PERL_constant_NOTDEF;
1183 #endif
1184       }
1185       break;
1186     }
1187     break;
1188   case 22:
1189     return constant_22 (aTHX_ name, iv_return);
1190     break;
1191   case 23:
1192     return constant_23 (aTHX_ name, iv_return);
1193     break;
1194   case 24:
1195     return constant_24 (aTHX_ name, iv_return);
1196     break;
1197   case 25:
1198     return constant_25 (aTHX_ name, iv_return);
1199     break;
1200   case 26:
1201     return constant_26 (aTHX_ name, iv_return);
1202     break;
1203   case 27:
1204     return constant_27 (aTHX_ name, iv_return);
1205     break;
1206   case 28:
1207     return constant_28 (aTHX_ name, iv_return);
1208     break;
1209   case 29:
1210     return constant_29 (aTHX_ name, iv_return);
1211     break;
1212   case 30:
1213     return constant_30 (aTHX_ name, iv_return);
1214     break;
1215   case 31:
1216     return constant_31 (aTHX_ name, iv_return);
1217     break;
1218   case 32:
1219     return constant_32 (aTHX_ name, iv_return);
1220     break;
1221   case 33:
1222     return constant_33 (aTHX_ name, iv_return);
1223     break;
1224   case 34:
1225     return constant_34 (aTHX_ name, iv_return);
1226     break;
1227   case 35:
1228     if (memEQ(name, "NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT", 35)) {
1229 #ifdef NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT
1230       *iv_return = NETSNMP_DS_LIB_STRING_OUTPUT_FORMAT;
1231       return PERL_constant_ISIV;
1232 #else
1233       return PERL_constant_NOTDEF;
1234 #endif
1235     }
1236     break;
1237   case 36:
1238     if (memEQ(name, "NETSNMP_DS_LIB_CLIENT_ADDR_USES_PORT", 36)) {
1239 #ifdef NETSNMP_DS_LIB_CLIENT_ADDR_USES_PORT
1240       *iv_return = NETSNMP_DS_LIB_CLIENT_ADDR_USES_PORT;
1241       return PERL_constant_ISIV;
1242 #else
1243       return PERL_constant_NOTDEF;
1244 #endif
1245     }
1246     break;
1247 
1248   case 38:
1249     return constant_38 (aTHX_ name, iv_return);
1250     break;
1251   }
1252   return PERL_constant_NOTFOUND;
1253 }
1254 
1255 /* autogenerated by "gen" from const-xs.inc */
1256 
1257 MODULE = NetSNMP::default_store         PACKAGE = NetSNMP::default_store
1258 
1259 void
1260 constant(sv)
1261     PREINIT:
1262 #ifdef dXSTARG
1263 	dXSTARG; /* Faster if we have it.  */
1264 #else
1265 	dTARGET;
1266 #endif
1267 	STRLEN		len;
1268         int		type;
1269 	IV		iv = 0;
1270 	/* NV		nv;	Uncomment this if you need to return NVs */
1271 	/* const char	*pv;	Uncomment this if you need to return PVs */
1272     INPUT:
1273 	SV *		sv;
1274         const char *	s = SvPV(sv, len);
1275     PPCODE:
1276         /* Change this to constant(aTHX_ s, len, &iv, &nv);
1277            if you need to return both NVs and IVs */
1278 	type = constant(aTHX_ s, len, &iv);
1279       /* Return 1 or 2 items. First is error message, or undef if no error.
1280            Second, if present, is found value */
1281         switch (type) {
1282         case PERL_constant_NOTFOUND:
1283           sv = sv_2mortal(newSVpvf("%s is not a valid NetSNMP::default_store macro", s));
1284           PUSHs(sv);
1285           break;
1286         case PERL_constant_NOTDEF:
1287           sv = sv_2mortal(newSVpvf(
1288 	    "Your vendor has not defined NetSNMP::default_store macro %s, used", s));
1289           PUSHs(sv);
1290           break;
1291         case PERL_constant_ISIV:
1292           EXTEND(SP, 1);
1293           PUSHs(&PL_sv_undef);
1294           PUSHi(iv);
1295           break;
1296 	/* Uncomment this if you need to return NOs
1297         case PERL_constant_ISNO:
1298           EXTEND(SP, 1);
1299           PUSHs(&PL_sv_undef);
1300           PUSHs(&PL_sv_no);
1301           break; */
1302 	/* Uncomment this if you need to return NVs
1303         case PERL_constant_ISNV:
1304           EXTEND(SP, 1);
1305           PUSHs(&PL_sv_undef);
1306           PUSHn(nv);
1307           break; */
1308 	/* Uncomment this if you need to return PVs
1309         case PERL_constant_ISPV:
1310           EXTEND(SP, 1);
1311           PUSHs(&PL_sv_undef);
1312           PUSHp(pv, strlen(pv));
1313           break; */
1314 	/* Uncomment this if you need to return PVNs
1315         case PERL_constant_ISPVN:
1316           EXTEND(SP, 1);
1317           PUSHs(&PL_sv_undef);
1318           PUSHp(pv, iv);
1319           break; */
1320 	/* Uncomment this if you need to return SVs
1321         case PERL_constant_ISSV:
1322           EXTEND(SP, 1);
1323           PUSHs(&PL_sv_undef);
1324           PUSHs(sv);
1325           break; */
1326 	/* Uncomment this if you need to return UNDEFs
1327         case PERL_constant_ISUNDEF:
1328           break; */
1329 	/* Uncomment this if you need to return UVs
1330         case PERL_constant_ISUV:
1331           EXTEND(SP, 1);
1332           PUSHs(&PL_sv_undef);
1333           PUSHu((UV)iv);
1334           break; */
1335 	/* Uncomment this if you need to return YESs
1336         case PERL_constant_ISYES:
1337           EXTEND(SP, 1);
1338           PUSHs(&PL_sv_undef);
1339           PUSHs(&PL_sv_yes);
1340           break; */
1341         default:
1342           sv = sv_2mortal(newSVpvf(
1343 	    "Unexpected return type %d while processing NetSNMP::default_store macro %s, used",
1344                type, s));
1345           PUSHs(sv);
1346         }
1347 
1348 
1349 
1350 int
1351 netsnmp_ds_get_boolean(storeid, which)
1352 	int	storeid
1353 	int	which
1354 
1355 int
1356 netsnmp_ds_get_int(storeid, which)
1357 	int	storeid
1358 	int	which
1359 
1360 char *
1361 netsnmp_ds_get_string(storeid, which)
1362 	int	storeid
1363 	int	which
1364 
1365 void *
1366 netsnmp_ds_get_void(storeid, which)
1367 	int	storeid
1368 	int	which
1369 
1370 int
1371 netsnmp_ds_register_config(type, ftype, token, storeid, which)
1372 	unsigned char	type
1373 	const char *	ftype
1374 	const char *	token
1375 	int	storeid
1376 	int	which
1377 
1378 int
1379 netsnmp_ds_register_premib(type, ftype, token, storeid, which)
1380 	unsigned char	type
1381 	const char *	ftype
1382 	const char *	token
1383 	int	storeid
1384 	int	which
1385 
1386 int
1387 netsnmp_ds_set_boolean(storeid, which, value)
1388 	int	storeid
1389 	int	which
1390 	int	value
1391 
1392 int
1393 netsnmp_ds_set_int(storeid, which, value)
1394 	int	storeid
1395 	int	which
1396 	int	value
1397 
1398 int
1399 netsnmp_ds_set_string(storeid, which, value)
1400 	int	storeid
1401 	int	which
1402 	const char *	value
1403 
1404 int
1405 netsnmp_ds_set_void(storeid, which, value)
1406 	int	storeid
1407 	int	which
1408 	void *	value
1409 
1410 void
1411 netsnmp_ds_shutdown()
1412 
1413 int
1414 netsnmp_ds_toggle_boolean(storeid, which)
1415 	int	storeid
1416 	int	which
1417