9 #define PERL_constant_NOTFOUND 1
10 #define PERL_constant_NOTDEF 2
11 #define PERL_constant_ISIV 3
12 #define PERL_constant_ISNV 4
13 #define PERL_constant_ISPV 5
14 #define PERL_constant_ISPVN 6
15 #define PERL_constant_ISUV 7
18 typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
22 constant_7 (const char *name, IV *iv_return) {
23 /* Names all of length 7. */
24 /* When generated this function returned values for the list of names given
25 here. However, subsequent manual editing may have added or removed some.
26 LOG_ERR LOG_FTP LOG_LPR LOG_PID */
27 /* Offset 4 gives the best switch position. */
30 if (memEQ(name, "LOG_ERR", 7)) {
34 return PERL_constant_ISIV;
36 return PERL_constant_NOTDEF;
41 if (memEQ(name, "LOG_FTP", 7)) {
45 return PERL_constant_ISIV;
47 return PERL_constant_NOTDEF;
52 if (memEQ(name, "LOG_LPR", 7)) {
56 return PERL_constant_ISIV;
58 return PERL_constant_NOTDEF;
63 if (memEQ(name, "LOG_PID", 7)) {
67 return PERL_constant_ISIV;
69 return PERL_constant_NOTDEF;
74 return PERL_constant_NOTFOUND;
78 constant_8 (const char *name, IV *iv_return) {
79 /* Names all of length 8. */
80 /* When generated this function returned values for the list of names given
81 here. However, subsequent manual editing may have added or removed some.
82 LOG_AUTH LOG_CONS LOG_CRIT LOG_CRON LOG_INFO LOG_KERN LOG_LFMT LOG_MAIL
83 LOG_NEWS LOG_USER LOG_UUCP */
84 /* Offset 6 gives the best switch position. */
87 if (memEQ(name, "LOG_UUCP", 8)) {
90 *iv_return = LOG_UUCP;
91 return PERL_constant_ISIV;
93 return PERL_constant_NOTDEF;
98 if (memEQ(name, "LOG_USER", 8)) {
101 *iv_return = LOG_USER;
102 return PERL_constant_ISIV;
104 return PERL_constant_NOTDEF;
109 if (memEQ(name, "LOG_INFO", 8)) {
112 *iv_return = LOG_INFO;
113 return PERL_constant_ISIV;
115 return PERL_constant_NOTDEF;
120 if (memEQ(name, "LOG_CRIT", 8)) {
123 *iv_return = LOG_CRIT;
124 return PERL_constant_ISIV;
126 return PERL_constant_NOTDEF;
129 if (memEQ(name, "LOG_MAIL", 8)) {
132 *iv_return = LOG_MAIL;
133 return PERL_constant_ISIV;
135 return PERL_constant_NOTDEF;
140 if (memEQ(name, "LOG_LFMT", 8)) {
143 *iv_return = LOG_LFMT;
144 return PERL_constant_ISIV;
146 return PERL_constant_NOTDEF;
151 if (memEQ(name, "LOG_CONS", 8)) {
154 *iv_return = LOG_CONS;
155 return PERL_constant_ISIV;
157 return PERL_constant_NOTDEF;
162 if (memEQ(name, "LOG_CRON", 8)) {
165 *iv_return = LOG_CRON;
166 return PERL_constant_ISIV;
168 return PERL_constant_NOTDEF;
173 if (memEQ(name, "LOG_KERN", 8)) {
176 *iv_return = LOG_KERN;
177 return PERL_constant_ISIV;
179 return PERL_constant_NOTDEF;
184 if (memEQ(name, "LOG_AUTH", 8)) {
187 *iv_return = LOG_AUTH;
188 return PERL_constant_ISIV;
190 return PERL_constant_NOTDEF;
195 if (memEQ(name, "LOG_NEWS", 8)) {
198 *iv_return = LOG_NEWS;
199 return PERL_constant_ISIV;
201 return PERL_constant_NOTDEF;
206 return PERL_constant_NOTFOUND;
210 constant_9 (const char *name, IV *iv_return) {
211 /* Names all of length 9. */
212 /* When generated this function returned values for the list of names given
213 here. However, subsequent manual editing may have added or removed some.
214 LOG_ALERT LOG_DEBUG LOG_EMERG */
215 /* Offset 4 gives the best switch position. */
218 if (memEQ(name, "LOG_ALERT", 9)) {
221 *iv_return = LOG_ALERT;
222 return PERL_constant_ISIV;
224 return PERL_constant_NOTDEF;
229 if (memEQ(name, "LOG_DEBUG", 9)) {
232 *iv_return = LOG_DEBUG;
233 return PERL_constant_ISIV;
235 return PERL_constant_NOTDEF;
240 if (memEQ(name, "LOG_EMERG", 9)) {
243 *iv_return = LOG_EMERG;
244 return PERL_constant_ISIV;
246 return PERL_constant_NOTDEF;
251 return PERL_constant_NOTFOUND;
255 constant_10 (const char *name, IV *iv_return) {
256 /* Names all of length 10. */
257 /* When generated this function returned values for the list of names given
258 here. However, subsequent manual editing may have added or removed some.
259 LOG_DAEMON LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4
260 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_NDELAY LOG_NOTICE LOG_NOWAIT
261 LOG_ODELAY LOG_PERROR LOG_SYSLOG */
262 /* Offset 9 gives the best switch position. */
265 if (memEQ(name, "LOG_LOCAL0", 10)) {
268 *iv_return = LOG_LOCAL0;
269 return PERL_constant_ISIV;
271 return PERL_constant_NOTDEF;
276 if (memEQ(name, "LOG_LOCAL1", 10)) {
279 *iv_return = LOG_LOCAL1;
280 return PERL_constant_ISIV;
282 return PERL_constant_NOTDEF;
287 if (memEQ(name, "LOG_LOCAL2", 10)) {
290 *iv_return = LOG_LOCAL2;
291 return PERL_constant_ISIV;
293 return PERL_constant_NOTDEF;
298 if (memEQ(name, "LOG_LOCAL3", 10)) {
301 *iv_return = LOG_LOCAL3;
302 return PERL_constant_ISIV;
304 return PERL_constant_NOTDEF;
309 if (memEQ(name, "LOG_LOCAL4", 10)) {
312 *iv_return = LOG_LOCAL4;
313 return PERL_constant_ISIV;
315 return PERL_constant_NOTDEF;
320 if (memEQ(name, "LOG_LOCAL5", 10)) {
323 *iv_return = LOG_LOCAL5;
324 return PERL_constant_ISIV;
326 return PERL_constant_NOTDEF;
331 if (memEQ(name, "LOG_LOCAL6", 10)) {
334 *iv_return = LOG_LOCAL6;
335 return PERL_constant_ISIV;
337 return PERL_constant_NOTDEF;
342 if (memEQ(name, "LOG_LOCAL7", 10)) {
345 *iv_return = LOG_LOCAL7;
346 return PERL_constant_ISIV;
348 return PERL_constant_NOTDEF;
353 if (memEQ(name, "LOG_NOTICE", 10)) {
356 *iv_return = LOG_NOTICE;
357 return PERL_constant_ISIV;
359 return PERL_constant_NOTDEF;
364 if (memEQ(name, "LOG_SYSLOG", 10)) {
367 *iv_return = LOG_SYSLOG;
368 return PERL_constant_ISIV;
370 return PERL_constant_NOTDEF;
375 if (memEQ(name, "LOG_DAEMON", 10)) {
378 *iv_return = LOG_DAEMON;
379 return PERL_constant_ISIV;
381 return PERL_constant_NOTDEF;
386 if (memEQ(name, "LOG_PERROR", 10)) {
389 *iv_return = LOG_PERROR;
390 return PERL_constant_ISIV;
392 return PERL_constant_NOTDEF;
397 if (memEQ(name, "LOG_NOWAIT", 10)) {
400 *iv_return = LOG_NOWAIT;
401 return PERL_constant_ISIV;
403 return PERL_constant_NOTDEF;
408 if (memEQ(name, "LOG_NDELAY", 10)) {
411 *iv_return = LOG_NDELAY;
412 return PERL_constant_ISIV;
414 return PERL_constant_NOTDEF;
417 if (memEQ(name, "LOG_ODELAY", 10)) {
420 *iv_return = LOG_ODELAY;
421 return PERL_constant_ISIV;
423 return PERL_constant_NOTDEF;
428 return PERL_constant_NOTFOUND;
432 constant_11 (const char *name, IV *iv_return) {
433 /* Names all of length 11. */
434 /* When generated this function returned values for the list of names given
435 here. However, subsequent manual editing may have added or removed some.
436 LOG_FACMASK LOG_PRIMASK LOG_WARNING */
437 /* Offset 6 gives the best switch position. */
440 if (memEQ(name, "LOG_FACMASK", 11)) {
443 *iv_return = LOG_FACMASK;
444 return PERL_constant_ISIV;
446 return PERL_constant_NOTDEF;
451 if (memEQ(name, "LOG_PRIMASK", 11)) {
454 *iv_return = LOG_PRIMASK;
455 return PERL_constant_ISIV;
457 return PERL_constant_NOTDEF;
462 if (memEQ(name, "LOG_WARNING", 11)) {
465 *iv_return = LOG_WARNING;
466 return PERL_constant_ISIV;
468 return PERL_constant_NOTDEF;
473 return PERL_constant_NOTFOUND;
477 constant (const char *name, STRLEN len, IV *iv_return) {
478 /* Initially switch on the length of the name. */
479 /* When generated this function returned values for the list of names given
480 in this section of perl code. Rather than manually editing these functions
481 to add or remove constants, which would result in this comment and section
482 of code becoming inaccurate, we recommend that you edit this section of
483 code, and use it to regenerate a new set of constant functions which you
484 then use to replace the originals.
486 Regenerate these constant functions by feeding this entire source file to
490 use ExtUtils::Constant qw (constant_types C_constant XS_constant);
492 my $types = {IV => 1};
493 my @names = (qw(LOG_ALERT LOG_AUTH LOG_AUTHPRIV LOG_CONS LOG_CRIT LOG_CRON
494 LOG_DAEMON LOG_DEBUG LOG_EMERG LOG_ERR LOG_FACMASK LOG_FTP
495 LOG_INFO LOG_KERN LOG_LFMT LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2
496 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR
497 LOG_MAIL LOG_NDELAY LOG_NEWS LOG_NFACILITIES LOG_NOTICE
498 LOG_NOWAIT LOG_ODELAY LOG_PERROR LOG_PID LOG_PRIMASK LOG_SYSLOG
499 LOG_USER LOG_UUCP LOG_WARNING));
501 print constant_types(); # macro defs
502 foreach (C_constant ("Sys::Syslog", 'constant', 'IV', $types, undef, undef, @names) ) {
503 print $_, "\n"; # C constant subs
505 print "#### XS Section:\n";
506 print XS_constant ("Sys::Syslog", $types);
512 return constant_7 (name, iv_return);
515 return constant_8 (name, iv_return);
518 return constant_9 (name, iv_return);
521 return constant_10 (name, iv_return);
524 return constant_11 (name, iv_return);
527 if (memEQ(name, "LOG_AUTHPRIV", 12)) {
529 *iv_return = LOG_AUTHPRIV;
530 return PERL_constant_ISIV;
532 return PERL_constant_NOTDEF;
537 if (memEQ(name, "LOG_NFACILITIES", 15)) {
538 #ifdef LOG_NFACILITIES
539 *iv_return = LOG_NFACILITIES;
540 return PERL_constant_ISIV;
542 return PERL_constant_NOTDEF;
547 return PERL_constant_NOTFOUND;
550 MODULE = Sys::Syslog PACKAGE = Sys::Syslog
571 croak("Your vendor has not defined the Sys::Syslog macro LOG_FAC");
585 croak("Your vendor has not defined the Sys::Syslog macro LOG_PRI");
598 RETVAL = LOG_MAKEPRI(fac,pri);
600 croak("Your vendor has not defined the Sys::Syslog macro LOG_MAKEPRI");
612 RETVAL = LOG_MASK(pri);
614 croak("Your vendor has not defined the Sys::Syslog macro LOG_MASK");
626 RETVAL = LOG_UPTO(pri);
628 croak("Your vendor has not defined the Sys::Syslog macro LOG_UPTO");
639 dXSTARG; /* Faster if we have it. */
646 /* NV nv; Uncomment this if you need to return NVs */
647 /* const char *pv; Uncomment this if you need to return PVs */
650 const char * s = SvPV(sv, len);
652 /* Change this to constant(s, len, &iv, &nv);
653 if you need to return both NVs and IVs */
654 type = constant(s, len, &iv);
655 /* Return 1 or 2 items. First is error message, or undef if no error.
656 Second, if present, is found value */
658 case PERL_constant_NOTFOUND:
659 sv = sv_2mortal(newSVpvf("%s is not a valid Sys::Syslog macro", s));
662 case PERL_constant_NOTDEF:
663 sv = sv_2mortal(newSVpvf(
664 "Your vendor has not defined Sys::Syslog macro %s used", s));
667 case PERL_constant_ISIV:
673 sv = sv_2mortal(newSVpvf(
674 "Unexpected return type %d while processing Sys::Syslog macro %s used",