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