4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-16 19:40:07 +08:00
Danny Smith ff9f5c8330 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.
2004-03-26 11:30:24 +00:00

130 lines
3.3 KiB
C

/*
* _mingw.h
*
* Mingw specific macros included by ALL include files.
*
* This file is part of the Mingw32 package.
*
* Contributors:
* Created by Mumit Khan <khan@xraylith.wisc.edu>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#ifndef __MINGW_H
#define __MINGW_H
/* These are defined by the user (or the compiler)
to specify how identifiers are imported from a DLL.
__DECLSPEC_SUPPORTED Defined if dllimport attribute is supported.
__MINGW_IMPORT The attribute definition to specify imported
variables/functions.
_CRTIMP As above. For MS compatibility.
__MINGW32_VERSION Runtime version.
__MINGW32_MAJOR_VERSION Runtime major version.
__MINGW32_MINOR_VERSION Runtime minor version.
__MINGW32_BUILD_DATE Runtime build date.
Other macros:
__int64 define to be long long. Using a typedef can
tweak bugs in the C++ parser.
All headers should include this first, and then use __DECLSPEC_SUPPORTED
to choose between the old ``__imp__name'' style or __MINGW_IMPORT
style declarations. */
#ifndef __GNUC__
# ifndef __MINGW_IMPORT
# define __MINGW_IMPORT __declspec(dllimport)
# endif
# ifndef _CRTIMP
# define _CRTIMP __declspec(dllimport)
# endif
# define __DECLSPEC_SUPPORTED
# define __attribute__(x) /* nothing */
#else /* __GNUC__ */
# ifdef __declspec
# ifndef __MINGW_IMPORT
/* Note the extern. This is needed to work around GCC's
limitations in handling dllimport attribute. */
# define __MINGW_IMPORT extern __attribute__((dllimport))
# endif
# ifndef _CRTIMP
# ifdef __USE_CRTIMP
# define _CRTIMP __attribute__((dllimport))
# else
# define _CRTIMP
# endif
# endif
# define __DECLSPEC_SUPPORTED
# else /* __declspec */
# undef __DECLSPEC_SUPPORTED
# undef __MINGW_IMPORT
# ifndef _CRTIMP
# define _CRTIMP
# endif
# endif /* __declspec */
# ifndef __cdecl
# define __cdecl __attribute__((cdecl))
# endif
# ifndef __stdcall
# define __stdcall __attribute__((stdcall))
# endif
# ifndef __int64
# define __int64 long long
# endif
# ifndef __int32
# define __int32 long
# endif
# ifndef __int16
# define __int16 int
# endif
# ifndef __int8
# define __int8 char
# endif
# ifndef __small
# define __small char
# endif
# ifndef __hyper
# define __hyper long long
# endif
#endif /* __GNUC__ */
#ifdef __cplusplus
#define __CRT_INLINE inline
#else
#define __CRT_INLINE extern __inline__
#endif
#ifdef __cplusplus
# define __UNUSED_PARAM(x)
#else
# ifdef __GNUC__
# define __UNUSED_PARAM(x) x __attribute__((unused))
# else
# define __UNUSED_PARAM(x) x
# endif
#endif
#ifndef __MSVCRT_VERSION__
/* High byte is the major version, low byte is the minor. */
# define __MSVCRT_VERSION__ 0x0600
#endif
#define __MINGW32_VERSION 4.0
#define __MINGW32_MAJOR_VERSION 4
#define __MINGW32_MINOR_VERSION 0
#endif /* __MINGW_H */