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

	Merge from trunk rev. 5245:
	Kai Tietz  <ktietz@redhat.com>
	* msxml.h, msxml2.h: Make abort agnostic against user-defines.

	Merge from trunk rev. 5236:
	Corinna Vinschen  <vinschen@redhat.com>
	* usb.h: Check for _WIN64 instead of WIN64.

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

	* tapi.h: Move the unicode A/W macros after the function prototypes.
	(lineAddProvider,lineBlindTransfer,lineConfigDialog,
	lineConfigDialogEdit,lineDial,lineGatherDigits,lineGenerateDigits,
	lineGetAddressID,lineGetAppPriority,lineGetDevConfig,lineGetIcon,
	lineGetID,lineHandoff,lineMakeCall,linePark,linePickup,lineRedirect,
	lineSetAppPriority,lineSetDevConfig,lineSetTollList,
	lineTranslateAddress,lineTranslateDialog,lineUnpark,phoneConfigDialog,
	phoneGetIcon,phoneGetID,tapiGetLocationInfo,tapiRequestMakeCall,
	tapiRequestMediaCall): Define as *A variant only for TAPI2 or newer,
	but always define as *W variant when UNICODE is defined.

2012-06-29  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4808 and 5149:
	2012-02-07  Rafaël Carré  <funman@videolan.org>
	* dxva2api.h : Add missing UUIDS
	2012-06-28  Rafaël Carré  <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>

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

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.
	* winuser.h (HTOUCHINPUT): Added new declaration (merged trunk
	rev. 4810 by cjacek.)

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-04-28  Jonathan Liu  <net147@users.sourceforge.net>

	* wlanapi.h: Fixed incorrectly nested if blocks.

2012-04-23  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4961/4962:
	2012-04-23  Stefan Sundin  <recover89@gmail.com>
	* adhoc.h, 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, 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: Fix incorrect
	references for pVtbl to lpVtbl.
	* adhoc.h (IDot11AdHocInterfaceNotificationSink): Fix
	OnConnectionStatusChange.
	2012-04-23  Kai Tietz  <ktietz@redhat.com>
	* endpointvolume.h (IAudioEndpointVolume): Fix. (PR/3520095)

2012-02-24  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk revs. 4790, 4807, 4809, 4815, 4816 and
	4817 by wavael to fix some embarassing issues in dxva2api.h:
	* dxva2api.h (Direct3DDeviceManager9): Fix COBJMACROS to use lpVtbl.
	(DirectXVideoDecoder): Likewise.
	(DirectXVideoAccelerationService): Likewise.
	(DirectXVideoDecoderService): Likewise.
	(DXVA2_E_NOT_INITIALIZED): Add missing error code.
	(DXVA2_E_NEW_VIDEO_DEVICE): Likewise.
	(DXVA2_E_VIDEO_DEVICE_LOCKED): Likewise.
	(DXVA2_E_NOT_AVAILABLE): Likewise.
	(DXVA2_ConfigPictureDecode): Change type from UINT to USHORT (msdn
	documentation is incorrect.)
	* dxva2api.h: Remove global packing directives and pack only the
	DXVA_FilmGrainChar_H264, DXVA_SliceInfo and DXVA_Slice_H264_Short
	structures.

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  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-06  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h: Fix several typos found by Rinrin <rinrin@imbrian.org>:
	(TOUCHEVENTMASKF_TIMEFROMSYSTEM): Rename to
	 TOUCHINPUTMASKF_TIMEFROMSYSTEM.
	(TOUCHEVENTMASKF_EXTRAINFO): Rename to TOUCHINPUTMASKF_EXTRAINFO.
	(TOUCHEVENTMASKF_CONTACTAREA): Rename to TOUCHINPUTMASKF_CONTACTAREA.
	(struct _TOUCHINPUT): Fix member name from wMask to dwMask.

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

	* wingdi.h: Uglify the function param names a bit for bug #3469308

2011-12-14  Ozkan Sezer  <sezeroz@gmail.com>

	* winnls.h (WC_ERR_INVALID_CHARS): New macro, defined as 0x80.

