2009-08-17  Kai Tietz  <kai.tietz@oenvision.com>

	* io.h (_POSIX): Invert logic about !defined(_POSIX) and _POSIX
	extension in #if guards.

	* wchar.h (wmemchr): Avoid use of NULL for C++ sake to have not
	type failures about wchar_t and void.
	(wmemcmp): Likewise.

2009-08-14  Ozkan Sezer  <sezeroz@gmail.com>

	* stddef.h, stdio.h, stdlib.h, string.h, tchar.h, time.h, wchar.h,
	crtdbg.h, lmcons.h, locale.h, windef.h: Fix the __cplusplus NULL
	macro, 0LL for _WIN64 instead of 0, so that sizeof(NULL) would be
	the same as sizeof(void*).

2009-08-14  Kai Tietz  <kai.tietz@onevision.com>

	PR/2836856
	* time.h (size_t): Remove double definition code.
	(ssize_t): Likewise.

	* winnt.h (InterlockedIncrement... and InterlockedDecrement...): Adjust
	inline version to be compatible to VC.

2009-08-13  Kai Tietz  <kai.tietz@onevision.com>

	* langinfo.h and nl_types.h: Moved into experimental/langinfo/ folder.

	PR/2836279
	* io.h, stdio.h, winnt.h, strsafe.h, rpcndr.h, time.h, _mingw.h and
	vadefs.h: Pre and postfix attribute specifiers by '__'.

2009-08-07  Kai Tietz  <kai.tietz@onevision.com>

	PR/2832682
	* winbase.h (wWinMain): Re-add it. For details see
	http://msdn.microsoft.com/en-us/library/ms633559(VS.85 in msdn.
	(WinMain): Define it in UNICODE case as wWinMain.

2009-07-31  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw.h (__MINGW_ATTRIB_NO_OPTIMIZE): New macro.
	* sys/stat.h: Do not optimize the stat inlines due to strict aliasing
	issues.

2009-07-31  Kai Tietz  <kai.tietz@onevision.com>

	PR/2829952
	* wchar.h: Fix unsigned integer min/max constants.
	* stdint.h: Likewise.
	* limits.h: Likewise.

2009-07-31  Kai Tietz  <kai.tietz@onevision.com>

	PR/2829952
	* stdint.h (int_fast8_t): Make explicit signed.

2009-07-29  Kai Tietz  <kai.tietz@onevision.com>

	* winnt.h (__stosb, __stosd, __stosq, __stosw): New itrinsics with
	inline asm. Only provided for x86_64 for the moment.
	(MemoryBarrier, DbgRaiseAssertionFailure, YieldProcessor): Fix inline
	assembly for x86.

2009-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h (_X86AMD64_): Removed the never defined macro. Probably
	intended for specifying x86 and x64 shared intrincis functions for
	inline assembly but then never used.
	(InterlockedAdd, InterlockedAdd64, UnsignedMultiplyExtract128,
	MultiplyExtract128): Added prototypes for the non-inline versions
	under intrincs.

	* winnt.h: A little _X86_ tidy-up for less __NO_INLINE__ ifdefs.
	(MemoryBarrier, DbgRaiseAssertionFailure): Added prototypes for
	non-inline versions under intrincs for x86 only.

2009-07-28  Ozkan Sezer  <sezeroz@gmail.com>

	* conio.h (readcr0): Provided proper w32 and w64 versions.
	* wchar.h (fwide, mbsinit): Provide prototypes for non-inline cases.
	(wmemchr, wmemcmp): Added NULL pointer checks.
	* winnt.h (InterlockedBitTestAndComplement, GetCurrentFiber,
	GetFiberData, NtCurrentTeb): added protoypes for x86 and/or x86_64.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	*  ws2tcpip.h: Removed the IN6* macros and added non-inline versions
	to libws2_32.a in case someone might thing of something as sickly as
	making function pointers out of them..

