source: branches/minix3-book/include/time.h@ 20

Last change on this file since 20 was 4, checked in by Mattia Monga, 14 years ago

Importazione sorgenti libro

File size: 2.2 KB
Line 
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
22typedef unsigned int size_t;
23#endif
24
25#ifndef _TIME_T
26#define _TIME_T
27typedef long time_t; /* time in sec since 1 Jan 1970 0000 GMT */
28#endif
29
30#ifndef _CLOCK_T
31#define _CLOCK_T
32typedef long clock_t; /* time in ticks since process started */
33#endif
34
35struct 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
47extern 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
73extern long timezone;
74
75#endif /* _TIME_H */
Note: See TracBrowser for help on using the repository browser.