2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* stralign.h (ua_wcscpy): Define as macro when building on Cygwin.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* in6addr.h (s6_addr16): Define when building Cygwin.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* winbase.h (ZAWPROXYAPI): Define as empty if _ZAWPROXY_ is defined.
	* objbase.h (WINOLEAPI): Define as empty if _OLE32_ is defined.
	WINOLEAPI_: Ditto.
	* winnt.h (NTSYSAPI): Define as empty if _NTSYSTEM_ is defined.
	(NTSYSCALLAPI): Ditto.
	* winuser.h (WINUSERAPI): Define as empty if _USER32_ is defined.
	* wingdi.h (WINSPOOLAPI): Define as empty if _SPOOL32_ is defined.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* windows.h: Don't include winsock.h on Cygwin, unless __USE_W32_SOCKETS
	is defined.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* psdk_inc/_ip_types.h (struct sockaddr): Define always.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* ntdef.h (struct _PROCESSOR_NUMBER): Guard definition with
	___PROCESSOR_NUMBER_DEFINED.
	(struct _GROUP_AFFINITY): Guard definition with
	___GROUP_AFFINITY_DEFINED.
	* winnt.h: Ditto.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* in6addr.h (struct in6addr): Add u.__s6_addr32 member when
	building Cygwin.
	(s6_addr32): Define when building Cygwin.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* winsock2.h (gethostname): Drop __INSIDE_CYGWIN__ guard.

2012-07-06  Corinna Vinschen  <vinschen@redhat.com>

	* winnt.h (NtCurrentTeb): Always define inline implementation.
	(GetCurrentFiber): Ditto.
	(GetFiberData): Ditto.
	(MemoryBarrier): Ditto.

2012-07-05  Kai Tietz  <ktietz@redhat.com>

	* ws2tcpip.h: Enable inline-functions always.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* wincrypt.h (WINBASEAPI): Define as non-import iff
	_KERNEL32_ was defined.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* psdk_inc/_ip_types.h (sockaddr_in): Define unconditionally.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* ntdef.h (FILE_ATTRIBUTE_VALID_FLAGS): Define.
	(FILE_SHARE_VALID_FLAGS): Define.
	(FILE_SUPERSEDE, ...): Define native file creation dispositions.
	(FILE_DIRECTORY_FILE, ...): Define native file open options.
	(struct _REPARSE_DATA_BUFFER): Define.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* winsock2.h (__WSAFDIsSet): Move declaration to psdk_inv/_fd_type.h.
	(FD_CLR): Move definition to psdk_inv/_fd_type.h.
	(FD_ZERO): Ditto.
	(FD_ISSET): Ditto.
	(FD_SET): Ditto.
	(htonl): Don't declare when building Cygwin.
	(htons): Ditto.
	(ntohl): Ditto.
	(ntohs): Ditto.
	(gethostname): Ditto.
	(select): Ditto.
	* winsock.h: Ditto.
	* psdk_inc/_fd_types.h: Add Cygwin build environment magic to avoid
	multiple definition of the select function related datatypes and macros.
	(__WSAFDIsSet): Declare here.
	(FD_CLR): Define here.
	(FD_ZERO): Ditto.
	(FD_ISSET): Ditto.
	(FD_SET): Ditto.  Make sure to undef FD_SET first, if it has been
	defined from winsock.h before.
	* psdk_inc/_ip_types.h: Rearrange slightly and don't define POSIX
	compatible datatypes when building Cygwin.
	* psdk_inc/_ws1_undef.h (FD_CLR): Drop #undef.
	(FD_ZERO): Ditto.
	(FD_ISSET): Ditto.
	(FD_SET): Ditto.

2012-06-28  Rafael Carre  <funman@videolan.org>

	* dxva2api.h: Remove DXVA_* GUIDs and structs ...
	* dxva.h: ... And put them here.

