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