2009-07-27  Kai Tietz  <kai.tietz@onevision.com>

	* wspiapi.h: Add global prototypes for inlines and remove
	LEGACY... macro. All are now __CRT_INLINE functions.
	Implementation of those functionts is in crt's /libsrc/wspiapi.c

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	*  ws2tcpip.h: Make the IN6* inlines into macros when inlining is
	disabled.

2009-07-27  Kai Tietz  <kai.tietz@onevision.com>

	* math.h (__cplusplust): Replace for inlines the __cplusplus guard
	by __CRT__NO_INLINE guard.
	* complex.h (_CRT_INLINE): Guard inlines by __CRT__NO_INLINE.
	* assert.h (_CRT_INLINE): Likewise.
	* conio.h (_CRT_INLINE): Likewise.
	* dxtmpl.h (_CRT_INLINE): Likewise.
	* dbgeng.h (_CRT_INLINE): Likewise.
	* inttypes.h (_CRT_INLINE): Likewise.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* sys/stat.h: Added __CRT__NO_INLINE guards to inlined versions of stat
	family of functions.
	* io.h: Added __CRT__NO_INLINE guards to inlined versions of findfirst
	family of functions.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw.h (__CRT__NO_INLINE): New private macro. Always defined when
	__NO_INLINE__ is defined.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* io.h: Removed dead _WIN64 macros where _USE_32BIT_TIME_T is defined
	(the two just cannot live together.)
	* sys/stat.h: Likewise.

2009-07-17  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw_mac.h: Rename __MINGW64_VERSION to __MINGW64_VERSION_STR.

2009-07-17  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw_mac.h: Do not ifdef-guard the version macros.
	(STRINGIFY): New macro.
	(__MINGW64_VERSION): Auto-define using STRINGIFY.

2009-07-17  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw_mac.h: New file. It defines just macros also useful in
	assembly file. Moved some part from _mingw.h into it.
	(__MINGW_USYMBOL): New macro for assembly to append underscore if necessary.

2009-07-16  Ozkan Sezer  <sezeroz@gmail.com>

	* time.h: Avoid double function calls in *time_r macros, at least
	for gcc. Added fixme notes about the issue.

2009-07-12  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw.h: Undefine _X86_ for __x86_64 which may be incorrectly
	defined by gcc.

2009-07-09  Kai Tietz  <kai.tietz@onevision.com>

	PR/2818441
	* setjmp.h: add for setjmp/setjmp3 attribute __returns_twice__.

2009-07-04  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw.h: added comments after many endifs for better clarity.
	* _mingw.h: tidied the __nothrow, __ptr32, __ptr64, __unaligned
	and __forceinline ifdefs by moving them out of the _INT128_DEFINED
	ifdefs.
	* _mingw.h: removed the #if 1 around the mingw.org version macros,
	whose corresponding #endif actually was misplaced. also updated the
	comments of the mingw.org version macros.
	* _mingw.h: added the new __MINGW_NAME_AW(func) macro which can be
	used in declaring ASCII and UNICODE versions of functions.
	* _mingw.h: added the new __MINGW_TYPEDEF_AW(type) macro, similar to
	__MINGW_NAME_AW but for typedefs.
	* _mingw.h, commctrl.h, commdlg.h, prsht.h, shellapi.h: moved all
	DUMMYUNIONNAMEx and DUMMYSTRUCTNAMEx macro definitions to _mingw.h.

2009-05-11  Ozkan Sezer  <sezeroz@gmail.com>

	* _mingw.h: add a mingw.org compatibility definition of _CRT_glob
	as our own _dowildcard and document it.

2009-05-11  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h (__MINGW32_MINOR_VERSION, __MINGW32_MAJOR_VERSION): Define
	for 3.11 base version.

2009-04-30  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h (_M_IX86): New define.
	(_M_AMD64): Likewise.
	(_M_IA64): Likewise.

2009-04-23  Kai Tietz  <kai.tietz@onevision.com>

	* sqltypes.h (SQLSCHAR): Prevent double type definition.