2012-06-28  Corinna Vinschen  <vinschen@redhat.com>

	* ntdef.h (PHYSICAL_ADDRESS): Define unconditionally.

2012-06-27  Corinna Vinschen  <vinschen@redhat.com>

	* stralign.h: Fix and add #endif comments.

2012-06-27  Kai Tietz  <ktietz@redhat.com>

	* wincrypt.h (WINADVAPI): Define as non-import iff
	_ADVAPI32_ was defined.
	* wincred.h: Likewise.
	* winsvc.h: Likewise.
	* perflib.h: Likewise.
	* winbase.h: Likewise.

2012-05-10  Kai Tietz  <ktietz@redhat.com>

	PR 3523077
	* tmschema.h: Add warning about obsoleted tmschema.h for
	_WIN32_NT > 0x600.

2012-05-10  Piotr Caban  <piotr@codeweavers.com>

	* vsstyle.h: Wine-version relicensed.
	* vssym32.h: Likewise.

2012-05-09  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h (MAPVK_VK_TO_*): Moved map types for MapVirtualKeyEx
	out of win7 ifdefs. Protected MAPVK_VK_TO_VSC_EX for vista-only.

2012-05-08  Ozkan Sezer  <sezeroz@gmail.com>

	* uxtheme.h (MAX_INTLIST_COUNT): Define as 402 instead of 10 for
	vista and newer. (bug #3524667).

2012-05-07  Ozkan Sezer  <sezeroz@gmail.com>

	* dwmapi.h: Fixed all function prototypes to be WINAPI.

2012-05-02  Kai Tietz  <ktietz@redhat.com>

	PR 3523072
	* commctrl.h:  Add missing button-styles, and messages.

2012-04-28  Jonathan Liu  <net147@users.sourceforge.net>

	* wlanapi.h: Fixed incorrectly nested if blocks.

2012-04-23  Stefan Sundin  <recover89@gmail.com>

	* Fix incorrect references for pVtbl to lpVtbl in these files:
	audioengineendpoint.h, bdaiface.h, dvbsiparser.h, dwrite.h, dxvahd.h,
	evr.h, fsrm.h, fsrmquota.h, fsrmreports.h, fsrmscreen.h,
	functiondiscoveryapi.h, functiondiscoverynotification.h,
	identitystore.h, locationapi.h, mfapi.h, mfidl.h, mfobjects.h,
	mfplay.h, mfreadwrite.h, mftransform.h, mpeg2data.h, mpeg2psiparser.h,
	msrdc.h, ndhelper.h, opmapi.h, portabledeviceconnectapi.h,
	rdpencomapi.h, strmif.h, strmif.idl, tuner.h, vsadmin.h, vsbackup.h,
	vsmgmt.h, vsprov.h, vss.h, vswriter.h, winsync.h, wmcontainer.h,
	wsdattachment.h, wsdbase.h, wsdclient.h, wsddisco.h, wsdhost.h,
	wsdxml.h.
	* adhoc.h (IDot11AdHocInterfaceNotificationSink): Fix
	OnConnectionStatusChange.

2012-04-23  Kai Tietz  <ktietz@redhat.com>

	PR/3520095
	* endpointvolume.h (IAudioEndpointVolume): Fix.

2012-03-07  Corinna Vinschen <corinna@vinschen.de>

	* winternl.h (struct _LDR_DATA_TABLE_ENTRY): Changed type of Reserved1
	from BYTE to LPVOID.
	(InitializeObjectAttributes): New macro.
	(OBJ_INHERIT, OBJ_PERMANENT, OBJ_EXCLUSIVE, OBJ_CASE_INSENSITIVE,
	OBJ_OPENIF, OBJ_OPENLINK, OBJ_KERNEL_HANDLE, OBJ_FORCE_ACCESS_CHECK,
	OBJ_VALID_ATTRIBUTES): New macro-constants.
	* iptypes.h (PIP_ADAPTER_ADDRESSES_LH): Add type as pointer to
	IP_ADAPTER_ADDRESSES_LH.

2012-02-07  Rafaël Carré  <funman@videolan.org>

	* dxva2api.h : Add UUIDS and missing error codes

2012-02-04  Rafaël Carré  <funman@videolan.org>

	* d2d1.h (ID2D1HwndRenderTarget): Fix interface

2012-02-03  Rafaël Carré  <funman@videolan.org>

	* shobjidl.h (ApplicationAssociationRegistrationUI): Add missing interface

2012-02-02  Rafaël Carré  <funman@videolan.org>

	* uuids.h (MEDIASUBTYPE_I420): Add GUID.

2012-02-01  Rafaël Carré <funman@videolan.org>

	* dxva2api.h (Direct3DDeviceManager9): Fix COBJMACROS to use lpVtbl.
	(DirectXVideoDecoder): Likewise.
	(DirectXVideoAccelerationService): Likewise.
	(DirectXVideoDecoderService): Likewise.

2012-02-01  Kai Tietz  <ktietz@redhat.com>

	* rpcndr.h (small): Define only if RC_INVOKED is defined.

	* shobjidl.h (THBN_CLICKED): Define constant.

2012-01-29  Jonathan Yong  <jon_y@users.sourceforge.net>

	* strsafe.h (MPRAPI_OBJECT_HEADER): Fix double extern qualifier in
	_STRSAFE_EXTERN_C. __CRT_INLINE macro already has extern.
    
2012-01-26  Kai Tietz  <ktietz@redhat.com>

        * nldef.h (NL_INTERFACE_OFFLOAD_ROD): Remove
        TlStreamFastPathCompatible and TlDatagramFastPathCompatible
        members, which are merged into FastPathCompatible.
        (note msdn is wrong here).

2012-01-26  Jonathan Yong  <jon_y@users.sourceforge.net>

	* mprapi.h (MPRAPI_OBJECT_HEADER): Fix declaration.
	(MPR_SERVER_EX): New typedef.
	(MPRAPI_ADMIN_DLL_CALLBACKS): Likewise.
	(MprConfigServerGetInfoEx): Declare.
	(MprAdminConnectionEnumEx): Likewise.
	(MprAdminConnectionGetInfoEx): Likewise.
	(MprAdminInitializeDllEx): Likewise.
	(MprAdminIsServiceInitialized): Likewise.
	(MprAdminServerGetInfoEx): Likewise.
	(MprAdminServerSetInfoEx): Likewise.
	* endpointvolume.h (CLSID_MMDeviceEnumerator): Declare.
	(IID_IMMDeviceEnumerator): Likewise.
	(IID_IAudioEndpointVolume): Likewise.
	(IID_IAudioEndpointVolumeCallback): Likewise.
	(IID_IAudioEndpointVolumeEx): Likewise.
	* manipulations.h: New.
	* elscore.h: New.
	* mfapi.h(MT_ARBITRARY_HEADER): New typedef.
	* locationapi.h(LOCATION_DESIRED_ACCURACY): New typedef.
	* lmaccess.h(MSA_INFO_STATE): New typedef.
	(MSA_INFO_0): Likewise.

2012-01-26  Ozkan Sezer  <sezeroz@gmail.com>

	* mprapi.h (MprAdminConnectionRemoveQuarantine): Revert
	to old definition which is correct by marking the function
	as WINAPI.

2012-01-25  Kai Tietz  <ktietz@redhat.com>

	* iprtrmib.h (MIB_TCP_STATE): New typedef.

	* mprapi.h (MprAdminConnectionRemoveQuarantine): Remove
	double definition.

2012-01-19  Kai Tietz  <ktietz@redhat.com>

	PR 3474190
	* windef.h (STRICT): Regard definition of NO_STRICT.

2012-01-18  Kai TIetz  <ktietz@redhat.com>

	* unknwn.h: Remove sepecial-case for Obj-C.
	* windows.h: and move it here.
