This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl.h: Add comments
[perl5.git] / time64_config.h
1 #ifndef PERL_TIME64_CONFIG_H_
2 #    define PERL_TIME64_CONFIG_H_
3
4 #include "reentr.h"
5
6 /* Configuration
7    -------------
8    Define as appropriate for your system.
9    Sensible defaults provided.
10 */
11
12 /* Debugging
13    TIME_64_DEBUG
14    Define if you want debugging messages
15 */
16 /* #define TIME_64_DEBUG */
17
18
19 /* INT_64_T
20    A numeric type to store time and others. 
21    Must be defined.
22 */
23 #define INT_64_T                NV
24
25
26 /* USE_TM64
27    Should we use a 64 bit safe replacement for tm?  This will
28    let you go past year 2 billion but the struct will be incompatible
29    with tm.  Conversion functions will be provided.
30 */
31 #define USE_TM64
32
33
34 /* Availability of system functions.
35
36    HAS_GMTIME_R
37    Define if your system has gmtime_r()
38
39    HAS_LOCALTIME_R
40    Define if your system has localtime_r()
41
42    HAS_TIMEGM
43    Define if your system has timegm(), a GNU extension.
44 */
45 /* Set in config.h */
46
47
48 /* Details of non-standard tm struct elements.
49
50    HAS_TM_TM_GMTOFF
51    True if your tm struct has a "tm_gmtoff" element.
52    A BSD extension.
53
54    HAS_TM_TM_ZONE
55    True if your tm struct has a "tm_zone" element.
56    A BSD extension.
57 */
58 /* Set in config.h */
59
60
61 /* USE_SYSTEM_LOCALTIME
62    USE_SYSTEM_GMTIME
63    Should we use the system functions if the time is inside their range?
64    Your system localtime() is probably more accurate, but our gmtime() is
65    fast and safe.  Except on VMS, where we need the homegrown gmtime()
66    override to shift between UTC and local for the vmsish 'time' pragma.
67 */
68 #define USE_SYSTEM_LOCALTIME
69 #ifdef VMS
70 #  define USE_SYSTEM_GMTIME
71 #endif
72
73
74 /* SYSTEM_LOCALTIME_MAX
75    SYSTEM_LOCALTIME_MIN
76    SYSTEM_GMTIME_MAX
77    SYSTEM_GMTIME_MIN
78    Maximum and minimum values your system's gmtime() and localtime()
79    can handle.  We will use your system functions if the time falls
80    inside these ranges.
81 */
82 #define SYSTEM_LOCALTIME_MAX    CAT2(LOCALTIME_MAX,.0)
83 #define SYSTEM_LOCALTIME_MIN    CAT2(LOCALTIME_MIN,.0)
84 #define SYSTEM_GMTIME_MAX       CAT2(GMTIME_MAX,.0)
85 #define SYSTEM_GMTIME_MIN       CAT2(GMTIME_MIN,.0)
86
87 #endif /* PERL_TIME64_CONFIG_H_ */