aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/time/local.h
blob: af5793af9ab45a77171c69a62b406c183bb4b4a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* local header used by libc/time routines */
#include <_ansi.h>
#include <time.h>

#define SECSPERMIN	60L
#define MINSPERHOUR	60L
#define HOURSPERDAY	24L
#define SECSPERHOUR	(SECSPERMIN * MINSPERHOUR)
#define SECSPERDAY	(SECSPERHOUR * HOURSPERDAY)
#define DAYSPERWEEK	7
#define MONSPERYEAR	12

#define YEAR_BASE	1900
#define EPOCH_YEAR      1970
#define EPOCH_WDAY      4
#define EPOCH_YEARS_SINCE_LEAP 2
#define EPOCH_YEARS_SINCE_CENTURY 70
#define EPOCH_YEARS_SINCE_LEAP_CENTURY 370

#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)

int         _EXFUN (__tzcalc_limits, (int __year));

extern _CONST int __month_lengths[2][MONSPERYEAR];

_VOID _EXFUN(_tzset_unlocked_r, (struct _reent *));
_VOID _EXFUN(_tzset_unlocked, (_VOID));

/* locks for multi-threading */
#ifdef __SINGLE_THREAD__
#define TZ_LOCK
#define TZ_UNLOCK
#else
#define TZ_LOCK __tz_lock()
#define TZ_UNLOCK __tz_unlock()
#endif

void _EXFUN(__tz_lock,(_VOID));
void _EXFUN(__tz_unlock,(_VOID));