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