1 | /*
|
---|
2 | * Time definitions
|
---|
3 | *
|
---|
4 | * Copyright 2000 Francois Gouget.
|
---|
5 | *
|
---|
6 | * This library is free software; you can redistribute it and/or
|
---|
7 | * modify it under the terms of the GNU Lesser General Public
|
---|
8 | * License as published by the Free Software Foundation; either
|
---|
9 | * version 2.1 of the License, or (at your option) any later version.
|
---|
10 | *
|
---|
11 | * This library is distributed in the hope that it will be useful,
|
---|
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
14 | * Lesser General Public License for more details.
|
---|
15 | *
|
---|
16 | * You should have received a copy of the GNU Lesser General Public
|
---|
17 | * License along with this library; if not, write to the Free Software
|
---|
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
---|
19 | */
|
---|
20 | #ifndef __WINE_TIME_H
|
---|
21 | #define __WINE_TIME_H
|
---|
22 | #define __WINE_USE_MSVCRT
|
---|
23 |
|
---|
24 | #ifndef MSVCRT
|
---|
25 | # ifdef USE_MSVCRT_PREFIX
|
---|
26 | # define MSVCRT(x) MSVCRT_##x
|
---|
27 | # else
|
---|
28 | # define MSVCRT(x) x
|
---|
29 | # endif
|
---|
30 | #endif
|
---|
31 |
|
---|
32 | #ifndef MSVCRT_WCHAR_T_DEFINED
|
---|
33 | #define MSVCRT_WCHAR_T_DEFINED
|
---|
34 | #ifndef __cplusplus
|
---|
35 | typedef unsigned short MSVCRT(wchar_t);
|
---|
36 | #endif
|
---|
37 | #endif
|
---|
38 |
|
---|
39 | #ifndef MSVCRT_SIZE_T_DEFINED
|
---|
40 | typedef unsigned int MSVCRT(size_t);
|
---|
41 | #define MSVCRT_SIZE_T_DEFINED
|
---|
42 | #endif
|
---|
43 |
|
---|
44 | #ifndef MSVCRT_TIME_T_DEFINED
|
---|
45 | typedef long MSVCRT(time_t);
|
---|
46 | #define MSVCRT_TIME_T_DEFINED
|
---|
47 | #endif
|
---|
48 |
|
---|
49 | #ifndef MSVCRT_CLOCK_T_DEFINED
|
---|
50 | typedef long MSVCRT(clock_t);
|
---|
51 | #define MSVCRT_CLOCK_T_DEFINED
|
---|
52 | #endif
|
---|
53 |
|
---|
54 | #ifndef NULL
|
---|
55 | #ifdef __cplusplus
|
---|
56 | #define NULL 0
|
---|
57 | #else
|
---|
58 | #define NULL ((void *)0)
|
---|
59 | #endif
|
---|
60 | #endif
|
---|
61 |
|
---|
62 | #ifndef MSVCRT_TM_DEFINED
|
---|
63 | #define MSVCRT_TM_DEFINED
|
---|
64 | struct MSVCRT(tm) {
|
---|
65 | int tm_sec;
|
---|
66 | int tm_min;
|
---|
67 | int tm_hour;
|
---|
68 | int tm_mday;
|
---|
69 | int tm_mon;
|
---|
70 | int tm_year;
|
---|
71 | int tm_wday;
|
---|
72 | int tm_yday;
|
---|
73 | int tm_isdst;
|
---|
74 | };
|
---|
75 | #endif /* MSVCRT_TM_DEFINED */
|
---|
76 |
|
---|
77 | #ifdef __cplusplus
|
---|
78 | extern "C" {
|
---|
79 | #endif
|
---|
80 |
|
---|
81 | /* FIXME: Must do something for _daylight, _dstbias, _timezone, _tzname */
|
---|
82 |
|
---|
83 |
|
---|
84 | unsigned _getsystime(struct MSVCRT(tm)*);
|
---|
85 | unsigned _setsystime(struct MSVCRT(tm)*,unsigned);
|
---|
86 | char* _strdate(char*);
|
---|
87 | char* _strtime(char*);
|
---|
88 | void _tzset(void);
|
---|
89 |
|
---|
90 | char* MSVCRT(asctime)(const struct MSVCRT(tm)*);
|
---|
91 | MSVCRT(clock_t) MSVCRT(clock)(void);
|
---|
92 | char* MSVCRT(ctime)(const MSVCRT(time_t)*);
|
---|
93 | double MSVCRT(difftime)(MSVCRT(time_t),MSVCRT(time_t));
|
---|
94 | struct MSVCRT(tm)* MSVCRT(gmtime)(const MSVCRT(time_t)*);
|
---|
95 | struct MSVCRT(tm)* MSVCRT(localtime)(const MSVCRT(time_t)*);
|
---|
96 | MSVCRT(time_t) MSVCRT(mktime)(struct MSVCRT(tm)*);
|
---|
97 | size_t MSVCRT(strftime)(char*,size_t,const char*,const struct MSVCRT(tm)*);
|
---|
98 | MSVCRT(time_t) MSVCRT(time)(MSVCRT(time_t)*);
|
---|
99 |
|
---|
100 | #ifndef MSVCRT_WTIME_DEFINED
|
---|
101 | #define MSVCRT_WTIME_DEFINED
|
---|
102 | MSVCRT(wchar_t)*_wasctime(const struct MSVCRT(tm)*);
|
---|
103 | MSVCRT(size_t) wcsftime(MSVCRT(wchar_t)*,MSVCRT(size_t),const MSVCRT(wchar_t)*,const struct MSVCRT(tm)*);
|
---|
104 | MSVCRT(wchar_t)*_wctime(const MSVCRT(time_t)*);
|
---|
105 | MSVCRT(wchar_t)*_wstrdate(MSVCRT(wchar_t)*);
|
---|
106 | MSVCRT(wchar_t)*_wstrtime(MSVCRT(wchar_t)*);
|
---|
107 | #endif /* MSVCRT_WTIME_DEFINED */
|
---|
108 |
|
---|
109 | #ifdef __cplusplus
|
---|
110 | }
|
---|
111 | #endif
|
---|
112 |
|
---|
113 | #endif /* __WINE_TIME_H */
|
---|