1#define PERL_constant_NOTFOUND 1 2#define PERL_constant_NOTDEF 2 3#define PERL_constant_ISIV 3 4#define PERL_constant_ISNO 4 5#define PERL_constant_ISNV 5 6#define PERL_constant_ISPV 6 7#define PERL_constant_ISPVN 7 8#define PERL_constant_ISSV 8 9#define PERL_constant_ISUNDEF 9 10#define PERL_constant_ISUV 10 11#define PERL_constant_ISYES 11 12 13#ifndef NVTYPE 14typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */ 15#endif 16#ifndef aTHX_ 17#define aTHX_ /* 5.6 or later define this for threading support. */ 18#endif 19#ifndef pTHX_ 20#define pTHX_ /* 5.6 or later define this for threading support. */ 21#endif 22 23static int 24constant_25 (pTHX_ const char *name, IV *iv_return) { 25 /* When generated this function returned values for the list of names given 26 here. However, subsequent manual editing may have added or removed some. 27 NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_FAIL 28 NETSNMPTRAPD_POST_HANDLER */ 29 /* Offset 15 gives the best switch position. */ 30 switch (name[15]) { 31 case 'N': 32 if (memEQ(name, "NETSNMPTRAPD_HANDLER_FAIL", 25)) { 33 /* ^ */ 34#ifdef NETSNMPTRAPD_HANDLER_FAIL 35 *iv_return = NETSNMPTRAPD_HANDLER_FAIL; 36 return PERL_constant_ISIV; 37#else 38 return PERL_constant_NOTDEF; 39#endif 40 } 41 break; 42 case 'S': 43 if (memEQ(name, "NETSNMPTRAPD_POST_HANDLER", 25)) { 44 /* ^ */ 45#ifdef NETSNMPTRAPD_POST_HANDLER 46 *iv_return = NETSNMPTRAPD_POST_HANDLER; 47 return PERL_constant_ISIV; 48#else 49 return PERL_constant_NOTDEF; 50#endif 51 } 52 break; 53 case 'T': 54 if (memEQ(name, "NETSNMPTRAPD_AUTH_HANDLER", 25)) { 55 /* ^ */ 56#ifdef NETSNMPTRAPD_AUTH_HANDLER 57 *iv_return = NETSNMPTRAPD_AUTH_HANDLER; 58 return PERL_constant_ISIV; 59#else 60 return PERL_constant_NOTDEF; 61#endif 62 } 63 break; 64 } 65 return PERL_constant_NOTFOUND; 66} 67 68static int 69constant (pTHX_ const char *name, STRLEN len, IV *iv_return) { 70 /* Initially switch on the length of the name. */ 71 /* When generated this function returned values for the list of names given 72 in this section of perl code. Rather than manually editing these functions 73 to add or remove constants, which would result in this comment and section 74 of code becoming inaccurate, we recommend that you edit this section of 75 code, and use it to regenerate a new set of constant functions which you 76 then use to replace the originals. 77 78 Regenerate these constant functions by feeding this entire source file to 79 perl -x 80 81#!/usr/bin/perl -w 82use ExtUtils::Constant qw (constant_types C_constant XS_constant); 83 84my $types = {map {($_, 1)} qw(IV)}; 85my @names = (qw(NETSNMPTRAPD_AUTH_HANDLER NETSNMPTRAPD_HANDLER_BREAK 86 NETSNMPTRAPD_HANDLER_FAIL NETSNMPTRAPD_HANDLER_FINISH 87 NETSNMPTRAPD_HANDLER_OK NETSNMPTRAPD_POST_HANDLER 88 NETSNMPTRAPD_PRE_HANDLER)); 89 90print constant_types(); # macro defs 91foreach (C_constant ("NetSNMP::TrapReceiver", 'constant', 'IV', $types, undef, 3, @names) ) { 92 print $_, "\n"; # C constant subs 93} 94print "#### XS Section:\n"; 95print XS_constant ("NetSNMP::TrapReceiver", $types); 96__END__ 97 */ 98 99 switch (len) { 100 case 23: 101 if (memEQ(name, "NETSNMPTRAPD_HANDLER_OK", 23)) { 102#ifdef NETSNMPTRAPD_HANDLER_OK 103 *iv_return = NETSNMPTRAPD_HANDLER_OK; 104 return PERL_constant_ISIV; 105#else 106 return PERL_constant_NOTDEF; 107#endif 108 } 109 break; 110 case 24: 111 if (memEQ(name, "NETSNMPTRAPD_PRE_HANDLER", 24)) { 112#ifdef NETSNMPTRAPD_PRE_HANDLER 113 *iv_return = NETSNMPTRAPD_PRE_HANDLER; 114 return PERL_constant_ISIV; 115#else 116 return PERL_constant_NOTDEF; 117#endif 118 } 119 break; 120 case 25: 121 return constant_25 (aTHX_ name, iv_return); 122 break; 123 case 26: 124 if (memEQ(name, "NETSNMPTRAPD_HANDLER_BREAK", 26)) { 125#ifdef NETSNMPTRAPD_HANDLER_BREAK 126 *iv_return = NETSNMPTRAPD_HANDLER_BREAK; 127 return PERL_constant_ISIV; 128#else 129 return PERL_constant_NOTDEF; 130#endif 131 } 132 break; 133 case 27: 134 if (memEQ(name, "NETSNMPTRAPD_HANDLER_FINISH", 27)) { 135#ifdef NETSNMPTRAPD_HANDLER_FINISH 136 *iv_return = NETSNMPTRAPD_HANDLER_FINISH; 137 return PERL_constant_ISIV; 138#else 139 return PERL_constant_NOTDEF; 140#endif 141 } 142 break; 143 } 144 return PERL_constant_NOTFOUND; 145} 146 147