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:
		| @@ -130,6 +130,7 @@ struct stat | ||||
| 	time_t	st_mtime;	/* Modified time */ | ||||
| 	time_t	st_ctime;	/* Creation time */ | ||||
| }; | ||||
|  | ||||
| #if defined (__MSVCRT__) | ||||
| struct _stati64 { | ||||
|     _dev_t st_dev; | ||||
| @@ -144,6 +145,21 @@ struct _stati64 { | ||||
|     time_t st_mtime; | ||||
|     time_t st_ctime; | ||||
| }; | ||||
|  | ||||
| struct __stat64 | ||||
| { | ||||
|     _dev_t st_dev; | ||||
|     _ino_t st_ino; | ||||
|     _mode_t st_mode; | ||||
|     short st_nlink; | ||||
|     short st_uid; | ||||
|     short st_gid; | ||||
|     _dev_t st_rdev; | ||||
|     _off_t st_size; | ||||
|     __time64_t st_atime; | ||||
|     __time64_t st_mtime; | ||||
|     __time64_t st_ctime; | ||||
| }; | ||||
| #endif /* __MSVCRT__ */ | ||||
| #define _STAT_DEFINED | ||||
| #endif /* _STAT_DEFINED */ | ||||
| @@ -156,16 +172,6 @@ _CRTIMP int __cdecl	_fstat (int, struct _stat*); | ||||
| _CRTIMP int __cdecl	_chmod (const char*, int); | ||||
| _CRTIMP int __cdecl	_stat (const char*, struct _stat*); | ||||
|  | ||||
| #if defined (__MSVCRT__) | ||||
| _CRTIMP int __cdecl  _fstati64(int, struct _stati64 *); | ||||
| _CRTIMP int __cdecl  _stati64(const char *, struct _stati64 *); | ||||
| #if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */ | ||||
| _CRTIMP int __cdecl	_wstat(const wchar_t*, struct _stat*); | ||||
| _CRTIMP int __cdecl	_wstati64 (const wchar_t*, struct _stati64*); | ||||
| #define _WSTAT_DEFINED | ||||
| #endif /* _WSTAT_DEFIND */ | ||||
| #endif /* __MSVCRT__ */ | ||||
|  | ||||
| #ifndef	_NO_OLDNAMES | ||||
|  | ||||
| /* These functions live in liboldnames.a. */ | ||||
| @@ -175,6 +181,23 @@ _CRTIMP int __cdecl	stat (const char*, struct stat*); | ||||
|  | ||||
| #endif	/* Not _NO_OLDNAMES */ | ||||
|  | ||||
| #if defined (__MSVCRT__) | ||||
| _CRTIMP int __cdecl  _fstati64(int, struct _stati64 *); | ||||
| _CRTIMP int __cdecl  _stati64(const char *, struct _stati64 *); | ||||
| /* These require newer versions of msvcrt.dll (6.10 or higher).  */  | ||||
| #if __MSVCRT_VERSION__ >= 0x0601 | ||||
| _CRTIMP int __cdecl _fstat64 (int, struct __stat64*); | ||||
| _CRTIMP int __cdecl _stat64 (const char*, struct __stat64*); | ||||
| #endif /* __MSVCRT_VERSION__ >= 0x0601 */ | ||||
| #if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */ | ||||
| _CRTIMP int __cdecl	_wstat(const wchar_t*, struct _stat*); | ||||
| _CRTIMP int __cdecl	_wstati64 (const wchar_t*, struct _stati64*); | ||||
| #if __MSVCRT_VERSION__ >= 0x0601 | ||||
| _CRTIMP int __cdecl _wstat64 (const wchar_t*, struct __stat64*); | ||||
| #endif /* __MSVCRT_VERSION__ >= 0x0601 */ | ||||
| #define _WSTAT_DEFINED | ||||
| #endif /* _WSTAT_DEFIND */ | ||||
| #endif /* __MSVCRT__ */ | ||||
|  | ||||
| #ifdef	__cplusplus | ||||
| } | ||||
|   | ||||
| @@ -29,6 +29,7 @@ | ||||
|  | ||||
| /* All the headers include this file. */ | ||||
| #include <_mingw.h> | ||||
| #include <sys/types.h> | ||||
|  | ||||
| #ifndef	RC_INVOKED | ||||
|  | ||||
| @@ -56,6 +57,13 @@ struct timeb | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| struct __timeb64 | ||||
| { | ||||
| 	__time64_t time; | ||||
| 	short millitm; | ||||
| 	short timezone; | ||||
| 	short dstflag; | ||||
| }; | ||||
|  | ||||
| #ifdef	__cplusplus | ||||
| extern "C" { | ||||
| @@ -68,6 +76,11 @@ _CRTIMP void __cdecl	_ftime (struct _timeb*); | ||||
| _CRTIMP void __cdecl	ftime (struct timeb*); | ||||
| #endif	/* Not _NO_OLDNAMES */ | ||||
|  | ||||
| /* This requires newer versions of msvcrt.dll (6.10 or higher).  */  | ||||
| #if __MSVCRT_VERSION__ >= 0x0601 | ||||
| _CRTIMP void __cdecl	_ftime64 (struct __timeb64*); | ||||
| #endif /* __MSVCRT_VERSION__ >= 0x0601 */ | ||||
|  | ||||
| #ifdef	__cplusplus | ||||
| } | ||||
| #endif | ||||
|   | ||||
| @@ -45,6 +45,10 @@ typedef	long	time_t; | ||||
| #define	_TIME_T_DEFINED | ||||
| #endif | ||||
|  | ||||
| #ifndef _TIME64_T_DEFINED | ||||
| typedef __int64 __time64_t; | ||||
| #define _TIME64_T_DEFINED | ||||
| #endif | ||||
|  | ||||
| #ifndef	_OFF_T_ | ||||
| #define	_OFF_T_ | ||||
| @@ -118,6 +122,7 @@ typedef _ssize_t ssize_t; | ||||
| #endif | ||||
| #endif /* Not _SSIZE_T_ */  | ||||
|  | ||||
|  | ||||
| #endif	/* Not RC_INVOKED */ | ||||
|  | ||||
| #endif	/* Not _TYPES_H_ */ | ||||
|   | ||||
| @@ -57,12 +57,23 @@ struct utimbuf | ||||
| }; | ||||
| #endif	/* Not _NO_OLDNAMES */ | ||||
|  | ||||
| struct __utimbuf64 | ||||
| { | ||||
| 	__time64_t actime; | ||||
| 	__time64_t modtime; | ||||
| }; | ||||
|  | ||||
|  | ||||
| #ifdef	__cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| _CRTIMP int __cdecl	_utime (const char*, struct _utimbuf*); | ||||
|  | ||||
| #ifndef	_NO_OLDNAMES | ||||
| _CRTIMP int __cdecl	utime (const char*, struct utimbuf*); | ||||
| #endif	/* Not _NO_OLDNAMES */ | ||||
|  | ||||
| _CRTIMP int __cdecl	_futime (int, struct _utimbuf*); | ||||
|  | ||||
| /* The wide character version, only available for MSVCRT versions of the | ||||
| @@ -70,9 +81,13 @@ _CRTIMP int __cdecl	_futime (int, struct _utimbuf*); | ||||
| #ifdef __MSVCRT__ | ||||
| _CRTIMP int __cdecl	_wutime (const wchar_t*, struct _utimbuf*); | ||||
| #endif /* MSVCRT runtime */ | ||||
| #ifndef	_NO_OLDNAMES | ||||
| _CRTIMP int __cdecl	utime (const char*, struct utimbuf*); | ||||
| #endif	/* Not _NO_OLDNAMES */ | ||||
|  | ||||
| /* These require newer versions of msvcrt.dll (6.10 or higher).  */  | ||||
| #if __MSVCRT_VERSION__ >= 0x0601 | ||||
| _CRTIMP int __cdecl	_utime64 (const char*, struct __utimbuf64*); | ||||
| _CRTIMP int __cdecl	_wutime64 (const wchar_t*, struct __utimbuf64*); | ||||
| _CRTIMP int __cdecl	_futime64 (int, struct __utimbuf64*); | ||||
| #endif /* __MSVCRT_VERSION__ >= 0x0601 */ | ||||
|  | ||||
| #ifdef	__cplusplus | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user