1 | /* The <time.h> header is used by the procedures that deal with time.
|
---|
2 | * Handling time is surprisingly complicated, what with GMT, local time
|
---|
3 | * and other factors. Although the Bishop of Ussher (1581-1656) once
|
---|
4 | * calculated that based on the Bible, the world began on 12 Oct. 4004 BC
|
---|
5 | * at 9 o'clock in the morning, in the UNIX world time begins at midnight,
|
---|
6 | * 1 Jan. 1970 GMT. Before that, all was NULL and (void).
|
---|
7 | */
|
---|
8 |
|
---|
9 | #ifndef _TIME_H
|
---|
10 | #define _TIME_H
|
---|
11 |
|
---|
12 | #define CLOCKS_PER_SEC 60 /* MINIX always uses 60 Hz, even in Europe */
|
---|
13 |
|
---|
14 | #ifdef _POSIX_SOURCE
|
---|
15 | #define CLK_TCK CLOCKS_PER_SEC /* obsolescent mame for CLOCKS_PER_SEC */
|
---|
16 | #endif
|
---|
17 |
|
---|
18 | #define NULL ((void *)0)
|
---|
19 |
|
---|
20 | #ifndef _SIZE_T
|
---|
21 | #define _SIZE_T
|
---|
22 | typedef unsigned int size_t;
|
---|
23 | #endif
|
---|
24 |
|
---|
25 | #ifndef _TIME_T
|
---|
26 | #define _TIME_T
|
---|
27 | typedef long time_t; /* time in sec since 1 Jan 1970 0000 GMT */
|
---|
28 | #endif
|
---|
29 |
|
---|
30 | #ifndef _CLOCK_T
|
---|
31 | #define _CLOCK_T
|
---|
32 | typedef long clock_t; /* time in ticks since process started */
|
---|
33 | #endif
|
---|
34 |
|
---|
35 | struct tm {
|
---|
36 | int tm_sec; /* seconds after the minute [0, 59] */
|
---|
37 | int tm_min; /* minutes after the hour [0, 59] */
|
---|
38 | int tm_hour; /* hours since midnight [0, 23] */
|
---|
39 | int tm_mday; /* day of the month [1, 31] */
|
---|
40 | int tm_mon; /* months since January [0, 11] */
|
---|
41 | int tm_year; /* years since 1900 */
|
---|
42 | int tm_wday; /* days since Sunday [0, 6] */
|
---|
43 | int tm_yday; /* days since January 1 [0, 365] */
|
---|
44 | int tm_isdst; /* Daylight Saving Time flag */
|
---|
45 | };
|
---|
46 |
|
---|
47 | extern char *tzname[];
|
---|
48 |
|
---|
49 | /* Function Prototypes. */
|
---|
50 | #ifndef _ANSI_H
|
---|
51 | #include <ansi.h>
|
---|
52 | #endif
|
---|
53 |
|
---|
54 | _PROTOTYPE( clock_t clock, (void) );
|
---|
55 | _PROTOTYPE( double difftime, (time_t _time1, time_t _time0) );
|
---|
56 | _PROTOTYPE( time_t mktime, (struct tm *_timeptr) );
|
---|
57 | _PROTOTYPE( time_t time, (time_t *_timeptr) );
|
---|
58 | _PROTOTYPE( char *asctime, (const struct tm *_timeptr) );
|
---|
59 | _PROTOTYPE( char *ctime, (const time_t *_timer) );
|
---|
60 | _PROTOTYPE( struct tm *gmtime, (const time_t *_timer) );
|
---|
61 | _PROTOTYPE( struct tm *localtime, (const time_t *_timer) );
|
---|
62 | _PROTOTYPE( size_t strftime, (char *_s, size_t _max, const char *_fmt,
|
---|
63 | const struct tm *_timep) );
|
---|
64 |
|
---|
65 | #ifdef _POSIX_SOURCE
|
---|
66 | _PROTOTYPE( void tzset, (void) );
|
---|
67 | #endif
|
---|
68 |
|
---|
69 | #ifdef _MINIX
|
---|
70 | _PROTOTYPE( int stime, (time_t *_top) );
|
---|
71 | #endif
|
---|
72 |
|
---|
73 | extern long timezone;
|
---|
74 |
|
---|
75 | #endif /* _TIME_H */
|
---|