2009-04-20  Kai Tietz  <kai.tietz@onevision.com>

	* unistd.h (ftuncate): Use _off_t when off_t isn't defined.

2009-04-20  Ozkan Sezer  <sezeroz@gmail.com>

	FR/2619978:
	* mingw-w64-crt/gdtoa/strtof.c, mingw-w64-crt/gdtoa/strtopx.c:  Prepend
	the strtof and strtold symbols with '__mingw_' to provide both of strtof
	and strtold which rely on msvcrt, and __mingw_strtof and __mingw_strtold
	which rely on the internal gdtoa library.
	* mingw-w64-headers/include/stdlib.h:  Properly provide the prototypes
	for __mingw_strtof and __mingw_strtold.

2009-04-15  Kai Tietz  <kai.tietz@onevision.com>

	* windef.h (BOOL): Check additionally for __OBJC_BOOL
	to avoid definition of BOOL.

2009-04-14  Roland Schwingel  <Roland.Schwingel@onevision.com>

	* windef.h (BOOL): Don't define it as WINBOOL for ObjC
	sake.

2009-04-04  Kai Tietz  <kai.tietz@onevision.com>

	* setjmp.h (_setjmp3): Use for 32-bit instead of _setjmp.
	Additional pass NULL as secondary element for 32-bits.

2009-04-03  Kai Tietz  <kai.tietz@onevision.com>

	PR/2675096
	* float.h: Add gcc dependent defines to prevent use
	of gcc's version.

2009-03-29  Kai Tietz  <kai.tietz@onevision.com>

	* winuser.h (MONITORINFOEXA): Replace MONITORINFO mi
	by unnamed structure definition to work-a-round an
	incompatiblity of gcc to vc. Gcc doesn't supports
	unnamed types in structures like inline structures.
	(MONITORINFOEXW): Likewise.

2009-03-28  Ozkan Sezer  <sezeroz@gmail.com>

	* stdlib.h: Fix typo && build breakage (s/wchar/wchar_t/).

2009-03-28  Kai Tietz  <kai.tietz@onevision.com>

	* stdio.h: Replace _imp__<sym> by __MINGW_IMP_SYMBOL.
	* wchar.h: Likewise.
	* stdlib.h: Likewise.
	* math.h: Likewise.
	* mbctype.h: Likewise.
	* ctype.h: Likewise.
	* wctype.h: Likewise.

2009-03-16  Ozkan Sezer  <sezero@users.sourceforge.net>

	* _mingw.h (__MINGW_USE_UNDERSCORE_PREFIX): really fix typos.

2009-03-16  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h (__MINGW_USE_UNDERSCORE_PREFIX): New.
	(__MINGW_IMP_SYMBOL): New.

2009-03-15  Kai Tietz  <kai.tietz@onevision.com>

	* io.h (_wopen, _wsopen): Remove wrong c++ variant.
	* wchar.h: Likewise.

2009-03-11  Kai Tietz  <kai.tietz@onevision.com>

	PR/2674460
	* float.h (_MCW_DN): New.
	(_DN_SAVE): Likewise.
	(_DN_FLUSH): Likewise.

	* sys/types.h (useconds_t): New.
	* unistd.h (usleep): New.

2009-02-27  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h (__MINGW64): Add underscores.
	(__MINGW64...): Likewise.
	* stdio.h (__mingw_<print>): Add prototypes.

2009-02-23  Kai Tietz  <kai.tietz@onevision.com>
	    Wolfgang Glas <wolfgang.glas@ev-i.at>
	* wspiapi.h (_WSPIAPI_EMIT_LEGACY): New.
	(_WSPIAPI_LEGACY_INLINE): New.
	(WspiapiLegacyFreeAddrInfo): Use _WSPIAPI_LEGACY_INLINE
	instead of __CRT_INLINE.
	(WspiapiLegacyGetAddrInfo): Likewise.
	(WspiapiLegacyGetNameInfo): Likewise.
	* io.h (_open): Remove C++ variant.
	(_sopen.h): Likewise.

2009-02-13  Kai Tietz  <kai.tietz@onevision.com>

	* stdio.h (_iob): Add for 64-bit case.
	* wchar.h (_iob): Likewise.

2009-02-06  Kai Tietz  <kai.tietz@onevision.com>

	PR/2567461
	* ctype.h (isblank): Declare it always in c++ context.
	* wctype.h (isblank): Likewise.

2009-01-29  Kai Tietz  <kai.tietz@onevision.com>

	* basetsd.h: Add include of _mingw.h for __int64 type.

2009-01-19  Kai Tietz  <kai.tietz@onevision.com>

	* math.h: Merged from mingw32.
	* complex.h: Likewise.
	* float.h: Likewise.

2009-01-13  Kai Tietz  <kai.tietz@onevision.com>
	by sezero
	see http://sourceforge.net/forum/message.php?msg_id=6095326

	* stddef.h:
	Reverts svn changes 478, 553, 554 which were working around the
	breakage caused by the old svn change 190. svn190 change is now
	reverted with modifications. svn190 probably relied on the fact
	that _mingw.h already defind certain types/macros, but if someone
	includes stdint.h before stddef.h, it causes the NULL and offsetof
	macros to be left undefined. still, some clean-up may be done for
	_mingw.h in the future in order to avoid confusions.

2008-10-30  Kai Tietz  <kai.tietz@onevision.com>

	* signal.h (SIGALARM): Define it just when
	__USE_MINGW_ALARM is set.

2008-10-28  Kai Tietz  <kai.tietz@onevision.com>

	* stdlib.h, stdio.h: Fix headers to be save with
	option -Wstrict-prototypes.

2008-10-23  Kai Tietz  <kai.tietz@onevision.com>

	* strmif.h (DDCOLORKEY): New dummy version.
	(LPDDCOLORKEY): Declare it as DDCOLORKEY *.
	(ddraw.h): Include it just when MINGW_HAS_DDRAW_H
	is defined.

2008-10-21  Kai Tietz  <kai.tietz@onevision.com>

	* io.h (__USE_MINGW_ALARM): New.
	(alarm): Make declaration dependent on
	__USE_MINGW_ALARM.

2008-09-30  Kai Tietz  <kai.tietz@onevision.com>

	* stddef.h (offsetof): Make sure it gets defined.

2008-09-19  Kai Tietz  <kai.tietz@onevision.com>

	* shellapi.h: Replace _cdecl by __cdecl.
	* netmon.h: Likewise.
	* nmsupp.h: Likewise.
	PR/2118228 by Jeremy Kolb
	* winreg.h: Likewise.
	* stralign.h: Likewise.

2008-09-16  Kai Tietz  <kai.tietz@onevision.com>

	Patch/2108279 by Jaroslav Smid
	* lib64/uxtheme.h: New Vista API for BeginBufferedPaint,
	BufferedPaintClear, BufferedPaintInit, BufferedPaintSetAlpha,
	BufferedPaintUnInit, EndBufferedPaint, GetBufferedPaintBits,
	GetBufferedPaintDC, GetBufferedPaintTargetDC, and
	GetBufferedPaintTargetRect.

2008-09-12  Kai Tietz  <kai.tietz@onevision.com>

	Patch/2106947 by Jaroslav Smid
	* dwmapi.h: New.

2008-08-28  Kai Tietz  <kai.tietz@onevision.com>

	* io.h (_INTEGRAL_MAX_BITS): Check disabled.
	* wchar.h (_INTEGRAL_MAX_BITS): Likewise.

2008-08-27  Kai Tietz  <kai.tietz@onevision.com>

	* fcntl.h (_O_ACCMODE): New.
	* math.h (_HUGE): Special handling if _MSVCRT_ is defined.
	* ctype.h (_imp__...): Likewise.
	* mbctype.h (_imp__...): Likewise.
	* stdio.h (_imp__...): Likewise.
	* stdlib.h (_imp__...): Likewise.
	* wchar.h (_imp__...): Likewise.
	* wctype.h (_imp__...): Likewise.

