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_8 (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 MDB_LAST MDB_NEXT MDB_PREV */ 28 /* Offset 4 gives the best switch position. */ 29 switch (name[4]) { 30 case 'L': 31 if (memEQ(name, "MDB_LAST", 8)) { 32 /* ^ */ 33 *iv_return = MDB_LAST; 34 return PERL_constant_ISIV; 35 } 36 break; 37 case 'N': 38 if (memEQ(name, "MDB_NEXT", 8)) { 39 /* ^ */ 40 *iv_return = MDB_NEXT; 41 return PERL_constant_ISIV; 42 } 43 break; 44 case 'P': 45 if (memEQ(name, "MDB_PREV", 8)) { 46 /* ^ */ 47 *iv_return = MDB_PREV; 48 return PERL_constant_ISIV; 49 } 50 break; 51 } 52 return PERL_constant_NOTFOUND; 53} 54 55static int 56constant_9 (pTHX_ const char *name, IV *iv_return) { 57 /* When generated this function returned values for the list of names given 58 here. However, subsequent manual editing may have added or removed some. 59 MDB_FIRST MDB_NOTLS MDB_PANIC */ 60 /* Offset 6 gives the best switch position. */ 61 switch (name[6]) { 62 case 'N': 63 if (memEQ(name, "MDB_PANIC", 9)) { 64 /* ^ */ 65#ifdef MDB_PANIC 66 *iv_return = MDB_PANIC; 67 return PERL_constant_ISIV; 68#else 69 return PERL_constant_NOTDEF; 70#endif 71 } 72 break; 73 case 'R': 74 if (memEQ(name, "MDB_FIRST", 9)) { 75 /* ^ */ 76 *iv_return = MDB_FIRST; 77 return PERL_constant_ISIV; 78 } 79 break; 80 case 'T': 81 if (memEQ(name, "MDB_NOTLS", 9)) { 82 /* ^ */ 83#ifdef MDB_NOTLS 84 *iv_return = MDB_NOTLS; 85 return PERL_constant_ISIV; 86#else 87 return PERL_constant_NOTDEF; 88#endif 89 } 90 break; 91 } 92 return PERL_constant_NOTFOUND; 93} 94 95static int 96constant_10 (pTHX_ const char *name, IV *iv_return) { 97 /* When generated this function returned values for the list of names given 98 here. However, subsequent manual editing may have added or removed some. 99 MDB_APPEND MDB_CREATE MDB_NOLOCK MDB_NOSYNC MDB_RDONLY */ 100 /* Offset 6 gives the best switch position. */ 101 switch (name[6]) { 102 case 'E': 103 if (memEQ(name, "MDB_CREATE", 10)) { 104 /* ^ */ 105#ifdef MDB_CREATE 106 *iv_return = MDB_CREATE; 107 return PERL_constant_ISIV; 108#else 109 return PERL_constant_NOTDEF; 110#endif 111 } 112 break; 113 case 'L': 114 if (memEQ(name, "MDB_NOLOCK", 10)) { 115 /* ^ */ 116#ifdef MDB_NOLOCK 117 *iv_return = MDB_NOLOCK; 118 return PERL_constant_ISIV; 119#else 120 return PERL_constant_NOTDEF; 121#endif 122 } 123 break; 124 case 'O': 125 if (memEQ(name, "MDB_RDONLY", 10)) { 126 /* ^ */ 127#ifdef MDB_RDONLY 128 *iv_return = MDB_RDONLY; 129 return PERL_constant_ISIV; 130#else 131 return PERL_constant_NOTDEF; 132#endif 133 } 134 break; 135 case 'P': 136 if (memEQ(name, "MDB_APPEND", 10)) { 137 /* ^ */ 138#ifdef MDB_APPEND 139 *iv_return = MDB_APPEND; 140 return PERL_constant_ISIV; 141#else 142 return PERL_constant_NOTDEF; 143#endif 144 } 145 break; 146 case 'S': 147 if (memEQ(name, "MDB_NOSYNC", 10)) { 148 /* ^ */ 149#ifdef MDB_NOSYNC 150 *iv_return = MDB_NOSYNC; 151 return PERL_constant_ISIV; 152#else 153 return PERL_constant_NOTDEF; 154#endif 155 } 156 break; 157 } 158 return PERL_constant_NOTFOUND; 159} 160 161static int 162constant_11 (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 LMDB_OFLAGN MDB_BAD_DBI MDB_BAD_TXN MDB_CURRENT MDB_DUPSORT MDB_INVALID 166 MDB_RESERVE MDB_SET_KEY MDB_SUCCESS */ 167 /* Offset 9 gives the best switch position. */ 168 switch (name[9]) { 169 case 'B': 170 if (memEQ(name, "MDB_BAD_DBI", 11)) { 171 /* ^ */ 172#ifdef MDB_BAD_DBI 173 *iv_return = MDB_BAD_DBI; 174 return PERL_constant_ISIV; 175#else 176 return PERL_constant_NOTDEF; 177#endif 178 } 179 break; 180 case 'E': 181 if (memEQ(name, "MDB_SET_KEY", 11)) { 182 /* ^ */ 183 *iv_return = MDB_SET_KEY; 184 return PERL_constant_ISIV; 185 } 186 break; 187 case 'G': 188 if (memEQ(name, "LMDB_OFLAGN", 11)) { 189 /* ^ */ 190#ifdef LMDB_OFLAGN 191 *iv_return = LMDB_OFLAGN; 192 return PERL_constant_ISIV; 193#else 194 return PERL_constant_NOTDEF; 195#endif 196 } 197 break; 198 case 'I': 199 if (memEQ(name, "MDB_INVALID", 11)) { 200 /* ^ */ 201#ifdef MDB_INVALID 202 *iv_return = MDB_INVALID; 203 return PERL_constant_ISIV; 204#else 205 return PERL_constant_NOTDEF; 206#endif 207 } 208 break; 209 case 'N': 210 if (memEQ(name, "MDB_CURRENT", 11)) { 211 /* ^ */ 212#ifdef MDB_CURRENT 213 *iv_return = MDB_CURRENT; 214 return PERL_constant_ISIV; 215#else 216 return PERL_constant_NOTDEF; 217#endif 218 } 219 break; 220 case 'R': 221 if (memEQ(name, "MDB_DUPSORT", 11)) { 222 /* ^ */ 223#ifdef MDB_DUPSORT 224 *iv_return = MDB_DUPSORT; 225 return PERL_constant_ISIV; 226#else 227 return PERL_constant_NOTDEF; 228#endif 229 } 230 break; 231 case 'S': 232 if (memEQ(name, "MDB_SUCCESS", 11)) { 233 /* ^ */ 234#ifdef MDB_SUCCESS 235 *iv_return = MDB_SUCCESS; 236 return PERL_constant_ISIV; 237#else 238 return PERL_constant_NOTDEF; 239#endif 240 } 241 break; 242 case 'V': 243 if (memEQ(name, "MDB_RESERVE", 11)) { 244 /* ^ */ 245#ifdef MDB_RESERVE 246 *iv_return = MDB_RESERVE; 247 return PERL_constant_ISIV; 248#else 249 return PERL_constant_NOTDEF; 250#endif 251 } 252 break; 253 case 'X': 254 if (memEQ(name, "MDB_BAD_TXN", 11)) { 255 /* ^ */ 256#ifdef MDB_BAD_TXN 257 *iv_return = MDB_BAD_TXN; 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 268static int 269constant_12 (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 MDB_DBS_FULL MDB_DUPFIXED MDB_FIXEDMAP MDB_GET_BOTH MDB_KEYEXIST 273 MDB_LAST_DUP MDB_MAPASYNC MDB_MAP_FULL MDB_MULTIPLE MDB_NEXT_DUP 274 MDB_NOSUBDIR MDB_NOTFOUND MDB_PREV_DUP MDB_TLS_FULL MDB_TXN_FULL 275 MDB_WRITEMAP */ 276 /* Offset 4 gives the best switch position. */ 277 switch (name[4]) { 278 case 'D': 279 if (memEQ(name, "MDB_DBS_FULL", 12)) { 280 /* ^ */ 281#ifdef MDB_DBS_FULL 282 *iv_return = MDB_DBS_FULL; 283 return PERL_constant_ISIV; 284#else 285 return PERL_constant_NOTDEF; 286#endif 287 } 288 if (memEQ(name, "MDB_DUPFIXED", 12)) { 289 /* ^ */ 290#ifdef MDB_DUPFIXED 291 *iv_return = MDB_DUPFIXED; 292 return PERL_constant_ISIV; 293#else 294 return PERL_constant_NOTDEF; 295#endif 296 } 297 break; 298 case 'F': 299 if (memEQ(name, "MDB_FIXEDMAP", 12)) { 300 /* ^ */ 301#ifdef MDB_FIXEDMAP 302 *iv_return = MDB_FIXEDMAP; 303 return PERL_constant_ISIV; 304#else 305 return PERL_constant_NOTDEF; 306#endif 307 } 308 break; 309 case 'G': 310 if (memEQ(name, "MDB_GET_BOTH", 12)) { 311 /* ^ */ 312 *iv_return = MDB_GET_BOTH; 313 return PERL_constant_ISIV; 314 } 315 break; 316 case 'K': 317 if (memEQ(name, "MDB_KEYEXIST", 12)) { 318 /* ^ */ 319#ifdef MDB_KEYEXIST 320 *iv_return = MDB_KEYEXIST; 321 return PERL_constant_ISIV; 322#else 323 return PERL_constant_NOTDEF; 324#endif 325 } 326 break; 327 case 'L': 328 if (memEQ(name, "MDB_LAST_DUP", 12)) { 329 /* ^ */ 330 *iv_return = MDB_LAST_DUP; 331 return PERL_constant_ISIV; 332 } 333 break; 334 case 'M': 335 if (memEQ(name, "MDB_MAPASYNC", 12)) { 336 /* ^ */ 337#ifdef MDB_MAPASYNC 338 *iv_return = MDB_MAPASYNC; 339 return PERL_constant_ISIV; 340#else 341 return PERL_constant_NOTDEF; 342#endif 343 } 344 if (memEQ(name, "MDB_MAP_FULL", 12)) { 345 /* ^ */ 346#ifdef MDB_MAP_FULL 347 *iv_return = MDB_MAP_FULL; 348 return PERL_constant_ISIV; 349#else 350 return PERL_constant_NOTDEF; 351#endif 352 } 353 if (memEQ(name, "MDB_MULTIPLE", 12)) { 354 /* ^ */ 355#ifdef MDB_MULTIPLE 356 *iv_return = MDB_MULTIPLE; 357 return PERL_constant_ISIV; 358#else 359 return PERL_constant_NOTDEF; 360#endif 361 } 362 break; 363 case 'N': 364 if (memEQ(name, "MDB_NEXT_DUP", 12)) { 365 /* ^ */ 366 *iv_return = MDB_NEXT_DUP; 367 return PERL_constant_ISIV; 368 } 369 if (memEQ(name, "MDB_NOSUBDIR", 12)) { 370 /* ^ */ 371#ifdef MDB_NOSUBDIR 372 *iv_return = MDB_NOSUBDIR; 373 return PERL_constant_ISIV; 374#else 375 return PERL_constant_NOTDEF; 376#endif 377 } 378 if (memEQ(name, "MDB_NOTFOUND", 12)) { 379 /* ^ */ 380#ifdef MDB_NOTFOUND 381 *iv_return = MDB_NOTFOUND; 382 return PERL_constant_ISIV; 383#else 384 return PERL_constant_NOTDEF; 385#endif 386 } 387 break; 388 case 'P': 389 if (memEQ(name, "MDB_PREV_DUP", 12)) { 390 /* ^ */ 391 *iv_return = MDB_PREV_DUP; 392 return PERL_constant_ISIV; 393 } 394 break; 395 case 'T': 396 if (memEQ(name, "MDB_TLS_FULL", 12)) { 397 /* ^ */ 398#ifdef MDB_TLS_FULL 399 *iv_return = MDB_TLS_FULL; 400 return PERL_constant_ISIV; 401#else 402 return PERL_constant_NOTDEF; 403#endif 404 } 405 if (memEQ(name, "MDB_TXN_FULL", 12)) { 406 /* ^ */ 407#ifdef MDB_TXN_FULL 408 *iv_return = MDB_TXN_FULL; 409 return PERL_constant_ISIV; 410#else 411 return PERL_constant_NOTDEF; 412#endif 413 } 414 break; 415 case 'W': 416 if (memEQ(name, "MDB_WRITEMAP", 12)) { 417 /* ^ */ 418#ifdef MDB_WRITEMAP 419 *iv_return = MDB_WRITEMAP; 420 return PERL_constant_ISIV; 421#else 422 return PERL_constant_NOTDEF; 423#endif 424 } 425 break; 426 } 427 return PERL_constant_NOTFOUND; 428} 429 430static int 431constant_13 (pTHX_ const char *name, IV *iv_return) { 432 /* When generated this function returned values for the list of names given 433 here. However, subsequent manual editing may have added or removed some. 434 MDB_APPENDDUP MDB_BAD_RSLOT MDB_CORRUPTED MDB_FIRST_DUP MDB_NODUPDATA 435 MDB_NOMEMINIT MDB_NORDAHEAD MDB_PAGE_FULL MDB_SET_RANGE */ 436 /* Offset 11 gives the best switch position. */ 437 switch (name[11]) { 438 case 'A': 439 if (memEQ(name, "MDB_NORDAHEAD", 13)) { 440 /* ^ */ 441#ifdef MDB_NORDAHEAD 442 *iv_return = MDB_NORDAHEAD; 443 return PERL_constant_ISIV; 444#else 445 return PERL_constant_NOTDEF; 446#endif 447 } 448 break; 449 case 'E': 450 if (memEQ(name, "MDB_CORRUPTED", 13)) { 451 /* ^ */ 452#ifdef MDB_CORRUPTED 453 *iv_return = MDB_CORRUPTED; 454 return PERL_constant_ISIV; 455#else 456 return PERL_constant_NOTDEF; 457#endif 458 } 459 break; 460 case 'G': 461 if (memEQ(name, "MDB_SET_RANGE", 13)) { 462 /* ^ */ 463 *iv_return = MDB_SET_RANGE; 464 return PERL_constant_ISIV; 465 } 466 break; 467 case 'I': 468 if (memEQ(name, "MDB_NOMEMINIT", 13)) { 469 /* ^ */ 470#ifdef MDB_NOMEMINIT 471 *iv_return = MDB_NOMEMINIT; 472 return PERL_constant_ISIV; 473#else 474 return PERL_constant_NOTDEF; 475#endif 476 } 477 break; 478 case 'L': 479 if (memEQ(name, "MDB_PAGE_FULL", 13)) { 480 /* ^ */ 481#ifdef MDB_PAGE_FULL 482 *iv_return = MDB_PAGE_FULL; 483 return PERL_constant_ISIV; 484#else 485 return PERL_constant_NOTDEF; 486#endif 487 } 488 break; 489 case 'O': 490 if (memEQ(name, "MDB_BAD_RSLOT", 13)) { 491 /* ^ */ 492#ifdef MDB_BAD_RSLOT 493 *iv_return = MDB_BAD_RSLOT; 494 return PERL_constant_ISIV; 495#else 496 return PERL_constant_NOTDEF; 497#endif 498 } 499 break; 500 case 'T': 501 if (memEQ(name, "MDB_NODUPDATA", 13)) { 502 /* ^ */ 503#ifdef MDB_NODUPDATA 504 *iv_return = MDB_NODUPDATA; 505 return PERL_constant_ISIV; 506#else 507 return PERL_constant_NOTDEF; 508#endif 509 } 510 break; 511 case 'U': 512 if (memEQ(name, "MDB_APPENDDUP", 13)) { 513 /* ^ */ 514#ifdef MDB_APPENDDUP 515 *iv_return = MDB_APPENDDUP; 516 return PERL_constant_ISIV; 517#else 518 return PERL_constant_NOTDEF; 519#endif 520 } 521 if (memEQ(name, "MDB_FIRST_DUP", 13)) { 522 /* ^ */ 523 *iv_return = MDB_FIRST_DUP; 524 return PERL_constant_ISIV; 525 } 526 break; 527 } 528 return PERL_constant_NOTFOUND; 529} 530 531static int 532constant_14 (pTHX_ const char *name, IV *iv_return) { 533 /* When generated this function returned values for the list of names given 534 here. However, subsequent manual editing may have added or removed some. 535 MDB_CP_COMPACT MDB_INTEGERDUP MDB_INTEGERKEY MDB_NEXT_NODUP MDB_NOMETASYNC 536 MDB_PREV_NODUP MDB_REVERSEDUP MDB_REVERSEKEY */ 537 /* Offset 6 gives the best switch position. */ 538 switch (name[6]) { 539 case 'E': 540 if (memEQ(name, "MDB_PREV_NODUP", 14)) { 541 /* ^ */ 542 *iv_return = MDB_PREV_NODUP; 543 return PERL_constant_ISIV; 544 } 545 break; 546 case 'M': 547 if (memEQ(name, "MDB_NOMETASYNC", 14)) { 548 /* ^ */ 549#ifdef MDB_NOMETASYNC 550 *iv_return = MDB_NOMETASYNC; 551 return PERL_constant_ISIV; 552#else 553 return PERL_constant_NOTDEF; 554#endif 555 } 556 break; 557 case 'T': 558 if (memEQ(name, "MDB_INTEGERDUP", 14)) { 559 /* ^ */ 560#ifdef MDB_INTEGERDUP 561 *iv_return = MDB_INTEGERDUP; 562 return PERL_constant_ISIV; 563#else 564 return PERL_constant_NOTDEF; 565#endif 566 } 567 if (memEQ(name, "MDB_INTEGERKEY", 14)) { 568 /* ^ */ 569#ifdef MDB_INTEGERKEY 570 *iv_return = MDB_INTEGERKEY; 571 return PERL_constant_ISIV; 572#else 573 return PERL_constant_NOTDEF; 574#endif 575 } 576 break; 577 case 'V': 578 if (memEQ(name, "MDB_REVERSEDUP", 14)) { 579 /* ^ */ 580#ifdef MDB_REVERSEDUP 581 *iv_return = MDB_REVERSEDUP; 582 return PERL_constant_ISIV; 583#else 584 return PERL_constant_NOTDEF; 585#endif 586 } 587 if (memEQ(name, "MDB_REVERSEKEY", 14)) { 588 /* ^ */ 589#ifdef MDB_REVERSEKEY 590 *iv_return = MDB_REVERSEKEY; 591 return PERL_constant_ISIV; 592#else 593 return PERL_constant_NOTDEF; 594#endif 595 } 596 break; 597 case 'X': 598 if (memEQ(name, "MDB_NEXT_NODUP", 14)) { 599 /* ^ */ 600 *iv_return = MDB_NEXT_NODUP; 601 return PERL_constant_ISIV; 602 } 603 break; 604 case '_': 605 if (memEQ(name, "MDB_CP_COMPACT", 14)) { 606 /* ^ */ 607#ifdef MDB_CP_COMPACT 608 *iv_return = MDB_CP_COMPACT; 609 return PERL_constant_ISIV; 610#else 611 return PERL_constant_NOTDEF; 612#endif 613 } 614 break; 615 } 616 return PERL_constant_NOTFOUND; 617} 618 619static int 620constant_15 (pTHX_ const char *name, IV *iv_return) { 621 /* When generated this function returned values for the list of names given 622 here. However, subsequent manual editing may have added or removed some. 623 MDB_BAD_VALSIZE MDB_CURSOR_FULL MDB_GET_CURRENT MDB_MAP_RESIZED 624 MDB_NOOVERWRITE */ 625 /* Offset 4 gives the best switch position. */ 626 switch (name[4]) { 627 case 'B': 628 if (memEQ(name, "MDB_BAD_VALSIZE", 15)) { 629 /* ^ */ 630#ifdef MDB_BAD_VALSIZE 631 *iv_return = MDB_BAD_VALSIZE; 632 return PERL_constant_ISIV; 633#else 634 return PERL_constant_NOTDEF; 635#endif 636 } 637 break; 638 case 'C': 639 if (memEQ(name, "MDB_CURSOR_FULL", 15)) { 640 /* ^ */ 641#ifdef MDB_CURSOR_FULL 642 *iv_return = MDB_CURSOR_FULL; 643 return PERL_constant_ISIV; 644#else 645 return PERL_constant_NOTDEF; 646#endif 647 } 648 break; 649 case 'G': 650 if (memEQ(name, "MDB_GET_CURRENT", 15)) { 651 /* ^ */ 652 *iv_return = MDB_GET_CURRENT; 653 return PERL_constant_ISIV; 654 } 655 break; 656 case 'M': 657 if (memEQ(name, "MDB_MAP_RESIZED", 15)) { 658 /* ^ */ 659#ifdef MDB_MAP_RESIZED 660 *iv_return = MDB_MAP_RESIZED; 661 return PERL_constant_ISIV; 662#else 663 return PERL_constant_NOTDEF; 664#endif 665 } 666 break; 667 case 'N': 668 if (memEQ(name, "MDB_NOOVERWRITE", 15)) { 669 /* ^ */ 670#ifdef MDB_NOOVERWRITE 671 *iv_return = MDB_NOOVERWRITE; 672 return PERL_constant_ISIV; 673#else 674 return PERL_constant_NOTDEF; 675#endif 676 } 677 break; 678 } 679 return PERL_constant_NOTFOUND; 680} 681 682static int 683constant_16 (pTHX_ const char *name, IV *iv_return, const char **pv_return) { 684 /* When generated this function returned values for the list of names given 685 here. However, subsequent manual editing may have added or removed some. 686 MDB_GET_MULTIPLE MDB_INCOMPATIBLE MDB_LAST_ERRCODE MDB_READERS_FULL 687 MDB_VERSION_DATE MDB_VERSION_FULL */ 688 /* Offset 4 gives the best switch position. */ 689 switch (name[4]) { 690 case 'G': 691 if (memEQ(name, "MDB_GET_MULTIPLE", 16)) { 692 /* ^ */ 693 *iv_return = MDB_GET_MULTIPLE; 694 return PERL_constant_ISIV; 695 } 696 break; 697 case 'I': 698 if (memEQ(name, "MDB_INCOMPATIBLE", 16)) { 699 /* ^ */ 700#ifdef MDB_INCOMPATIBLE 701 *iv_return = MDB_INCOMPATIBLE; 702 return PERL_constant_ISIV; 703#else 704 return PERL_constant_NOTDEF; 705#endif 706 } 707 break; 708 case 'L': 709 if (memEQ(name, "MDB_LAST_ERRCODE", 16)) { 710 /* ^ */ 711#ifdef MDB_LAST_ERRCODE 712 *iv_return = MDB_LAST_ERRCODE; 713 return PERL_constant_ISIV; 714#else 715 return PERL_constant_NOTDEF; 716#endif 717 } 718 break; 719 case 'R': 720 if (memEQ(name, "MDB_READERS_FULL", 16)) { 721 /* ^ */ 722#ifdef MDB_READERS_FULL 723 *iv_return = MDB_READERS_FULL; 724 return PERL_constant_ISIV; 725#else 726 return PERL_constant_NOTDEF; 727#endif 728 } 729 break; 730 case 'V': 731 if (memEQ(name, "MDB_VERSION_DATE", 16)) { 732 /* ^ */ 733 *pv_return = MDB_VERSION_DATE; 734 return PERL_constant_ISPV; 735 } 736 if (memEQ(name, "MDB_VERSION_FULL", 16)) { 737 /* ^ */ 738#ifdef MDB_VERSION_FULL 739 *iv_return = MDB_VERSION_FULL; 740 return PERL_constant_ISIV; 741#else 742 return PERL_constant_NOTDEF; 743#endif 744 } 745 break; 746 } 747 return PERL_constant_NOTFOUND; 748} 749 750static int 751constant_17 (pTHX_ const char *name, IV *iv_return) { 752 /* When generated this function returned values for the list of names given 753 here. However, subsequent manual editing may have added or removed some. 754 MDB_NEXT_MULTIPLE MDB_PAGE_NOTFOUND MDB_VERSION_MAJOR MDB_VERSION_MINOR 755 MDB_VERSION_PATCH */ 756 /* Offset 14 gives the best switch position. */ 757 switch (name[14]) { 758 case 'J': 759 if (memEQ(name, "MDB_VERSION_MAJOR", 17)) { 760 /* ^ */ 761#ifdef MDB_VERSION_MAJOR 762 *iv_return = MDB_VERSION_MAJOR; 763 return PERL_constant_ISIV; 764#else 765 return PERL_constant_NOTDEF; 766#endif 767 } 768 break; 769 case 'N': 770 if (memEQ(name, "MDB_VERSION_MINOR", 17)) { 771 /* ^ */ 772#ifdef MDB_VERSION_MINOR 773 *iv_return = MDB_VERSION_MINOR; 774 return PERL_constant_ISIV; 775#else 776 return PERL_constant_NOTDEF; 777#endif 778 } 779 break; 780 case 'P': 781 if (memEQ(name, "MDB_NEXT_MULTIPLE", 17)) { 782 /* ^ */ 783 *iv_return = MDB_NEXT_MULTIPLE; 784 return PERL_constant_ISIV; 785 } 786 break; 787 case 'T': 788 if (memEQ(name, "MDB_VERSION_PATCH", 17)) { 789 /* ^ */ 790#ifdef MDB_VERSION_PATCH 791 *iv_return = MDB_VERSION_PATCH; 792 return PERL_constant_ISIV; 793#else 794 return PERL_constant_NOTDEF; 795#endif 796 } 797 break; 798 case 'U': 799 if (memEQ(name, "MDB_PAGE_NOTFOUND", 17)) { 800 /* ^ */ 801#ifdef MDB_PAGE_NOTFOUND 802 *iv_return = MDB_PAGE_NOTFOUND; 803 return PERL_constant_ISIV; 804#else 805 return PERL_constant_NOTDEF; 806#endif 807 } 808 break; 809 } 810 return PERL_constant_NOTFOUND; 811} 812 813static int 814constant (pTHX_ const char *name, STRLEN len, IV *iv_return, const char **pv_return) { 815 /* Initially switch on the length of the name. */ 816 /* When generated this function returned values for the list of names given 817 in this section of perl code. Rather than manually editing these functions 818 to add or remove constants, which would result in this comment and section 819 of code becoming inaccurate, we recommend that you edit this section of 820 code, and use it to regenerate a new set of constant functions which you 821 then use to replace the originals. 822 823 Regenerate these constant functions by feeding this entire source file to 824 perl -x 825 826#!/usr/bin/perl -w 827use ExtUtils::Constant qw (constant_types C_constant XS_constant); 828 829my $types = {map {($_, 1)} qw(IV PV)}; 830my @names = (qw(LMDB_OFLAGN MDB_APPEND MDB_APPENDDUP MDB_BAD_DBI MDB_BAD_RSLOT 831 MDB_BAD_TXN MDB_BAD_VALSIZE MDB_CORRUPTED MDB_CP_COMPACT 832 MDB_CREATE MDB_CURRENT MDB_CURSOR_FULL MDB_DBS_FULL MDB_DUPFIXED 833 MDB_DUPSORT MDB_FIXEDMAP MDB_INCOMPATIBLE MDB_INTEGERDUP 834 MDB_INTEGERKEY MDB_INVALID MDB_KEYEXIST MDB_LAST_ERRCODE 835 MDB_MAPASYNC MDB_MAP_FULL MDB_MAP_RESIZED MDB_MULTIPLE 836 MDB_NODUPDATA MDB_NOLOCK MDB_NOMEMINIT MDB_NOMETASYNC 837 MDB_NOOVERWRITE MDB_NORDAHEAD MDB_NOSUBDIR MDB_NOSYNC 838 MDB_NOTFOUND MDB_NOTLS MDB_PAGE_FULL MDB_PAGE_NOTFOUND MDB_PANIC 839 MDB_RDONLY MDB_READERS_FULL MDB_RESERVE MDB_REVERSEDUP 840 MDB_REVERSEKEY MDB_SUCCESS MDB_TLS_FULL MDB_TXN_FULL 841 MDB_VERSION_FULL MDB_VERSION_MAJOR MDB_VERSION_MINOR 842 MDB_VERSION_MISMATCH MDB_VERSION_PATCH MDB_WRITEMAP), 843 {name=>"MDB_FIRST", type=>"IV", macro=>"1"}, 844 {name=>"MDB_FIRST_DUP", type=>"IV", macro=>"1"}, 845 {name=>"MDB_GET_BOTH", type=>"IV", macro=>"1"}, 846 {name=>"MDB_GET_BOTH_RANGE", type=>"IV", macro=>"1"}, 847 {name=>"MDB_GET_CURRENT", type=>"IV", macro=>"1"}, 848 {name=>"MDB_GET_MULTIPLE", type=>"IV", macro=>"1"}, 849 {name=>"MDB_LAST", type=>"IV", macro=>"1"}, 850 {name=>"MDB_LAST_DUP", type=>"IV", macro=>"1"}, 851 {name=>"MDB_NEXT", type=>"IV", macro=>"1"}, 852 {name=>"MDB_NEXT_DUP", type=>"IV", macro=>"1"}, 853 {name=>"MDB_NEXT_MULTIPLE", type=>"IV", macro=>"1"}, 854 {name=>"MDB_NEXT_NODUP", type=>"IV", macro=>"1"}, 855 {name=>"MDB_PREV", type=>"IV", macro=>"1"}, 856 {name=>"MDB_PREV_DUP", type=>"IV", macro=>"1"}, 857 {name=>"MDB_PREV_NODUP", type=>"IV", macro=>"1"}, 858 {name=>"MDB_SET", type=>"IV", macro=>"1"}, 859 {name=>"MDB_SET_KEY", type=>"IV", macro=>"1"}, 860 {name=>"MDB_SET_RANGE", type=>"IV", macro=>"1"}, 861 {name=>"MDB_VERSION_DATE", type=>"PV", macro=>"1"}, 862 {name=>"MDB_VERSION_STRING", type=>"PV", macro=>"1"}); 863 864print constant_types(), "\n"; # macro defs 865foreach (C_constant ("LMDB_File", 'constant', 'IV', $types, undef, 3, @names) ) { 866 print $_, "\n"; # C constant subs 867} 868print "\n#### XS Section:\n"; 869print XS_constant ("LMDB_File", $types); 870__END__ 871 */ 872 873 switch (len) { 874 case 7: 875 if (memEQ(name, "MDB_SET", 7)) { 876 *iv_return = MDB_SET; 877 return PERL_constant_ISIV; 878 } 879 break; 880 case 8: 881 return constant_8 (aTHX_ name, iv_return); 882 break; 883 case 9: 884 return constant_9 (aTHX_ name, iv_return); 885 break; 886 case 10: 887 return constant_10 (aTHX_ name, iv_return); 888 break; 889 case 11: 890 return constant_11 (aTHX_ name, iv_return); 891 break; 892 case 12: 893 return constant_12 (aTHX_ name, iv_return); 894 break; 895 case 13: 896 return constant_13 (aTHX_ name, iv_return); 897 break; 898 case 14: 899 return constant_14 (aTHX_ name, iv_return); 900 break; 901 case 15: 902 return constant_15 (aTHX_ name, iv_return); 903 break; 904 case 16: 905 return constant_16 (aTHX_ name, iv_return, pv_return); 906 break; 907 case 17: 908 return constant_17 (aTHX_ name, iv_return); 909 break; 910 case 18: 911 /* Names all of length 18. */ 912 /* MDB_GET_BOTH_RANGE MDB_VERSION_STRING */ 913 /* Offset 17 gives the best switch position. */ 914 switch (name[17]) { 915 case 'E': 916 if (memEQ(name, "MDB_GET_BOTH_RANG", 17)) { 917 /* E */ 918 *iv_return = MDB_GET_BOTH_RANGE; 919 return PERL_constant_ISIV; 920 } 921 break; 922 case 'G': 923 if (memEQ(name, "MDB_VERSION_STRIN", 17)) { 924 /* G */ 925 *pv_return = MDB_VERSION_STRING; 926 return PERL_constant_ISPV; 927 } 928 break; 929 } 930 break; 931 case 20: 932 if (memEQ(name, "MDB_VERSION_MISMATCH", 20)) { 933#ifdef MDB_VERSION_MISMATCH 934 *iv_return = MDB_VERSION_MISMATCH; 935 return PERL_constant_ISIV; 936#else 937 return PERL_constant_NOTDEF; 938#endif 939 } 940 break; 941 } 942 return PERL_constant_NOTFOUND; 943} 944 945