Commit | Line | Data |
f4c6fd49 |
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 | |