2008-08-07  Kai Tietz  <kai.tietz@onevision.com>

	* winnt.h (PSLIST_ENTRY): Forward typedef without align.
	* _mingw.h (__stdcall): Disable it for 64-bit.

2008-08-02  Kai Tietz  <kai.tietz@onevision.com>

	* time.h (_localtime32): Alias it for w32 to _localtime.
	(_difftime32): To _difftime.
	(_ctime32): To _ctime.
	(_gmtime32): To _gmtime.
	(_mktime32): To _mktime.
	(_time32): To _time.

2008-07-27  Kai Tietz  <kai.tietz@onevision.com>

	* wchar.h (WCHAR_MAX): Make it type wchar_t.

2008-07-26  Kai Tietz  <kai.tietz@onevision.com>

	* process.h (exec...): Adjust prototypes to return type
	int if used in gcc.
	* winnt.h (IMAGE_ORDINAL_FLAG64): Make it a unsigned
	long long constant.
	(IMAGE_ORDINAL64): Likewise.

2008-03-10  Kai Tietz  <kai.tietz@onevision.com>

	PR/1910322: trouble using Windows VARIANT type.
	* oledlg.h: Disable default use of NONAMELESSUNION for C.

2008-03-06  Roland Schwingel  <roland.schwingel@onevision.com>

	* winnt.h (PRODUCT_...): New.
	(LANG_...): Some missing language codes.
	(SORT_INVARIANT_MATH): New.
	(SORT_JAPANESE_RADICALSTROKE): New.
	(LOCALE_NAME_MAX_LENGTH): New.
	(ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS): New.

2008-01-30  Kai Tietz  <kai.tietz@onevision.com>

	* userenv.h: Removed duplicate #if-clause.
	* gb18030.h: Correct typo.
	* dskquota.h: Correct ShutdownNameResolution declaration.
	* msimcntl.h: Low case name correction.
	* wabnot.h: Add MAPI_DIM default.
	* daogetrw.h: Cleanup extern C declaration via EXTERN_C.
	* dtchelp.h: Likewise.
	* comutil.h: Disable c++ code for in c.
	* comdef.h: Likewise.
	* comip.h: Likewise.
	* mspenum.h: Likewise.
	* stllock.h: Likewise.
	* _dbdao.h: Likewise.
	* dxtmpl.h: Likewise.
	* madcapcl.h: Add include winternl.h.
	* msidef.h: (msidbLocatorType): Correct typo.
	* mapiwz.h: Add include mapidefs.h for LPMAPIPROP.
	* traffic.h: Add include ntddndis.h.
	* correg.h: Typedef enum CorSaveSize.
	* ratings.h: Correct typo.
	* xcmcmsx2.h: Add include xcmc.h.
	* stm.h: Default to MPR50 if not MPR50 or MPR40 is not defined.
	* wiadef.h: Add error message to include via.h in front.
	* conio.h: Correct declaration of __readmsr.
	* ole.h: Add #if clause to protect against double declaration.
	* oleidl.h: Add #if clause to protect against double declaration.

2008-01-29  Wesley W. Terpstra  <wesley@terpstra.ca>

	* inttypes.h: Correct ,,,PTR macros for 32-bit and 64-bit.

2008-01-28  sduplichan  <sduplichan@users.sourceforge.net>

	* misc/conio.h: Add further intrinsic functions.

2008-01-26  Kai Tietz  <kai.tietz@onevision.com>

        * sys/time.h: Remove declaration of gettimeofday for
        libiberty sake.
        Add declaration of mingw_gettimeofday method.
        * time.h: Add gettimeofday declaration in protected clause.
        Add declaration of mingw_gettimeofday method.
        * _mingw.h: Add __MINGW_ATTRIB_NORETURN, __MINGW_ATTRIB_CONST,
        __UNUSED_PARAM, and __MINGW_GNUC_PREREQ macros.
        * conio.h: Add intrin function for I/O as inline methods.

