fallback.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:11k
源码类别:

MySQL数据库

开发平台:

Visual C++

  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_6 (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.      DB_TXN R_LAST R_NEXT R_PREV */
  26.   /* Offset 2 gives the best switch position.  */
  27.   switch (name[2]) {
  28.   case 'L':
  29.     if (memEQ(name, "R_LAST", 6)) {
  30.     /*                 ^         */
  31. #ifdef R_LAST
  32.       *iv_return = R_LAST;
  33.       return PERL_constant_ISIV;
  34. #else
  35.       return PERL_constant_NOTDEF;
  36. #endif
  37.     }
  38.     break;
  39.   case 'N':
  40.     if (memEQ(name, "R_NEXT", 6)) {
  41.     /*                 ^         */
  42. #ifdef R_NEXT
  43.       *iv_return = R_NEXT;
  44.       return PERL_constant_ISIV;
  45. #else
  46.       return PERL_constant_NOTDEF;
  47. #endif
  48.     }
  49.     break;
  50.   case 'P':
  51.     if (memEQ(name, "R_PREV", 6)) {
  52.     /*                 ^         */
  53. #ifdef R_PREV
  54.       *iv_return = R_PREV;
  55.       return PERL_constant_ISIV;
  56. #else
  57.       return PERL_constant_NOTDEF;
  58. #endif
  59.     }
  60.     break;
  61.   case '_':
  62.     if (memEQ(name, "DB_TXN", 6)) {
  63.     /*                 ^         */
  64. #ifdef DB_TXN
  65.       *iv_return = DB_TXN;
  66.       return PERL_constant_ISIV;
  67. #else
  68.       return PERL_constant_NOTDEF;
  69. #endif
  70.     }
  71.     break;
  72.   }
  73.   return PERL_constant_NOTFOUND;
  74. }
  75. static int
  76. constant_7 (pTHX_ const char *name, IV *iv_return) {
  77.   /* When generated this function returned values for the list of names given
  78.      here.  However, subsequent manual editing may have added or removed some.
  79.      DB_LOCK R_FIRST R_NOKEY */
  80.   /* Offset 3 gives the best switch position.  */
  81.   switch (name[3]) {
  82.   case 'I':
  83.     if (memEQ(name, "R_FIRST", 7)) {
  84.     /*                  ^         */
  85. #ifdef R_FIRST
  86.       *iv_return = R_FIRST;
  87.       return PERL_constant_ISIV;
  88. #else
  89.       return PERL_constant_NOTDEF;
  90. #endif
  91.     }
  92.     break;
  93.   case 'L':
  94.     if (memEQ(name, "DB_LOCK", 7)) {
  95.     /*                  ^         */
  96. #ifdef DB_LOCK
  97.       *iv_return = DB_LOCK;
  98.       return PERL_constant_ISIV;
  99. #else
  100.       return PERL_constant_NOTDEF;
  101. #endif
  102.     }
  103.     break;
  104.   case 'O':
  105.     if (memEQ(name, "R_NOKEY", 7)) {
  106.     /*                  ^         */
  107. #ifdef R_NOKEY
  108.       *iv_return = R_NOKEY;
  109.       return PERL_constant_ISIV;
  110. #else
  111.       return PERL_constant_NOTDEF;
  112. #endif
  113.     }
  114.     break;
  115.   }
  116.   return PERL_constant_NOTFOUND;
  117. }
  118. static int
  119. constant_8 (pTHX_ const char *name, IV *iv_return) {
  120.   /* When generated this function returned values for the list of names given
  121.      here.  However, subsequent manual editing may have added or removed some.
  122.      DB_SHMEM R_CURSOR R_IAFTER */
  123.   /* Offset 5 gives the best switch position.  */
  124.   switch (name[5]) {
  125.   case 'M':
  126.     if (memEQ(name, "DB_SHMEM", 8)) {
  127.     /*                    ^        */
  128. #ifdef DB_SHMEM
  129.       *iv_return = DB_SHMEM;
  130.       return PERL_constant_ISIV;
  131. #else
  132.       return PERL_constant_NOTDEF;
  133. #endif
  134.     }
  135.     break;
  136.   case 'S':
  137.     if (memEQ(name, "R_CURSOR", 8)) {
  138.     /*                    ^        */
  139. #ifdef R_CURSOR
  140.       *iv_return = R_CURSOR;
  141.       return PERL_constant_ISIV;
  142. #else
  143.       return PERL_constant_NOTDEF;
  144. #endif
  145.     }
  146.     break;
  147.   case 'T':
  148.     if (memEQ(name, "R_IAFTER", 8)) {
  149.     /*                    ^        */
  150. #ifdef R_IAFTER
  151.       *iv_return = R_IAFTER;
  152.       return PERL_constant_ISIV;
  153. #else
  154.       return PERL_constant_NOTDEF;
  155. #endif
  156.     }
  157.     break;
  158.   }
  159.   return PERL_constant_NOTFOUND;
  160. }
  161. static int
  162. constant_9 (pTHX_ const char *name, IV *iv_return) {
  163.   /* When generated this function returned values for the list of names given
  164.      here.  However, subsequent manual editing may have added or removed some.
  165.      HASHMAGIC RET_ERROR R_IBEFORE */
  166.   /* Offset 7 gives the best switch position.  */
  167.   switch (name[7]) {
  168.   case 'I':
  169.     if (memEQ(name, "HASHMAGIC", 9)) {
  170.     /*                      ^       */
  171. #ifdef HASHMAGIC
  172.       *iv_return = HASHMAGIC;
  173.       return PERL_constant_ISIV;
  174. #else
  175.       return PERL_constant_NOTDEF;
  176. #endif
  177.     }
  178.     break;
  179.   case 'O':
  180.     if (memEQ(name, "RET_ERROR", 9)) {
  181.     /*                      ^       */
  182. #ifdef RET_ERROR
  183.       *iv_return = RET_ERROR;
  184.       return PERL_constant_ISIV;
  185. #else
  186.       return PERL_constant_NOTDEF;
  187. #endif
  188.     }
  189.     break;
  190.   case 'R':
  191.     if (memEQ(name, "R_IBEFORE", 9)) {
  192.     /*                      ^       */
  193. #ifdef R_IBEFORE
  194.       *iv_return = R_IBEFORE;
  195.       return PERL_constant_ISIV;
  196. #else
  197.       return PERL_constant_NOTDEF;
  198. #endif
  199.     }
  200.     break;
  201.   }
  202.   return PERL_constant_NOTFOUND;
  203. }
  204. static int
  205. constant_10 (pTHX_ const char *name, IV *iv_return) {
  206.   /* When generated this function returned values for the list of names given
  207.      here.  However, subsequent manual editing may have added or removed some.
  208.      BTREEMAGIC R_FIXEDLEN R_SNAPSHOT __R_UNUSED */
  209.   /* Offset 5 gives the best switch position.  */
  210.   switch (name[5]) {
  211.   case 'E':
  212.     if (memEQ(name, "R_FIXEDLEN", 10)) {
  213.     /*                    ^           */
  214. #ifdef R_FIXEDLEN
  215.       *iv_return = R_FIXEDLEN;
  216.       return PERL_constant_ISIV;
  217. #else
  218.       return PERL_constant_NOTDEF;
  219. #endif
  220.     }
  221.     break;
  222.   case 'M':
  223.     if (memEQ(name, "BTREEMAGIC", 10)) {
  224.     /*                    ^           */
  225. #ifdef BTREEMAGIC
  226.       *iv_return = BTREEMAGIC;
  227.       return PERL_constant_ISIV;
  228. #else
  229.       return PERL_constant_NOTDEF;
  230. #endif
  231.     }
  232.     break;
  233.   case 'N':
  234.     if (memEQ(name, "__R_UNUSED", 10)) {
  235.     /*                    ^           */
  236. #ifdef __R_UNUSED
  237.       *iv_return = __R_UNUSED;
  238.       return PERL_constant_ISIV;
  239. #else
  240.       return PERL_constant_NOTDEF;
  241. #endif
  242.     }
  243.     break;
  244.   case 'P':
  245.     if (memEQ(name, "R_SNAPSHOT", 10)) {
  246.     /*                    ^           */
  247. #ifdef R_SNAPSHOT
  248.       *iv_return = R_SNAPSHOT;
  249.       return PERL_constant_ISIV;
  250. #else
  251.       return PERL_constant_NOTDEF;
  252. #endif
  253.     }
  254.     break;
  255.   }
  256.   return PERL_constant_NOTFOUND;
  257. }
  258. static int
  259. constant_11 (pTHX_ const char *name, IV *iv_return) {
  260.   /* When generated this function returned values for the list of names given
  261.      here.  However, subsequent manual editing may have added or removed some.
  262.      HASHVERSION RET_SPECIAL RET_SUCCESS R_RECNOSYNC R_SETCURSOR */
  263.   /* Offset 10 gives the best switch position.  */
  264.   switch (name[10]) {
  265.   case 'C':
  266.     if (memEQ(name, "R_RECNOSYNC", 11)) {
  267.     /*                         ^       */
  268. #ifdef R_RECNOSYNC
  269.       *iv_return = R_RECNOSYNC;
  270.       return PERL_constant_ISIV;
  271. #else
  272.       return PERL_constant_NOTDEF;
  273. #endif
  274.     }
  275.     break;
  276.   case 'L':
  277.     if (memEQ(name, "RET_SPECIAL", 11)) {
  278.     /*                         ^       */
  279. #ifdef RET_SPECIAL
  280.       *iv_return = RET_SPECIAL;
  281.       return PERL_constant_ISIV;
  282. #else
  283.       return PERL_constant_NOTDEF;
  284. #endif
  285.     }
  286.     break;
  287.   case 'N':
  288.     if (memEQ(name, "HASHVERSION", 11)) {
  289.     /*                         ^       */
  290. #ifdef HASHVERSION
  291.       *iv_return = HASHVERSION;
  292.       return PERL_constant_ISIV;
  293. #else
  294.       return PERL_constant_NOTDEF;
  295. #endif
  296.     }
  297.     break;
  298.   case 'R':
  299.     if (memEQ(name, "R_SETCURSOR", 11)) {
  300.     /*                         ^       */
  301. #ifdef R_SETCURSOR
  302.       *iv_return = R_SETCURSOR;
  303.       return PERL_constant_ISIV;
  304. #else
  305.       return PERL_constant_NOTDEF;
  306. #endif
  307.     }
  308.     break;
  309.   case 'S':
  310.     if (memEQ(name, "RET_SUCCESS", 11)) {
  311.     /*                         ^       */
  312. #ifdef RET_SUCCESS
  313.       *iv_return = RET_SUCCESS;
  314.       return PERL_constant_ISIV;
  315. #else
  316.       return PERL_constant_NOTDEF;
  317. #endif
  318.     }
  319.     break;
  320.   }
  321.   return PERL_constant_NOTFOUND;
  322. }
  323. static int
  324. constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
  325.   /* Initially switch on the length of the name.  */
  326.   /* When generated this function returned values for the list of names given
  327.      in this section of perl code.  Rather than manually editing these functions
  328.      to add or remove constants, which would result in this comment and section
  329.      of code becoming inaccurate, we recommend that you edit this section of
  330.      code, and use it to regenerate a new set of constant functions which you
  331.      then use to replace the originals.
  332.      Regenerate these constant functions by feeding this entire source file to
  333.      perl -x
  334. #!bleedperl -w
  335. use ExtUtils::Constant qw (constant_types C_constant XS_constant);
  336. my $types = {map {($_, 1)} qw(IV)};
  337. my @names = (qw(BTREEMAGIC BTREEVERSION DB_LOCK DB_SHMEM DB_TXN HASHMAGIC
  338.        HASHVERSION MAX_PAGE_NUMBER MAX_PAGE_OFFSET MAX_REC_NUMBER
  339.        RET_ERROR RET_SPECIAL RET_SUCCESS R_CURSOR R_DUP R_FIRST
  340.        R_FIXEDLEN R_IAFTER R_IBEFORE R_LAST R_NEXT R_NOKEY
  341.        R_NOOVERWRITE R_PREV R_RECNOSYNC R_SETCURSOR R_SNAPSHOT
  342.        __R_UNUSED));
  343. print constant_types(); # macro defs
  344. foreach (C_constant ("DB_File", 'constant', 'IV', $types, undef, 3, @names) ) {
  345.     print $_, "n"; # C constant subs
  346. }
  347. print "#### XS Section:n";
  348. print XS_constant ("DB_File", $types);
  349. __END__
  350.    */
  351.   switch (len) {
  352.   case 5:
  353.     if (memEQ(name, "R_DUP", 5)) {
  354. #ifdef R_DUP
  355.       *iv_return = R_DUP;
  356.       return PERL_constant_ISIV;
  357. #else
  358.       return PERL_constant_NOTDEF;
  359. #endif
  360.     }
  361.     break;
  362.   case 6:
  363.     return constant_6 (aTHX_ name, iv_return);
  364.     break;
  365.   case 7:
  366.     return constant_7 (aTHX_ name, iv_return);
  367.     break;
  368.   case 8:
  369.     return constant_8 (aTHX_ name, iv_return);
  370.     break;
  371.   case 9:
  372.     return constant_9 (aTHX_ name, iv_return);
  373.     break;
  374.   case 10:
  375.     return constant_10 (aTHX_ name, iv_return);
  376.     break;
  377.   case 11:
  378.     return constant_11 (aTHX_ name, iv_return);
  379.     break;
  380.   case 12:
  381.     if (memEQ(name, "BTREEVERSION", 12)) {
  382. #ifdef BTREEVERSION
  383.       *iv_return = BTREEVERSION;
  384.       return PERL_constant_ISIV;
  385. #else
  386.       return PERL_constant_NOTDEF;
  387. #endif
  388.     }
  389.     break;
  390.   case 13:
  391.     if (memEQ(name, "R_NOOVERWRITE", 13)) {
  392. #ifdef R_NOOVERWRITE
  393.       *iv_return = R_NOOVERWRITE;
  394.       return PERL_constant_ISIV;
  395. #else
  396.       return PERL_constant_NOTDEF;
  397. #endif
  398.     }
  399.     break;
  400.   case 14:
  401.     if (memEQ(name, "MAX_REC_NUMBER", 14)) {
  402. #ifdef MAX_REC_NUMBER
  403.       *iv_return = MAX_REC_NUMBER;
  404.       return PERL_constant_ISIV;
  405. #else
  406.       return PERL_constant_NOTDEF;
  407. #endif
  408.     }
  409.     break;
  410.   case 15:
  411.     /* Names all of length 15.  */
  412.     /* MAX_PAGE_NUMBER MAX_PAGE_OFFSET */
  413.     /* Offset 9 gives the best switch position.  */
  414.     switch (name[9]) {
  415.     case 'N':
  416.       if (memEQ(name, "MAX_PAGE_NUMBER", 15)) {
  417.       /*                        ^            */
  418. #ifdef MAX_PAGE_NUMBER
  419.         *iv_return = MAX_PAGE_NUMBER;
  420.         return PERL_constant_ISIV;
  421. #else
  422.         return PERL_constant_NOTDEF;
  423. #endif
  424.       }
  425.       break;
  426.     case 'O':
  427.       if (memEQ(name, "MAX_PAGE_OFFSET", 15)) {
  428.       /*                        ^            */
  429. #ifdef MAX_PAGE_OFFSET
  430.         *iv_return = MAX_PAGE_OFFSET;
  431.         return PERL_constant_ISIV;
  432. #else
  433.         return PERL_constant_NOTDEF;
  434. #endif
  435.       }
  436.       break;
  437.     }
  438.     break;
  439.   }
  440.   return PERL_constant_NOTFOUND;
  441. }