summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/include/time.h
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2004-03-26 11:30:24 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2004-03-26 11:30:24 +0000
commitff9f5c83307da538c7e00fcbd06a2ae5ce75bf79 (patch)
tree7e939d187e592f5e3ab8aa7e8ed2b03a8ea01af9 /winsup/mingw/include/time.h
parent27ec638b258b73c00cc9a7d8dc147d3a0579f300 (diff)
downloadcygnal-ff9f5c83307da538c7e00fcbd06a2ae5ce75bf79.tar.gz
cygnal-ff9f5c83307da538c7e00fcbd06a2ae5ce75bf79.tar.bz2
cygnal-ff9f5c83307da538c7e00fcbd06a2ae5ce75bf79.zip
Add prototypes for new msvcrt.dll versions
* include/_mingw.h (__MSVCRT_VERSION__): Define default as 0x0600. * include/time.h (__time64_t): Add typedef. (_mktime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. (_ctime64): Likewise. (_wctime64): Likewise. (_gmtime64): Likewise. (_localtime64): Likewise. (wcsftime): Move into _WTIME_DEFINED block. Regroup non-ANSI prototypes. * include/io.h: Include <stdint.h>. (__finddata64_t): Add struct definition. (__wfinddata64_t): Likewise. (_findfirst64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. (_findnext64): Likewise. (_wfindfirst64): Likewise. (_wfindnext64): Likewise. * include/sys/timeb.h (__timeb64): Add struct definition. (_ftime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. * include/sys/utime.h (__utimbuf64): Add struct definition. (_utime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. (_futime64): Likewise. (_wutime64): Likewise. * include/sys/stat.h (__stat64): Add struct definition. (_fstat64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. (_stat64): Likewise. (_wstat64): Likwise. * include/sys/types.h (__time64_t): Add typedef. * include/wchar.h (__wfinddata64_t): Add structure definition. (__stat64): Likewise. (_wctime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601. (_wfindfirst64): Likewise. (_wfindnext64): Likewise. (_wutime64): Likewise. (_wstat64): Likwise. * include/malloc.h (_aligned_free): Add prototype for __MSVCRT_VERSION__ >= 0x0700. (_aligned_malloc): Likewise. (_aligned_offset_malloc): Likewise. (_aligned_offset_realloc): Likewise. (_aligned_realloc): Likewise. * include/string.h (_wcserror): Add prototype for __MSVCRT_VERSION__ >= 0x0700. (__wcserror): Likewise. * include/math.h (_set_SSE2_enable): Add prototype for __MSVCRT_VERSION__ >= 0x0701.
Diffstat (limited to 'winsup/mingw/include/time.h')
-rw-r--r--winsup/mingw/include/time.h54
1 files changed, 35 insertions, 19 deletions
diff --git a/winsup/mingw/include/time.h b/winsup/mingw/include/time.h
index 45d6b0e1c..2a75e18cb 100644
--- a/winsup/mingw/include/time.h
+++ b/winsup/mingw/include/time.h
@@ -62,6 +62,13 @@ typedef long time_t;
#define _TIME_T_DEFINED
#endif
+#ifndef __STRICT_ANSI__
+/* A 64-bit time_t to get to Y3K */
+#ifndef _TIME64_T_DEFINED
+typedef __int64 __time64_t
+#define _TIME64_T_DEFINED
+#endif
+#endif
/*
* A type for measuring processor time (in clock ticks).
*/
@@ -70,7 +77,6 @@ typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
-
/*
* A structure for storing all kinds of useful information about the
* current (or another) time.
@@ -113,12 +119,10 @@ _CRTIMP char* __cdecl ctime (const time_t*);
_CRTIMP struct tm* __cdecl gmtime (const time_t*);
_CRTIMP struct tm* __cdecl localtime (const time_t*);
-
-_CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*);
-
-_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
+_CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*);
#ifndef __STRICT_ANSI__
+
extern _CRTIMP void __cdecl _tzset (void);
#ifndef _NO_OLDNAMES
@@ -128,7 +132,14 @@ extern _CRTIMP void __cdecl tzset (void);
_CRTIMP char* __cdecl _strdate(char*);
_CRTIMP char* __cdecl _strtime(char*);
-#endif /* Not __STRICT_ANSI__ */
+/* These require newer versions of msvcrt.dll (6.10 or higher). */
+#if __MSVCRT_VERSION__ >= 0x0601
+_CRTIMP __time64_t __cdecl _time64( __time64_t);
+_CRTIMP __time64_t __cdecl _mktime64 (struct tm*);
+_CRTIMP char* __cdecl _ctime64 (const __time64_t*);
+_CRTIMP struct tm* __cdecl _gmtime64 (const __time64_t*);
+_CRTIMP struct tm* __cdecl _localtime64 (const __time64_t*);
+#endif /* __MSVCRT_VERSION__ >= 0x0601 */
/*
* _daylight: non zero if daylight savings time is used.
@@ -181,19 +192,6 @@ __MINGW_IMPORT int daylight;
__MINGW_IMPORT long timezone;
__MINGW_IMPORT char *tzname[2];
-#ifndef _WTIME_DEFINED
-
-/* wide function prototypes, also declared in wchar.h */
-
-_CRTIMP wchar_t* __cdecl _wasctime(const struct tm*);
-_CRTIMP wchar_t* __cdecl _wctime(const time_t*);
-_CRTIMP wchar_t* __cdecl _wstrdate(wchar_t*);
-_CRTIMP wchar_t* __cdecl _wstrtime(wchar_t*);
-
-#define _WTIME_DEFINED
-#endif /* _WTIME_DEFINED */
-
-
#else /* not __MSVCRT__ */
/* CRTDLL is royally messed up when it comes to these macros.
@@ -208,6 +206,24 @@ __MINGW_IMPORT char *tzname[2];
#endif /* not __MSVCRT__ */
#endif /* Not _NO_OLDNAMES */
+#endif /* Not __STRICT_ANSI__ */
+
+#ifndef __STRICT_ANSI__
+#ifndef _WTIME_DEFINED
+/* wide function prototypes, also declared in wchar.h */
+#ifdef __MSVCRT__
+_CRTIMP wchar_t* __cdecl _wasctime(const struct tm*);
+_CRTIMP wchar_t* __cdecl _wctime(const time_t*);
+_CRTIMP wchar_t* __cdecl _wstrdate(wchar_t*);
+_CRTIMP wchar_t* __cdecl _wstrtime(wchar_t*);
+#if __MSVCRT_VERSION__ >= 0x0601
+_CRTIMP wchar_t* __cdecl _wctime64 (const __time64_t*);
+#endif
+#endif /* __MSVCRT__ */
+_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
+#define _WTIME_DEFINED
+#endif /* _WTIME_DEFINED */
+#endif /* __STRICT_ANSI__ */
#ifdef __cplusplus
}