2008-01-23  Kai Tietz  <kai.tietz@onevision.com>

        * sys/time.h: Add gettimeofday declaration for not __STRICT_ANSI__.
        * time.h: Protect timezone declaration.
        Change major protection-clause.
        * math.h: Change major protection-clause.
        * sys/timeb.h: Change major protection-clause.

2008-01-19  Kai Tietz  <kai.tietz@onevision.com>

        * winnt.h: Added old-style context member for float description.
	* gdiplus*.h: Moved to experimental.

2008-01-09  Kai Tietz  <kai.tietz@onevision.com>

	* directx/: New directory merged from mingw.
	* directx/d3d9.h: New.
	* directx/d3d9caps.h: New.
	* directx/d3d9types.h: New.
	* directx/dxerr8.h: New.
	* directx/dxerr9.h: New.

2008-01-02  Kai Tietz  <kai.tietz@onevision.com>

	* io.h: Add __USE_MINGW_ACCESS access patch. Merged
	from mingw project. PR/1858862.

2007-12-02  Kai Tietz  <kai.tietz@onevision.com>

	* sys/stat.h: Include io.h.
	* io.h: Add prototypes for alarm and getlogin.

2007-11-23  Kai Tietz  <kai.tietz@onevision.com>

	* wchar.h: Correct if clauses and (xxx)_func functions. Additionally
	remove a lot of warnings for 64-bit and 32-bit version.
	* minmax.h: Likewise.
	* stdlib.h: Likewise.
	* stdint.h: Likewise.
	* windef.h: Likewise.
	* io.h: Likewise.
	* winsock2.h: Likewise.
	* ctype.h: Likewise.
	* winerror.h: Likewise.
	* time.h: Likewise.
	* wctype.h: Likewise.
	* basetsd.h: Likewise.
	* setjmp.h: Likewise.

2007-11-19  Kai Tietz  <kai.tietz@onevision.com>

	* all files with interface: Use instead struct for objc sake.
	various changes for 32-bit support.

2007-11-15  Kai Tietz  <kai.tietz@onevision.com>

	* wchar.h: Add _iob definition. Additionally add 32-bit
	compatible definition of __iob_func().
	* stdio.h: Likewise.

2007-11-10  Kai Tietz  <kai.tietz@onevision.com>

	* delayhlp.cpp: PR 1829505  Linker symbol _ImageBase.

2007-11-07  20-40  <annonymous>

	* _dbdao.h: New.
	* ieeefp.h: New.
	* io.h: (_getcwd): Prototype added.
	* mspab.h: New.
	* mspaddr.h: New.
	* mspbase.h: New.
	* mspcall.h: New.
	* mspcoll.h: New.
	* mspenum.h: New.
	* msplog.h: New.
	* mspst.h: New.
	* mspstrm.h: New.
	* mspterm.h: New.
	* mspthrd.h: New.
	* msptrmac.h: New.
	* msptrmar.h: New.
	* msptrmvc.h: New.
	* msputils.h: New.
	* ws2tcpip.h: (ip_mreq): Disabled. Forced that winsock2.h is included infront.
	* wmiatlprov.h: New.
	* winsock2.h: Add AF_??? constants.
	* wchar.h: Add protypes for swprintf and vswprintf.
	* tchar.h: Likewise.
	* stdio.h: Likewise.
	* w32api.h: New.
	* nl_types.h: New.
	* langinfo.h: New.


2007-10-29  Kai Tietz  <kai.tietz@onevision.com>

	* assert.h:
	* process.h:
	* wchar.h:
	* stdlib.h:
	 Change prototype for exit, atoi, atol, div, ldiv,
	 getenv, mblen, mbtowc, mbstowcs, rand, srand, strtod,
	strtof, strtol, strtoul, system, wctomb, wcstombs, wcstod,
	wcstol, and wcstoul using no _CRTIMP.

