| 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 */ | 
|---|