From: <jo...@us...> - 2013-10-18 14:26:40
|
Revision: 6351 http://sourceforge.net/p/mingw-w64/code/6351 Author: jon_y Date: 2013-10-18 14:26:30 +0000 (Fri, 18 Oct 2013) Log Message: ----------- merge to r6350 Revision Links: -------------- http://sourceforge.net/p/mingw-w64/code/6350 Modified Paths: -------------- experimental/DFP_crt/Makefile.am experimental/DFP_crt/Makefile.in experimental/DFP_crt/misc/fegetround.c experimental/DFP_crt/misc/fesetround.c experimental/DFP_crt/stdio/mingw_pformat.c experimental/DFP_headers/crt/string.h experimental/DFP_headers/include/devicetopology.h experimental/DFP_headers/include/devicetopology.idl experimental/DFP_headers/include/ksmedia.h experimental/DFP_headers/include/winbase.h experimental/DFP_headers/include/winnt.h experimental/DFP_headers/include/winuser.h Added Paths: ----------- experimental/DFP_crt/misc/stpcpy.c Property Changed: ---------------- experimental/DFP_crt/ experimental/DFP_headers/ experimental/DFP_headers/include/ Index: experimental/DFP_crt =================================================================== --- experimental/DFP_crt 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt 2013-10-18 14:26:30 UTC (rev 6351) Property changes on: experimental/DFP_crt ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1 ## -/trunk/mingw-w64-crt:5953-6333 +/trunk/mingw-w64-crt:5953-6350 \ No newline at end of property Modified: experimental/DFP_crt/Makefile.am =================================================================== --- experimental/DFP_crt/Makefile.am 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt/Makefile.am 2013-10-18 14:26:30 UTC (rev 6351) @@ -263,7 +263,7 @@ misc/wcsnlen.c misc/wcstof.c misc/wcstoimax.c misc/wcstold.c misc/wcstoumax.c \ misc/wctob.c misc/wctrans.c misc/wctype.c misc/wdirent.c misc/winbs_uint64.c \ misc/winbs_ulong.c misc/winbs_ushort.c misc/wmemchr.c misc/wmemcmp.c misc/wmemcpy.c \ - misc/wmemmove.c misc/wmempcpy.c misc/wmemset.c misc/purecall.c \ + misc/wmemmove.c misc/wmempcpy.c misc/wmemset.c misc/purecall.c misc/stpcpy.c \ \ stdio/mingw_pformat.h \ stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ Modified: experimental/DFP_crt/Makefile.in =================================================================== --- experimental/DFP_crt/Makefile.in 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt/Makefile.in 2013-10-18 14:26:30 UTC (rev 6351) @@ -623,12 +623,12 @@ misc/wctype.c misc/wdirent.c misc/winbs_uint64.c \ misc/winbs_ulong.c misc/winbs_ushort.c misc/wmemchr.c \ misc/wmemcmp.c misc/wmemcpy.c misc/wmemmove.c misc/wmempcpy.c \ - misc/wmemset.c misc/purecall.c stdio/mingw_pformat.h \ - stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S \ - stdio/vsscanf2.S stdio/vswscanf2.S stdio/vwscanf2.S \ - stdio/_Exit.c stdio/_findfirst64i32.c stdio/_findnext64i32.c \ - stdio/_fstat.c stdio/_fstat64i32.c stdio/_ftime.c \ - stdio/_getc_nolock.c stdio/_getwc_nolock.c \ + misc/wmemset.c misc/purecall.c misc/stpcpy.c \ + stdio/mingw_pformat.h stdio/vfscanf2.S stdio/vfwscanf2.S \ + stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ + stdio/vwscanf2.S stdio/_Exit.c stdio/_findfirst64i32.c \ + stdio/_findnext64i32.c stdio/_fstat.c stdio/_fstat64i32.c \ + stdio/_ftime.c stdio/_getc_nolock.c stdio/_getwc_nolock.c \ stdio/_putc_nolock.c stdio/_putwc_nolock.c stdio/_stat.c \ stdio/_stat64i32.c stdio/_wfindfirst64i32.c \ stdio/_wfindnext64i32.c stdio/_wstat.c stdio/_wstat64i32.c \ @@ -991,6 +991,7 @@ misc/lib32_libmingwex_a-wmempcpy.$(OBJEXT) \ misc/lib32_libmingwex_a-wmemset.$(OBJEXT) \ misc/lib32_libmingwex_a-purecall.$(OBJEXT) \ + misc/lib32_libmingwex_a-stpcpy.$(OBJEXT) \ stdio/lib32_libmingwex_a-vfscanf2.$(OBJEXT) \ stdio/lib32_libmingwex_a-vfwscanf2.$(OBJEXT) \ stdio/lib32_libmingwex_a-vscanf2.$(OBJEXT) \ @@ -1756,12 +1757,12 @@ misc/wctype.c misc/wdirent.c misc/winbs_uint64.c \ misc/winbs_ulong.c misc/winbs_ushort.c misc/wmemchr.c \ misc/wmemcmp.c misc/wmemcpy.c misc/wmemmove.c misc/wmempcpy.c \ - misc/wmemset.c misc/purecall.c stdio/mingw_pformat.h \ - stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S \ - stdio/vsscanf2.S stdio/vswscanf2.S stdio/vwscanf2.S \ - stdio/_Exit.c stdio/_findfirst64i32.c stdio/_findnext64i32.c \ - stdio/_fstat.c stdio/_fstat64i32.c stdio/_ftime.c \ - stdio/_getc_nolock.c stdio/_getwc_nolock.c \ + misc/wmemset.c misc/purecall.c misc/stpcpy.c \ + stdio/mingw_pformat.h stdio/vfscanf2.S stdio/vfwscanf2.S \ + stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ + stdio/vwscanf2.S stdio/_Exit.c stdio/_findfirst64i32.c \ + stdio/_findnext64i32.c stdio/_fstat.c stdio/_fstat64i32.c \ + stdio/_ftime.c stdio/_getc_nolock.c stdio/_getwc_nolock.c \ stdio/_putc_nolock.c stdio/_putwc_nolock.c stdio/_stat.c \ stdio/_stat64i32.c stdio/_wfindfirst64i32.c \ stdio/_wfindnext64i32.c stdio/_wstat.c stdio/_wstat64i32.c \ @@ -2124,6 +2125,7 @@ misc/lib64_libmingwex_a-wmempcpy.$(OBJEXT) \ misc/lib64_libmingwex_a-wmemset.$(OBJEXT) \ misc/lib64_libmingwex_a-purecall.$(OBJEXT) \ + misc/lib64_libmingwex_a-stpcpy.$(OBJEXT) \ stdio/lib64_libmingwex_a-vfscanf2.$(OBJEXT) \ stdio/lib64_libmingwex_a-vfwscanf2.$(OBJEXT) \ stdio/lib64_libmingwex_a-vscanf2.$(OBJEXT) \ @@ -3988,7 +3990,7 @@ misc/wcsnlen.c misc/wcstof.c misc/wcstoimax.c misc/wcstold.c misc/wcstoumax.c \ misc/wctob.c misc/wctrans.c misc/wctype.c misc/wdirent.c misc/winbs_uint64.c \ misc/winbs_ulong.c misc/winbs_ushort.c misc/wmemchr.c misc/wmemcmp.c misc/wmemcpy.c \ - misc/wmemmove.c misc/wmempcpy.c misc/wmemset.c misc/purecall.c \ + misc/wmemmove.c misc/wmempcpy.c misc/wmemset.c misc/purecall.c misc/stpcpy.c \ \ stdio/mingw_pformat.h \ stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ @@ -6746,6 +6748,8 @@ misc/$(DEPDIR)/$(am__dirstamp) misc/lib32_libmingwex_a-purecall.$(OBJEXT): misc/$(am__dirstamp) \ misc/$(DEPDIR)/$(am__dirstamp) +misc/lib32_libmingwex_a-stpcpy.$(OBJEXT): misc/$(am__dirstamp) \ + misc/$(DEPDIR)/$(am__dirstamp) stdio/$(am__dirstamp): @$(MKDIR_P) stdio @: > stdio/$(am__dirstamp) @@ -8360,6 +8364,8 @@ misc/$(DEPDIR)/$(am__dirstamp) misc/lib64_libmingwex_a-purecall.$(OBJEXT): misc/$(am__dirstamp) \ misc/$(DEPDIR)/$(am__dirstamp) +misc/lib64_libmingwex_a-stpcpy.$(OBJEXT): misc/$(am__dirstamp) \ + misc/$(DEPDIR)/$(am__dirstamp) stdio/lib64_libmingwex_a-vfscanf2.$(OBJEXT): stdio/$(am__dirstamp) \ stdio/$(DEPDIR)/$(am__dirstamp) stdio/lib64_libmingwex_a-vfwscanf2.$(OBJEXT): stdio/$(am__dirstamp) \ @@ -10841,6 +10847,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-spawnve.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-spawnvp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-spawnvpe.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-strnlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-strsafe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-strtoimax.Po@am__quote@ @@ -10931,6 +10938,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-spawnve.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-spawnvp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-spawnvpe.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-strnlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-strsafe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-strtoimax.Po@am__quote@ @@ -18646,6 +18654,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-purecall.obj `if test -f 'misc/purecall.c'; then $(CYGPATH_W) 'misc/purecall.c'; else $(CYGPATH_W) '$(srcdir)/misc/purecall.c'; fi` +misc/lib32_libmingwex_a-stpcpy.o: misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-stpcpy.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Tpo -c -o misc/lib32_libmingwex_a-stpcpy.o `test -f 'misc/stpcpy.c' || echo '$(srcdir)/'`misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc/stpcpy.c' object='misc/lib32_libmingwex_a-stpcpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-stpcpy.o `test -f 'misc/stpcpy.c' || echo '$(srcdir)/'`misc/stpcpy.c + +misc/lib32_libmingwex_a-stpcpy.obj: misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-stpcpy.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Tpo -c -o misc/lib32_libmingwex_a-stpcpy.obj `if test -f 'misc/stpcpy.c'; then $(CYGPATH_W) 'misc/stpcpy.c'; else $(CYGPATH_W) '$(srcdir)/misc/stpcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-stpcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc/stpcpy.c' object='misc/lib32_libmingwex_a-stpcpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-stpcpy.obj `if test -f 'misc/stpcpy.c'; then $(CYGPATH_W) 'misc/stpcpy.c'; else $(CYGPATH_W) '$(srcdir)/misc/stpcpy.c'; fi` + stdio/lib32_libmingwex_a-_Exit.o: stdio/_Exit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmingwex_a-_Exit.o -MD -MP -MF stdio/$(DEPDIR)/lib32_libmingwex_a-_Exit.Tpo -c -o stdio/lib32_libmingwex_a-_Exit.o `test -f 'stdio/_Exit.c' || echo '$(srcdir)/'`stdio/_Exit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib32_libmingwex_a-_Exit.Tpo stdio/$(DEPDIR)/lib32_libmingwex_a-_Exit.Po @@ -27718,6 +27740,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-purecall.obj `if test -f 'misc/purecall.c'; then $(CYGPATH_W) 'misc/purecall.c'; else $(CYGPATH_W) '$(srcdir)/misc/purecall.c'; fi` +misc/lib64_libmingwex_a-stpcpy.o: misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-stpcpy.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Tpo -c -o misc/lib64_libmingwex_a-stpcpy.o `test -f 'misc/stpcpy.c' || echo '$(srcdir)/'`misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc/stpcpy.c' object='misc/lib64_libmingwex_a-stpcpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-stpcpy.o `test -f 'misc/stpcpy.c' || echo '$(srcdir)/'`misc/stpcpy.c + +misc/lib64_libmingwex_a-stpcpy.obj: misc/stpcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-stpcpy.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Tpo -c -o misc/lib64_libmingwex_a-stpcpy.obj `if test -f 'misc/stpcpy.c'; then $(CYGPATH_W) 'misc/stpcpy.c'; else $(CYGPATH_W) '$(srcdir)/misc/stpcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-stpcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc/stpcpy.c' object='misc/lib64_libmingwex_a-stpcpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-stpcpy.obj `if test -f 'misc/stpcpy.c'; then $(CYGPATH_W) 'misc/stpcpy.c'; else $(CYGPATH_W) '$(srcdir)/misc/stpcpy.c'; fi` + stdio/lib64_libmingwex_a-_Exit.o: stdio/_Exit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmingwex_a-_Exit.o -MD -MP -MF stdio/$(DEPDIR)/lib64_libmingwex_a-_Exit.Tpo -c -o stdio/lib64_libmingwex_a-_Exit.o `test -f 'stdio/_Exit.c' || echo '$(srcdir)/'`stdio/_Exit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib64_libmingwex_a-_Exit.Tpo stdio/$(DEPDIR)/lib64_libmingwex_a-_Exit.Po Modified: experimental/DFP_crt/misc/fegetround.c =================================================================== --- experimental/DFP_crt/misc/fegetround.c 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt/misc/fegetround.c 2013-10-18 14:26:30 UTC (rev 6351) @@ -14,6 +14,6 @@ { int _control; - __asm__ volatile ("fnstcw %0" : "=m" (_control)); + __asm__ volatile ("fnstcw %0" : "=m" (*&_control)); return (_control & (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)); } Modified: experimental/DFP_crt/misc/fesetround.c =================================================================== --- experimental/DFP_crt/misc/fesetround.c 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt/misc/fesetround.c 2013-10-18 14:26:30 UTC (rev 6351) @@ -19,17 +19,17 @@ if ((mode & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) != 0) return -1; - __asm__ volatile ("fnstcw %0;": "=m" (_cw)); - _cw &= ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO); + __asm__ volatile ("fnstcw %0;": "=m" (*&_cw)); + _cw &= ~0xc00; _cw |= mode; - __asm__ volatile ("fldcw %0;" : : "m" (_cw)); + __asm__ volatile ("fldcw %0;" : : "m" (*&_cw)); if (__mingw_has_sse ()) { int mxcsr; __asm__ volatile ("stmxcsr %0" : "=m" (*&mxcsr)); - mxcsr &= ~ ((FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO) << 3); + mxcsr &= ~0x6000; mxcsr |= mode << 3; __asm__ volatile ("ldmxcsr %0" : : "m" (*&mxcsr)); } Copied: experimental/DFP_crt/misc/stpcpy.c (from rev 6350, trunk/mingw-w64-crt/misc/stpcpy.c) =================================================================== --- experimental/DFP_crt/misc/stpcpy.c (rev 0) +++ experimental/DFP_crt/misc/stpcpy.c 2013-10-18 14:26:30 UTC (rev 6351) @@ -0,0 +1,11 @@ +#define __CRT__NO_INLINE + +#include <string.h> + +char * __cdecl __mingw_stpcpy (char * __restrict__ _Dest,const char * __restrict__ _Source) +{ + for (; *_Source; _Source++, _Dest++) + *_Dest = *_Source; + *_Dest = '\0'; + return _Dest; +} Modified: experimental/DFP_crt/stdio/mingw_pformat.c =================================================================== --- experimental/DFP_crt/stdio/mingw_pformat.c 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_crt/stdio/mingw_pformat.c 2013-10-18 14:26:30 UTC (rev 6351) @@ -664,10 +664,10 @@ tmp_buff = alloca(bufflen); buf = alloca(bufflen); if( stream->flags & PFORMAT_NEGATIVE ) +#ifdef __ENABLE_PRINTF128 { /* The input value might be negative, (i.e. it is a signed value)... */ -#ifdef __ENABLE_PRINTF128 if( value.__pformat_u128_t.t128.digits[1] < 0) { /* * It IS negative, but we want to encode it as unsigned, @@ -703,6 +703,22 @@ if( tmp_buff[i] == '\0' ) break; /* end */ } #else + { + /* The input value might be negative, (i.e. it is a signed value)... + */ + if( value.__pformat_llong_t < 0LL ) + /* + * It IS negative, but we want to encode it as unsigned, + * displayed with a leading minus sign, so convert it... + */ + value.__pformat_llong_t = -value.__pformat_llong_t; + + else + /* It is unequivocally a POSITIVE value, so turn off the + * request to prefix it with a minus sign... + */ + stream->flags &= ~PFORMAT_NEGATIVE; + } while( value.__pformat_ullong_t ) { /* decomposing it into its constituent decimal digits, @@ -812,7 +828,6 @@ * digits of the formatted value, in preparation for output. */ int width; - /* int mask = (fmt == 'o') ? PFORMAT_OMASK : PFORMAT_XMASK;*/ int shift = (fmt == 'o') ? PFORMAT_OSHIFT : PFORMAT_XSHIFT; int bufflen = __pformat_int_bufsiz(2, shift, stream); char *buf = NULL; @@ -833,6 +848,7 @@ for(int32_t i = strlen(tmp_buf); i >= 0; i--) *p++ = tmp_buf[i]; #else + int mask = (fmt == 'o') ? PFORMAT_OMASK : PFORMAT_XMASK; while( value.__pformat_ullong_t ) { /* Encode the specified non-zero input value as a sequence of digits, @@ -1609,7 +1625,6 @@ } else if( stream->width - max_prec - exp_strlen - 4 > 0 ) { __pformat_putc( ' ', stream ); } - *stream = push_stream; stream->width = 0; /* s.sss form */ __pformat_putc(str_sig[0], stream); Index: experimental/DFP_headers =================================================================== --- experimental/DFP_headers 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers 2013-10-18 14:26:30 UTC (rev 6351) Property changes on: experimental/DFP_headers ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1 ## -/trunk/mingw-w64-headers:6059-6325 +/trunk/mingw-w64-headers:6059-6350 \ No newline at end of property Modified: experimental/DFP_headers/crt/string.h =================================================================== --- experimental/DFP_headers/crt/string.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/crt/string.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -49,6 +49,12 @@ char * __cdecl _strset(char *_Str,int _Val) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; char * __cdecl _strset_l(char *_Str,int _Val,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; char * __cdecl strcpy(char * __restrict__ _Dest,const char * __restrict__ _Source); + char * __cdecl __mingw_stpcpy(char * __restrict__ _Dest,const char * __restrict__ _Source) __MINGW_NOTHROW; +#if (defined (_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) >= 700) || \ + (defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L) || \ + (defined (_GNU_SOURCE)) + __mingw_ovr char *stpcpy(char * __restrict__ _Dest,const char * __restrict__ _Source) { return __mingw_stpcpy(_Dest, _Source); } +#endif char * __cdecl strcat(char * __restrict__ _Dest,const char * __restrict__ _Source); int __cdecl strcmp(const char *_Str1,const char *_Str2); size_t __cdecl strlen(const char *_Str); Index: experimental/DFP_headers/include =================================================================== --- experimental/DFP_headers/include 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include 2013-10-18 14:26:30 UTC (rev 6351) Property changes on: experimental/DFP_headers/include ___________________________________________________________________ Modified: svn:mergeinfo ## -1,2 +1,2 ## /experimental/vista_7_headers:2264-3197 -/trunk/mingw-w64-headers/include:6059-6325 +/trunk/mingw-w64-headers/include:6059-6350 \ No newline at end of property Modified: experimental/DFP_headers/include/devicetopology.h =================================================================== --- experimental/DFP_headers/include/devicetopology.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/devicetopology.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.6 from include/devicetopology.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.6 from devicetopology.idl - Do not edit ***/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 @@ -228,6 +228,7 @@ eConnTypeMultichannelAnalogDIN = 8, eConnTypeXlrProfessional = 9, eConnTypeRj11Modem = 10, + eConnTypeRJ11Modem = eConnTypeRj11Modem, eConnTypeCombination = 11 } EPcxConnectionType; typedef enum __WIDL_devicetopology_generated_name_00000016 { Modified: experimental/DFP_headers/include/devicetopology.idl =================================================================== --- experimental/DFP_headers/include/devicetopology.idl 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/devicetopology.idl 2013-10-18 14:26:30 UTC (rev 6351) @@ -82,6 +82,7 @@ eConnTypeMultichannelAnalogDIN, eConnTypeXlrProfessional, eConnTypeRj11Modem, + eConnTypeRJ11Modem = eConnTypeRj11Modem, eConnTypeCombination } EPcxConnectionType; Modified: experimental/DFP_headers/include/ksmedia.h =================================================================== --- experimental/DFP_headers/include/ksmedia.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/ksmedia.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -4538,6 +4538,7 @@ eConnTypeMultichannelAnalogDIN = 8, eConnTypeXlrProfessional = 9, eConnTypeRj11Modem = 10, + eConnTypeRJ11Modem = eConnTypeRj11Modem, eConnTypeCombination = 11 } EPcxConnectionType; Modified: experimental/DFP_headers/include/winbase.h =================================================================== --- experimental/DFP_headers/include/winbase.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/winbase.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -2921,36 +2921,125 @@ #endif #if MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS && defined (__cplusplus) extern "C++" { - FORCEINLINE unsigned InterlockedIncrement (unsigned volatile *Addend) { return (unsigned) InterlockedIncrement ((volatile __LONG32 *) Addend); } - FORCEINLINE unsigned __LONG32 InterlockedIncrement (unsigned __LONG32 volatile *Addend) { return (unsigned __LONG32) InterlockedIncrement ((volatile __LONG32 *) Addend); } +#if defined(__x86_64__) && defined(__CYGWIN__) +#define __MINGW_USE_INT64_INTERLOCKED_LONG +#endif + FORCEINLINE unsigned InterlockedIncrement (unsigned volatile *Addend) { + return (unsigned) InterlockedIncrement ((volatile __LONG32 *) Addend); + } + + FORCEINLINE unsigned long InterlockedIncrement (unsigned long volatile *Addend) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedIncrement ((volatile __LONG32 *) Addend); +#else + return (unsigned long) InterlockedIncrement64 ((volatile __int64 *) Addend); +#endif + } + #if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) - FORCEINLINE unsigned __int64 InterlockedIncrement (unsigned __int64 volatile *Addend) { return (unsigned __int64) InterlockedIncrement64 ((volatile __int64 *) Addend); } + FORCEINLINE unsigned __int64 InterlockedIncrement (unsigned __int64 volatile *Addend) { + return (unsigned __int64) InterlockedIncrement64 ((volatile __int64 *) Addend); + } #endif - FORCEINLINE unsigned InterlockedDecrement (unsigned volatile *Addend) { return (unsigned __LONG32) InterlockedDecrement ((volatile __LONG32 *) Addend); } - FORCEINLINE unsigned __LONG32 InterlockedDecrement (unsigned __LONG32 volatile *Addend) { return (unsigned __LONG32) InterlockedDecrement ((volatile __LONG32 *) Addend); } + + FORCEINLINE unsigned InterlockedDecrement (unsigned volatile *Addend) { + return (unsigned) InterlockedDecrement ((volatile __LONG32 *) Addend); + } + + FORCEINLINE unsigned long InterlockedDecrement (unsigned long volatile *Addend) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedDecrement ((volatile __LONG32 *) Addend); +#else + return (unsigned long) InterlockedDecrement64 ((volatile __int64 *) Addend); +#endif + } + #if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) - FORCEINLINE unsigned __int64 InterlockedDecrement (unsigned __int64 volatile *Addend) { return (unsigned __int64) InterlockedDecrement64 ((volatile __int64 *) Addend); } + FORCEINLINE unsigned __int64 InterlockedDecrement (unsigned __int64 volatile *Addend) { + return (unsigned __int64) InterlockedDecrement64 ((volatile __int64 *) Addend); + } #endif - FORCEINLINE unsigned InterlockedExchange (unsigned volatile *Target, unsigned Value) { return (unsigned) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); } - FORCEINLINE unsigned __LONG32 InterlockedExchange (unsigned __LONG32 volatile *Target, unsigned __LONG32 Value) { return (unsigned __LONG32) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); } + + FORCEINLINE unsigned InterlockedExchange (unsigned volatile *Target, unsigned Value) { + return (unsigned) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); + } + + FORCEINLINE unsigned long InterlockedExchange (unsigned long volatile *Target, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); +#else + return (unsigned long) InterlockedExchange64 ((volatile __int64 *) Target,(__int64) Value); +#endif + } + #if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) - FORCEINLINE unsigned __int64 InterlockedExchange (unsigned __int64 volatile *Target, unsigned __int64 Value) { return (unsigned __int64) InterlockedExchange64 ((volatile __int64 *) Target,(__int64) Value); } + FORCEINLINE unsigned __int64 InterlockedExchange (unsigned __int64 volatile *Target, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchange64 ((volatile __int64 *) Target,(__int64) Value); + } #endif - FORCEINLINE unsigned InterlockedExchangeAdd (unsigned volatile *Addend, unsigned Value) { return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); } - FORCEINLINE unsigned InterlockedExchangeSubtract (unsigned volatile *Addend, unsigned Value) { return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); } - FORCEINLINE unsigned __LONG32 InterlockedExchangeAdd (unsigned __LONG32 volatile *Addend, unsigned __LONG32 Value) { return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); } - FORCEINLINE unsigned __LONG32 InterlockedExchangeSubtract (unsigned __LONG32 volatile *Addend, unsigned __LONG32 Value) { return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); } + + FORCEINLINE unsigned InterlockedExchangeAdd (unsigned volatile *Addend, unsigned Value) { + return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); + } + + FORCEINLINE unsigned InterlockedExchangeSubtract (unsigned volatile *Addend, unsigned Value) { + return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); + } + + FORCEINLINE unsigned long InterlockedExchangeAdd (unsigned long volatile *Addend, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); +#else + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,(__int64) Value); +#endif + } + + FORCEINLINE unsigned long InterlockedExchangeSubtract (unsigned long volatile *Addend, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); +#else + return (unsigned long) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,- (__int64) Value); +#endif + } + #if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) - FORCEINLINE unsigned __int64 InterlockedExchangeAdd (unsigned __int64 volatile *Addend, unsigned __int64 Value) { return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,(__int64) Value); } - FORCEINLINE unsigned __int64 InterlockedExchangeSubtract (unsigned __int64 volatile *Addend, unsigned __int64 Value) { return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,- (__int64) Value); } + FORCEINLINE unsigned __int64 InterlockedExchangeAdd (unsigned __int64 volatile *Addend, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedExchangeSubtract (unsigned __int64 volatile *Addend, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,- (__int64) Value); + } #endif - FORCEINLINE unsigned InterlockedCompareExchange (unsigned volatile *Destination, unsigned Exchange, unsigned Comperand) { return (unsigned) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); } - FORCEINLINE unsigned __LONG32 InterlockedCompareExchange (unsigned __LONG32 volatile *Destination, unsigned __LONG32 Exchange, unsigned __LONG32 Comperand) { return (unsigned __LONG32) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); } + + FORCEINLINE unsigned InterlockedCompareExchange (unsigned volatile *Destination, unsigned Exchange, unsigned Comperand) { + return (unsigned) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); + } + + FORCEINLINE unsigned long InterlockedCompareExchange (unsigned long volatile *Destination, unsigned long Exchange, unsigned long Comperand) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); +#else + return (unsigned long) InterlockedCompareExchange64 ((volatile __int64 *) Destination,(__int64) Exchange,(__int64) Comperand); +#endif + } + #if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) - FORCEINLINE unsigned __int64 InterlockedCompareExchange (unsigned __int64 volatile *Destination, unsigned __int64 Exchange, unsigned __int64 Comperand) { return (unsigned __int64) InterlockedCompareExchange64 ((volatile __int64 *) Destination,(__int64) Exchange,(__int64) Comperand); } - FORCEINLINE unsigned __int64 InterlockedAnd (unsigned __int64 volatile *Destination, unsigned __int64 Value) { return (unsigned __int64) InterlockedAnd64 ((volatile __int64 *) Destination,(__int64) Value); } - FORCEINLINE unsigned __int64 InterlockedOr (unsigned __int64 volatile *Destination, unsigned __int64 Value) { return (unsigned __int64) InterlockedOr64 ((volatile __int64 *) Destination,(__int64) Value); } - FORCEINLINE unsigned __int64 InterlockedXor (unsigned __int64 volatile *Destination, unsigned __int64 Value) { return (unsigned __int64) InterlockedXor64 ((volatile __int64 *) Destination,(__int64) Value); } + FORCEINLINE unsigned __int64 InterlockedCompareExchange (unsigned __int64 volatile *Destination, unsigned __int64 Exchange, unsigned __int64 Comperand) { + return (unsigned __int64) InterlockedCompareExchange64 ((volatile __int64 *) Destination,(__int64) Exchange,(__int64) Comperand); + } + + FORCEINLINE unsigned __int64 InterlockedAnd (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedAnd64 ((volatile __int64 *) Destination,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedOr (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedOr64 ((volatile __int64 *) Destination,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedXor (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedXor64 ((volatile __int64 *) Destination,(__int64) Value); + } #endif } #endif Modified: experimental/DFP_headers/include/winnt.h =================================================================== --- experimental/DFP_headers/include/winnt.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/winnt.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -1760,7 +1760,7 @@ #define YieldProcessor _mm_pause #define MemoryBarrier _mm_mfence #else -#define YieldProcessor __buildpause() +#define YieldProcessor __buildpause VOID MemoryBarrier(VOID); FORCEINLINE VOID MemoryBarrier(VOID) __buildmemorybarrier() Modified: experimental/DFP_headers/include/winuser.h =================================================================== --- experimental/DFP_headers/include/winuser.h 2013-10-17 22:23:17 UTC (rev 6350) +++ experimental/DFP_headers/include/winuser.h 2013-10-18 14:26:30 UTC (rev 6351) @@ -5542,6 +5542,353 @@ #endif /*(_WIN32_WINNT >= 0x0601)*/ +#if (_WIN32_WINNT >= 0x0602) +#define WM_PARENTNOTIFY 0x0210 +#define WM_POINTERDEVICECHANGE 0x0238 +#define WM_POINTERDEVICEINRANGE 0x0239 +#define WM_POINTERDEVICEOUTOFRANGE 0x023A +#define WM_NCPOINTERUPDATE 0x0241 +#define WM_NCPOINTERDOWN 0x0242 +#define WM_NCPOINTERUP 0x0243 +#define WM_POINTERUPDATE 0x0245 +#define WM_POINTERDOWN 0x0246 +#define WM_POINTERUP 0x0247 +#define WM_POINTERENTER 0x0249 +#define WM_POINTERLEAVE 0x024A +#define WM_POINTERACTIVATE 0x024B +#define WM_POINTERCAPTURECHANGED 0x024C +#define WM_TOUCHHITTESTING 0x024D +#define WM_POINTERWHEEL 0x024E +#define WM_POINTERHWHEEL 0x024F + +#define TOUCH_HIT_TESTING_PROXIMITY_CLOSEST 0x0 +#define TOUCH_HIT_TESTING_PROXIMITY_FARTHEST 0x0fff + +#define TOUCH_HIT_TESTING_DEFAULT 0x0 +#define TOUCH_HIT_TESTING_CLIENT 0x1 +#define TOUCH_HIT_TESTING_NONE 0x2 + +#define PDC_ARRIVAL 0x0001 +#define PDC_REMOVAL 0x0002 +#define PDC_ORIENTATION_0 0x0004 +#define PDC_ORIENTATION_90 0x0008 +#define PDC_ORIENTATION_180 0x0010 +#define PDC_ORIENTATION_270 0x0020 +#define PDC_MODE_DEFAULT 0x0040 +#define PDC_MODE_CENTERED 0x0080 +#define PDC_MODE_CENTERED 0x0080 +#define PDC_MAPPING_CHANGE 0x0100 +#define PDC_RESOLUTION 0x0200 +#define PDC_ORIGIN 0x0400 +#define PDC_MODE_ASPECTRATIOPRESERVED 0x0900 + +#define POINTER_MESSAGE_FLAG_NEW 0x00000001 +#define POINTER_MESSAGE_FLAG_INRANGE 0x00000002 +#define POINTER_MESSAGE_FLAG_INCONTAC T 0x00000004 +#define POINTER_MESSAGE_FLAG_FIRSTBUTTON 0x00000010 +#define OINTER_MESSAGE_FLAG_SECONDBUTTON 0x00000020 +#define POINTER_MESSAGE_FLAG_THIRDBUTTON 0x00000040 +#define POINTER_MESSAGE_FLAG_FOURTHBUTTON 0x00000080 +#define POINTER_MESSAGE_FLAG_FIFTHBUTTON 0x00000100 +#define POINTER_MESSAGE_FLAG_PRIMARY 0x00000200 +#define POINTER_MESSAGE_FLAG_CONFIDENCE 0x00000400 +#define POINTER_MESSAGE_FLAG_CANCELED 0x00000800 + +/* Values not on MSDN +#define POINTER_MOD_SHIFT +#define POINTER_MOD_CTRL +*/ + +typedef enum tagPOINTER_FLAGS { + POINTER_FLAG_NONE = 0x00000000, + POINTER_FLAG_NEW = 0x00000001, + POINTER_FLAG_INRANGE = 0x00000002, + POINTER_FLAG_INCONTACT = 0x00000004, + POINTER_FLAG_FIRSTBUTTON = 0x00000010, + POINTER_FLAG_SECONDBUTTON = 0x00000020, + POINTER_FLAG_THIRDBUTTON = 0x00000040, + POINTER_FLAG_OTHERBUTTON = 0x00000080, + POINTER_FLAG_PRIMARY = 0x00000100, + POINTER_FLAG_CONFIDENCE = 0x00000200, + POINTER_FLAG_CANCELLED = 0x00000400, + POINTER_FLAG_DOWN = 0x00010000, + POINTER_FLAG_UPDATE = 0x00020000, + POINTER_FLAG_UP = 0x00040000, + POINTER_FLAG_WHEEL = 0x00080000, + POINTER_FLAG_HWHEEL = 0x00100000 +} POINTER_FLAGS; + +typedef enum tagPEN_FLAGS { + PEN_FLAG_NONE = 0x00000000, + PEN_FLAG_BARREL = 0x00000001, + PEN_FLAG_INVERTED = 0x00000002, + PEN_FLAG_PEN_FLAG_ERASER = 0x00000004 +} PEN_FLAGS; + +typedef enum tagPEN_MASK { + PEN_MASK_NONE = 0x00000000, + PEN_MASK_PRESSURE = 0x00000001, + PEN_MASK_ROTATION = 0x00000002, + PEN_MASK_TILT_X = 0x00000004, + PEN_MASK_TILT_Y = 0x00000008 +} PEN_MASK; + +typedef enum tagTOUCH_FLAGS { + TOUCH_FLAG_NONE = 0x00000000 +} TOUCH_FLAGS; + +typedef enum tagTOUCH_MASK { + TOUCH_MASK_NONE = 0x00000000, + TOUCH_MASK_CONTACTAREA = 0x00000001, + TOUCH_MASK_ORIENTATION = 0x00000002, + TOUCH_MASK_PRESSURE = 0x00000004 +} TOUCH_MASK; + + +typedef enum tagPOINTER_INPUT_TYPE { + PT_POINTER = 0x00000001, + PT_TOUCH = 0x00000002, + PT_PEN = 0x00000003, + PT_MOUSE = 0x00000004 +} POINTER_INPUT_TYPE; + +/* FIXME: values missing on MSDN! */ +typedef enum _POINTER_BUTTON_CHANGE_TYPE { + POINTER_CHANGE_NONE , + POINTER_CHANGE_FIRSTBUTTON_DOWN , + POINTER_CHANGE_FIRSTBUTTON_UP , + POINTER_CHANGE_SECONDBUTTON_DOWN , + POINTER_CHANGE_SECONDBUTTON_UP , + POINTER_CHANGE_THIRDBUTTON_DOWN , + POINTER_CHANGE_THIRDBUTTON_UP , + POINTER_CHANGE_FOURTHBUTTON_DOWN , + POINTER_CHANGE_FOURTHBUTTON_UP , + POINTER_CHANGE_FIFTHBUTTON_DOWN , + POINTER_CHANGE_FIFTHBUTTON_UP +} POINTER_BUTTON_CHANGE_TYPE; + +typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { + UINT16 score; + POINT adjustedPoint; +} TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, *PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; + +typedef struct tagINPUT_TRANSFORM { + __C89_NAMELESS union { + __C89_NAMELESS struct { + float _11; + float _12; + float _13; + float _14; + float _21; + float _22; + float _23; + float _24; + float _31; + float _32; + float _33; + float _34; + float _41; + float _42; + float _43; + float _44; + }; + float m[4][4]; + }; +} INPUT_TRANSFORM; + +typedef struct tagPOINTER_INFO { + POINTER_INPUT_TYPE pointerType; + UINT32 pointerId; + UINT32 frameId; + POINTER_FLAGS pointerFlags; + HANDLE sourceDevice; + HWND hwndTarget; + POINT ptPixelLocation; + POINT ptHimetricLocation; + POINT ptPixelLocationRaw; + POINT ptHimetricLocationRaw; + DWORD dwTime; + UINT32 historyCount; + INT32 inputData; + DWORD dwKeyStates; + UINT64 PerformanceCount; + POINTER_BUTTON_CHANGE_TYPE ButtonChangeType; +} POINTER_INFO; + +typedef struct tagPOINTER_PEN_INFO { + POINTER_INFO pointerInfo; + PEN_FLAGS penFlags; + PEN_MASK penMask; + UINT32 pressure; + UINT32 rotation; + INT32 tiltX; + INT32 tiltY; +} POINTER_PEN_INFO; + +typedef struct tagPOINTER_TOUCH_INFO { + POINTER_INFO pointerInfo; + TOUCH_FLAGS touchFlags; + TOUCH_MASK touchMask; + RECT rcContact; + RECT rcContactRaw; + UINT32 orientation; + UINT32 pressure; +} POINTER_TOUCH_INFO; + +typedef struct tagTOUCH_HIT_TESTING_INPUT { + UINT32 pointerId; + POINT point; + RECT boundingBox; + RECT nonOccludedBoundingBox; + UINT32 orientation; +} TOUCH_HIT_TESTING_INPUT, *PTOUCH_HIT_TESTING_INPUT; + +typedef struct tagTouchPredictionParameters { + UINT cbSize; + UINT dwLatency; + UINT dwSampleTime; + UINT bUseHWTimeStamp; +} TouchPredictionParameters, *PTouchPredictionParameters; + +WINUSERAPI WINBOOL WINAPI EnableMouseInPointer( + WINBOOL fEnable +); + +WINUSERAPI WINBOOL WINAPI GetPointerCursorId ( + UINT32 pointerId, + UINT32 *cursorId +); + +WINUSERAPI WINBOOL WINAPI GetPointerFrameInfo( + UINT32 pointerId, + UINT32 *pointerCount, + POINTER_INFO *pointerInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + POINTER_INFO *pointerInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerFramePenInfo( + UINT32 pointerId, + UINT32 *pointerCount, + POINTER_PEN_INFO *penInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerFramePenInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + UINT32 *pointerCount, + POINTER_PEN_INFO *penInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerFrameTouchInfo( + UINT32 pointerId, + UINT32 *pointerCount, + POINTER_TOUCH_INFO *touchInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerFrameTouchInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + UINT32 *pointerCount, + POINTER_TOUCH_INFO *touchInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerInfo( + UINT32 pointerId, + POINTER_INFO *pointerInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + POINTER_INFO *pointerInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerInputTransform( + UINT32 pointerId, + UINT32 historyCount, + UINT32 *inputTransform +); + +WINUSERAPI WINBOOL WINAPI GetPointerPenInfo( + UINT32 pointerId, + POINTER_PEN_INFO *penInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerPenInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + POINTER_PEN_INFO *penInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerTouchInfo( + UINT32 pointerId, + POINTER_TOUCH_INFO *touchInfo +); + + WINUSERAPI WINBOOL WINAPI GetPointerTouchInfoHistory( + UINT32 pointerId, + UINT32 *entriesCount, + POINTER_TOUCH_INFO *touchInfo +); + +WINUSERAPI WINBOOL WINAPI GetPointerType ( + UINT32 pointerId, + POINTER_INPUT_TYPE *pointerType +); + +WINUSERAPI DWORD WINAPI GetUnpredictedMessagePos(void); + +WINUSERAPI WINBOOL WINAPI IsMousePointerEnabled(void); + +WINUSERAPI WINBOOL WINAPI SkipPointerFrameMessages( + UINT32 pointerId +); + + +WINUSERAPI WINBOOL WINAPI InjectTouchInput( + UINT32 count, + const POINTER_TOUCH_INFO *contacts +); + +WINUSERAPI WINBOOL WINAPI GetPointerInfo( + UINT32 pointerId, + POINTER_INFO *pointerInfo +); + +WINUSERAPI WINBOOL WINAPI SkipPointerFrameMessages( + UINT32 pointerId +); + +WINUSERAPI WINBOOL WINAPI EvaluateProximityToRect( + const RECT *controlBoundingBox, + const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, + TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval +); + +WINUSERAPI WINBOOL WINAPI EvaluateProximityToPolygon( + UINT32 numVertices, + const POINT *controlPolygon, + const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, + TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval +); + +WINUSERAPI LRESULT WINAPI PackTouchHitTestingProximityEvaluation( + const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, + const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval +); + +WINUSERAPI WINBOOL WINAPI RegisterTouchHitTestingWindow( + HWND hwnd, + ULONG value +); + +#endif /*(_WIN32_WINNT >= 0x0602)*/ + #endif /* NOUSER */ #ifdef __cplusplus This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |