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 LOG_ERR LOG_FTP LOG_LPR LOG_NTP LOG_PID LOG_RAS */ 28 /* Offset 4 gives the best switch position. */ 29 switch (name[4]) { 30 case 'E': 31 if (memEQ(name, "LOG_ERR", 7)) { 32 /* ^ */ 33#ifdef LOG_ERR 34 *iv_return = LOG_ERR; 35 return PERL_constant_ISIV; 36#else 37 return PERL_constant_NOTDEF; 38#endif 39 } 40 break; 41 case 'F': 42 if (memEQ(name, "LOG_FTP", 7)) { 43 /* ^ */ 44#ifdef LOG_FTP 45 *iv_return = LOG_FTP; 46 return PERL_constant_ISIV; 47#else 48 return PERL_constant_NOTDEF; 49#endif 50 } 51 break; 52 case 'L': 53 if (memEQ(name, "LOG_LPR", 7)) { 54 /* ^ */ 55#ifdef LOG_LPR 56 *iv_return = LOG_LPR; 57 return PERL_constant_ISIV; 58#else 59 return PERL_constant_NOTDEF; 60#endif 61 } 62 break; 63 case 'N': 64 if (memEQ(name, "LOG_NTP", 7)) { 65 /* ^ */ 66#ifdef LOG_NTP 67 *iv_return = LOG_NTP; 68 return PERL_constant_ISIV; 69#else 70 *iv_return = LOG_DAEMON; 71 return PERL_constant_ISIV; 72#endif 73 } 74 break; 75 case 'P': 76 if (memEQ(name, "LOG_PID", 7)) { 77 /* ^ */ 78#ifdef LOG_PID 79 *iv_return = LOG_PID; 80 return PERL_constant_ISIV; 81#else 82 return PERL_constant_NOTDEF; 83#endif 84 } 85 break; 86 case 'R': 87 if (memEQ(name, "LOG_RAS", 7)) { 88 /* ^ */ 89#ifdef LOG_RAS 90 *iv_return = LOG_RAS; 91 return PERL_constant_ISIV; 92#else 93 *iv_return = LOG_AUTH; 94 return PERL_constant_ISIV; 95#endif 96 } 97 break; 98 } 99 return PERL_constant_NOTFOUND; 100} 101 102static int 103constant_8 (pTHX_ const char *name, IV *iv_return) { 104 /* When generated this function returned values for the list of names given 105 here. However, subsequent manual editing may have added or removed some. 106 LOG_AUTH LOG_CONS LOG_CRIT LOG_CRON LOG_INFO LOG_KERN LOG_LFMT LOG_MAIL 107 LOG_NEWS LOG_USER LOG_UUCP */ 108 /* Offset 6 gives the best switch position. */ 109 switch (name[6]) { 110 case 'C': 111 if (memEQ(name, "LOG_UUCP", 8)) { 112 /* ^ */ 113#ifdef LOG_UUCP 114 *iv_return = LOG_UUCP; 115 return PERL_constant_ISIV; 116#else 117 return PERL_constant_NOTDEF; 118#endif 119 } 120 break; 121 case 'E': 122 if (memEQ(name, "LOG_USER", 8)) { 123 /* ^ */ 124#ifdef LOG_USER 125 *iv_return = LOG_USER; 126 return PERL_constant_ISIV; 127#else 128 return PERL_constant_NOTDEF; 129#endif 130 } 131 break; 132 case 'F': 133 if (memEQ(name, "LOG_INFO", 8)) { 134 /* ^ */ 135#ifdef LOG_INFO 136 *iv_return = LOG_INFO; 137 return PERL_constant_ISIV; 138#else 139 return PERL_constant_NOTDEF; 140#endif 141 } 142 break; 143 case 'I': 144 if (memEQ(name, "LOG_CRIT", 8)) { 145 /* ^ */ 146#ifdef LOG_CRIT 147 *iv_return = LOG_CRIT; 148 return PERL_constant_ISIV; 149#else 150 return PERL_constant_NOTDEF; 151#endif 152 } 153 if (memEQ(name, "LOG_MAIL", 8)) { 154 /* ^ */ 155#ifdef LOG_MAIL 156 *iv_return = LOG_MAIL; 157 return PERL_constant_ISIV; 158#else 159 return PERL_constant_NOTDEF; 160#endif 161 } 162 break; 163 case 'M': 164 if (memEQ(name, "LOG_LFMT", 8)) { 165 /* ^ */ 166#ifdef LOG_LFMT 167 *iv_return = LOG_LFMT; 168 return PERL_constant_ISIV; 169#else 170 *iv_return = LOG_USER; 171 return PERL_constant_ISIV; 172#endif 173 } 174 break; 175 case 'N': 176 if (memEQ(name, "LOG_CONS", 8)) { 177 /* ^ */ 178#ifdef LOG_CONS 179 *iv_return = LOG_CONS; 180 return PERL_constant_ISIV; 181#else 182 return PERL_constant_NOTDEF; 183#endif 184 } 185 break; 186 case 'O': 187 if (memEQ(name, "LOG_CRON", 8)) { 188 /* ^ */ 189#ifdef LOG_CRON 190 *iv_return = LOG_CRON; 191 return PERL_constant_ISIV; 192#else 193 return PERL_constant_NOTDEF; 194#endif 195 } 196 break; 197 case 'R': 198 if (memEQ(name, "LOG_KERN", 8)) { 199 /* ^ */ 200#ifdef LOG_KERN 201 *iv_return = LOG_KERN; 202 return PERL_constant_ISIV; 203#else 204 return PERL_constant_NOTDEF; 205#endif 206 } 207 break; 208 case 'T': 209 if (memEQ(name, "LOG_AUTH", 8)) { 210 /* ^ */ 211#ifdef LOG_AUTH 212 *iv_return = LOG_AUTH; 213 return PERL_constant_ISIV; 214#else 215 return PERL_constant_NOTDEF; 216#endif 217 } 218 break; 219 case 'W': 220 if (memEQ(name, "LOG_NEWS", 8)) { 221 /* ^ */ 222#ifdef LOG_NEWS 223 *iv_return = LOG_NEWS; 224 return PERL_constant_ISIV; 225#else 226 return PERL_constant_NOTDEF; 227#endif 228 } 229 break; 230 } 231 return PERL_constant_NOTFOUND; 232} 233 234static int 235constant_9 (pTHX_ const char *name, IV *iv_return, const char **pv_return) { 236 /* When generated this function returned values for the list of names given 237 here. However, subsequent manual editing may have added or removed some. 238 LOG_ALERT LOG_AUDIT LOG_DEBUG LOG_EMERG _PATH_LOG */ 239 /* Offset 5 gives the best switch position. */ 240 switch (name[5]) { 241 case 'E': 242 if (memEQ(name, "LOG_DEBUG", 9)) { 243 /* ^ */ 244#ifdef LOG_DEBUG 245 *iv_return = LOG_DEBUG; 246 return PERL_constant_ISIV; 247#else 248 return PERL_constant_NOTDEF; 249#endif 250 } 251 break; 252 case 'L': 253 if (memEQ(name, "LOG_ALERT", 9)) { 254 /* ^ */ 255#ifdef LOG_ALERT 256 *iv_return = LOG_ALERT; 257 return PERL_constant_ISIV; 258#else 259 return PERL_constant_NOTDEF; 260#endif 261 } 262 break; 263 case 'M': 264 if (memEQ(name, "LOG_EMERG", 9)) { 265 /* ^ */ 266#ifdef LOG_EMERG 267 *iv_return = LOG_EMERG; 268 return PERL_constant_ISIV; 269#else 270 return PERL_constant_NOTDEF; 271#endif 272 } 273 break; 274 case 'U': 275 if (memEQ(name, "LOG_AUDIT", 9)) { 276 /* ^ */ 277#ifdef LOG_AUDIT 278 *iv_return = LOG_AUDIT; 279 return PERL_constant_ISIV; 280#else 281 *iv_return = LOG_AUTH; 282 return PERL_constant_ISIV; 283#endif 284 } 285 break; 286 case '_': 287 if (memEQ(name, "_PATH_LOG", 9)) { 288 /* ^ */ 289#ifdef _PATH_LOG 290 *pv_return = _PATH_LOG; 291 return PERL_constant_ISPV; 292#else 293 *pv_return = "/var/run/syslog"; 294 return PERL_constant_ISPV; 295#endif 296 } 297 break; 298 } 299 return PERL_constant_NOTFOUND; 300} 301 302static int 303constant_10 (pTHX_ const char *name, IV *iv_return) { 304 /* When generated this function returned values for the list of names given 305 here. However, subsequent manual editing may have added or removed some. 306 LOG_DAEMON LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 307 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_NDELAY LOG_NOTICE LOG_NOWAIT 308 LOG_ODELAY LOG_PERROR LOG_SYSLOG */ 309 /* Offset 9 gives the best switch position. */ 310 switch (name[9]) { 311 case '0': 312 if (memEQ(name, "LOG_LOCAL", 9)) { 313 /* 0 */ 314#ifdef LOG_LOCAL0 315 *iv_return = LOG_LOCAL0; 316 return PERL_constant_ISIV; 317#else 318 return PERL_constant_NOTDEF; 319#endif 320 } 321 break; 322 case '1': 323 if (memEQ(name, "LOG_LOCAL", 9)) { 324 /* 1 */ 325#ifdef LOG_LOCAL1 326 *iv_return = LOG_LOCAL1; 327 return PERL_constant_ISIV; 328#else 329 return PERL_constant_NOTDEF; 330#endif 331 } 332 break; 333 case '2': 334 if (memEQ(name, "LOG_LOCAL", 9)) { 335 /* 2 */ 336#ifdef LOG_LOCAL2 337 *iv_return = LOG_LOCAL2; 338 return PERL_constant_ISIV; 339#else 340 return PERL_constant_NOTDEF; 341#endif 342 } 343 break; 344 case '3': 345 if (memEQ(name, "LOG_LOCAL", 9)) { 346 /* 3 */ 347#ifdef LOG_LOCAL3 348 *iv_return = LOG_LOCAL3; 349 return PERL_constant_ISIV; 350#else 351 return PERL_constant_NOTDEF; 352#endif 353 } 354 break; 355 case '4': 356 if (memEQ(name, "LOG_LOCAL", 9)) { 357 /* 4 */ 358#ifdef LOG_LOCAL4 359 *iv_return = LOG_LOCAL4; 360 return PERL_constant_ISIV; 361#else 362 return PERL_constant_NOTDEF; 363#endif 364 } 365 break; 366 case '5': 367 if (memEQ(name, "LOG_LOCAL", 9)) { 368 /* 5 */ 369#ifdef LOG_LOCAL5 370 *iv_return = LOG_LOCAL5; 371 return PERL_constant_ISIV; 372#else 373 return PERL_constant_NOTDEF; 374#endif 375 } 376 break; 377 case '6': 378 if (memEQ(name, "LOG_LOCAL", 9)) { 379 /* 6 */ 380#ifdef LOG_LOCAL6 381 *iv_return = LOG_LOCAL6; 382 return PERL_constant_ISIV; 383#else 384 return PERL_constant_NOTDEF; 385#endif 386 } 387 break; 388 case '7': 389 if (memEQ(name, "LOG_LOCAL", 9)) { 390 /* 7 */ 391#ifdef LOG_LOCAL7 392 *iv_return = LOG_LOCAL7; 393 return PERL_constant_ISIV; 394#else 395 return PERL_constant_NOTDEF; 396#endif 397 } 398 break; 399 case 'E': 400 if (memEQ(name, "LOG_NOTIC", 9)) { 401 /* E */ 402#ifdef LOG_NOTICE 403 *iv_return = LOG_NOTICE; 404 return PERL_constant_ISIV; 405#else 406 return PERL_constant_NOTDEF; 407#endif 408 } 409 break; 410 case 'G': 411 if (memEQ(name, "LOG_SYSLO", 9)) { 412 /* G */ 413#ifdef LOG_SYSLOG 414 *iv_return = LOG_SYSLOG; 415 return PERL_constant_ISIV; 416#else 417 return PERL_constant_NOTDEF; 418#endif 419 } 420 break; 421 case 'N': 422 if (memEQ(name, "LOG_DAEMO", 9)) { 423 /* N */ 424#ifdef LOG_DAEMON 425 *iv_return = LOG_DAEMON; 426 return PERL_constant_ISIV; 427#else 428 return PERL_constant_NOTDEF; 429#endif 430 } 431 break; 432 case 'R': 433 if (memEQ(name, "LOG_PERRO", 9)) { 434 /* R */ 435#ifdef LOG_PERROR 436 *iv_return = LOG_PERROR; 437 return PERL_constant_ISIV; 438#else 439 return PERL_constant_NOTDEF; 440#endif 441 } 442 break; 443 case 'T': 444 if (memEQ(name, "LOG_NOWAI", 9)) { 445 /* T */ 446#ifdef LOG_NOWAIT 447 *iv_return = LOG_NOWAIT; 448 return PERL_constant_ISIV; 449#else 450 return PERL_constant_NOTDEF; 451#endif 452 } 453 break; 454 case 'Y': 455 if (memEQ(name, "LOG_NDELA", 9)) { 456 /* Y */ 457#ifdef LOG_NDELAY 458 *iv_return = LOG_NDELAY; 459 return PERL_constant_ISIV; 460#else 461 return PERL_constant_NOTDEF; 462#endif 463 } 464 if (memEQ(name, "LOG_ODELA", 9)) { 465 /* Y */ 466#ifdef LOG_ODELAY 467 *iv_return = LOG_ODELAY; 468 return PERL_constant_ISIV; 469#else 470 return PERL_constant_NOTDEF; 471#endif 472 } 473 break; 474 } 475 return PERL_constant_NOTFOUND; 476} 477 478static int 479constant_11 (pTHX_ const char *name, IV *iv_return) { 480 /* When generated this function returned values for the list of names given 481 here. However, subsequent manual editing may have added or removed some. 482 LOG_CONSOLE LOG_FACMASK LOG_INSTALL LOG_LAUNCHD LOG_NETINFO LOG_PRIMASK 483 LOG_WARNING */ 484 /* Offset 6 gives the best switch position. */ 485 switch (name[6]) { 486 case 'C': 487 if (memEQ(name, "LOG_FACMASK", 11)) { 488 /* ^ */ 489#ifdef LOG_FACMASK 490 *iv_return = LOG_FACMASK; 491 return PERL_constant_ISIV; 492#else 493 return PERL_constant_NOTDEF; 494#endif 495 } 496 break; 497 case 'I': 498 if (memEQ(name, "LOG_PRIMASK", 11)) { 499 /* ^ */ 500#ifdef LOG_PRIMASK 501 *iv_return = LOG_PRIMASK; 502 return PERL_constant_ISIV; 503#else 504 *iv_return = 7; 505 return PERL_constant_ISIV; 506#endif 507 } 508 break; 509 case 'N': 510 if (memEQ(name, "LOG_CONSOLE", 11)) { 511 /* ^ */ 512#ifdef LOG_CONSOLE 513 *iv_return = LOG_CONSOLE; 514 return PERL_constant_ISIV; 515#else 516 *iv_return = LOG_USER; 517 return PERL_constant_ISIV; 518#endif 519 } 520 break; 521 case 'R': 522 if (memEQ(name, "LOG_WARNING", 11)) { 523 /* ^ */ 524#ifdef LOG_WARNING 525 *iv_return = LOG_WARNING; 526 return PERL_constant_ISIV; 527#else 528 return PERL_constant_NOTDEF; 529#endif 530 } 531 break; 532 case 'S': 533 if (memEQ(name, "LOG_INSTALL", 11)) { 534 /* ^ */ 535#ifdef LOG_INSTALL 536 *iv_return = LOG_INSTALL; 537 return PERL_constant_ISIV; 538#else 539 *iv_return = LOG_USER; 540 return PERL_constant_ISIV; 541#endif 542 } 543 break; 544 case 'T': 545 if (memEQ(name, "LOG_NETINFO", 11)) { 546 /* ^ */ 547#ifdef LOG_NETINFO 548 *iv_return = LOG_NETINFO; 549 return PERL_constant_ISIV; 550#else 551 *iv_return = LOG_DAEMON; 552 return PERL_constant_ISIV; 553#endif 554 } 555 break; 556 case 'U': 557 if (memEQ(name, "LOG_LAUNCHD", 11)) { 558 /* ^ */ 559#ifdef LOG_LAUNCHD 560 *iv_return = LOG_LAUNCHD; 561 return PERL_constant_ISIV; 562#else 563 *iv_return = LOG_DAEMON; 564 return PERL_constant_ISIV; 565#endif 566 } 567 break; 568 } 569 return PERL_constant_NOTFOUND; 570} 571 572static int 573constant (pTHX_ const char *name, STRLEN len, IV *iv_return, const char **pv_return) { 574 /* Initially switch on the length of the name. */ 575 /* When generated this function returned values for the list of names given 576 in this section of perl code. Rather than manually editing these functions 577 to add or remove constants, which would result in this comment and section 578 of code becoming inaccurate, we recommend that you edit this section of 579 code, and use it to regenerate a new set of constant functions which you 580 then use to replace the originals. 581 582 Regenerate these constant functions by feeding this entire source file to 583 perl -x 584 585#!perl -w 586use ExtUtils::Constant qw (constant_types C_constant XS_constant); 587 588my $types = {map {($_, 1)} qw(IV PV)}; 589my @names = (qw(LOG_ALERT LOG_AUTH LOG_AUTHPRIV LOG_CONS LOG_CRIT LOG_CRON 590 LOG_DAEMON LOG_DEBUG LOG_EMERG LOG_ERR LOG_FACMASK LOG_FTP 591 LOG_INFO LOG_KERN LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 592 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL 593 LOG_NDELAY LOG_NEWS LOG_NOTICE LOG_NOWAIT LOG_ODELAY LOG_PERROR 594 LOG_PID LOG_SYSLOG LOG_USER LOG_UUCP LOG_WARNING), 595 {name=>"LOG_AUDIT", type=>"IV", default=>["IV", "LOG_AUTH"]}, 596 {name=>"LOG_CONSOLE", type=>"IV", default=>["IV", "LOG_USER"]}, 597 {name=>"LOG_INSTALL", type=>"IV", default=>["IV", "LOG_USER"]}, 598 {name=>"LOG_LAUNCHD", type=>"IV", default=>["IV", "LOG_DAEMON"]}, 599 {name=>"LOG_LFMT", type=>"IV", default=>["IV", "LOG_USER"]}, 600 {name=>"LOG_NETINFO", type=>"IV", default=>["IV", "LOG_DAEMON"]}, 601 {name=>"LOG_NFACILITIES", type=>"IV", default=>["IV", "30"]}, 602 {name=>"LOG_NTP", type=>"IV", default=>["IV", "LOG_DAEMON"]}, 603 {name=>"LOG_PRIMASK", type=>"IV", default=>["IV", "7"]}, 604 {name=>"LOG_RAS", type=>"IV", default=>["IV", "LOG_AUTH"]}, 605 {name=>"LOG_REMOTEAUTH", type=>"IV", default=>["IV", "LOG_AUTH"]}, 606 {name=>"LOG_SECURITY", type=>"IV", default=>["IV", "LOG_AUTH"]}, 607 {name=>"_PATH_LOG", type=>"PV", default=>["PV", "\"/var/run/syslog\""]}); 608 609print constant_types(); # macro defs 610foreach (C_constant ("Sys::Syslog", 'constant', 'IV', $types, undef, 3, @names) ) { 611 print $_, "\n"; # C constant subs 612} 613print "#### XS Section:\n"; 614print XS_constant ("Sys::Syslog", $types); 615__END__ 616 */ 617 618 switch (len) { 619 case 7: 620 return constant_7 (aTHX_ name, iv_return); 621 break; 622 case 8: 623 return constant_8 (aTHX_ name, iv_return); 624 break; 625 case 9: 626 return constant_9 (aTHX_ name, iv_return, pv_return); 627 break; 628 case 10: 629 return constant_10 (aTHX_ name, iv_return); 630 break; 631 case 11: 632 return constant_11 (aTHX_ name, iv_return); 633 break; 634 case 12: 635 /* Names all of length 12. */ 636 /* LOG_AUTHPRIV LOG_SECURITY */ 637 /* Offset 8 gives the best switch position. */ 638 switch (name[8]) { 639 case 'P': 640 if (memEQ(name, "LOG_AUTHPRIV", 12)) { 641 /* ^ */ 642#ifdef LOG_AUTHPRIV 643 *iv_return = LOG_AUTHPRIV; 644 return PERL_constant_ISIV; 645#else 646 return PERL_constant_NOTDEF; 647#endif 648 } 649 break; 650 case 'R': 651 if (memEQ(name, "LOG_SECURITY", 12)) { 652 /* ^ */ 653#ifdef LOG_SECURITY 654 *iv_return = LOG_SECURITY; 655 return PERL_constant_ISIV; 656#else 657 *iv_return = LOG_AUTH; 658 return PERL_constant_ISIV; 659#endif 660 } 661 break; 662 } 663 break; 664 case 14: 665 if (memEQ(name, "LOG_REMOTEAUTH", 14)) { 666#ifdef LOG_REMOTEAUTH 667 *iv_return = LOG_REMOTEAUTH; 668 return PERL_constant_ISIV; 669#else 670 *iv_return = LOG_AUTH; 671 return PERL_constant_ISIV; 672#endif 673 } 674 break; 675 case 15: 676 if (memEQ(name, "LOG_NFACILITIES", 15)) { 677#ifdef LOG_NFACILITIES 678 *iv_return = LOG_NFACILITIES; 679 return PERL_constant_ISIV; 680#else 681 *iv_return = 30; 682 return PERL_constant_ISIV; 683#endif 684 } 685 break; 686 } 687 return PERL_constant_NOTFOUND; 688} 689 690