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.
This commit is contained in:
Danny Smith
2004-03-26 11:30:24 +00:00
parent 27ec638b25
commit ff9f5c8330
12 changed files with 254 additions and 50 deletions

View File

@ -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
}