constants.h revision 1.1.1.2
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_7 (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 OS_CODE Z_ASCII Z_BLOCK Z_ERRNO Z_FIXED Z_TREES */ 28 /* Offset 6 gives the best switch position. */ 29 switch (name[6]) { 30 case 'D': 31 if (memEQ(name, "Z_FIXE", 6)) { 32 /* D */ 33#ifdef Z_FIXED 34 *iv_return = Z_FIXED; 35 return PERL_constant_ISIV; 36#else 37 return PERL_constant_NOTDEF; 38#endif 39 } 40 break; 41 case 'E': 42 if (memEQ(name, "OS_COD", 6)) { 43 /* E */ 44#ifdef OS_CODE 45 *iv_return = OS_CODE; 46 return PERL_constant_ISIV; 47#else 48 return PERL_constant_NOTDEF; 49#endif 50 } 51 break; 52 case 'I': 53 if (memEQ(name, "Z_ASCI", 6)) { 54 /* I */ 55#ifdef Z_ASCII 56 *iv_return = Z_ASCII; 57 return PERL_constant_ISIV; 58#else 59 return PERL_constant_NOTDEF; 60#endif 61 } 62 break; 63 case 'K': 64 if (memEQ(name, "Z_BLOC", 6)) { 65 /* K */ 66#ifdef Z_BLOCK 67 *iv_return = Z_BLOCK; 68 return PERL_constant_ISIV; 69#else 70 return PERL_constant_NOTDEF; 71#endif 72 } 73 break; 74 case 'O': 75 if (memEQ(name, "Z_ERRN", 6)) { 76 /* O */ 77#ifdef Z_ERRNO 78 *iv_return = Z_ERRNO; 79 return PERL_constant_ISIV; 80#else 81 return PERL_constant_NOTDEF; 82#endif 83 } 84 break; 85 case 'S': 86 if (memEQ(name, "Z_TREE", 6)) { 87 /* S */ 88#if ZLIB_VERNUM >= 0x1240 89 *iv_return = Z_TREES; 90 return PERL_constant_ISIV; 91#else 92 return PERL_constant_NOTDEF; 93#endif 94 } 95 break; 96 } 97 return PERL_constant_NOTFOUND; 98} 99 100static int 101constant_9 (pTHX_ const char *name, IV *iv_return) { 102 /* When generated this function returned values for the list of names given 103 here. However, subsequent manual editing may have added or removed some. 104 DEF_WBITS MAX_WBITS Z_UNKNOWN */ 105 /* Offset 2 gives the best switch position. */ 106 switch (name[2]) { 107 case 'F': 108 if (memEQ(name, "DEF_WBITS", 9)) { 109 /* ^ */ 110#ifdef DEF_WBITS 111 *iv_return = DEF_WBITS; 112 return PERL_constant_ISIV; 113#else 114 return PERL_constant_NOTDEF; 115#endif 116 } 117 break; 118 case 'U': 119 if (memEQ(name, "Z_UNKNOWN", 9)) { 120 /* ^ */ 121#ifdef Z_UNKNOWN 122 *iv_return = Z_UNKNOWN; 123 return PERL_constant_ISIV; 124#else 125 return PERL_constant_NOTDEF; 126#endif 127 } 128 break; 129 case 'X': 130 if (memEQ(name, "MAX_WBITS", 9)) { 131 /* ^ */ 132#ifdef MAX_WBITS 133 *iv_return = MAX_WBITS; 134 return PERL_constant_ISIV; 135#else 136 return PERL_constant_NOTDEF; 137#endif 138 } 139 break; 140 } 141 return PERL_constant_NOTFOUND; 142} 143 144static int 145constant_10 (pTHX_ const char *name, IV *iv_return) { 146 /* When generated this function returned values for the list of names given 147 here. However, subsequent manual editing may have added or removed some. 148 Z_DEFLATED Z_FILTERED Z_NO_FLUSH */ 149 /* Offset 7 gives the best switch position. */ 150 switch (name[7]) { 151 case 'R': 152 if (memEQ(name, "Z_FILTERED", 10)) { 153 /* ^ */ 154#ifdef Z_FILTERED 155 *iv_return = Z_FILTERED; 156 return PERL_constant_ISIV; 157#else 158 return PERL_constant_NOTDEF; 159#endif 160 } 161 break; 162 case 'T': 163 if (memEQ(name, "Z_DEFLATED", 10)) { 164 /* ^ */ 165#ifdef Z_DEFLATED 166 *iv_return = Z_DEFLATED; 167 return PERL_constant_ISIV; 168#else 169 return PERL_constant_NOTDEF; 170#endif 171 } 172 break; 173 case 'U': 174 if (memEQ(name, "Z_NO_FLUSH", 10)) { 175 /* ^ */ 176#ifdef Z_NO_FLUSH 177 *iv_return = Z_NO_FLUSH; 178 return PERL_constant_ISIV; 179#else 180 return PERL_constant_NOTDEF; 181#endif 182 } 183 break; 184 } 185 return PERL_constant_NOTFOUND; 186} 187 188static int 189constant_11 (pTHX_ const char *name, IV *iv_return) { 190 /* When generated this function returned values for the list of names given 191 here. However, subsequent manual editing may have added or removed some. 192 Z_BUF_ERROR Z_MEM_ERROR Z_NEED_DICT */ 193 /* Offset 4 gives the best switch position. */ 194 switch (name[4]) { 195 case 'E': 196 if (memEQ(name, "Z_NEED_DICT", 11)) { 197 /* ^ */ 198#ifdef Z_NEED_DICT 199 *iv_return = Z_NEED_DICT; 200 return PERL_constant_ISIV; 201#else 202 return PERL_constant_NOTDEF; 203#endif 204 } 205 break; 206 case 'F': 207 if (memEQ(name, "Z_BUF_ERROR", 11)) { 208 /* ^ */ 209#ifdef Z_BUF_ERROR 210 *iv_return = Z_BUF_ERROR; 211 return PERL_constant_ISIV; 212#else 213 return PERL_constant_NOTDEF; 214#endif 215 } 216 break; 217 case 'M': 218 if (memEQ(name, "Z_MEM_ERROR", 11)) { 219 /* ^ */ 220#ifdef Z_MEM_ERROR 221 *iv_return = Z_MEM_ERROR; 222 return PERL_constant_ISIV; 223#else 224 return PERL_constant_NOTDEF; 225#endif 226 } 227 break; 228 } 229 return PERL_constant_NOTFOUND; 230} 231 232static int 233constant_12 (pTHX_ const char *name, IV *iv_return, const char **pv_return) { 234 /* When generated this function returned values for the list of names given 235 here. However, subsequent manual editing may have added or removed some. 236 ZLIB_VERSION Z_BEST_SPEED Z_DATA_ERROR Z_FULL_FLUSH Z_STREAM_END 237 Z_SYNC_FLUSH */ 238 /* Offset 4 gives the best switch position. */ 239 switch (name[4]) { 240 case 'L': 241 if (memEQ(name, "Z_FULL_FLUSH", 12)) { 242 /* ^ */ 243#ifdef Z_FULL_FLUSH 244 *iv_return = Z_FULL_FLUSH; 245 return PERL_constant_ISIV; 246#else 247 return PERL_constant_NOTDEF; 248#endif 249 } 250 break; 251 case 'N': 252 if (memEQ(name, "Z_SYNC_FLUSH", 12)) { 253 /* ^ */ 254#ifdef Z_SYNC_FLUSH 255 *iv_return = Z_SYNC_FLUSH; 256 return PERL_constant_ISIV; 257#else 258 return PERL_constant_NOTDEF; 259#endif 260 } 261 break; 262 case 'R': 263 if (memEQ(name, "Z_STREAM_END", 12)) { 264 /* ^ */ 265#ifdef Z_STREAM_END 266 *iv_return = Z_STREAM_END; 267 return PERL_constant_ISIV; 268#else 269 return PERL_constant_NOTDEF; 270#endif 271 } 272 break; 273 case 'S': 274 if (memEQ(name, "Z_BEST_SPEED", 12)) { 275 /* ^ */ 276#ifdef Z_BEST_SPEED 277 *iv_return = Z_BEST_SPEED; 278 return PERL_constant_ISIV; 279#else 280 return PERL_constant_NOTDEF; 281#endif 282 } 283 break; 284 case 'T': 285 if (memEQ(name, "Z_DATA_ERROR", 12)) { 286 /* ^ */ 287#ifdef Z_DATA_ERROR 288 *iv_return = Z_DATA_ERROR; 289 return PERL_constant_ISIV; 290#else 291 return PERL_constant_NOTDEF; 292#endif 293 } 294 break; 295 case '_': 296 if (memEQ(name, "ZLIB_VERSION", 12)) { 297 /* ^ */ 298#ifdef ZLIB_VERSION 299 *pv_return = ZLIB_VERSION; 300 return PERL_constant_ISPV; 301#else 302 return PERL_constant_NOTDEF; 303#endif 304 } 305 break; 306 } 307 return PERL_constant_NOTFOUND; 308} 309 310static int 311constant (pTHX_ const char *name, STRLEN len, IV *iv_return, const char **pv_return) { 312 /* Initially switch on the length of the name. */ 313 /* When generated this function returned values for the list of names given 314 in this section of perl code. Rather than manually editing these functions 315 to add or remove constants, which would result in this comment and section 316 of code becoming inaccurate, we recommend that you edit this section of 317 code, and use it to regenerate a new set of constant functions which you 318 then use to replace the originals. 319 320 Regenerate these constant functions by feeding this entire source file to 321 perl -x 322 323#!/linux-shared/base/perl/install/bin/perl -w 324use ExtUtils::Constant qw (constant_types C_constant XS_constant); 325 326my $types = {map {($_, 1)} qw(IV PV)}; 327my @names = (qw(DEF_WBITS MAX_MEM_LEVEL MAX_WBITS OS_CODE Z_ASCII 328 Z_BEST_COMPRESSION Z_BEST_SPEED Z_BINARY Z_BLOCK Z_BUF_ERROR 329 Z_DATA_ERROR Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY Z_DEFLATED 330 Z_ERRNO Z_FILTERED Z_FINISH Z_FIXED Z_FULL_FLUSH Z_HUFFMAN_ONLY 331 Z_MEM_ERROR Z_NEED_DICT Z_NO_COMPRESSION Z_NO_FLUSH Z_NULL Z_OK 332 Z_PARTIAL_FLUSH Z_RLE Z_STREAM_END Z_STREAM_ERROR Z_SYNC_FLUSH 333 Z_UNKNOWN Z_VERSION_ERROR), 334 {name=>"ZLIB_VERSION", type=>"PV"}, 335 {name=>"Z_TREES", type=>"IV", macro=>["#if ZLIB_VERNUM >= 0x1240\n", "#endif\n"]}); 336 337print constant_types(), "\n"; # macro defs 338foreach (C_constant ("Zlib", 'constant', 'IV', $types, undef, 3, @names) ) { 339 print $_, "\n"; # C constant subs 340} 341print "\n#### XS Section:\n"; 342print XS_constant ("Zlib", $types); 343__END__ 344 */ 345 346 switch (len) { 347 case 4: 348 if (memEQ(name, "Z_OK", 4)) { 349#ifdef Z_OK 350 *iv_return = Z_OK; 351 return PERL_constant_ISIV; 352#else 353 return PERL_constant_NOTDEF; 354#endif 355 } 356 break; 357 case 5: 358 if (memEQ(name, "Z_RLE", 5)) { 359#ifdef Z_RLE 360 *iv_return = Z_RLE; 361 return PERL_constant_ISIV; 362#else 363 return PERL_constant_NOTDEF; 364#endif 365 } 366 break; 367 case 6: 368 if (memEQ(name, "Z_NULL", 6)) { 369#ifdef Z_NULL 370 *iv_return = Z_NULL; 371 return PERL_constant_ISIV; 372#else 373 return PERL_constant_NOTDEF; 374#endif 375 } 376 break; 377 case 7: 378 return constant_7 (aTHX_ name, iv_return); 379 break; 380 case 8: 381 /* Names all of length 8. */ 382 /* Z_BINARY Z_FINISH */ 383 /* Offset 6 gives the best switch position. */ 384 switch (name[6]) { 385 case 'R': 386 if (memEQ(name, "Z_BINARY", 8)) { 387 /* ^ */ 388#ifdef Z_BINARY 389 *iv_return = Z_BINARY; 390 return PERL_constant_ISIV; 391#else 392 return PERL_constant_NOTDEF; 393#endif 394 } 395 break; 396 case 'S': 397 if (memEQ(name, "Z_FINISH", 8)) { 398 /* ^ */ 399#ifdef Z_FINISH 400 *iv_return = Z_FINISH; 401 return PERL_constant_ISIV; 402#else 403 return PERL_constant_NOTDEF; 404#endif 405 } 406 break; 407 } 408 break; 409 case 9: 410 return constant_9 (aTHX_ name, iv_return); 411 break; 412 case 10: 413 return constant_10 (aTHX_ name, iv_return); 414 break; 415 case 11: 416 return constant_11 (aTHX_ name, iv_return); 417 break; 418 case 12: 419 return constant_12 (aTHX_ name, iv_return, pv_return); 420 break; 421 case 13: 422 if (memEQ(name, "MAX_MEM_LEVEL", 13)) { 423#ifdef MAX_MEM_LEVEL 424 *iv_return = MAX_MEM_LEVEL; 425 return PERL_constant_ISIV; 426#else 427 return PERL_constant_NOTDEF; 428#endif 429 } 430 break; 431 case 14: 432 /* Names all of length 14. */ 433 /* Z_HUFFMAN_ONLY Z_STREAM_ERROR */ 434 /* Offset 3 gives the best switch position. */ 435 switch (name[3]) { 436 case 'T': 437 if (memEQ(name, "Z_STREAM_ERROR", 14)) { 438 /* ^ */ 439#ifdef Z_STREAM_ERROR 440 *iv_return = Z_STREAM_ERROR; 441 return PERL_constant_ISIV; 442#else 443 return PERL_constant_NOTDEF; 444#endif 445 } 446 break; 447 case 'U': 448 if (memEQ(name, "Z_HUFFMAN_ONLY", 14)) { 449 /* ^ */ 450#ifdef Z_HUFFMAN_ONLY 451 *iv_return = Z_HUFFMAN_ONLY; 452 return PERL_constant_ISIV; 453#else 454 return PERL_constant_NOTDEF; 455#endif 456 } 457 break; 458 } 459 break; 460 case 15: 461 /* Names all of length 15. */ 462 /* Z_PARTIAL_FLUSH Z_VERSION_ERROR */ 463 /* Offset 5 gives the best switch position. */ 464 switch (name[5]) { 465 case 'S': 466 if (memEQ(name, "Z_VERSION_ERROR", 15)) { 467 /* ^ */ 468#ifdef Z_VERSION_ERROR 469 *iv_return = Z_VERSION_ERROR; 470 return PERL_constant_ISIV; 471#else 472 return PERL_constant_NOTDEF; 473#endif 474 } 475 break; 476 case 'T': 477 if (memEQ(name, "Z_PARTIAL_FLUSH", 15)) { 478 /* ^ */ 479#ifdef Z_PARTIAL_FLUSH 480 *iv_return = Z_PARTIAL_FLUSH; 481 return PERL_constant_ISIV; 482#else 483 return PERL_constant_NOTDEF; 484#endif 485 } 486 break; 487 } 488 break; 489 case 16: 490 if (memEQ(name, "Z_NO_COMPRESSION", 16)) { 491#ifdef Z_NO_COMPRESSION 492 *iv_return = Z_NO_COMPRESSION; 493 return PERL_constant_ISIV; 494#else 495 return PERL_constant_NOTDEF; 496#endif 497 } 498 break; 499 case 18: 500 /* Names all of length 18. */ 501 /* Z_BEST_COMPRESSION Z_DEFAULT_STRATEGY */ 502 /* Offset 14 gives the best switch position. */ 503 switch (name[14]) { 504 case 'S': 505 if (memEQ(name, "Z_BEST_COMPRESSION", 18)) { 506 /* ^ */ 507#ifdef Z_BEST_COMPRESSION 508 *iv_return = Z_BEST_COMPRESSION; 509 return PERL_constant_ISIV; 510#else 511 return PERL_constant_NOTDEF; 512#endif 513 } 514 break; 515 case 'T': 516 if (memEQ(name, "Z_DEFAULT_STRATEGY", 18)) { 517 /* ^ */ 518#ifdef Z_DEFAULT_STRATEGY 519 *iv_return = Z_DEFAULT_STRATEGY; 520 return PERL_constant_ISIV; 521#else 522 return PERL_constant_NOTDEF; 523#endif 524 } 525 break; 526 } 527 break; 528 case 21: 529 if (memEQ(name, "Z_DEFAULT_COMPRESSION", 21)) { 530#ifdef Z_DEFAULT_COMPRESSION 531 *iv_return = Z_DEFAULT_COMPRESSION; 532 return PERL_constant_ISIV; 533#else 534 return PERL_constant_NOTDEF; 535#endif 536 } 537 break; 538 } 539 return PERL_constant_NOTFOUND; 540} 541 542