2011-11-19  Ozkan Sezer  <sezeroz@gmail.com>

	* wincon.h: Added MOUSE_HWHEELED (0x8).  Moved the Vista version guard
	to cover only GetConsoleOriginalTitle[A|W].

2011-11-17  Ozkan Sezer  <sezeroz@gmail.com>

	Add gdiplus from mingw.org sources: Original work was by Markus Koenig
	<basilo@users.sourceforge.net>.  Patch to integrate into mingw-w64 was
	provided by Mark Dootson <mark.dootson@znix.com>.

	* gdiplus.h: New.
	* gdiplus/gdiplus.h: New.
	* gdiplus/gdiplusbase.h: New.
	* gdiplus/gdiplusbrush.h: New.
	* gdiplus/gdipluscolor.h: New.
	* gdiplus/gdipluscolormatrix.h: New.
	* gdiplus/gdipluseffects.h: New.
	* gdiplus/gdiplusenums.h: New.
	* gdiplus/gdiplusflat.h: New.
	* gdiplus/gdiplusgpstubs.h: New.
	* gdiplus/gdiplusgraphics.h: New.
	* gdiplus/gdiplusheaders.h: New.
	* gdiplus/gdiplusimageattributes.h: New.
	* gdiplus/gdiplusimagecodec.h: New.
	* gdiplus/gdiplusimaging.h: New.
	* gdiplus/gdiplusimpl.h: New.
	* gdiplus/gdiplusinit.h: New.
	* gdiplus/gdipluslinecaps.h: New.
	* gdiplus/gdiplusmatrix.h: New.
	* gdiplus/gdiplusmem.h: New.
	* gdiplus/gdiplusmetafile.h: New.
	* gdiplus/gdiplusmetaheader.h: New.
	* gdiplus/gdipluspath.h: New.
	* gdiplus/gdipluspen.h: New.
	* gdiplus/gdipluspixelformats.h: New.
	* gdiplus/gdiplusstringformat.h: New.
	* gdiplus/gdiplustypes.h: New.
	* configure.ac: Add GDIPLUSHEAD_LIST as a new header list.
	* configure: Regenerate.
	* Makefile.am: Add gdiplusheaddir and gdiplushead_HEADERS.
	* Makefile.in: Regenerate.

2011-11-16  Ozkan Sezer  <sezeroz@gmail.com>

	* wincon.h (SetConsoleDisplayMode): Add missing prototype from
	http://msdn.microsoft.com/en-us/library/ms686028(v=VS.85).aspx
	(CONSOLE_FULLSCREEN_MODE): New macro.
	(CONSOLE_WINDOWED_MODE): New macro.

2011-11-03  Ozkan Sezer  <sezeroz@gmail.com>

	* ntdef.h (FORCEINLINE): Sync the definition to the winnt.h version.

