const-c.inc
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:4k
源码类别:

SNMP编程

开发平台:

Unix_Linux

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