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