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).
12 #define CLOCKS_PER_SEC 60
15 #define CLK_TCK CLOCKS_PER_SEC /* obsolescent mame for CLOCKS_PER_SEC */
18 #define NULL ((void *)0)
22 typedef unsigned int size_t;
27 typedef long time_t; /* time in sec since 1 Jan 1970 0000 GMT */
32 typedef long clock_t; /* time in ticks since process started */
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 */
47 extern char *tzname
[];
49 /* Function Prototypes. */
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
) );
66 _PROTOTYPE( void tzset
, (void) );
70 _PROTOTYPE( int stime
, (time_t *_top
) );
82 int nanosleep(const struct timespec
*rqtp
, struct timespec
*rmtp
);