2011-10-19  Ozkan Sezer  <sezeroz@gmail.com>

	* imagehlp.h: Fixed misplaced extern "C" {} braces which used to break
	C_ASSERTs. (bug #3425478.)

2011-09-26  Ozkan Sezer  <sezeroz@gmail.com>

	* sdkddkver.h: Whitespace tidy-up.  Add our standart license header.
	(_WIN32_WINNT): Define default value as _WIN32_WINNT_WS03, i.e. 0x0502,
	which is what we had been defining in windows.h until this day.
	(NTDDI_VERSION): Define default value as NTDDI_WS03, i.e. 0x05020000,
	matching what we had been defining in windows.h until this day.
	(WINVER): Define default value as 0x0502, which is what we had been
	defining in windows.h until this day.
	* winnt.h: Include sdkddkver.h.
	* windows.h: Include sdkddkver.h.
	(WINVER): Now that we include sdkddkver.h, remove the extra definition.

2011-09-16  Ozkan Sezer  <sezeroz@gmail.com>

	* ks.h (KSPROPSETID_MemoryTransport): New.
	* ksmedia.h (KSPROPSETID_Wave_Queued): New.
	(KSPROPSETID_VramCapture): New.

2011-09-14  Vincent Torri  <vincent.torri@gmail.com>

	* psapi.h (LIST_MODULES_DEFAULT): New constant.
	(LIST_MODULES_32BIT): New constant.
	(LIST_MODULES_64BIT): New constant.
	(LIST_MODULES_ALL): New constant.

2011-09-12  Ozkan Sezer  <sezeroz@gmail.com>

	* wlanapi.h: Added WLAN_NOTIFICATION_ACM enumeration (patch from
	'balkin7').

2011-09-03  Jose Fonseca  <jrfonseca@users.sourceforge.net>

	* winuser.h (CreateDesktopEx, CreateDesktopExA, CreateDesktopExW):
	Don't define when NOGDI is defined.

2011-08-26  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h: Added missing SM_ constants for new windows versions :
	(SM_MOUSEHORIZONTALWHEELPRESENT): New constant, 91.
	(SM_CXPADDEDBORDER): New constant, 92.
	(SM_DIGITIZER): New constant, 94.
	(SM_MAXIMUMTOUCHES): New constant, 95.
	(NID_INTEGRATED_TOUCH): New constant, 0x01.
	(NID_EXTERNAL_TOUCH): New constant, 0x02.
	(NID_INTEGRATED_PEN): New constant, 0x04.
	(NID_EXTERNAL_PEN): New constant, 0x08.
	(NID_MULTI_INPUT): New constant, 0x40.
	(NID_READY): New constant, 0x80.
	(SM_CMETRICS): Adjusted after the new additions.

2011-08-24  Jonathan Yong  <jon_y@users.sourceforge.net>

	* d2d1.h: Fix typos.

2011-08-22  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (FORCEINLINE): Simplify based on _mingw.h definition.

2011-08-22  Jonathan Yong  <jon_y@users.sourceforge.net>

	* Changes by: Corinna Vinschen  corinna [a] sourceware.org  2011-08-19 11:58:05
	* winuser.h: Add missing MAPVK_xxx definitions.

2011-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	* dxva2api.h: Implemented missing inline functions:
	(DXVA2_Fixed32OpaqueAlpha): New.
	(DXVA2_Fixed32TransparentAlpha): New.
	(DXVA2FixedToFloat): New.
	(DXVA2FloatToFixed): New.

2011-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	* iscsidsc.h: Fixed many of the constants and data types.

2011-08-07  Ozkan Sezer  <sezeroz@gmail.com>

	* wincrypt.h: Added MS_ENH_RSA_AES_PROV_XP[_A|_W]. (Thanks to Alon
	Bar-Lev.)

2011-08-07  Ozkan Sezer  <sezeroz@gmail.com>

	* psdk_inc/_socket_types.h: Provide the SOCKET type as unsigned.

2011-07-23  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h (C_ASSERT): Revert the EXTERN_C change from rev.4285/4286.
	* usbioctl.h: Remove the extern "C" {} from the header completely.
	There are no functions or variables are declared, only data types,
	therefore it is not needed.
	* dbghelp.h, psdk_inc/_dbg_common.h: move the extern "C" braces so
	that the C_ASSERTs are not contained within them. (bug #3373905.)

2011-07-23  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h: Move the intrin.h include before the __faststorefence
	inline. Remove the redundant prototype for _m_prefetchw() which
	is already in intrin.h.

2011-07-21  Ozkan Sezer  <sezeroz@gmail.com>

	* winnt.h (C_ASSERT): Define using EXTERN_C instead of extern.
	* ws2tcpip.h: Move the extern "C" closing brace to cover the IN6_
	prototypes.

2011-06-23  Kai Tietz  <ktietz@redhat.com>

	* basetyps.h (DECLARE_INTERFACE_IID_): New macro.
	* objbase.h: Likewise.

2011-06-21  Jonathan Yong  <jon_y@users.sourceforge.net>

	* d2d1.h: Remove redundant declarations.
	* dwrite.h: New.
	* dcommon.h: New.

2011-06-15  Jonathan Yong  <jon_y@users.sourceforge.net>

	* wincon.h(ENABLE_INSERT_MODE): Define.
	(ENABLE_QUICK_EDIT_MODE): Define.
	(ENABLE_EXTENDED_FLAGS): Define.
	(ENABLE_AUTO_POSITION): Define.
	(GetConsoleOriginalTitleA): Make DLLIMPORT.
	(GetConsoleOriginalTitleW): Likewise.
	(GetConsoleScreenBufferInfoEx): Likewise.
	(GetCurrentConsoleFontEx): Likewise.
	(SetConsoleHistoryInfo): Likewise.
	(SetCurrentConsoleFontEx): Likewise.

2011-06-09  Ozkan Sezer  <sezeroz@gmail.com>

	* winevt.h: Fix the EVT_HANDLE type and move it before its users.
	* eaptypes.h: Fix the EAP_SESSIONID type.
	* mfapi.h: Fix the MFWORKITEM_KEY type.
	* cryptxml.h (CRYPT_XML_CRYPTOGRAPHIC_INTERFACE): Remove a fixme note
	because the guessed type is correct.
	* cryptxml.h: Fix the HCRYPTXML type. Remove the non-existent HXML
	type, make CryptXmlClose() to use HCRYPTXML parm.
	* bdatypes.h: Fix the ScanModulationTypes enumeration and uncomment it.
	* propidl.h: Fix the he REFPROPVARIANT type.
	* mfobjects.h: Fix the MediaEventType type; remove a duplicated
	definition of REFPROPVARIANT.
	* clfsw32.h: Fix PFILE type. Fix CLFS_PRINT_RECORD_ROUTINE callback
	type.
	* wdspxe.h: Fix PXE_BOOT_ACTION type.
	* netioapi.h: Fix PIPINTERFACE_CHANGE_CALLBACK type.
	* bdatypes.h (FECMethod): Fix the BDA_FEC_MAX enumerated value.

2011-06-09  Jonathan Yong  <jon_y@users.sourceforge.net>

	* locationapi.h(IID_ILocationReport): Define.
	(IID_ICivicAddressReport): Define.
	(IID_IDefaultLocation): Define.
	(ILocationReport): Fix COM ordering.
	(ICivicAddressReport): Likewise.
	(IDefaultLocation): Likewise.

2011-06-09  Jonathan Yong  <jon_y@users.sourceforge.net>

	* mpeg2psiparser.h: New.
	* audiopolicy.h: New.
	* d2d1helper.h(HwndRenderTargetProperties): Declare.
	* identitystore.h: New.
	* audioengineendpoint.h(HNSTIME): Define.
	(IAudioDeviceEndpoint): Declare.
	(IAudioEndpoint): Declare.
	(IAudioEndpointControl): Declare.
	(IAudioEndpointRT): Declare.
	(IAudioEndpointVolumeEx): Declare.
	(IAudioInputEndpointRT): Declare.
	(IAudioOutputEndpointRT): Declare.
	* audioapotypes.h: Use double underscores as define guards.
	* wincred(CREDUIWIN_GENERIC): Define.
	(CREDUIWIN_CHECKBOX): Define.
	(CREDUIWIN_AUTHPACKAGE_ONLY): Define.
	(CREDUIWIN_IN_CRED_ONLY): Define.
	(CREDUIWIN_ENUMERATE_ADMINS): Define.
	(CREDUIWIN_ENUMERATE_CURRENT_USER): Define.
	(CREDUIWIN_SECURE_PROMPT): Define.
	(CREDUIWIN_PACK_32_WOW): Define.
	* winnt.h:(HARDWARE_COUNTER_DATA): Define.
	(PERFORMANCE_DATA): Define.
	* winsync.h: New.
	* mpeg2structs.h: New.
	* identitycommon.h: New.
	* audioclient.h: New.
	* portabledeviceconnectapi.h: New.
	* devpkey.h: New.
	* bdaiface.h: New.
	* dvbsiparser.h: New.
	* tuner.h: New.
	* bdatypes.h(BinaryConvolutionCodeRate): Update.
	(FECMethod): Update.
	(ModulationType): Update.
	(TransmissionMode): Update.
	(BDA_Comp_Flags): Define.
	(BDA_CONDITIONALACCESS_MMICLOSEREASON): Define.
	(BDA_CONDITIONALACCESS_REQUESTTYPE): Define.
	(MUX_PID_TYPE): Define.
	(Pilot): Define.
	(RollOff): Define.
	(LNB_Source): Define.
	(BDA_ISDBCAS_EMG_REQ): Define.
	(BDA_MUX_PIDLISTITEM): Define.
	* wtypes.h(REFPROPERTYKEY): Define.
	* audiosessiontypes: New.
	* http.h(HTTP_SERVICE_CONFIG_CACHE_PARAM): Define.
	(HTTP_SERVICE_CONFIG_CACHE_SET): Define.
	* mpeg2bits.h: new.
	* devicetopology.h: new.
	* mmdeviceapi.h: new.
	* endpointvolume.h: new.
	* locationapi.h: new.
	* sbe.h: new.
	* bdamedia.h(PBDAParentalControlPolicy): Define.
	(SignalAndServiceStatusSpanningEvent_State): Define.
	(DualMonoInfo): Define.
	(DVBScramblingControlSpanningEvent): Define.
	(LanguageInfo): Define.
	(PBDAParentalControl): Define.
	(PIDListSpanningEvent): Define.
	(SpanningEventDescriptor): Define.
	(SpanningEventEmmMessage): Define.
	* strmif.h(IAMAsyncReaderTimestampScaling): Define.
	(IAMPluginControl): Define.
	* propidl.h(REFPROPVARIANT): Define.
	* ksmedia.h(TunerLockType): Define.
	* mpeg2data.h: New.

2011-06-06  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION): Define.
	* winbase.h (GetNumaNodeNumberFromHandle): Define.
	(GetProcessGroupAffinity): Likewise.
	(GetProcessorSystemCycleTime): Likewise.
	(GetThreadErrorMode): Likewise.
	(GetThreadGroupAffinity): Likewise.
	(GetThreadIdealProcessorEx): Likewise.
	(GetActiveProcessorCount): Likewise.
	(GetActiveProcessorGroupCount): Likewise.
	(GetCurrentProcessorNumberEx): Likewise.
	(GetMaximumProcessorCount): Likewise.
	(GetMaximumProcessorGroupCount): Likewise.
	(GetCurrentUmsThread): Likewise.
	* winnls.h (VerifyScripts): Make WINAPI.
	(GetProcessPreferredUILanguages): Define.
	* virtdisk.h (VIRTDISKAPI): Define.
	(AttachVirtualDisk): Make DLLIMPORT.
	(CompactVirtualDisk): Likewise.
	(CreateVirtualDisk): Likewise.
	(DetachVirtualDisk): Likewise.
	(ExpandVirtualDisk): Likewise.
	(GetStorageDependencyInformation): Likewise.
	(GetVirtualDiskInformation): Likewise.
	(GetVirtualDiskOperationProgress): Likewise.
	(MergeVirtualDisk): Likewise.
	(OpenVirtualDisk): Likewise.
	(SetVirtualDiskInformation): Likewise.
	* winuser.h (CreateDesktopExA): Make DLLIMPORT.
	(CreateDesktopExW): Likewise.
	(ShutdownBlockReasonCreate): Likewise.
	(ShutdownBlockReasonDestroy): Likewise.
	(ShutdownBlockReasonQuery): Likewise.
	(SetGestureConfig): Likewise.
	(GetGestureConfig): Likewise.
	(GetGestureInfo): Likewise.
	(GetGestureExtraArgs): Likewise.
	(CloseGestureInfoHandle): Likewise.

2011-06-02  Dongsheng Song  <dongsheng.song@gmail.com>

	* mstcpip.h: Mark declarations available on XP SP3 and above.

2011-04-27  Jose Fonseca  <jrfonseca@users.sourceforge.net>

	* wingdi.h (WINGDIAPI): When _GDI32_ is defined, define as nothing.

2011-04-21  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winnt.h (WOW64_CONTEXT_i386): Define.
	(WOW64_CONTEXT_i486): Likewise.
	(WOW64_CONTEXT_CONTROL): Likewise.
	(WOW64_CONTEXT_INTEGER): Likewise.
	(WOW64_CONTEXT_SEGMENTS): Likewise.
	(WOW64_CONTEXT_FLOATING_POINT): Likewise.
	(WOW64_CONTEXT_DEBUG_REGISTERS): Likewise.
	(WOW64_CONTEXT_EXTENDED_REGISTERS): Likewise.
	(WOW64_CONTEXT_FULL): Likewise.
	(WOW64_CONTEXT_ALL): Likewise.
	(WOW64_SIZE_OF_80387_REGISTERS): Likewise.
	(WOW64_MAXIMUM_SUPPORTED_EXTENSION): Likewise.
	(WOW64_FLOATING_SAVE_AREA): Declare.
	(WOW64_CONTEXT): Likewise.
	(WOW64_LDT_ENTRY): Likewise.

2011-04-11  Kai Tietz  <ktietz70@googlemail.com>

	* bcrypt.h, lmaccess.h, ntsecapi.h, subauth.h, wincred.h:
	Guard NTSTATUS/PNTSTATUS typedef additionally by _NTSTATUS_PSDK.
	* hidpi.h: Typedef NTSTATUS and PNTSTATUS.

2011-04-11  Simon Josefsson  <simon@joseffson.org>

	* hidsdi.h: New.

2011-04-08  Ozkan Sezer  <sezeroz@gmail.com>

	* ksmedia.h:  Guard the SPEAKER_* macros by _SPEAKER_POSITIONS_
	like in mmreg.h.

2011-03-02  Ozkan Sezer  <sezeroz@gmail.com>

	* winuser.h (TOUCHEVENTF_MOVE): Fix value as 0x01 acc.to msdn.
	(TOUCHEVENTF_DOWN): Fix value as 0x02 acc.to msdn.

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

	* dxva2api.h (DXVA2_ProcAmp_None): Define.
	(DXVA2_ProcAmp_Brightness): Likewise.
	(DXVA2_ProcAmp_Contrast): Likewise.
	(DXVA2_ProcAmp_Hue): Likewise.
	(DXVA2_ProcAmp_Saturation): Likewise.
	* mfapi.h (MFScheduleWorkItemEx): New function declaration.
	* opmapi.h (OPM_CGMSA_OFF): Define.
	(OPM_CGMSA_COPY_FREELY): Likewise.
	(OPM_CGMSA_COPY_NO_MORE): Likewise.
	(OPM_CGMSA_COPY_ONE_GENERATION): Likewise.
	(OPM_CGMSA_COPY_NEVER): Likewise.
	(OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED): Likewise.
	(OPM_PROTECTION_STANDARD_OTHER): Likewise.
	(OPM_PROTECTION_STANDARD_NONE): Likewise.
	(OPM_PROTECTION_STANDARD_IEC61880_525I): Likewise.
	(OPM_PROTECTION_STANDARD_IEC61880_2_525I): Likewise.
	(OPM_PROTECTION_STANDARD_IEC62375_625P): Likewise.
	(OPM_PROTECTION_STANDARD_EIA608B_525): Likewise.
	(OPM_PROTECTION_STANDARD_EN300294_625I): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_525P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_750P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEA_1125I): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_525P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_750P): Likewise.
	(OPM_PROTECTION_STANDARD_CEA805A_TYPEB_1125I): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_525I): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_525P): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_750P): Likewise.
	(OPM_PROTECTION_STANDARD_ARIBTRB15_1125I): Likewise.
	* mfidl.h (IMFByteStreamHandler): New interface declaration.

2011-01-17  Jonathan Yong  <jon_y@users.sourceforge.net>

	* winuser.h (WM_MOUSEHWHEEL): Define.

2011-01-14  Ozkan Sezer  <sezeroz@gmail.com>

	* winsplp.h (MONITOR2): Fixes according to msdn documentation at
	http://msdn.microsoft.com/en-us/library/ff557532(VS.85).aspx
	thanks to a reminder from Lorenzo Monti. Closes patch tracker ID
	3157986.

2011-01-07  Jonathan Yong  <jon_y@users.sourceforge.net>

	* wincrypt.h (CertSelectCertificateChains): Fix typo.
	* objbase.h (CoDisconnectContext): Likewise.
	(CoGetApartmentType): Likewise.