2007-10-19  Kai Tietz  <kai.tietz@onevision.com>

	* io.h: (_lseeki64, _ltelli64): Use crt version.
	* stdio.h: (_fseeki64, _ftelli64): Likewise.

2007-10-18  Kai Tietz  <kai.tietz@onevision.com>

	* winsock.h, winsock2.h: Make them compatible to each other.
	* stdlib.h, sys/timeb.h, conio.h, crtdbg.h, io.h, mbstring.h,
	search.h, stdio.h, string.h, time.h, wchar.h: Extracted secured
	API into sec_api/.._s.h files and placed include in base headers.

2007-10-17  Kai Tietz  <kai.tietz@onevision.com>

	* time.h: _daylight,_dstbias,_timezone are variables.

2007-10-15  Kai Tietz  <kai.tietz@onevision.com>

	* direct.h: (getcwd): No _CRTIMP declaration.
	* io.h: (getcwd): Likewise.
	(isatty): Likewise.
	(mktemp): Likewise.
	* malloc.h: (malloc, calloc, free, realloc): Likewise.
	* stdlib.h: (malloc, calloc, free, realloc): Likewise.

2007-10-10  Kai Tietz  <kai.tietz@onevision.com>

	* math.h: Add prototypes for nextafterl and ldexpl.
	Add none inline declaration of ldexpf.

2007-10-09  Kai Tietz  <kai.tietz@onevision.com>

	* sys/stat.h, wstat.h: Changed POSIX prototypes.

2007-10-08  Kai Tietz  <kai.tietz@onevision.com>

	* winsock.h, winsock2.h: Make SOCKET definition signed.
	* assert.h: Protect define of assert by additional clause.

2007-10-04  Kai Tietz  <kai.tietz@onevision.com>

	* process.h: Make exec(??) and spawn(??) as posix functions
	compatible.

2007-10-01  Kai Tietz  <kai.tietz@onevision.com>

	* specstrings.h: Prefix SAL defines by SAL(xxx). This prevents
	various conflicts with gnu sources.

2007-09-28  Kai Tietz  <kai.tietz@onevision.com>

	* specstrings.h: Renamed __null to SAL__null. PR/1804037.

2007-09-27  Kai Tietz  <kai.tietz@onevision.com>

	* math.h: Correct 'long double' prototypes.

2007-09-26  Kai Tietz  <kai.tietz@onevision.com>

	* io.h: Add non inline protypes.
	* inttypes.h: (imaxabs): Likewise.

2007-09-25  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h: (USE___UUIDOF): New.
	* comdef.h: Use USE___UUIDOF for use of __uuidof operator. Also
	add include of _mingw.h to it.
	* comdefsp.h: Likewise.
	* comip.h: Likewise.
	* comsvcs.h: Likewise.
	* servprov.h: Likewise.
	* unknwn.h: Likewise.
	* time.h: Add none inline prototypes for POSIX time functions.

2007-09-19  Kai Tietz  <kai.tietz@onevision.com>

	* termio.h: Removed.
	* termios.h: Likewise.
	* sys/ttychars.h: Likewise.
	* sys/termio.h: Likewise.
	* sys/termios.h: Likewise.

2007-09-11  Kai Tietz  <kai.tietz@onevision.com>

	* stdlib.h: (_sys_errlist): Make default declaration having
	one element to prevent warning. PR/1792077.

2007-09-10  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h: [PR/1782238] size_t not defined for 32bit
	in _mingw.h.
	* stdlib.h: [PR/1781605] stdlib.h: 462: min redefined.
	Additionally do the same thing for the max macro. We assume
	that the crt version wins by default.

2007-08-24  Kai Tietz  <kai.tietz@onevision.com>

	* include: Removed dead link.
	* _mingw.h, stddef.h: Prevent warning about double defined ptrdiff_t.

2007-08-23  Professor Brian Ripley  <ripley@stats.ox.ac.uk>

	* math.h: For to use methods from libmingwex.a instead
	of msvcrt.
	* wchar.h: Likewise.
	* wctype.h: Likewise.

