[4] | 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 */
|
---|