2007-08-22  Professor Brian Ripley  <ripley@stats.ox.ac.uk>

	* oleauto.h: Corrected use of NONAMELESSUNION and
	_FORCENAMELESSUNION.

2007-08-21  Kai Tietz  <kai.tietz@onevision.com>

	* ctype.h: wchar.h: Add isblank () and iswblank ().

2007-08-21  Professor Brian Ripley  <ripley@stats.ox.ac.uk>

	* stdargs.h: Remove spurious extra '#endif' in file.
	Restore copyright notice.
	* stdio.h, wchar.h: Define POSIX names for popen, pclose,
	and pwopen.

2007-08-16  Kai Tietz  <kai.tietz@onevision.com>

	* stdlib.h: Corrected _sys_nerr and _sys_errlist declarations.

2007-08-14  Kai Tietz  <kai.tietz@onevision.com>

	* limits.h: (_CHAR_UNSIGNED): Removed unused define.
	* locale.h: Likewise.
	* mfpr?: Removed.
	* getopt.h: Copyright adjusted to origin.
	* sys/wstat.inl: Delete unused file.
	* sys/stat.h: Add inlines.
	* sys/stat.inl: Remove.
	* sys/timeb.h: Add inlines.
	* sys/timeb.inl: Remove.
	* sys/utime.h: Add inlines.
	* sys/utime.inl: Remove.
	* time.h: Add inlines.
	* wchar.h: Add inline.
	* wtime.inl: Remove.
	* time.inl: Remove.

2007-07-25  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h, winnt.h: (__CRT_UNALIGNED): New.
	(UNALIGNED): Use value of __CRT_UNALIGNED.
	* winuser.h: (MOUSEHOOKSTRUCTEX): Name unnamed
	argument.
	* windef.h: (LPCVOID): Use _LPCVOID_DEFINED clause.
	* objbase.h: (IRpcStubBuffer, IRpcChannelBuffer): Protect
	by ifndef clause.
	* objidl.h, imm.h: Fix double type declarations.
	* limits.h: Added definitions for LONG_LONG_MIN,
	LONG_LONG_MAX, and ULONG_LONG_MAX.


2007-07-23  Kai Tietz  <kai.tietz@onevision.com>

	* excpt.h: (_EXCEPTION_POINTERS): Forward declared.
	* winuser.h: (MONITORINFOEXA, MONITORINFOEXW): Add member
	variable name for making gcc happy.
	* rpcndr.h: (PFORMAT_STRING): Removed double defintion.
	(MIDL_STUB_MESSAGE, PMIDL_STUB_MESSAGE): Likewise.
	(MIDL_SYNTAX_INFO, PMIDL_SYNTAX_INFO): Likewise.
	* wtypes.h: Unify define of ULONG, USHORT, UCHAR, etc.
	* winnt.h: Likewise.
	* windef.h: Likewise.
	* winsmcrd.h: Likewise.
	* fci.h: Likewise.
	* fdi.h: Likewise.
	* mapidbg.h: Likewise.
	* mqoai.h: Likewise.
	* sqltypes.h: Likewise.

2007-07-20  Kai Tietz  <kai.tietz@onevision.com>

	* winbase.h: Removed double definition of ACTCTX.

2007-07-19  NightStrike  <nightstrike@gmail.com> 

	* basetsd.h: (Ptr32ToPtr): Removed warning message.

2007-07-18  Kai Tietz  <kai.tietz@onevision.com>

	* assert.h: Corrected _wassert method.
	* time.h: Corrected _tzname defintion.

2007-07-17  Kai Tietz  <kai.tietz@onevision.com>

	* _mingw.h: Use _CRTIMP as declspec(dllimport) as default.
	Declare of __CRT_IMPORT as external __inline replacement.

2007-07-15  Kai Tietz  <kai.tietz@onevision.com>

	* Contributed initial header set.


Local Variables:
version-control: never
End:
