| author | |
| committer | |
| log | bedf806672d9e00203f9942c62887b271d12eb7f |
| tree | 1cf88fb0adbe169c3816eec80a632647326a18f5 |
| parent | 37706cc1d98025c5ebff52d35cb6929ea1562dd7 |
| parent | 51b44be9ccc216dd06ab1399b05a36a9771f13fe |
| signature |
351 files changed, 9841 insertions(+), 6673 deletions(-)
lib/libc/include/any-windows-any/_mingw.h+13-9| ... | @@ -237,6 +237,10 @@ limitations in handling dllimport attribute. */ | ... | @@ -237,6 +237,10 @@ limitations in handling dllimport attribute. */ |
| 237 | # endif | 237 | # endif |
| 238 | #endif | 238 | #endif |
| 239 | 239 | ||
| 240 | #if !defined(__CRTDLL__) && __MSVCRT_VERSION__ == 0x00 | ||
| 241 | #define __CRTDLL__ | ||
| 242 | #endif | ||
| 243 | |||
| 240 | #if !defined(_UCRT) && ((__MSVCRT_VERSION__ >= 0x1400) || (__MSVCRT_VERSION__ >= 0xE00 && __MSVCRT_VERSION__ < 0x1000)) | 244 | #if !defined(_UCRT) && ((__MSVCRT_VERSION__ >= 0x1400) || (__MSVCRT_VERSION__ >= 0xE00 && __MSVCRT_VERSION__ < 0x1000)) |
| 241 | /* Allow both 0x1400 and 0xE00 to identify UCRT */ | 245 | /* Allow both 0x1400 and 0xE00 to identify UCRT */ |
| 242 | #define _UCRT | 246 | #define _UCRT |
| ... | @@ -594,12 +598,12 @@ extern "C" { | ... | @@ -594,12 +598,12 @@ extern "C" { |
| 594 | void __cdecl __debugbreak(void); | 598 | void __cdecl __debugbreak(void); |
| 595 | __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) | 599 | __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) |
| 596 | { | 600 | { |
| 597 | #if defined(__i386__) || defined(__x86_64__) | 601 | #if defined(__aarch64__) || defined(__arm64ec__) |
| 602 | __asm__ __volatile__("brk #0xf000"); | ||
| 603 | #elif defined(__i386__) || defined(__x86_64__) | ||
| 598 | __asm__ __volatile__("int {$}3":); | 604 | __asm__ __volatile__("int {$}3":); |
| 599 | #elif defined(__arm__) | 605 | #elif defined(__arm__) |
| 600 | __asm__ __volatile__("udf #0xfe"); | 606 | __asm__ __volatile__("udf #0xfe"); |
| 601 | #elif defined(__aarch64__) | ||
| 602 | __asm__ __volatile__("brk #0xf000"); | ||
| 603 | #else | 607 | #else |
| 604 | __asm__ __volatile__("unimplemented"); | 608 | __asm__ __volatile__("unimplemented"); |
| 605 | #endif | 609 | #endif |
| ... | @@ -615,14 +619,14 @@ __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) | ... | @@ -615,14 +619,14 @@ __MINGW_INTRIN_INLINE void __cdecl __debugbreak(void) |
| 615 | void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code); | 619 | void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code); |
| 616 | __MINGW_INTRIN_INLINE void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code) | 620 | __MINGW_INTRIN_INLINE void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned int code) |
| 617 | { | 621 | { |
| 618 | #if defined(__i386__) || defined(__x86_64__) | 622 | #if defined(__aarch64__) || defined(__arm64ec__) |
| 623 | register unsigned int w0 __asm__("w0") = code; | ||
| 624 | __asm__ __volatile__("brk #0xf003"::"r"(w0)); | ||
| 625 | #elif defined(__i386__) || defined(__x86_64__) | ||
| 619 | __asm__ __volatile__("int {$}0x29"::"c"(code)); | 626 | __asm__ __volatile__("int {$}0x29"::"c"(code)); |
| 620 | #elif defined(__arm__) | 627 | #elif defined(__arm__) |
| 621 | register unsigned int r0 __asm__("r0") = code; | 628 | register unsigned int r0 __asm__("r0") = code; |
| 622 | __asm__ __volatile__("udf #0xfb"::"r"(r0)); | 629 | __asm__ __volatile__("udf #0xfb"::"r"(r0)); |
| 623 | #elif defined(__aarch64__) | ||
| 624 | register unsigned int w0 __asm__("w0") = code; | ||
| 625 | __asm__ __volatile__("brk #0xf003"::"r"(w0)); | ||
| 626 | #else | 630 | #else |
| 627 | __asm__ __volatile__("unimplemented"); | 631 | __asm__ __volatile__("unimplemented"); |
| 628 | #endif | 632 | #endif |
| ... | @@ -636,13 +640,13 @@ __MINGW_INTRIN_INLINE void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned i | ... | @@ -636,13 +640,13 @@ __MINGW_INTRIN_INLINE void __cdecl __MINGW_ATTRIB_NORETURN __fastfail(unsigned i |
| 636 | #define __MINGW_PREFETCH_IMPL 1 | 640 | #define __MINGW_PREFETCH_IMPL 1 |
| 637 | #endif | 641 | #endif |
| 638 | #if __MINGW_PREFETCH_IMPL == 1 | 642 | #if __MINGW_PREFETCH_IMPL == 1 |
| 639 | #if defined(__arm__) || defined(__aarch64__) | 643 | #if defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__) |
| 640 | void __cdecl __prefetch(const void *addr); | 644 | void __cdecl __prefetch(const void *addr); |
| 641 | __MINGW_INTRIN_INLINE void __cdecl __prefetch(const void *addr) | 645 | __MINGW_INTRIN_INLINE void __cdecl __prefetch(const void *addr) |
| 642 | { | 646 | { |
| 643 | #if defined(__arm__) | 647 | #if defined(__arm__) |
| 644 | __asm__ __volatile__("pld [%0]"::"r"(addr)); | 648 | __asm__ __volatile__("pld [%0]"::"r"(addr)); |
| 645 | #elif defined(__aarch64__) | 649 | #elif defined(__aarch64__) || defined(__arm64ec__) |
| 646 | __asm__ __volatile__("prfm pldl1keep, [%0]"::"r"(addr)); | 650 | __asm__ __volatile__("prfm pldl1keep, [%0]"::"r"(addr)); |
| 647 | #endif | 651 | #endif |
| 648 | } | 652 | } |
lib/libc/include/any-windows-any/_mingw_mac.h+16-6| ... | @@ -7,6 +7,9 @@ | ... | @@ -7,6 +7,9 @@ |
| 7 | #ifndef _INC_CRTDEFS_MACRO | 7 | #ifndef _INC_CRTDEFS_MACRO |
| 8 | #define _INC_CRTDEFS_MACRO | 8 | #define _INC_CRTDEFS_MACRO |
| 9 | 9 | ||
| 10 | #define __MINGW64_PASTE2(x, y) x ## y | ||
| 11 | #define __MINGW64_PASTE(x, y) __MINGW64_PASTE2(x, y) | ||
| 12 | |||
| 10 | #define __STRINGIFY(x) #x | 13 | #define __STRINGIFY(x) #x |
| 11 | #define __MINGW64_STRINGIFY(x) \ | 14 | #define __MINGW64_STRINGIFY(x) \ |
| 12 | __STRINGIFY(x) | 15 | __STRINGIFY(x) |
| ... | @@ -88,6 +91,13 @@ | ... | @@ -88,6 +91,13 @@ |
| 88 | # endif | 91 | # endif |
| 89 | #endif | 92 | #endif |
| 90 | 93 | ||
| 94 | #if defined(__arm64ec__) && !defined(_M_ARM64EC) | ||
| 95 | # define _M_ARM64EC 1 | ||
| 96 | # ifndef _ARM64EC_ | ||
| 97 | # define _ARM64EC_ 1 | ||
| 98 | # endif | ||
| 99 | #endif | ||
| 100 | |||
| 91 | #ifndef _X86_ | 101 | #ifndef _X86_ |
| 92 | /* MS does not prefix symbols by underscores for 64-bit. */ | 102 | /* MS does not prefix symbols by underscores for 64-bit. */ |
| 93 | # ifndef __MINGW_USE_UNDERSCORE_PREFIX | 103 | # ifndef __MINGW_USE_UNDERSCORE_PREFIX |
| ... | @@ -116,14 +126,14 @@ | ... | @@ -116,14 +126,14 @@ |
| 116 | #endif /* ifndef _X86_ */ | 126 | #endif /* ifndef _X86_ */ |
| 117 | 127 | ||
| 118 | #if __MINGW_USE_UNDERSCORE_PREFIX == 0 | 128 | #if __MINGW_USE_UNDERSCORE_PREFIX == 0 |
| 119 | # define __MINGW_IMP_SYMBOL(sym) __imp_##sym | 129 | # define __MINGW_IMP_SYMBOL(sym) __MINGW64_PASTE(__imp_,sym) |
| 120 | # define __MINGW_IMP_LSYMBOL(sym) __imp_##sym | 130 | # define __MINGW_IMP_LSYMBOL(sym) __MINGW64_PASTE(__imp_,sym) |
| 121 | # define __MINGW_USYMBOL(sym) sym | 131 | # define __MINGW_USYMBOL(sym) sym |
| 122 | # define __MINGW_LSYMBOL(sym) _##sym | 132 | # define __MINGW_LSYMBOL(sym) __MINGW64_PASTE(_,sym) |
| 123 | #else /* ! if __MINGW_USE_UNDERSCORE_PREFIX == 0 */ | 133 | #else /* ! if __MINGW_USE_UNDERSCORE_PREFIX == 0 */ |
| 124 | # define __MINGW_IMP_SYMBOL(sym) _imp__##sym | 134 | # define __MINGW_IMP_SYMBOL(sym) __MINGW64_PASTE(_imp__,sym) |
| 125 | # define __MINGW_IMP_LSYMBOL(sym) __imp__##sym | 135 | # define __MINGW_IMP_LSYMBOL(sym) __MINGW64_PASTE(__imp__,sym) |
| 126 | # define __MINGW_USYMBOL(sym) _##sym | 136 | # define __MINGW_USYMBOL(sym) __MINGW64_PASTE(_,sym) |
| 127 | # define __MINGW_LSYMBOL(sym) sym | 137 | # define __MINGW_LSYMBOL(sym) sym |
| 128 | #endif /* if __MINGW_USE_UNDERSCORE_PREFIX == 0 */ | 138 | #endif /* if __MINGW_USE_UNDERSCORE_PREFIX == 0 */ |
| 129 | 139 |
lib/libc/include/any-windows-any/activation.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activation.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activation.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/activaut.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activaut.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activaut.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/activdbg.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activdbg.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activdbg.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/activdbg100.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activdbg100.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activdbg100.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/activprof.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activprof.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activprof.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/activscp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/activscp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/activscp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/adhoc.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/adhoc.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/adhoc.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/alg.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/alg.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/alg.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/amstream.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/amstream.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/amstream.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/amvideo.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/amvideo.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/amvideo.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/asyncinfo.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/asyncinfo.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/asyncinfo.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/audioclient.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/audioclient.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/audioclient.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/audioendpoints.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/audioendpoints.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/audioendpoints.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/audiopolicy.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/audiopolicy.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/audiopolicy.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/austream.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/austream.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/austream.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bdaiface.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bdaiface.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bdaiface.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits1_5.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits1_5.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits1_5.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits2_0.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits2_0.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits2_0.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits2_5.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits2_5.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits2_5.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits3_0.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits3_0.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits3_0.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/bits5_0.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/bits5_0.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/bits5_0.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/comadmin.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/comadmin.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/comadmin.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/combaseapi.h+11| ... | @@ -354,6 +354,17 @@ WINOLEAPI CoGetTreatAsClass (REFCLSID clsidOld, LPCLSID pClsidNew); | ... | @@ -354,6 +354,17 @@ WINOLEAPI CoGetTreatAsClass (REFCLSID clsidOld, LPCLSID pClsidNew); |
| 354 | WINOLEAPI CoInvalidateRemoteMachineBindings (LPOLESTR pszMachineName); | 354 | WINOLEAPI CoInvalidateRemoteMachineBindings (LPOLESTR pszMachineName); |
| 355 | #endif | 355 | #endif |
| 356 | 356 | ||
| 357 | #if (NTDDI_VERSION >= NTDDI_WINBLUE) | ||
| 358 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 359 | enum AgileReferenceOptions { | ||
| 360 | AGILEREFERENCE_DEFAULT = 0, | ||
| 361 | AGILEREFERENCE_DELAYEDMARSHAL = 1 | ||
| 362 | }; | ||
| 363 | |||
| 364 | WINOLEAPI RoGetAgileReference(enum AgileReferenceOptions options, REFIID riid, IUnknown *pUnk, IAgileReference **ppAgileReference); | ||
| 365 | #endif | ||
| 366 | #endif | ||
| 367 | |||
| 357 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | 368 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) |
| 358 | typedef HRESULT (STDAPICALLTYPE *LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *); | 369 | typedef HRESULT (STDAPICALLTYPE *LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *); |
| 359 | typedef HRESULT (STDAPICALLTYPE *LPFNCANUNLOADNOW) (void); | 370 | typedef HRESULT (STDAPICALLTYPE *LPFNCANUNLOADNOW) (void); |
lib/libc/include/any-windows-any/comcat.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/comcat.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/comcat.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/commoncontrols.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/commoncontrols.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/commoncontrols.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/consoleapi.h created+139| ... | @@ -0,0 +1,139 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _APISETCONSOLE_ | ||
| 8 | #define _APISETCONSOLE_ | ||
| 9 | |||
| 10 | #include <_mingw_unicode.h> | ||
| 11 | |||
| 12 | #include <apiset.h> | ||
| 13 | #include <apisetcconv.h> | ||
| 14 | #include <minwinbase.h> | ||
| 15 | #include <minwindef.h> | ||
| 16 | |||
| 17 | #include <wincontypes.h> | ||
| 18 | |||
| 19 | #ifdef __cplusplus | ||
| 20 | extern "C" { | ||
| 21 | #endif | ||
| 22 | |||
| 23 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 24 | |||
| 25 | WINBASEAPI WINBOOL WINAPI AllocConsole(void); | ||
| 26 | |||
| 27 | #if (NTDDI_VERSION >= NTDDI_WIN11_GE) | ||
| 28 | |||
| 29 | typedef enum ALLOC_CONSOLE_MODE { | ||
| 30 | ALLOC_CONSOLE_MODE_DEFAULT = 0, | ||
| 31 | ALLOC_CONSOLE_MODE_NEW_WINDOW = 1, | ||
| 32 | ALLOC_CONSOLE_MODE_NO_WINDOW = 2 | ||
| 33 | } ALLOC_CONSOLE_MODE; | ||
| 34 | |||
| 35 | typedef struct ALLOC_CONSOLE_OPTIONS { | ||
| 36 | ALLOC_CONSOLE_MODE mode; | ||
| 37 | WINBOOL useShowWindow; | ||
| 38 | WORD showWindow; | ||
| 39 | } ALLOC_CONSOLE_OPTIONS, *PALLOC_CONSOLE_OPTIONS; | ||
| 40 | |||
| 41 | typedef enum ALLOC_CONSOLE_RESULT { | ||
| 42 | ALLOC_CONSOLE_RESULT_NO_CONSOLE = 0, | ||
| 43 | ALLOC_CONSOLE_RESULT_NEW_CONSOLE = 1, | ||
| 44 | ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE = 2 | ||
| 45 | } ALLOC_CONSOLE_RESULT, *PALLOC_CONSOLE_RESULT; | ||
| 46 | |||
| 47 | WINBASEAPI HRESULT WINAPI AllocConsoleWithOptions(PALLOC_CONSOLE_OPTIONS options, PALLOC_CONSOLE_RESULT result); | ||
| 48 | |||
| 49 | #endif /* NTDDI_VERSION >= NTDDI_WIN11_GE */ | ||
| 50 | |||
| 51 | WINBASEAPI WINBOOL WINAPI FreeConsole(void); | ||
| 52 | |||
| 53 | #if (_WIN32_WINNT >= 0x0500) | ||
| 54 | |||
| 55 | WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD process_id); | ||
| 56 | |||
| 57 | #define ATTACH_PARENT_PROCESS ((DWORD)-1) | ||
| 58 | |||
| 59 | #endif /* _WIN32_WINNT >= 0x0500 */ | ||
| 60 | |||
| 61 | WINBASEAPI UINT WINAPI GetConsoleCP(void); | ||
| 62 | WINBASEAPI UINT WINAPI GetConsoleOutputCP(void); | ||
| 63 | |||
| 64 | #define ENABLE_PROCESSED_INPUT 0x0001 | ||
| 65 | #define ENABLE_LINE_INPUT 0x0002 | ||
| 66 | #define ENABLE_ECHO_INPUT 0x0004 | ||
| 67 | #define ENABLE_WINDOW_INPUT 0x0008 | ||
| 68 | #define ENABLE_MOUSE_INPUT 0x0010 | ||
| 69 | #define ENABLE_INSERT_MODE 0x0020 | ||
| 70 | #define ENABLE_QUICK_EDIT_MODE 0x0040 | ||
| 71 | #define ENABLE_EXTENDED_FLAGS 0x0080 | ||
| 72 | #define ENABLE_AUTO_POSITION 0x0100 | ||
| 73 | #define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200 | ||
| 74 | |||
| 75 | #define ENABLE_PROCESSED_OUTPUT 0x0001 | ||
| 76 | #define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002 | ||
| 77 | #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 | ||
| 78 | #define DISABLE_NEWLINE_AUTO_RETURN 0x0008 | ||
| 79 | #define ENABLE_LVB_GRID_WORLDWIDE 0x0010 | ||
| 80 | |||
| 81 | WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE console_handle, LPDWORD mode); | ||
| 82 | WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE console_handle, DWORD mode); | ||
| 83 | WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE console_input, LPDWORD number_of_events); | ||
| 84 | |||
| 85 | WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE console_input, PINPUT_RECORD buffer, DWORD length, LPDWORD number_of_events_read); | ||
| 86 | WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE console_input, PINPUT_RECORD buffer, DWORD length, LPDWORD number_of_events_read); | ||
| 87 | #define ReadConsoleInput __MINGW_NAME_AW(ReadConsoleInput) | ||
| 88 | |||
| 89 | WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE console_input, PINPUT_RECORD buffer, DWORD length, LPDWORD number_of_events_read); | ||
| 90 | WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE console_input, PINPUT_RECORD buffer, DWORD length, LPDWORD number_of_events_read); | ||
| 91 | #define PeekConsoleInput __MINGW_NAME_AW(PeekConsoleInput) | ||
| 92 | |||
| 93 | typedef struct _CONSOLE_READCONSOLE_CONTROL { | ||
| 94 | ULONG nLength; | ||
| 95 | ULONG nInitialChars; | ||
| 96 | ULONG dwCtrlWakeupMask; | ||
| 97 | ULONG dwControlKeyState; | ||
| 98 | } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; | ||
| 99 | |||
| 100 | WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE console_input, LPVOID buffer, DWORD number_of_chars_to_read, LPDWORD number_of_chars_read, PCONSOLE_READCONSOLE_CONTROL input_control); | ||
| 101 | WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE console_input, LPVOID buffer, DWORD number_of_chars_to_read, LPDWORD number_of_chars_read, PCONSOLE_READCONSOLE_CONTROL input_control); | ||
| 102 | #define ReadConsole __MINGW_NAME_AW(ReadConsole) | ||
| 103 | |||
| 104 | WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE console_output, const void *buffer, DWORD number_of_chars_to_write, LPDWORD number_of_chars_written, LPVOID reserved); | ||
| 105 | WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE console_output, const void *buffer, DWORD number_of_chars_to_write, LPDWORD number_of_chars_written, LPVOID reserved); | ||
| 106 | #define WriteConsole __MINGW_NAME_AW(WriteConsole) | ||
| 107 | |||
| 108 | #define CTRL_C_EVENT 0 | ||
| 109 | #define CTRL_BREAK_EVENT 1 | ||
| 110 | #define CTRL_CLOSE_EVENT 2 | ||
| 111 | #define CTRL_LOGOFF_EVENT 5 | ||
| 112 | #define CTRL_SHUTDOWN_EVENT 6 | ||
| 113 | |||
| 114 | typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD ctrl_type); | ||
| 115 | WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE handler_routine, WINBOOL add); | ||
| 116 | |||
| 117 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | ||
| 118 | |||
| 119 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | ||
| 120 | |||
| 121 | #if (NTDDI_VERSION >= NTDDI_WIN10_RS5) | ||
| 122 | #define PSEUDOCONSOLE_INHERIT_CURSOR (0x1) | ||
| 123 | |||
| 124 | WINBASEAPI HRESULT WINAPI CreatePseudoConsole(COORD size, HANDLE input, HANDLE output, DWORD flags, HPCON *pc); | ||
| 125 | WINBASEAPI HRESULT WINAPI ResizePseudoConsole(HPCON pc, COORD size); | ||
| 126 | WINBASEAPI void WINAPI ClosePseudoConsole(HPCON pc); | ||
| 127 | #endif | ||
| 128 | |||
| 129 | #if (NTDDI_VERSION >= NTDDI_WIN11_GE) | ||
| 130 | WINBASEAPI HRESULT WINAPI ReleasePseudoConsole(HPCON pc); | ||
| 131 | #endif | ||
| 132 | |||
| 133 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | ||
| 134 | |||
| 135 | #ifdef __cplusplus | ||
| 136 | } | ||
| 137 | #endif | ||
| 138 | |||
| 139 | #endif /* _APISETCONSOLE_ */ | ||
lib/libc/include/any-windows-any/consoleapi2.h created+144| ... | @@ -0,0 +1,144 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _APISETCONSOLEL2_ | ||
| 8 | #define _APISETCONSOLEL2_ | ||
| 9 | |||
| 10 | #include <_mingw_unicode.h> | ||
| 11 | |||
| 12 | #include <apiset.h> | ||
| 13 | #include <apisetcconv.h> | ||
| 14 | #include <minwinbase.h> | ||
| 15 | #include <minwindef.h> | ||
| 16 | |||
| 17 | #include <wincontypes.h> | ||
| 18 | #include <windef.h> | ||
| 19 | |||
| 20 | #ifdef __cplusplus | ||
| 21 | extern "C" { | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 25 | |||
| 26 | #define FOREGROUND_BLUE 0x0001 | ||
| 27 | #define FOREGROUND_GREEN 0x0002 | ||
| 28 | #define FOREGROUND_RED 0x0004 | ||
| 29 | #define FOREGROUND_INTENSITY 0x0008 | ||
| 30 | #define BACKGROUND_BLUE 0x0010 | ||
| 31 | #define BACKGROUND_GREEN 0x0020 | ||
| 32 | #define BACKGROUND_RED 0x0040 | ||
| 33 | #define BACKGROUND_INTENSITY 0x0080 | ||
| 34 | #define COMMON_LVB_LEADING_BYTE 0x0100 | ||
| 35 | #define COMMON_LVB_TRAILING_BYTE 0x0200 | ||
| 36 | #define COMMON_LVB_GRID_HORIZONTAL 0x0400 | ||
| 37 | #define COMMON_LVB_GRID_LVERTICAL 0x0800 | ||
| 38 | #define COMMON_LVB_GRID_RVERTICAL 0x1000 | ||
| 39 | #define COMMON_LVB_REVERSE_VIDEO 0x4000 | ||
| 40 | #define COMMON_LVB_UNDERSCORE 0x8000 | ||
| 41 | |||
| 42 | #define COMMON_LVB_SBCSDBCS 0x0300 | ||
| 43 | |||
| 44 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE console_output, CHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); | ||
| 45 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE console_output, WCHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); | ||
| 46 | #define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter) | ||
| 47 | |||
| 48 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE console_output, WORD attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written); | ||
| 49 | WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD ctrl_event, DWORD process_group_id); | ||
| 50 | WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD desired_access, DWORD share_mode, const SECURITY_ATTRIBUTES *security_attributes, DWORD flags, LPVOID screen_buffer_data); | ||
| 51 | WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE console_output); | ||
| 52 | WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE console_input); | ||
| 53 | WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT code_page_id); | ||
| 54 | WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT code_page_id); | ||
| 55 | |||
| 56 | typedef struct _CONSOLE_CURSOR_INFO { | ||
| 57 | DWORD dwSize; | ||
| 58 | WINBOOL bVisible; | ||
| 59 | } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; | ||
| 60 | |||
| 61 | WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE console_output, PCONSOLE_CURSOR_INFO console_cursor_info); | ||
| 62 | WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE console_output, const CONSOLE_CURSOR_INFO *console_cursor_info); | ||
| 63 | |||
| 64 | typedef struct _CONSOLE_SCREEN_BUFFER_INFO { | ||
| 65 | COORD dwSize; | ||
| 66 | COORD dwCursorPosition; | ||
| 67 | WORD wAttributes; | ||
| 68 | SMALL_RECT srWindow; | ||
| 69 | COORD dwMaximumWindowSize; | ||
| 70 | } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO; | ||
| 71 | |||
| 72 | WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info); | ||
| 73 | |||
| 74 | typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { | ||
| 75 | ULONG cbSize; | ||
| 76 | COORD dwSize; | ||
| 77 | COORD dwCursorPosition; | ||
| 78 | WORD wAttributes; | ||
| 79 | SMALL_RECT srWindow; | ||
| 80 | COORD dwMaximumWindowSize; | ||
| 81 | WORD wPopupAttributes; | ||
| 82 | WINBOOL bFullscreenSupported; | ||
| 83 | COLORREF ColorTable[16]; | ||
| 84 | } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; | ||
| 85 | |||
| 86 | WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex); | ||
| 87 | WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex); | ||
| 88 | WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE console_output, COORD size); | ||
| 89 | WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE console_output, COORD cursor_position); | ||
| 90 | WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE console_output); | ||
| 91 | WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE console_output, WORD attributes); | ||
| 92 | WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE console_output, WINBOOL absolute, const SMALL_RECT *console_window); | ||
| 93 | |||
| 94 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE console_output, LPCSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); | ||
| 95 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE console_output, LPCWSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); | ||
| 96 | #define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter) | ||
| 97 | |||
| 98 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE console_output, const WORD *attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written); | ||
| 99 | |||
| 100 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE console_output, LPSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read); | ||
| 101 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE console_output, LPWSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read); | ||
| 102 | #define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter) | ||
| 103 | |||
| 104 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE console_output, LPWORD attribute, DWORD length, COORD read_coord, LPDWORD number_of_attrs_read); | ||
| 105 | |||
| 106 | WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written); | ||
| 107 | WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written); | ||
| 108 | #define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput) | ||
| 109 | |||
| 110 | WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill); | ||
| 111 | WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill); | ||
| 112 | #define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer) | ||
| 113 | |||
| 114 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region); | ||
| 115 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region); | ||
| 116 | #define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput) | ||
| 117 | |||
| 118 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region); | ||
| 119 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region); | ||
| 120 | #define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput) | ||
| 121 | |||
| 122 | WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR console_title, DWORD size); | ||
| 123 | WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR console_title, DWORD size); | ||
| 124 | #define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle) | ||
| 125 | |||
| 126 | #if (_WIN32_WINNT >= 0x0600) | ||
| 127 | |||
| 128 | WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA(LPSTR console_title, DWORD size); | ||
| 129 | WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW(LPWSTR console_title, DWORD size); | ||
| 130 | #define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle) | ||
| 131 | |||
| 132 | #endif /* _WIN32_WINNT >= 0x0600 */ | ||
| 133 | |||
| 134 | WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR console_title); | ||
| 135 | WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR console_title); | ||
| 136 | #define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle) | ||
| 137 | |||
| 138 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | ||
| 139 | |||
| 140 | #ifdef __cplusplus | ||
| 141 | } | ||
| 142 | #endif | ||
| 143 | |||
| 144 | #endif /* _APISETCONSOLEL2_ */ | ||
lib/libc/include/any-windows-any/consoleapi3.h created+146| ... | @@ -0,0 +1,146 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _APISETCONSOLEL3_ | ||
| 8 | #define _APISETCONSOLEL3_ | ||
| 9 | |||
| 10 | #include <_mingw_unicode.h> | ||
| 11 | |||
| 12 | #include <apiset.h> | ||
| 13 | #include <apisetcconv.h> | ||
| 14 | #include <minwinbase.h> | ||
| 15 | #include <minwindef.h> | ||
| 16 | |||
| 17 | #include <wincontypes.h> | ||
| 18 | #include <windef.h> | ||
| 19 | |||
| 20 | #ifndef NOGDI | ||
| 21 | #include <wingdi.h> | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #ifdef __cplusplus | ||
| 25 | extern "C" { | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 29 | |||
| 30 | WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD number_of_mouse_buttons); | ||
| 31 | |||
| 32 | #if (_WIN32_WINNT >= 0x0500) | ||
| 33 | |||
| 34 | WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE console_output, DWORD font); | ||
| 35 | WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFO console_current_font); | ||
| 36 | |||
| 37 | #ifndef NOGDI | ||
| 38 | |||
| 39 | typedef struct _CONSOLE_FONT_INFOEX { | ||
| 40 | ULONG cbSize; | ||
| 41 | DWORD nFont; | ||
| 42 | COORD dwFontSize; | ||
| 43 | UINT FontFamily; | ||
| 44 | UINT FontWeight; | ||
| 45 | WCHAR FaceName[LF_FACESIZE]; | ||
| 46 | } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; | ||
| 47 | |||
| 48 | WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFOEX console_current_font_ex); | ||
| 49 | WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFOEX console_current_font_ex); | ||
| 50 | |||
| 51 | #endif /* !NOGDI */ | ||
| 52 | |||
| 53 | #define CONSOLE_NO_SELECTION 0x0000 | ||
| 54 | #define CONSOLE_SELECTION_IN_PROGRESS 0x0001 | ||
| 55 | #define CONSOLE_SELECTION_NOT_EMPTY 0x0002 | ||
| 56 | #define CONSOLE_MOUSE_SELECTION 0x0004 | ||
| 57 | #define CONSOLE_MOUSE_DOWN 0x0008 | ||
| 58 | |||
| 59 | typedef struct _CONSOLE_SELECTION_INFO { | ||
| 60 | DWORD dwFlags; | ||
| 61 | COORD dwSelectionAnchor; | ||
| 62 | SMALL_RECT srSelection; | ||
| 63 | } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO; | ||
| 64 | |||
| 65 | WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO console_selection_info); | ||
| 66 | |||
| 67 | #define HISTORY_NO_DUP_FLAG 0x1 | ||
| 68 | |||
| 69 | typedef struct _CONSOLE_HISTORY_INFO { | ||
| 70 | UINT cbSize; | ||
| 71 | UINT HistoryBufferSize; | ||
| 72 | UINT NumberOfHistoryBuffers; | ||
| 73 | DWORD dwFlags; | ||
| 74 | } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; | ||
| 75 | |||
| 76 | WINBASEAPI WINBOOL WINAPI GetConsoleHistoryInfo(PCONSOLE_HISTORY_INFO console_history_info); | ||
| 77 | WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo(PCONSOLE_HISTORY_INFO console_history_info); | ||
| 78 | |||
| 79 | #define CONSOLE_FULLSCREEN 1 | ||
| 80 | #define CONSOLE_FULLSCREEN_HARDWARE 2 | ||
| 81 | |||
| 82 | WINBASEAPI WINBOOL APIENTRY GetConsoleDisplayMode(LPDWORD mode_flags); | ||
| 83 | |||
| 84 | #define CONSOLE_FULLSCREEN_MODE 1 | ||
| 85 | #define CONSOLE_WINDOWED_MODE 2 | ||
| 86 | |||
| 87 | WINBASEAPI WINBOOL APIENTRY SetConsoleDisplayMode(HANDLE console_output, DWORD flags, PCOORD new_screen_buffer_dimensions); | ||
| 88 | WINBASEAPI HWND APIENTRY GetConsoleWindow(void); | ||
| 89 | |||
| 90 | #endif /* _WIN32_WINNT >= 0x0500 */ | ||
| 91 | |||
| 92 | #if (_WIN32_WINNT >= 0x0501) | ||
| 93 | |||
| 94 | WINBASEAPI WINBOOL APIENTRY AddConsoleAliasA(LPSTR source, LPSTR target, LPSTR exe_name); | ||
| 95 | WINBASEAPI WINBOOL APIENTRY AddConsoleAliasW(LPWSTR source, LPWSTR target, LPWSTR exe_name); | ||
| 96 | #define AddConsoleAlias __MINGW_NAME_AW(AddConsoleAlias) | ||
| 97 | |||
| 98 | WINBASEAPI DWORD APIENTRY GetConsoleAliasA(LPSTR source, LPSTR target_buffer, DWORD target_buffer_length, LPSTR exe_name); | ||
| 99 | WINBASEAPI DWORD APIENTRY GetConsoleAliasW(LPWSTR source, LPWSTR target_buffer, DWORD target_buffer_length, LPWSTR exe_name); | ||
| 100 | #define GetConsoleAlias __MINGW_NAME_AW(GetConsoleAlias) | ||
| 101 | |||
| 102 | WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthA(LPSTR exe_name); | ||
| 103 | WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthW(LPWSTR exe_name); | ||
| 104 | #define GetConsoleAliasesLength __MINGW_NAME_AW(GetConsoleAliasesLength) | ||
| 105 | |||
| 106 | WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthA(void); | ||
| 107 | WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthW(void); | ||
| 108 | #define GetConsoleAliasExesLength __MINGW_NAME_AW(GetConsoleAliasExesLength) | ||
| 109 | |||
| 110 | WINBASEAPI DWORD APIENTRY GetConsoleAliasesA(LPSTR alias_buffer, DWORD alias_buffer_length, LPSTR exe_name); | ||
| 111 | WINBASEAPI DWORD APIENTRY GetConsoleAliasesW(LPWSTR alias_buffer, DWORD alias_buffer_length, LPWSTR exe_name); | ||
| 112 | #define GetConsoleAliases __MINGW_NAME_AW(GetConsoleAliases) | ||
| 113 | |||
| 114 | WINBASEAPI DWORD APIENTRY GetConsoleAliasExesA(LPSTR exe_name_buffer, DWORD exe_name_buffer_length); | ||
| 115 | WINBASEAPI DWORD APIENTRY GetConsoleAliasExesW(LPWSTR exe_name_buffer, DWORD exe_name_buffer_length); | ||
| 116 | #define GetConsoleAliasExes __MINGW_NAME_AW(GetConsoleAliasExes) | ||
| 117 | |||
| 118 | #endif /* _WIN32_WINNT >= 0x0501 */ | ||
| 119 | |||
| 120 | WINBASEAPI void APIENTRY ExpungeConsoleCommandHistoryA(LPSTR exe_name); | ||
| 121 | WINBASEAPI void APIENTRY ExpungeConsoleCommandHistoryW(LPWSTR exe_name); | ||
| 122 | #define ExpungeConsoleCommandHistory __MINGW_NAME_AW(ExpungeConsoleCommandHistory) | ||
| 123 | |||
| 124 | WINBASEAPI WINBOOL APIENTRY SetConsoleNumberOfCommandsA(DWORD number, LPSTR exe_name); | ||
| 125 | WINBASEAPI WINBOOL APIENTRY SetConsoleNumberOfCommandsW(DWORD number, LPWSTR exe_name); | ||
| 126 | #define SetConsoleNumberOfCommands __MINGW_NAME_AW(SetConsoleNumberOfCommands) | ||
| 127 | |||
| 128 | WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthA(LPSTR exe_name); | ||
| 129 | WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthW(LPWSTR exe_name); | ||
| 130 | #define GetConsoleCommandHistoryLength __MINGW_NAME_AW(GetConsoleCommandHistoryLength) | ||
| 131 | |||
| 132 | WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryA(LPSTR commands, DWORD command_buffer_length, LPSTR exe_name); | ||
| 133 | WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryW(LPWSTR commands, DWORD command_buffer_length, LPWSTR exe_name); | ||
| 134 | #define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory) | ||
| 135 | |||
| 136 | #if (_WIN32_WINNT >= 0x0501) | ||
| 137 | WINBASEAPI DWORD APIENTRY GetConsoleProcessList(LPDWORD process_list, DWORD process_count); | ||
| 138 | #endif /* _WIN32_WINNT >= 0x0501 */ | ||
| 139 | |||
| 140 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | ||
| 141 | |||
| 142 | #ifdef __cplusplus | ||
| 143 | } | ||
| 144 | #endif | ||
| 145 | |||
| 146 | #endif /* _APISETCONSOLEL3_ */ | ||
lib/libc/include/any-windows-any/control.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/control.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/control.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/corecrt_wstdlib.h+9-1| ... | @@ -10,6 +10,15 @@ | ... | @@ -10,6 +10,15 @@ |
| 10 | 10 | ||
| 11 | #ifdef __cplusplus | 11 | #ifdef __cplusplus |
| 12 | extern "C" { | 12 | extern "C" { |
| 13 | #endif | ||
| 14 | |||
| 15 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 16 | #pragma push_macro("_wdupenv_s") | ||
| 17 | #undef _wdupenv_s | ||
| 18 | #endif | ||
| 19 | _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t *_BufferSizeInWords,const wchar_t *_VarName); | ||
| 20 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 21 | #pragma pop_macro("_wdupenv_s") | ||
| 13 | #endif | 22 | #endif |
| 14 | 23 | ||
| 15 | _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); | 24 | _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); |
| ... | @@ -24,7 +33,6 @@ extern "C" { | ... | @@ -24,7 +33,6 @@ extern "C" { |
| 24 | _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName); | 33 | _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName); |
| 25 | __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const wchar_t*,_VarName) | 34 | __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const wchar_t*,_VarName) |
| 26 | 35 | ||
| 27 | _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t *_BufferSizeInWords,const wchar_t *_VarName); | ||
| 28 | _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); | 36 | _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); |
| 29 | _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); | 37 | _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix); |
| 30 | 38 |
lib/libc/include/any-windows-any/credentialprovider.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/credentialprovider.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/credentialprovider.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/crtdbg.h+231-1| ... | @@ -4,6 +4,7 @@ | ... | @@ -4,6 +4,7 @@ |
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 | */ | 5 | */ |
| 6 | #include <crtdefs.h> | 6 | #include <crtdefs.h> |
| 7 | #include <sal.h> | ||
| 7 | 8 | ||
| 8 | #ifndef _INC_CRTDBG | 9 | #ifndef _INC_CRTDBG |
| 9 | #define _INC_CRTDBG | 10 | #define _INC_CRTDBG |
| ... | @@ -94,13 +95,21 @@ extern "C" { | ... | @@ -94,13 +95,21 @@ extern "C" { |
| 94 | } _CrtMemState; | 95 | } _CrtMemState; |
| 95 | 96 | ||
| 96 | #ifndef _STATIC_ASSERT | 97 | #ifndef _STATIC_ASSERT |
| 97 | #if defined(_MSC_VER) | 98 | #if (defined(__cpp_static_assert) && __cpp_static_assert >= 201411L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) |
| 99 | #define _STATIC_ASSERT(expr) static_assert(expr) | ||
| 100 | #elif defined(__cpp_static_assert) | ||
| 101 | #define _STATIC_ASSERT(expr) static_assert(expr, #expr) | ||
| 102 | #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L | ||
| 103 | #define _STATIC_ASSERT(expr) _Static_assert(expr, #expr) | ||
| 104 | #elif defined(_MSC_VER) | ||
| 98 | #define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)] | 105 | #define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)] |
| 99 | #else | 106 | #else |
| 100 | #define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1]) | 107 | #define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1]) |
| 101 | #endif | 108 | #endif |
| 102 | #endif | 109 | #endif |
| 103 | 110 | ||
| 111 | #ifndef _DEBUG | ||
| 112 | |||
| 104 | #ifndef _ASSERT | 113 | #ifndef _ASSERT |
| 105 | #define _ASSERT(expr) ((void)0) | 114 | #define _ASSERT(expr) ((void)0) |
| 106 | #endif | 115 | #endif |
| ... | @@ -208,6 +217,227 @@ extern "C" { | ... | @@ -208,6 +217,227 @@ extern "C" { |
| 208 | #define _CrtSetCheckCount(f) ((int)0) | 217 | #define _CrtSetCheckCount(f) ((int)0) |
| 209 | #define _CrtGetCheckCount() ((int)0) | 218 | #define _CrtGetCheckCount() ((int)0) |
| 210 | 219 | ||
| 220 | #else /* _DEBUG */ | ||
| 221 | |||
| 222 | _CRTIMP long * __cdecl __p__crtAssertBusy(void); | ||
| 223 | #define _crtAssertBusy (*__p__crtAssertBusy()) | ||
| 224 | |||
| 225 | _CRTIMP _CRT_REPORT_HOOK __cdecl _CrtGetReportHook(void); | ||
| 226 | _CRTIMP _CRT_REPORT_HOOK __cdecl _CrtSetReportHook(_CRT_REPORT_HOOK _PFnNewHook); | ||
| 227 | _CRTIMP int __cdecl _CrtSetReportHook2(int _Mode, _CRT_REPORT_HOOK _PFnNewHook); | ||
| 228 | _CRTIMP int __cdecl _CrtSetReportHookW2(int _Mode, _CRT_REPORT_HOOKW _PFnNewHook); | ||
| 229 | _CRTIMP int __cdecl _CrtSetReportMode(int _ReportType, int _ReportMode); | ||
| 230 | _CRTIMP _HFILE __cdecl _CrtSetReportFile(int _ReportType, _HFILE _ReportFile); | ||
| 231 | _CRTIMP int __cdecl _CrtDbgReport(int _ReportType, const char * _Filename, int _Linenumber, const char * _ModuleName, const char * _Format, ...); | ||
| 232 | _CRTIMP size_t __cdecl _CrtSetDebugFillThreshold(size_t _NewDebugFillThreshold); | ||
| 233 | _CRTIMP int __cdecl _CrtDbgReportW(int _ReportType, const wchar_t * _Filename, int _LineNumber, const wchar_t * _ModuleName, const wchar_t * _Format, ...); | ||
| 234 | |||
| 235 | #define _ASSERT_EXPR(expr, msg) \ | ||
| 236 | (void) ((!!(expr)) || \ | ||
| 237 | (1 != _CrtDbgReportW(_CRT_ASSERT, _CRT_WIDE(__FILE__), __LINE__, NULL, msg)) || \ | ||
| 238 | (_CrtDbgBreak(), 0)) | ||
| 239 | |||
| 240 | #ifndef _ASSERT | ||
| 241 | #define _ASSERT(expr) _ASSERT_EXPR((expr), NULL) | ||
| 242 | #endif | ||
| 243 | |||
| 244 | #ifndef _ASSERTE | ||
| 245 | #define _ASSERTE(expr) _ASSERT_EXPR((expr), _CRT_WIDE(#expr)) | ||
| 246 | #endif | ||
| 247 | |||
| 248 | #ifndef _ASSERT_BASE | ||
| 249 | #define _ASSERT_BASE _ASSERT_EXPR | ||
| 250 | #endif | ||
| 251 | |||
| 252 | #define _RPT_BASE(args) \ | ||
| 253 | (void) ((1 != _CrtDbgReport args) || \ | ||
| 254 | (_CrtDbgBreak(), 0)) | ||
| 255 | |||
| 256 | #define _RPT_BASE_W(args) \ | ||
| 257 | (void) ((1 != _CrtDbgReportW args) || \ | ||
| 258 | (_CrtDbgBreak(), 0)) | ||
| 259 | |||
| 260 | #define _RPT0(rptno, msg) \ | ||
| 261 | _RPT_BASE((rptno, NULL, 0, NULL, "%s", msg)) | ||
| 262 | |||
| 263 | #define _RPTW0(rptno, msg) \ | ||
| 264 | _RPT_BASE_W((rptno, NULL, 0, NULL, L"%s", msg)) | ||
| 265 | |||
| 266 | #define _RPT1(rptno, msg, arg1) \ | ||
| 267 | _RPT_BASE((rptno, NULL, 0, NULL, msg, arg1)) | ||
| 268 | |||
| 269 | #define _RPTW1(rptno, msg, arg1) \ | ||
| 270 | _RPT_BASE_W((rptno, NULL, 0, NULL, msg, arg1)) | ||
| 271 | |||
| 272 | #define _RPT2(rptno, msg, arg1, arg2) \ | ||
| 273 | _RPT_BASE((rptno, NULL, 0, NULL, msg, arg1, arg2)) | ||
| 274 | |||
| 275 | #define _RPTW2(rptno, msg, arg1, arg2) \ | ||
| 276 | _RPT_BASE_W((rptno, NULL, 0, NULL, msg, arg1, arg2)) | ||
| 277 | |||
| 278 | #define _RPT3(rptno, msg, arg1, arg2, arg3) \ | ||
| 279 | _RPT_BASE((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3)) | ||
| 280 | |||
| 281 | #define _RPTW3(rptno, msg, arg1, arg2, arg3) \ | ||
| 282 | _RPT_BASE_W((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3)) | ||
| 283 | |||
| 284 | #define _RPT4(rptno, msg, arg1, arg2, arg3, arg4) \ | ||
| 285 | _RPT_BASE((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3, arg4)) | ||
| 286 | |||
| 287 | #define _RPTW4(rptno, msg, arg1, arg2, arg3, arg4) \ | ||
| 288 | _RPT_BASE_W((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3, arg4)) | ||
| 289 | |||
| 290 | #define _RPT5(rptno, msg, arg1, arg2, arg3, arg4, arg5) \ | ||
| 291 | _RPT_BASE((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3, arg4, arg5)) | ||
| 292 | |||
| 293 | #define _RPTW5(rptno, msg, arg1, arg2, arg3, arg4, arg5) \ | ||
| 294 | _RPT_BASE_W((rptno, NULL, 0, NULL, msg, arg1, arg2, arg3, arg4, arg5)) | ||
| 295 | |||
| 296 | #define _RPTF0(rptno, msg) \ | ||
| 297 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, "%s", msg)) | ||
| 298 | |||
| 299 | #define _RPTFW0(rptno, msg) \ | ||
| 300 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, L"%s", msg)) | ||
| 301 | |||
| 302 | #define _RPTF1(rptno, msg, arg1) \ | ||
| 303 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, msg, arg1)) | ||
| 304 | |||
| 305 | #define _RPTFW1(rptno, msg, arg1) \ | ||
| 306 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, msg, arg1)) | ||
| 307 | |||
| 308 | #define _RPTF2(rptno, msg, arg1, arg2) \ | ||
| 309 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, msg, arg1, arg2)) | ||
| 310 | |||
| 311 | #define _RPTFW2(rptno, msg, arg1, arg2) \ | ||
| 312 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, msg, arg1, arg2)) | ||
| 313 | |||
| 314 | #define _RPTF3(rptno, msg, arg1, arg2, arg3) \ | ||
| 315 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, msg, arg1, arg2, arg3)) | ||
| 316 | |||
| 317 | #define _RPTFW3(rptno, msg, arg1, arg2, arg3) \ | ||
| 318 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, msg, arg1, arg2, arg3)) | ||
| 319 | |||
| 320 | #define _RPTF4(rptno, msg, arg1, arg2, arg3, arg4) \ | ||
| 321 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, msg, arg1, arg2, arg3, arg4)) | ||
| 322 | |||
| 323 | #define _RPTFW4(rptno, msg, arg1, arg2, arg3, arg4) \ | ||
| 324 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, msg, arg1, arg2, arg3, arg4)) | ||
| 325 | |||
| 326 | #define _RPTF5(rptno, msg, arg1, arg2, arg3, arg4, arg5) \ | ||
| 327 | _RPT_BASE((rptno, __FILE__, __LINE__, NULL, msg, arg1, arg2, arg3, arg4, arg5)) | ||
| 328 | |||
| 329 | #define _RPTFW5(rptno, msg, arg1, arg2, arg3, arg4, arg5) \ | ||
| 330 | _RPT_BASE_W((rptno, _CRT_WIDE(__FILE__), __LINE__, NULL, msg, arg1, arg2, arg3, arg4, arg5)) | ||
| 331 | |||
| 332 | #define _CrtDbgBreak() __debugbreak() | ||
| 333 | |||
| 334 | #ifdef _CRTDBG_MAP_ALLOC | ||
| 335 | |||
| 336 | #define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 337 | #define calloc(c, s) _calloc_dbg(c, s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 338 | #define realloc(p, s) _realloc_dbg(p, s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 339 | #define _recalloc(p, c, s) _recalloc_dbg(p, c, s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 340 | #define _expand(p, s) _expand_dbg(p, s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 341 | #define free(p) _free_dbg(p, _NORMAL_BLOCK) | ||
| 342 | #define _msize(p) _msize_dbg(p, _NORMAL_BLOCK) | ||
| 343 | #define _aligned_msize(p, a, o) _aligned_msize_dbg(p, a, o) | ||
| 344 | #define _aligned_malloc(s, a) _aligned_malloc_dbg(s, a, __FILE__, __LINE__) | ||
| 345 | #define _aligned_realloc(p, s, a) _aligned_realloc_dbg(p, s, a, __FILE__, __LINE__) | ||
| 346 | #define _aligned_recalloc(p, c, s, a) _aligned_recalloc_dbg(p, c, s, a, __FILE__, __LINE__) | ||
| 347 | #define _aligned_offset_malloc(s, a, o) _aligned_offset_malloc_dbg(s, a, o, __FILE__, __LINE__) | ||
| 348 | #define _aligned_offset_realloc(p, s, a, o) _aligned_offset_realloc_dbg(p, s, a, o, __FILE__, __LINE__) | ||
| 349 | #define _aligned_offset_recalloc(p, c, s, a, o) _aligned_offset_recalloc_dbg(p, c, s, a, o, __FILE__, __LINE__) | ||
| 350 | #define _aligned_free(p) _aligned_free_dbg(p) | ||
| 351 | |||
| 352 | #define _malloca(s) _malloca_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 353 | #define _freea(p) _freea_dbg(p, _NORMAL_BLOCK) | ||
| 354 | |||
| 355 | #define _strdup(s) _strdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 356 | #define _wcsdup(s) _wcsdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 357 | #define _mbsdup(s) _strdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 358 | #define _tempnam(s1, s2) _tempnam_dbg(s1, s2, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 359 | #define _wtempnam(s1, s2) _wtempnam_dbg(s1, s2, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 360 | #define _fullpath(s1, s2, le) _fullpath_dbg(s1, s2, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 361 | #define _wfullpath(s1, s2, le) _wfullpath_dbg(s1, s2, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 362 | #define _getcwd(s, le) _getcwd_dbg(s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 363 | #define _wgetcwd(s, le) _wgetcwd_dbg(s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 364 | #define _getdcwd(d, s, le) _getdcwd_dbg(d, s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 365 | #define _wgetdcwd(d, s, le) _wgetdcwd_dbg(d, s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 366 | #define _getdcwd_nolock(d, s, le) _getdcwd_lk_dbg(d, s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 367 | #define _wgetdcwd_nolock(d, s, le) _wgetdcwd_lk_dbg(d, s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 368 | #define _dupenv_s(ps1, size, s2) _dupenv_s_dbg(ps1, size, s2, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 369 | #define _wdupenv_s(ps1, size, s2) _wdupenv_s_dbg(ps1, size, s2, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 370 | |||
| 371 | #define strdup(s) _strdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 372 | #define wcsdup(s) _wcsdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 373 | #define tempnam(s1, s2) _tempnam_dbg(s1, s2, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 374 | #define getcwd(s, le) _getcwd_dbg(s, le, _NORMAL_BLOCK, __FILE__, __LINE__) | ||
| 375 | |||
| 376 | #endif /* _CRTDBG_MAP_ALLOC */ | ||
| 377 | |||
| 378 | _CRTIMP long * __cdecl __p__crtBreakAlloc(void); | ||
| 379 | #define _crtBreakAlloc (*__p__crtBreakAlloc()) | ||
| 380 | |||
| 381 | _CRTIMP long __cdecl _CrtSetBreakAlloc(long _BreakAlloc); | ||
| 382 | |||
| 383 | _CRTIMP __checkReturn void * __cdecl _malloc_dbg(size_t _Size, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 384 | _CRTIMP __checkReturn void * __cdecl _calloc_dbg(size_t _NumOfElements, size_t _SizeOfElements, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 385 | _CRTIMP __checkReturn void * __cdecl _realloc_dbg(void * _Memory, size_t _NewSize, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 386 | _CRTIMP __checkReturn void * __cdecl _recalloc_dbg(void * _Memory, size_t _NumOfElements, size_t _SizeOfElements, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 387 | _CRTIMP __checkReturn void * __cdecl _expand_dbg(void * _Memory, size_t _NewSize, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 388 | _CRTIMP void __cdecl _free_dbg(void * _Memory, int _BlockType); | ||
| 389 | _CRTIMP size_t __cdecl _msize_dbg(void * _Memory, int _BlockType); | ||
| 390 | _CRTIMP size_t __cdecl _aligned_msize_dbg(void * _Memory, size_t _Alignment, size_t _Offset); | ||
| 391 | _CRTIMP __checkReturn void * __cdecl _aligned_malloc_dbg(size_t _Size, size_t _Alignment, const char * _Filename, int _LineNumber); | ||
| 392 | _CRTIMP __checkReturn void * __cdecl _aligned_realloc_dbg(void * _Memory, size_t _Size, size_t _Alignment, const char * _Filename, int _LineNumber); | ||
| 393 | _CRTIMP __checkReturn void * __cdecl _aligned_recalloc_dbg(void * _Memory, size_t _NumOfElements, size_t _SizeOfElements, size_t _Alignment, const char * _Filename, int _LineNumber); | ||
| 394 | _CRTIMP __checkReturn void * __cdecl _aligned_offset_malloc_dbg(size_t _Size, size_t _Alignment, size_t _Offset, const char * _Filename, int _LineNumber); | ||
| 395 | _CRTIMP __checkReturn void * __cdecl _aligned_offset_realloc_dbg(void * _Memory, size_t _Size, size_t _Alignment, size_t _Offset, const char * _Filename, int _LineNumber); | ||
| 396 | _CRTIMP __checkReturn void * __cdecl _aligned_offset_recalloc_dbg(void * _Memory, size_t _NumOfElements, size_t _SizeOfElements, size_t _Alignment, size_t _Offset, const char * _Filename, int _LineNumber); | ||
| 397 | _CRTIMP void __cdecl _aligned_free_dbg(void * _Memory); | ||
| 398 | _CRTIMP __checkReturn char * __cdecl _strdup_dbg(const char * _Str, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 399 | _CRTIMP __checkReturn wchar_t * __cdecl _wcsdup_dbg(const wchar_t * _Str, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 400 | _CRTIMP __checkReturn char * __cdecl _tempnam_dbg(const char * _DirName, const char * _FilePrefix, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 401 | _CRTIMP __checkReturn wchar_t * __cdecl _wtempnam_dbg(const wchar_t * _DirName, const wchar_t * _FilePrefix, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 402 | _CRTIMP __checkReturn char * __cdecl _fullpath_dbg(char * _FullPath, const char * _Path, size_t _SizeInBytes, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 403 | _CRTIMP __checkReturn wchar_t * __cdecl _wfullpath_dbg(wchar_t * _FullPath, const wchar_t * _Path, size_t _SizeInWords, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 404 | _CRTIMP __checkReturn char * __cdecl _getcwd_dbg(char * _DstBuf, int _SizeInBytes, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 405 | _CRTIMP __checkReturn wchar_t * __cdecl _wgetcwd_dbg(wchar_t * _DstBuf, int _SizeInWords, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 406 | _CRTIMP __checkReturn char * __cdecl _getdcwd_dbg(int _Drive, char * _DstBuf, int _SizeInBytes, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 407 | _CRTIMP __checkReturn wchar_t * __cdecl _wgetdcwd_dbg(int _Drive, wchar_t * _DstBuf, int _SizeInWords, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 408 | __checkReturn char * __cdecl _getdcwd_lk_dbg(int _Drive, char * _DstBuf, int _SizeInBytes, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 409 | __checkReturn wchar_t * __cdecl _wgetdcwd_lk_dbg(int _Drive, wchar_t * _DstBuf, int _SizeInWords, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 410 | _CRTIMP __checkReturn errno_t __cdecl _dupenv_s_dbg(char ** _PBuffer, size_t * _PBufferSizeInBytes, const char * _VarName, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 411 | _CRTIMP __checkReturn errno_t __cdecl _wdupenv_s_dbg(wchar_t ** _PBuffer, size_t * _PBufferSizeInWords, const wchar_t * _VarName, int _BlockType, const char * _Filename, int _LineNumber); | ||
| 412 | |||
| 413 | #define _malloca_dbg(s, t, f, l) _malloc_dbg(s, t, f, l) | ||
| 414 | #define _freea_dbg(p, t) _free_dbg(p, t) | ||
| 415 | |||
| 416 | _CRTIMP _CRT_ALLOC_HOOK __cdecl _CrtGetAllocHook(void); | ||
| 417 | _CRTIMP _CRT_ALLOC_HOOK __cdecl _CrtSetAllocHook(_CRT_ALLOC_HOOK _PfnNewHook); | ||
| 418 | |||
| 419 | _CRTIMP int * __cdecl __p__crtDbgFlag(void); | ||
| 420 | #define _crtDbgFlag (*__p__crtDbgFlag()) | ||
| 421 | |||
| 422 | _CRTIMP int __cdecl _CrtCheckMemory(void); | ||
| 423 | _CRTIMP int __cdecl _CrtSetDbgFlag(int _NewFlag); | ||
| 424 | _CRTIMP void __cdecl _CrtDoForAllClientObjects(void (__cdecl *_PFn)(void *, void *), void * _Context); | ||
| 425 | _CRTIMP __checkReturn int __cdecl _CrtIsValidPointer(const void * _Ptr, unsigned int _Bytes, int _ReadWrite); | ||
| 426 | _CRTIMP __checkReturn int __cdecl _CrtIsValidHeapPointer(const void * _HeapPtr); | ||
| 427 | _CRTIMP int __cdecl _CrtIsMemoryBlock(const void * _Memory, unsigned int _Bytes, long * _RequestNumber, char ** _Filename, int * _LineNumber); | ||
| 428 | _CRTIMP __checkReturn int __cdecl _CrtReportBlockType(const void * _Memory); | ||
| 429 | _CRTIMP _CRT_DUMP_CLIENT __cdecl _CrtGetDumpClient(void); | ||
| 430 | _CRTIMP _CRT_DUMP_CLIENT __cdecl _CrtSetDumpClient(_CRT_DUMP_CLIENT _PFnNewDump); | ||
| 431 | _CRTIMP _CRT_MANAGED_HEAP_DEPRECATE void __cdecl _CrtMemCheckpoint(_CrtMemState * _State); | ||
| 432 | _CRTIMP _CRT_MANAGED_HEAP_DEPRECATE int __cdecl _CrtMemDifference(_CrtMemState * _State, const _CrtMemState * _OldState, const _CrtMemState * _NewState); | ||
| 433 | _CRTIMP void __cdecl _CrtMemDumpAllObjectsSince(const _CrtMemState * _State); | ||
| 434 | _CRTIMP void __cdecl _CrtMemDumpStatistics(const _CrtMemState * _State); | ||
| 435 | _CRTIMP int __cdecl _CrtDumpMemoryLeaks(void); | ||
| 436 | _CRTIMP int __cdecl _CrtSetCheckCount(int _CheckCount); | ||
| 437 | _CRTIMP int __cdecl _CrtGetCheckCount(void); | ||
| 438 | |||
| 439 | #endif /* _DEBUG */ | ||
| 440 | |||
| 211 | #ifdef __cplusplus | 441 | #ifdef __cplusplus |
| 212 | } | 442 | } |
| 213 | /* | 443 | /* |
lib/libc/include/any-windows-any/ctfutb.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/ctfutb.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/ctfutb.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/ctxtcall.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/ctxtcall.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/ctxtcall.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/ctype.h+41-31| ... | @@ -111,35 +111,38 @@ extern "C" { | ... | @@ -111,35 +111,38 @@ extern "C" { |
| 111 | _CRTIMP int __cdecl __toascii(int _C); | 111 | _CRTIMP int __cdecl __toascii(int _C); |
| 112 | _CRTIMP int __cdecl __iscsymf(int _C); | 112 | _CRTIMP int __cdecl __iscsymf(int _C); |
| 113 | _CRTIMP int __cdecl __iscsym(int _C); | 113 | _CRTIMP int __cdecl __iscsym(int _C); |
| 114 | 114 | #if __MSVCRT_VERSION__ >= 0xC00 | |
| 115 | #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus) | 115 | _CRTIMP int __cdecl isblank(int _C); |
| 116 | int __cdecl isblank(int _C); | 116 | _CRTIMP int __cdecl _isblank_l(int _C,_locale_t _Locale); |
| 117 | #endif | 117 | #else |
| 118 | int __cdecl isblank(int _C); | ||
| 119 | #endif /* msvcr120 */ | ||
| 118 | #endif | 120 | #endif |
| 119 | 121 | ||
| 120 | #ifndef _WCTYPE_DEFINED | 122 | #ifndef _WCTYPE_DEFINED |
| 121 | #define _WCTYPE_DEFINED | 123 | #define _WCTYPE_DEFINED |
| 122 | 124 | ||
| 123 | int __cdecl iswalpha(wint_t _C); | 125 | _CRTIMP int __cdecl iswalpha(wint_t _C); |
| 124 | int __cdecl iswupper(wint_t _C); | 126 | _CRTIMP int __cdecl iswupper(wint_t _C); |
| 125 | int __cdecl iswlower(wint_t _C); | 127 | _CRTIMP int __cdecl iswlower(wint_t _C); |
| 126 | int __cdecl iswdigit(wint_t _C); | 128 | _CRTIMP int __cdecl iswdigit(wint_t _C); |
| 127 | int __cdecl iswxdigit(wint_t _C); | 129 | _CRTIMP int __cdecl iswxdigit(wint_t _C); |
| 128 | int __cdecl iswspace(wint_t _C); | 130 | _CRTIMP int __cdecl iswspace(wint_t _C); |
| 129 | int __cdecl iswpunct(wint_t _C); | 131 | _CRTIMP int __cdecl iswpunct(wint_t _C); |
| 130 | int __cdecl iswalnum(wint_t _C); | 132 | _CRTIMP int __cdecl iswalnum(wint_t _C); |
| 131 | int __cdecl iswprint(wint_t _C); | 133 | _CRTIMP int __cdecl iswprint(wint_t _C); |
| 132 | int __cdecl iswgraph(wint_t _C); | 134 | _CRTIMP int __cdecl iswgraph(wint_t _C); |
| 133 | int __cdecl iswcntrl(wint_t _C); | 135 | _CRTIMP int __cdecl iswcntrl(wint_t _C); |
| 134 | int __cdecl iswascii(wint_t _C); | 136 | _CRTIMP int __cdecl iswascii(wint_t _C); |
| 135 | #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP | 137 | #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP |
| 136 | int __cdecl isleadbyte(int _C); | 138 | _CRTIMP int __cdecl isleadbyte(int _C); |
| 137 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ | 139 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 138 | wint_t __cdecl towupper(wint_t _C); | 140 | _CRTIMP wint_t __cdecl towupper(wint_t _C); |
| 139 | wint_t __cdecl towlower(wint_t _C); | 141 | _CRTIMP wint_t __cdecl towlower(wint_t _C); |
| 140 | int __cdecl iswctype(wint_t _C,wctype_t _Type); | 142 | _CRTIMP int __cdecl iswctype(wint_t _C,wctype_t _Type); |
| 141 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) | 143 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) |
| 142 | /* These are available since msvcr80.dll, and in msvcrt.dll since Vista. */ | 144 | /* These are available since msvcr80.dll (__MSVCRT_VERSION__ >= 0x800), and in |
| 145 | * msvcrt.dll (__MSVCRT_VERSION__ == 0x600) since Vista (_WIN32_WINNT >= 0x0600). */ | ||
| 143 | _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); | 146 | _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); |
| 144 | _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); | 147 | _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); |
| 145 | _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); | 148 | _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); |
| ... | @@ -166,12 +169,15 @@ int __cdecl isblank(int _C); | ... | @@ -166,12 +169,15 @@ int __cdecl isblank(int _C); |
| 166 | _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); | 169 | _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); |
| 167 | #endif | 170 | #endif |
| 168 | #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP | 171 | #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP |
| 169 | int __cdecl is_wctype(wint_t _C,wctype_t _Type); | 172 | _CRTIMP int __cdecl is_wctype(wint_t _C,wctype_t _Type); |
| 170 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ | 173 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 171 | 174 | ||
| 172 | #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus) | 175 | #if __MSVCRT_VERSION__ >= 0xC00 |
| 173 | int __cdecl iswblank(wint_t _C); | 176 | _CRTIMP int __cdecl iswblank(wint_t _C); |
| 174 | #endif | 177 | _CRTIMP int __cdecl _iswblank_l(wint_t _C,_locale_t _Locale); |
| 178 | #else | ||
| 179 | int __cdecl iswblank(wint_t _C); | ||
| 180 | #endif /* msvcr120 */ | ||
| 175 | #endif | 181 | #endif |
| 176 | 182 | ||
| 177 | #ifndef _CTYPE_DISABLE_MACROS | 183 | #ifndef _CTYPE_DISABLE_MACROS |
| ... | @@ -225,7 +231,8 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); | ... | @@ -225,7 +231,8 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); |
| 225 | #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) | 231 | #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) |
| 226 | #define iswcntrl(_c) (iswctype(_c,_CONTROL)) | 232 | #define iswcntrl(_c) (iswctype(_c,_CONTROL)) |
| 227 | #define iswascii(_c) ((unsigned)(_c) < 0x80) | 233 | #define iswascii(_c) ((unsigned)(_c) < 0x80) |
| 228 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) | 234 | #define iswblank(_c) (iswctype(_c,_SPACE) || ((_c)=='\t')) |
| 235 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) | ||
| 229 | # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) | 236 | # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) |
| 230 | # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) | 237 | # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) |
| 231 | # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) | 238 | # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) |
| ... | @@ -238,7 +245,10 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); | ... | @@ -238,7 +245,10 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); |
| 238 | # define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) | 245 | # define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) |
| 239 | # define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) | 246 | # define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) |
| 240 | #endif /* __MSVCRT_VERSION__ >= 0x800 */ | 247 | #endif /* __MSVCRT_VERSION__ >= 0x800 */ |
| 248 | #if __MSVCRT_VERSION__ >= 0xC00 | ||
| 249 | #define _iswblank_l(_c,_p) (_iswctype_l(_c,_BLANK,_p) || ((_c)=='\t')) | ||
| 241 | #endif | 250 | #endif |
| 251 | #endif /* __cplusplus */ | ||
| 242 | #endif | 252 | #endif |
| 243 | 253 | ||
| 244 | #define __iscsymf(_c) (isalpha(_c) || ((_c)=='_')) | 254 | #define __iscsymf(_c) (isalpha(_c) || ((_c)=='_')) |
| ... | @@ -253,10 +263,10 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); | ... | @@ -253,10 +263,10 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); |
| 253 | 263 | ||
| 254 | #ifndef	NO_OLDNAMES | 264 | #ifndef	NO_OLDNAMES |
| 255 | #ifndef _CTYPE_DEFINED | 265 | #ifndef _CTYPE_DEFINED |
| 256 | int __cdecl isascii(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 266 | _CRTIMP int __cdecl isascii(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 257 | int __cdecl toascii(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 267 | _CRTIMP int __cdecl toascii(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 258 | int __cdecl iscsymf(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 268 | _CRTIMP int __cdecl iscsymf(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 259 | int __cdecl iscsym(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 269 | _CRTIMP int __cdecl iscsym(int _C) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 260 | #else | 270 | #else |
| 261 | #define isascii __isascii | 271 | #define isascii __isascii |
| 262 | #define toascii __toascii | 272 | #define toascii __toascii |
lib/libc/include/any-windows-any/d3d10.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d10.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d10.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d10_1.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d10_1.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d10_1.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d10effect.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d10effect.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d10effect.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d10sdklayers.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d10sdklayers.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d10sdklayers.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d10shader.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d10shader.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d10shader.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11_1.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11_1.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_1.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11_2.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11_2.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_2.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11_3.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11_3.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_3.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11_4.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11_4.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_4.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11on12.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11on12.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11on12.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d11sdklayers.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d11sdklayers.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d11sdklayers.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d12.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d12.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d12.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d12sdklayers.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d12sdklayers.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d12sdklayers.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d12shader.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d12shader.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d12shader.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3d12video.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3d12video.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3d12video.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/d3dcommon.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/d3dcommon.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/d3dcommon.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dbgprop.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dbgprop.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dbgprop.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dcommon.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dcommon.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dcommon.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dcompanimation.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dcompanimation.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dcompanimation.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/ddstream.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/ddstream.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/ddstream.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/devicetopology.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/devicetopology.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/devicetopology.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dimm.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dimm.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dimm.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dinputd.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dinputd.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dinputd.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/direct.h+33| ... | @@ -25,10 +25,23 @@ extern "C" { | ... | @@ -25,10 +25,23 @@ extern "C" { |
| 25 | }; | 25 | }; |
| 26 | #endif | 26 | #endif |
| 27 | 27 | ||
| 28 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 29 | #pragma push_macro("_getcwd") | ||
| 30 | #undef _getcwd | ||
| 31 | #pragma push_macro("_getdcwd") | ||
| 32 | #undef _getdcwd | ||
| 33 | #pragma push_macro("_getdcwd_nolock") | ||
| 34 | #undef _getdcwd_nolock | ||
| 35 | #endif | ||
| 28 | _CRTIMP char *__cdecl _getcwd(char *_DstBuf,int _SizeInBytes); | 36 | _CRTIMP char *__cdecl _getcwd(char *_DstBuf,int _SizeInBytes); |
| 29 | _CRTIMP char *__cdecl _getdcwd(int _Drive,char *_DstBuf,int _SizeInBytes); | 37 | _CRTIMP char *__cdecl _getdcwd(int _Drive,char *_DstBuf,int _SizeInBytes); |
| 30 | #if __MSVCRT_VERSION__ >= 0x800 | 38 | #if __MSVCRT_VERSION__ >= 0x800 |
| 31 | char *__cdecl _getdcwd_nolock(int _Drive,char *_DstBuf,int _SizeInBytes); | 39 | char *__cdecl _getdcwd_nolock(int _Drive,char *_DstBuf,int _SizeInBytes); |
| 40 | #endif | ||
| 41 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 42 | #pragma pop_macro("_getcwd") | ||
| 43 | #pragma pop_macro("_getdcwd") | ||
| 44 | #pragma pop_macro("_getdcwd_nolock") | ||
| 32 | #endif | 45 | #endif |
| 33 | _CRTIMP int __cdecl _chdir(const char *_Path); | 46 | _CRTIMP int __cdecl _chdir(const char *_Path); |
| 34 | _CRTIMP int __cdecl _mkdir(const char *_Path); | 47 | _CRTIMP int __cdecl _mkdir(const char *_Path); |
| ... | @@ -46,10 +59,23 @@ extern "C" { | ... | @@ -46,10 +59,23 @@ extern "C" { |
| 46 | 59 | ||
| 47 | #ifndef _WDIRECT_DEFINED | 60 | #ifndef _WDIRECT_DEFINED |
| 48 | #define _WDIRECT_DEFINED | 61 | #define _WDIRECT_DEFINED |
| 62 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 63 | #pragma push_macro("_wgetcwd") | ||
| 64 | #undef _wgetcwd | ||
| 65 | #pragma push_macro("_wgetdcwd") | ||
| 66 | #undef _wgetdcwd | ||
| 67 | #pragma push_macro("_wgetdcwd_nolock") | ||
| 68 | #undef _wgetdcwd_nolock | ||
| 69 | #endif | ||
| 49 | _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); | 70 | _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); |
| 50 | _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); | 71 | _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 51 | #if __MSVCRT_VERSION__ >= 0x800 | 72 | #if __MSVCRT_VERSION__ >= 0x800 |
| 52 | wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); | 73 | wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 74 | #endif | ||
| 75 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 76 | #pragma pop_macro("_wgetcwd") | ||
| 77 | #pragma pop_macro("_wgetdcwd") | ||
| 78 | #pragma pop_macro("_wgetdcwd_nolock") | ||
| 53 | #endif | 79 | #endif |
| 54 | _CRTIMP int __cdecl _wchdir(const wchar_t *_Path); | 80 | _CRTIMP int __cdecl _wchdir(const wchar_t *_Path); |
| 55 | _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); | 81 | _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); |
| ... | @@ -60,7 +86,14 @@ extern "C" { | ... | @@ -60,7 +86,14 @@ extern "C" { |
| 60 | 86 | ||
| 61 | #define diskfree_t _diskfree_t | 87 | #define diskfree_t _diskfree_t |
| 62 | 88 | ||
| 89 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 90 | #pragma push_macro("getcwd") | ||
| 91 | #undef getcwd | ||
| 92 | #endif | ||
| 63 | char *__cdecl getcwd(char *_DstBuf,int _SizeInBytes) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 93 | char *__cdecl getcwd(char *_DstBuf,int _SizeInBytes) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 94 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 95 | #pragma pop_macro("getcwd") | ||
| 96 | #endif | ||
| 64 | int __cdecl chdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 97 | int __cdecl chdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 65 | int __cdecl mkdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 98 | int __cdecl mkdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 66 | int __cdecl rmdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 99 | int __cdecl rmdir(const char *_Path) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
lib/libc/include/any-windows-any/directmanipulation.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/directmanipulation.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/directmanipulation.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dispex.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dispex.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dispex.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dmodshow.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dmodshow.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dmodshow.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/docobj.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/docobj.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/docobj.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/docobjectservice.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/docobjectservice.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/docobjectservice.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/documenttarget.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/documenttarget.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/documenttarget.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/downloadmgr.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/downloadmgr.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/downloadmgr.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/drmexternals.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/drmexternals.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/drmexternals.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dvdif.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dvdif.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dvdif.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dwrite.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dwrite.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dwrite.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dwrite_1.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dwrite_1.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_1.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dwrite_2.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dwrite_2.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_2.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dwrite_3.h+1053-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dwrite_3.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_3.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| ... | @@ -378,6 +378,30 @@ interface IDWriteFactory7; | ... | @@ -378,6 +378,30 @@ interface IDWriteFactory7; |
| 378 | #endif /* __cplusplus */ | 378 | #endif /* __cplusplus */ |
| 379 | #endif | 379 | #endif |
| 380 | 380 | ||
| 381 | #ifndef __IDWriteFactory8_FWD_DEFINED__ | ||
| 382 | #define __IDWriteFactory8_FWD_DEFINED__ | ||
| 383 | typedef interface IDWriteFactory8 IDWriteFactory8; | ||
| 384 | #ifdef __cplusplus | ||
| 385 | interface IDWriteFactory8; | ||
| 386 | #endif /* __cplusplus */ | ||
| 387 | #endif | ||
| 388 | |||
| 389 | #ifndef __IDWriteBitmapRenderTarget2_FWD_DEFINED__ | ||
| 390 | #define __IDWriteBitmapRenderTarget2_FWD_DEFINED__ | ||
| 391 | typedef interface IDWriteBitmapRenderTarget2 IDWriteBitmapRenderTarget2; | ||
| 392 | #ifdef __cplusplus | ||
| 393 | interface IDWriteBitmapRenderTarget2; | ||
| 394 | #endif /* __cplusplus */ | ||
| 395 | #endif | ||
| 396 | |||
| 397 | #ifndef __IDWriteBitmapRenderTarget3_FWD_DEFINED__ | ||
| 398 | #define __IDWriteBitmapRenderTarget3_FWD_DEFINED__ | ||
| 399 | typedef interface IDWriteBitmapRenderTarget3 IDWriteBitmapRenderTarget3; | ||
| 400 | #ifdef __cplusplus | ||
| 401 | interface IDWriteBitmapRenderTarget3; | ||
| 402 | #endif /* __cplusplus */ | ||
| 403 | #endif | ||
| 404 | |||
| 381 | /* Headers for imported files */ | 405 | /* Headers for imported files */ |
| 382 | 406 | ||
| 383 | #include <dwrite_2.h> | 407 | #include <dwrite_2.h> |
| ... | @@ -571,11 +595,14 @@ typedef enum DWRITE_PAINT_TYPE { | ... | @@ -571,11 +595,14 @@ typedef enum DWRITE_PAINT_TYPE { |
| 571 | DWRITE_PAINT_TYPE_TRANSFORM = 9, | 595 | DWRITE_PAINT_TYPE_TRANSFORM = 9, |
| 572 | DWRITE_PAINT_TYPE_COMPOSITE = 10 | 596 | DWRITE_PAINT_TYPE_COMPOSITE = 10 |
| 573 | } DWRITE_PAINT_TYPE; | 597 | } DWRITE_PAINT_TYPE; |
| 598 | #ifndef DWRITE_PAINT_FEATURE_LEVEL_DEFINED | ||
| 599 | #define DWRITE_PAINT_FEATURE_LEVEL_DEFINED | ||
| 574 | typedef enum DWRITE_PAINT_FEATURE_LEVEL { | 600 | typedef enum DWRITE_PAINT_FEATURE_LEVEL { |
| 575 | DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, | 601 | DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, |
| 576 | DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, | 602 | DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, |
| 577 | DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 | 603 | DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 |
| 578 | } DWRITE_PAINT_FEATURE_LEVEL; | 604 | } DWRITE_PAINT_FEATURE_LEVEL; |
| 605 | #endif /* DWRITE_PAINT_FEATURE_LEVEL_DEFINED */ | ||
| 579 | typedef enum DWRITE_PAINT_ATTRIBUTES { | 606 | typedef enum DWRITE_PAINT_ATTRIBUTES { |
| 580 | DWRITE_PAINT_ATTRIBUTES_NONE = 0, | 607 | DWRITE_PAINT_ATTRIBUTES_NONE = 0, |
| 581 | DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x1, | 608 | DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x1, |
| ... | @@ -14125,6 +14152,1031 @@ static inline HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* T | ... | @@ -14125,6 +14152,1031 @@ static inline HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* T |
| 14125 | 14152 | ||
| 14126 | #endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ | 14153 | #endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ |
| 14127 | 14154 | ||
| 14155 | /***************************************************************************** | ||
| 14156 | * IDWriteFactory8 interface | ||
| 14157 | */ | ||
| 14158 | #ifndef __IDWriteFactory8_INTERFACE_DEFINED__ | ||
| 14159 | #define __IDWriteFactory8_INTERFACE_DEFINED__ | ||
| 14160 | |||
| 14161 | DEFINE_GUID(IID_IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4,0x54, 0xc9,0xc7,0xdc,0x87,0x83,0x98); | ||
| 14162 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14163 | MIDL_INTERFACE("ee0a7fb5-def4-4c23-a454-c9c7dc878398") | ||
| 14164 | IDWriteFactory8 : public IDWriteFactory7 | ||
| 14165 | { | ||
| 14166 | virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( | ||
| 14167 | D2D1_POINT_2F origin, | ||
| 14168 | const DWRITE_GLYPH_RUN *glyph_run, | ||
| 14169 | const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, | ||
| 14170 | DWRITE_GLYPH_IMAGE_FORMATS image_formats, | ||
| 14171 | DWRITE_PAINT_FEATURE_LEVEL feature_level, | ||
| 14172 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14173 | const DWRITE_MATRIX *world_and_dpi_transform, | ||
| 14174 | UINT32 palette_index, | ||
| 14175 | IDWriteColorGlyphRunEnumerator1 **enumerator) = 0; | ||
| 14176 | |||
| 14177 | }; | ||
| 14178 | #ifdef __CRT_UUID_DECL | ||
| 14179 | __CRT_UUID_DECL(IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4,0x54, 0xc9,0xc7,0xdc,0x87,0x83,0x98) | ||
| 14180 | #endif | ||
| 14181 | #else | ||
| 14182 | typedef struct IDWriteFactory8Vtbl { | ||
| 14183 | BEGIN_INTERFACE | ||
| 14184 | |||
| 14185 | /*** IUnknown methods ***/ | ||
| 14186 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 14187 | IDWriteFactory8 *This, | ||
| 14188 | REFIID riid, | ||
| 14189 | void **ppvObject); | ||
| 14190 | |||
| 14191 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 14192 | IDWriteFactory8 *This); | ||
| 14193 | |||
| 14194 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 14195 | IDWriteFactory8 *This); | ||
| 14196 | |||
| 14197 | /*** IDWriteFactory methods ***/ | ||
| 14198 | HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( | ||
| 14199 | IDWriteFactory8 *This, | ||
| 14200 | IDWriteFontCollection **collection, | ||
| 14201 | WINBOOL check_for_updates); | ||
| 14202 | |||
| 14203 | HRESULT (STDMETHODCALLTYPE *CreateCustomFontCollection)( | ||
| 14204 | IDWriteFactory8 *This, | ||
| 14205 | IDWriteFontCollectionLoader *loader, | ||
| 14206 | const void *key, | ||
| 14207 | UINT32 key_size, | ||
| 14208 | IDWriteFontCollection **collection); | ||
| 14209 | |||
| 14210 | HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( | ||
| 14211 | IDWriteFactory8 *This, | ||
| 14212 | IDWriteFontCollectionLoader *loader); | ||
| 14213 | |||
| 14214 | HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( | ||
| 14215 | IDWriteFactory8 *This, | ||
| 14216 | IDWriteFontCollectionLoader *loader); | ||
| 14217 | |||
| 14218 | HRESULT (STDMETHODCALLTYPE *CreateFontFileReference)( | ||
| 14219 | IDWriteFactory8 *This, | ||
| 14220 | const WCHAR *path, | ||
| 14221 | const FILETIME *writetime, | ||
| 14222 | IDWriteFontFile **font_file); | ||
| 14223 | |||
| 14224 | HRESULT (STDMETHODCALLTYPE *CreateCustomFontFileReference)( | ||
| 14225 | IDWriteFactory8 *This, | ||
| 14226 | const void *reference_key, | ||
| 14227 | UINT32 key_size, | ||
| 14228 | IDWriteFontFileLoader *loader, | ||
| 14229 | IDWriteFontFile **font_file); | ||
| 14230 | |||
| 14231 | HRESULT (STDMETHODCALLTYPE *CreateFontFace)( | ||
| 14232 | IDWriteFactory8 *This, | ||
| 14233 | DWRITE_FONT_FACE_TYPE facetype, | ||
| 14234 | UINT32 files_number, | ||
| 14235 | IDWriteFontFile *const *font_files, | ||
| 14236 | UINT32 index, | ||
| 14237 | DWRITE_FONT_SIMULATIONS sim_flags, | ||
| 14238 | IDWriteFontFace **font_face); | ||
| 14239 | |||
| 14240 | HRESULT (STDMETHODCALLTYPE *CreateRenderingParams)( | ||
| 14241 | IDWriteFactory8 *This, | ||
| 14242 | IDWriteRenderingParams **params); | ||
| 14243 | |||
| 14244 | HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( | ||
| 14245 | IDWriteFactory8 *This, | ||
| 14246 | HMONITOR monitor, | ||
| 14247 | IDWriteRenderingParams **params); | ||
| 14248 | |||
| 14249 | HRESULT (STDMETHODCALLTYPE *CreateCustomRenderingParams)( | ||
| 14250 | IDWriteFactory8 *This, | ||
| 14251 | FLOAT gamma, | ||
| 14252 | FLOAT enhancedContrast, | ||
| 14253 | FLOAT cleartype_level, | ||
| 14254 | DWRITE_PIXEL_GEOMETRY geometry, | ||
| 14255 | DWRITE_RENDERING_MODE mode, | ||
| 14256 | IDWriteRenderingParams **params); | ||
| 14257 | |||
| 14258 | HRESULT (STDMETHODCALLTYPE *RegisterFontFileLoader)( | ||
| 14259 | IDWriteFactory8 *This, | ||
| 14260 | IDWriteFontFileLoader *loader); | ||
| 14261 | |||
| 14262 | HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( | ||
| 14263 | IDWriteFactory8 *This, | ||
| 14264 | IDWriteFontFileLoader *loader); | ||
| 14265 | |||
| 14266 | HRESULT (STDMETHODCALLTYPE *CreateTextFormat)( | ||
| 14267 | IDWriteFactory8 *This, | ||
| 14268 | const WCHAR *family_name, | ||
| 14269 | IDWriteFontCollection *collection, | ||
| 14270 | DWRITE_FONT_WEIGHT weight, | ||
| 14271 | DWRITE_FONT_STYLE style, | ||
| 14272 | DWRITE_FONT_STRETCH stretch, | ||
| 14273 | FLOAT size, | ||
| 14274 | const WCHAR *locale, | ||
| 14275 | IDWriteTextFormat **format); | ||
| 14276 | |||
| 14277 | HRESULT (STDMETHODCALLTYPE *CreateTypography)( | ||
| 14278 | IDWriteFactory8 *This, | ||
| 14279 | IDWriteTypography **typography); | ||
| 14280 | |||
| 14281 | HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( | ||
| 14282 | IDWriteFactory8 *This, | ||
| 14283 | IDWriteGdiInterop **gdi_interop); | ||
| 14284 | |||
| 14285 | HRESULT (STDMETHODCALLTYPE *CreateTextLayout)( | ||
| 14286 | IDWriteFactory8 *This, | ||
| 14287 | const WCHAR *string, | ||
| 14288 | UINT32 len, | ||
| 14289 | IDWriteTextFormat *format, | ||
| 14290 | FLOAT max_width, | ||
| 14291 | FLOAT max_height, | ||
| 14292 | IDWriteTextLayout **layout); | ||
| 14293 | |||
| 14294 | HRESULT (STDMETHODCALLTYPE *CreateGdiCompatibleTextLayout)( | ||
| 14295 | IDWriteFactory8 *This, | ||
| 14296 | const WCHAR *string, | ||
| 14297 | UINT32 len, | ||
| 14298 | IDWriteTextFormat *format, | ||
| 14299 | FLOAT layout_width, | ||
| 14300 | FLOAT layout_height, | ||
| 14301 | FLOAT pixels_per_dip, | ||
| 14302 | const DWRITE_MATRIX *transform, | ||
| 14303 | WINBOOL use_gdi_natural, | ||
| 14304 | IDWriteTextLayout **layout); | ||
| 14305 | |||
| 14306 | HRESULT (STDMETHODCALLTYPE *CreateEllipsisTrimmingSign)( | ||
| 14307 | IDWriteFactory8 *This, | ||
| 14308 | IDWriteTextFormat *format, | ||
| 14309 | IDWriteInlineObject **trimming_sign); | ||
| 14310 | |||
| 14311 | HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( | ||
| 14312 | IDWriteFactory8 *This, | ||
| 14313 | IDWriteTextAnalyzer **analyzer); | ||
| 14314 | |||
| 14315 | HRESULT (STDMETHODCALLTYPE *CreateNumberSubstitution)( | ||
| 14316 | IDWriteFactory8 *This, | ||
| 14317 | DWRITE_NUMBER_SUBSTITUTION_METHOD method, | ||
| 14318 | const WCHAR *locale, | ||
| 14319 | WINBOOL ignore_user_override, | ||
| 14320 | IDWriteNumberSubstitution **substitution); | ||
| 14321 | |||
| 14322 | HRESULT (STDMETHODCALLTYPE *CreateGlyphRunAnalysis)( | ||
| 14323 | IDWriteFactory8 *This, | ||
| 14324 | const DWRITE_GLYPH_RUN *glyph_run, | ||
| 14325 | FLOAT pixels_per_dip, | ||
| 14326 | const DWRITE_MATRIX *transform, | ||
| 14327 | DWRITE_RENDERING_MODE rendering_mode, | ||
| 14328 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14329 | FLOAT baseline_x, | ||
| 14330 | FLOAT baseline_y, | ||
| 14331 | IDWriteGlyphRunAnalysis **analysis); | ||
| 14332 | |||
| 14333 | /*** IDWriteFactory1 methods ***/ | ||
| 14334 | HRESULT (STDMETHODCALLTYPE *GetEudcFontCollection)( | ||
| 14335 | IDWriteFactory8 *This, | ||
| 14336 | IDWriteFontCollection **collection, | ||
| 14337 | WINBOOL check_for_updates); | ||
| 14338 | |||
| 14339 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory1_CreateCustomRenderingParams)( | ||
| 14340 | IDWriteFactory8 *This, | ||
| 14341 | FLOAT gamma, | ||
| 14342 | FLOAT enhcontrast, | ||
| 14343 | FLOAT enhcontrast_grayscale, | ||
| 14344 | FLOAT cleartype_level, | ||
| 14345 | DWRITE_PIXEL_GEOMETRY geometry, | ||
| 14346 | DWRITE_RENDERING_MODE mode, | ||
| 14347 | IDWriteRenderingParams1 **params); | ||
| 14348 | |||
| 14349 | /*** IDWriteFactory2 methods ***/ | ||
| 14350 | HRESULT (STDMETHODCALLTYPE *GetSystemFontFallback)( | ||
| 14351 | IDWriteFactory8 *This, | ||
| 14352 | IDWriteFontFallback **fallback); | ||
| 14353 | |||
| 14354 | HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( | ||
| 14355 | IDWriteFactory8 *This, | ||
| 14356 | IDWriteFontFallbackBuilder **fallbackbuilder); | ||
| 14357 | |||
| 14358 | HRESULT (STDMETHODCALLTYPE *TranslateColorGlyphRun)( | ||
| 14359 | IDWriteFactory8 *This, | ||
| 14360 | FLOAT originX, | ||
| 14361 | FLOAT originY, | ||
| 14362 | const DWRITE_GLYPH_RUN *run, | ||
| 14363 | const DWRITE_GLYPH_RUN_DESCRIPTION *rundescr, | ||
| 14364 | DWRITE_MEASURING_MODE mode, | ||
| 14365 | const DWRITE_MATRIX *transform, | ||
| 14366 | UINT32 palette_index, | ||
| 14367 | IDWriteColorGlyphRunEnumerator **colorlayers); | ||
| 14368 | |||
| 14369 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateCustomRenderingParams)( | ||
| 14370 | IDWriteFactory8 *This, | ||
| 14371 | FLOAT gamma, | ||
| 14372 | FLOAT contrast, | ||
| 14373 | FLOAT grayscalecontrast, | ||
| 14374 | FLOAT cleartypeLevel, | ||
| 14375 | DWRITE_PIXEL_GEOMETRY pixelGeometry, | ||
| 14376 | DWRITE_RENDERING_MODE renderingMode, | ||
| 14377 | DWRITE_GRID_FIT_MODE gridFitMode, | ||
| 14378 | IDWriteRenderingParams2 **params); | ||
| 14379 | |||
| 14380 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory2_CreateGlyphRunAnalysis)( | ||
| 14381 | IDWriteFactory8 *This, | ||
| 14382 | const DWRITE_GLYPH_RUN *run, | ||
| 14383 | const DWRITE_MATRIX *transform, | ||
| 14384 | DWRITE_RENDERING_MODE renderingMode, | ||
| 14385 | DWRITE_MEASURING_MODE measuringMode, | ||
| 14386 | DWRITE_GRID_FIT_MODE gridFitMode, | ||
| 14387 | DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, | ||
| 14388 | FLOAT originX, | ||
| 14389 | FLOAT originY, | ||
| 14390 | IDWriteGlyphRunAnalysis **analysis); | ||
| 14391 | |||
| 14392 | /*** IDWriteFactory3 methods ***/ | ||
| 14393 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateGlyphRunAnalysis)( | ||
| 14394 | IDWriteFactory8 *This, | ||
| 14395 | const DWRITE_GLYPH_RUN *run, | ||
| 14396 | const DWRITE_MATRIX *transform, | ||
| 14397 | DWRITE_RENDERING_MODE1 rendering_mode, | ||
| 14398 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14399 | DWRITE_GRID_FIT_MODE gridfit_mode, | ||
| 14400 | DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, | ||
| 14401 | FLOAT origin_x, | ||
| 14402 | FLOAT origin_y, | ||
| 14403 | IDWriteGlyphRunAnalysis **analysis); | ||
| 14404 | |||
| 14405 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_CreateCustomRenderingParams)( | ||
| 14406 | IDWriteFactory8 *This, | ||
| 14407 | FLOAT gamma, | ||
| 14408 | FLOAT enhanced_contrast, | ||
| 14409 | FLOAT grayscale_enhanced_contrast, | ||
| 14410 | FLOAT cleartype_level, | ||
| 14411 | DWRITE_PIXEL_GEOMETRY pixel_geometry, | ||
| 14412 | DWRITE_RENDERING_MODE1 rendering_mode, | ||
| 14413 | DWRITE_GRID_FIT_MODE gridfit_mode, | ||
| 14414 | IDWriteRenderingParams3 **params); | ||
| 14415 | |||
| 14416 | HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference_)( | ||
| 14417 | IDWriteFactory8 *This, | ||
| 14418 | IDWriteFontFile *file, | ||
| 14419 | UINT32 index, | ||
| 14420 | DWRITE_FONT_SIMULATIONS simulations, | ||
| 14421 | IDWriteFontFaceReference **reference); | ||
| 14422 | |||
| 14423 | HRESULT (STDMETHODCALLTYPE *CreateFontFaceReference)( | ||
| 14424 | IDWriteFactory8 *This, | ||
| 14425 | const WCHAR *path, | ||
| 14426 | const FILETIME *writetime, | ||
| 14427 | UINT32 index, | ||
| 14428 | DWRITE_FONT_SIMULATIONS simulations, | ||
| 14429 | IDWriteFontFaceReference **reference); | ||
| 14430 | |||
| 14431 | HRESULT (STDMETHODCALLTYPE *GetSystemFontSet)( | ||
| 14432 | IDWriteFactory8 *This, | ||
| 14433 | IDWriteFontSet **fontset); | ||
| 14434 | |||
| 14435 | HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( | ||
| 14436 | IDWriteFactory8 *This, | ||
| 14437 | IDWriteFontSetBuilder **builder); | ||
| 14438 | |||
| 14439 | HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( | ||
| 14440 | IDWriteFactory8 *This, | ||
| 14441 | IDWriteFontSet *fontset, | ||
| 14442 | IDWriteFontCollection1 **collection); | ||
| 14443 | |||
| 14444 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory3_GetSystemFontCollection)( | ||
| 14445 | IDWriteFactory8 *This, | ||
| 14446 | WINBOOL include_downloadable, | ||
| 14447 | IDWriteFontCollection1 **collection, | ||
| 14448 | WINBOOL check_for_updates); | ||
| 14449 | |||
| 14450 | HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( | ||
| 14451 | IDWriteFactory8 *This, | ||
| 14452 | IDWriteFontDownloadQueue **queue); | ||
| 14453 | |||
| 14454 | /*** IDWriteFactory4 methods ***/ | ||
| 14455 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory4_TranslateColorGlyphRun)( | ||
| 14456 | IDWriteFactory8 *This, | ||
| 14457 | D2D1_POINT_2F baseline_origin, | ||
| 14458 | const DWRITE_GLYPH_RUN *run, | ||
| 14459 | const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, | ||
| 14460 | DWRITE_GLYPH_IMAGE_FORMATS desired_formats, | ||
| 14461 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14462 | const DWRITE_MATRIX *transform, | ||
| 14463 | UINT32 palette, | ||
| 14464 | IDWriteColorGlyphRunEnumerator1 **layers); | ||
| 14465 | |||
| 14466 | HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins_)( | ||
| 14467 | IDWriteFactory8 *This, | ||
| 14468 | const DWRITE_GLYPH_RUN *run, | ||
| 14469 | D2D1_POINT_2F baseline_origin, | ||
| 14470 | D2D1_POINT_2F *origins); | ||
| 14471 | |||
| 14472 | HRESULT (STDMETHODCALLTYPE *ComputeGlyphOrigins)( | ||
| 14473 | IDWriteFactory8 *This, | ||
| 14474 | const DWRITE_GLYPH_RUN *run, | ||
| 14475 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14476 | D2D1_POINT_2F baseline_origin, | ||
| 14477 | const DWRITE_MATRIX *transform, | ||
| 14478 | D2D1_POINT_2F *origins); | ||
| 14479 | |||
| 14480 | /*** IDWriteFactory5 methods ***/ | ||
| 14481 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory5_CreateFontSetBuilder)( | ||
| 14482 | IDWriteFactory8 *This, | ||
| 14483 | IDWriteFontSetBuilder1 **fontset_builder); | ||
| 14484 | |||
| 14485 | HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( | ||
| 14486 | IDWriteFactory8 *This, | ||
| 14487 | IDWriteInMemoryFontFileLoader **loader); | ||
| 14488 | |||
| 14489 | HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( | ||
| 14490 | IDWriteFactory8 *This, | ||
| 14491 | const WCHAR *referrer_url, | ||
| 14492 | const WCHAR *extra_headers, | ||
| 14493 | IDWriteRemoteFontFileLoader **loader); | ||
| 14494 | |||
| 14495 | DWRITE_CONTAINER_TYPE (STDMETHODCALLTYPE *AnalyzeContainerType)( | ||
| 14496 | IDWriteFactory8 *This, | ||
| 14497 | const void *data, | ||
| 14498 | UINT32 data_size); | ||
| 14499 | |||
| 14500 | HRESULT (STDMETHODCALLTYPE *UnpackFontFile)( | ||
| 14501 | IDWriteFactory8 *This, | ||
| 14502 | DWRITE_CONTAINER_TYPE container_type, | ||
| 14503 | const void *data, | ||
| 14504 | UINT32 data_size, | ||
| 14505 | IDWriteFontFileStream **stream); | ||
| 14506 | |||
| 14507 | /*** IDWriteFactory6 methods ***/ | ||
| 14508 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontFaceReference)( | ||
| 14509 | IDWriteFactory8 *This, | ||
| 14510 | IDWriteFontFile *file, | ||
| 14511 | UINT32 face_index, | ||
| 14512 | DWRITE_FONT_SIMULATIONS simulations, | ||
| 14513 | const DWRITE_FONT_AXIS_VALUE *axis_values, | ||
| 14514 | UINT32 num_axis, | ||
| 14515 | IDWriteFontFaceReference1 **face_ref); | ||
| 14516 | |||
| 14517 | HRESULT (STDMETHODCALLTYPE *CreateFontResource)( | ||
| 14518 | IDWriteFactory8 *This, | ||
| 14519 | IDWriteFontFile *file, | ||
| 14520 | UINT32 face_index, | ||
| 14521 | IDWriteFontResource **resource); | ||
| 14522 | |||
| 14523 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( | ||
| 14524 | IDWriteFactory8 *This, | ||
| 14525 | WINBOOL include_downloadable, | ||
| 14526 | IDWriteFontSet1 **fontset); | ||
| 14527 | |||
| 14528 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontCollection)( | ||
| 14529 | IDWriteFactory8 *This, | ||
| 14530 | WINBOOL include_downloadable, | ||
| 14531 | DWRITE_FONT_FAMILY_MODEL family_model, | ||
| 14532 | IDWriteFontCollection2 **collection); | ||
| 14533 | |||
| 14534 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontCollectionFromFontSet)( | ||
| 14535 | IDWriteFactory8 *This, | ||
| 14536 | IDWriteFontSet *fontset, | ||
| 14537 | DWRITE_FONT_FAMILY_MODEL family_model, | ||
| 14538 | IDWriteFontCollection2 **collection); | ||
| 14539 | |||
| 14540 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( | ||
| 14541 | IDWriteFactory8 *This, | ||
| 14542 | IDWriteFontSetBuilder2 **builder); | ||
| 14543 | |||
| 14544 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateTextFormat)( | ||
| 14545 | IDWriteFactory8 *This, | ||
| 14546 | const WCHAR *familyname, | ||
| 14547 | IDWriteFontCollection *collection, | ||
| 14548 | const DWRITE_FONT_AXIS_VALUE *axis_values, | ||
| 14549 | UINT32 num_axis, | ||
| 14550 | FLOAT fontsize, | ||
| 14551 | const WCHAR *localename, | ||
| 14552 | IDWriteTextFormat3 **format); | ||
| 14553 | |||
| 14554 | /*** IDWriteFactory7 methods ***/ | ||
| 14555 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontSet)( | ||
| 14556 | IDWriteFactory8 *This, | ||
| 14557 | WINBOOL include_downloadable, | ||
| 14558 | IDWriteFontSet2 **fontset); | ||
| 14559 | |||
| 14560 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory7_GetSystemFontCollection)( | ||
| 14561 | IDWriteFactory8 *This, | ||
| 14562 | WINBOOL include_downloadable, | ||
| 14563 | DWRITE_FONT_FAMILY_MODEL family_model, | ||
| 14564 | IDWriteFontCollection3 **collection); | ||
| 14565 | |||
| 14566 | /*** IDWriteFactory8 methods ***/ | ||
| 14567 | HRESULT (STDMETHODCALLTYPE *IDWriteFactory8_TranslateColorGlyphRun)( | ||
| 14568 | IDWriteFactory8 *This, | ||
| 14569 | D2D1_POINT_2F origin, | ||
| 14570 | const DWRITE_GLYPH_RUN *glyph_run, | ||
| 14571 | const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc, | ||
| 14572 | DWRITE_GLYPH_IMAGE_FORMATS image_formats, | ||
| 14573 | DWRITE_PAINT_FEATURE_LEVEL feature_level, | ||
| 14574 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14575 | const DWRITE_MATRIX *world_and_dpi_transform, | ||
| 14576 | UINT32 palette_index, | ||
| 14577 | IDWriteColorGlyphRunEnumerator1 **enumerator); | ||
| 14578 | |||
| 14579 | END_INTERFACE | ||
| 14580 | } IDWriteFactory8Vtbl; | ||
| 14581 | |||
| 14582 | interface IDWriteFactory8 { | ||
| 14583 | CONST_VTBL IDWriteFactory8Vtbl* lpVtbl; | ||
| 14584 | }; | ||
| 14585 | |||
| 14586 | #ifdef COBJMACROS | ||
| 14587 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 14588 | /*** IUnknown methods ***/ | ||
| 14589 | #define IDWriteFactory8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 14590 | #define IDWriteFactory8_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 14591 | #define IDWriteFactory8_Release(This) (This)->lpVtbl->Release(This) | ||
| 14592 | /*** IDWriteFactory methods ***/ | ||
| 14593 | #define IDWriteFactory8_CreateCustomFontCollection(This,loader,key,key_size,collection) (This)->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection) | ||
| 14594 | #define IDWriteFactory8_RegisterFontCollectionLoader(This,loader) (This)->lpVtbl->RegisterFontCollectionLoader(This,loader) | ||
| 14595 | #define IDWriteFactory8_UnregisterFontCollectionLoader(This,loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This,loader) | ||
| 14596 | #define IDWriteFactory8_CreateFontFileReference(This,path,writetime,font_file) (This)->lpVtbl->CreateFontFileReference(This,path,writetime,font_file) | ||
| 14597 | #define IDWriteFactory8_CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) (This)->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file) | ||
| 14598 | #define IDWriteFactory8_CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) (This)->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face) | ||
| 14599 | #define IDWriteFactory8_CreateRenderingParams(This,params) (This)->lpVtbl->CreateRenderingParams(This,params) | ||
| 14600 | #define IDWriteFactory8_CreateMonitorRenderingParams(This,monitor,params) (This)->lpVtbl->CreateMonitorRenderingParams(This,monitor,params) | ||
| 14601 | #define IDWriteFactory8_RegisterFontFileLoader(This,loader) (This)->lpVtbl->RegisterFontFileLoader(This,loader) | ||
| 14602 | #define IDWriteFactory8_UnregisterFontFileLoader(This,loader) (This)->lpVtbl->UnregisterFontFileLoader(This,loader) | ||
| 14603 | #define IDWriteFactory8_CreateTypography(This,typography) (This)->lpVtbl->CreateTypography(This,typography) | ||
| 14604 | #define IDWriteFactory8_GetGdiInterop(This,gdi_interop) (This)->lpVtbl->GetGdiInterop(This,gdi_interop) | ||
| 14605 | #define IDWriteFactory8_CreateTextLayout(This,string,len,format,max_width,max_height,layout) (This)->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout) | ||
| 14606 | #define IDWriteFactory8_CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout) | ||
| 14607 | #define IDWriteFactory8_CreateEllipsisTrimmingSign(This,format,trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign) | ||
| 14608 | #define IDWriteFactory8_CreateTextAnalyzer(This,analyzer) (This)->lpVtbl->CreateTextAnalyzer(This,analyzer) | ||
| 14609 | #define IDWriteFactory8_CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) (This)->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution) | ||
| 14610 | /*** IDWriteFactory1 methods ***/ | ||
| 14611 | #define IDWriteFactory8_GetEudcFontCollection(This,collection,check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates) | ||
| 14612 | /*** IDWriteFactory2 methods ***/ | ||
| 14613 | #define IDWriteFactory8_GetSystemFontFallback(This,fallback) (This)->lpVtbl->GetSystemFontFallback(This,fallback) | ||
| 14614 | #define IDWriteFactory8_CreateFontFallbackBuilder(This,fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder) | ||
| 14615 | /*** IDWriteFactory3 methods ***/ | ||
| 14616 | #define IDWriteFactory8_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis) | ||
| 14617 | #define IDWriteFactory8_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params) | ||
| 14618 | #define IDWriteFactory8_CreateFontFaceReference_(This,file,index,simulations,reference) (This)->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference) | ||
| 14619 | #define IDWriteFactory8_GetFontDownloadQueue(This,queue) (This)->lpVtbl->GetFontDownloadQueue(This,queue) | ||
| 14620 | /*** IDWriteFactory4 methods ***/ | ||
| 14621 | #define IDWriteFactory8_ComputeGlyphOrigins_(This,run,baseline_origin,origins) (This)->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins) | ||
| 14622 | #define IDWriteFactory8_ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) (This)->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins) | ||
| 14623 | /*** IDWriteFactory5 methods ***/ | ||
| 14624 | #define IDWriteFactory8_CreateInMemoryFontFileLoader(This,loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This,loader) | ||
| 14625 | #define IDWriteFactory8_CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) (This)->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader) | ||
| 14626 | #define IDWriteFactory8_AnalyzeContainerType(This,data,data_size) (This)->lpVtbl->AnalyzeContainerType(This,data,data_size) | ||
| 14627 | #define IDWriteFactory8_UnpackFontFile(This,container_type,data,data_size,stream) (This)->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream) | ||
| 14628 | /*** IDWriteFactory6 methods ***/ | ||
| 14629 | #define IDWriteFactory8_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref) | ||
| 14630 | #define IDWriteFactory8_CreateFontResource(This,file,face_index,resource) (This)->lpVtbl->CreateFontResource(This,file,face_index,resource) | ||
| 14631 | #define IDWriteFactory8_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection) | ||
| 14632 | #define IDWriteFactory8_CreateFontSetBuilder(This,builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder) | ||
| 14633 | #define IDWriteFactory8_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format) | ||
| 14634 | /*** IDWriteFactory7 methods ***/ | ||
| 14635 | #define IDWriteFactory8_GetSystemFontSet(This,include_downloadable,fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset) | ||
| 14636 | #define IDWriteFactory8_GetSystemFontCollection(This,include_downloadable,family_model,collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection) | ||
| 14637 | /*** IDWriteFactory8 methods ***/ | ||
| 14638 | #define IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator) (This)->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator) | ||
| 14639 | #else | ||
| 14640 | /*** IUnknown methods ***/ | ||
| 14641 | static inline HRESULT IDWriteFactory8_QueryInterface(IDWriteFactory8* This,REFIID riid,void **ppvObject) { | ||
| 14642 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 14643 | } | ||
| 14644 | static inline ULONG IDWriteFactory8_AddRef(IDWriteFactory8* This) { | ||
| 14645 | return This->lpVtbl->AddRef(This); | ||
| 14646 | } | ||
| 14647 | static inline ULONG IDWriteFactory8_Release(IDWriteFactory8* This) { | ||
| 14648 | return This->lpVtbl->Release(This); | ||
| 14649 | } | ||
| 14650 | /*** IDWriteFactory methods ***/ | ||
| 14651 | static inline HRESULT IDWriteFactory8_CreateCustomFontCollection(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader,const void *key,UINT32 key_size,IDWriteFontCollection **collection) { | ||
| 14652 | return This->lpVtbl->CreateCustomFontCollection(This,loader,key,key_size,collection); | ||
| 14653 | } | ||
| 14654 | static inline HRESULT IDWriteFactory8_RegisterFontCollectionLoader(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader) { | ||
| 14655 | return This->lpVtbl->RegisterFontCollectionLoader(This,loader); | ||
| 14656 | } | ||
| 14657 | static inline HRESULT IDWriteFactory8_UnregisterFontCollectionLoader(IDWriteFactory8* This,IDWriteFontCollectionLoader *loader) { | ||
| 14658 | return This->lpVtbl->UnregisterFontCollectionLoader(This,loader); | ||
| 14659 | } | ||
| 14660 | static inline HRESULT IDWriteFactory8_CreateFontFileReference(IDWriteFactory8* This,const WCHAR *path,const FILETIME *writetime,IDWriteFontFile **font_file) { | ||
| 14661 | return This->lpVtbl->CreateFontFileReference(This,path,writetime,font_file); | ||
| 14662 | } | ||
| 14663 | static inline HRESULT IDWriteFactory8_CreateCustomFontFileReference(IDWriteFactory8* This,const void *reference_key,UINT32 key_size,IDWriteFontFileLoader *loader,IDWriteFontFile **font_file) { | ||
| 14664 | return This->lpVtbl->CreateCustomFontFileReference(This,reference_key,key_size,loader,font_file); | ||
| 14665 | } | ||
| 14666 | static inline HRESULT IDWriteFactory8_CreateFontFace(IDWriteFactory8* This,DWRITE_FONT_FACE_TYPE facetype,UINT32 files_number,IDWriteFontFile *const *font_files,UINT32 index,DWRITE_FONT_SIMULATIONS sim_flags,IDWriteFontFace **font_face) { | ||
| 14667 | return This->lpVtbl->CreateFontFace(This,facetype,files_number,font_files,index,sim_flags,font_face); | ||
| 14668 | } | ||
| 14669 | static inline HRESULT IDWriteFactory8_CreateRenderingParams(IDWriteFactory8* This,IDWriteRenderingParams **params) { | ||
| 14670 | return This->lpVtbl->CreateRenderingParams(This,params); | ||
| 14671 | } | ||
| 14672 | static inline HRESULT IDWriteFactory8_CreateMonitorRenderingParams(IDWriteFactory8* This,HMONITOR monitor,IDWriteRenderingParams **params) { | ||
| 14673 | return This->lpVtbl->CreateMonitorRenderingParams(This,monitor,params); | ||
| 14674 | } | ||
| 14675 | static inline HRESULT IDWriteFactory8_RegisterFontFileLoader(IDWriteFactory8* This,IDWriteFontFileLoader *loader) { | ||
| 14676 | return This->lpVtbl->RegisterFontFileLoader(This,loader); | ||
| 14677 | } | ||
| 14678 | static inline HRESULT IDWriteFactory8_UnregisterFontFileLoader(IDWriteFactory8* This,IDWriteFontFileLoader *loader) { | ||
| 14679 | return This->lpVtbl->UnregisterFontFileLoader(This,loader); | ||
| 14680 | } | ||
| 14681 | static inline HRESULT IDWriteFactory8_CreateTypography(IDWriteFactory8* This,IDWriteTypography **typography) { | ||
| 14682 | return This->lpVtbl->CreateTypography(This,typography); | ||
| 14683 | } | ||
| 14684 | static inline HRESULT IDWriteFactory8_GetGdiInterop(IDWriteFactory8* This,IDWriteGdiInterop **gdi_interop) { | ||
| 14685 | return This->lpVtbl->GetGdiInterop(This,gdi_interop); | ||
| 14686 | } | ||
| 14687 | static inline HRESULT IDWriteFactory8_CreateTextLayout(IDWriteFactory8* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT max_width,FLOAT max_height,IDWriteTextLayout **layout) { | ||
| 14688 | return This->lpVtbl->CreateTextLayout(This,string,len,format,max_width,max_height,layout); | ||
| 14689 | } | ||
| 14690 | static inline HRESULT IDWriteFactory8_CreateGdiCompatibleTextLayout(IDWriteFactory8* This,const WCHAR *string,UINT32 len,IDWriteTextFormat *format,FLOAT layout_width,FLOAT layout_height,FLOAT pixels_per_dip,const DWRITE_MATRIX *transform,WINBOOL use_gdi_natural,IDWriteTextLayout **layout) { | ||
| 14691 | return This->lpVtbl->CreateGdiCompatibleTextLayout(This,string,len,format,layout_width,layout_height,pixels_per_dip,transform,use_gdi_natural,layout); | ||
| 14692 | } | ||
| 14693 | static inline HRESULT IDWriteFactory8_CreateEllipsisTrimmingSign(IDWriteFactory8* This,IDWriteTextFormat *format,IDWriteInlineObject **trimming_sign) { | ||
| 14694 | return This->lpVtbl->CreateEllipsisTrimmingSign(This,format,trimming_sign); | ||
| 14695 | } | ||
| 14696 | static inline HRESULT IDWriteFactory8_CreateTextAnalyzer(IDWriteFactory8* This,IDWriteTextAnalyzer **analyzer) { | ||
| 14697 | return This->lpVtbl->CreateTextAnalyzer(This,analyzer); | ||
| 14698 | } | ||
| 14699 | static inline HRESULT IDWriteFactory8_CreateNumberSubstitution(IDWriteFactory8* This,DWRITE_NUMBER_SUBSTITUTION_METHOD method,const WCHAR *locale,WINBOOL ignore_user_override,IDWriteNumberSubstitution **substitution) { | ||
| 14700 | return This->lpVtbl->CreateNumberSubstitution(This,method,locale,ignore_user_override,substitution); | ||
| 14701 | } | ||
| 14702 | /*** IDWriteFactory1 methods ***/ | ||
| 14703 | static inline HRESULT IDWriteFactory8_GetEudcFontCollection(IDWriteFactory8* This,IDWriteFontCollection **collection,WINBOOL check_for_updates) { | ||
| 14704 | return This->lpVtbl->GetEudcFontCollection(This,collection,check_for_updates); | ||
| 14705 | } | ||
| 14706 | /*** IDWriteFactory2 methods ***/ | ||
| 14707 | static inline HRESULT IDWriteFactory8_GetSystemFontFallback(IDWriteFactory8* This,IDWriteFontFallback **fallback) { | ||
| 14708 | return This->lpVtbl->GetSystemFontFallback(This,fallback); | ||
| 14709 | } | ||
| 14710 | static inline HRESULT IDWriteFactory8_CreateFontFallbackBuilder(IDWriteFactory8* This,IDWriteFontFallbackBuilder **fallbackbuilder) { | ||
| 14711 | return This->lpVtbl->CreateFontFallbackBuilder(This,fallbackbuilder); | ||
| 14712 | } | ||
| 14713 | /*** IDWriteFactory3 methods ***/ | ||
| 14714 | static inline HRESULT IDWriteFactory8_CreateGlyphRunAnalysis(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,const DWRITE_MATRIX *transform,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_MEASURING_MODE measuring_mode,DWRITE_GRID_FIT_MODE gridfit_mode,DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,FLOAT origin_x,FLOAT origin_y,IDWriteGlyphRunAnalysis **analysis) { | ||
| 14715 | return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This,run,transform,rendering_mode,measuring_mode,gridfit_mode,antialias_mode,origin_x,origin_y,analysis); | ||
| 14716 | } | ||
| 14717 | static inline HRESULT IDWriteFactory8_CreateCustomRenderingParams(IDWriteFactory8* This,FLOAT gamma,FLOAT enhanced_contrast,FLOAT grayscale_enhanced_contrast,FLOAT cleartype_level,DWRITE_PIXEL_GEOMETRY pixel_geometry,DWRITE_RENDERING_MODE1 rendering_mode,DWRITE_GRID_FIT_MODE gridfit_mode,IDWriteRenderingParams3 **params) { | ||
| 14718 | return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This,gamma,enhanced_contrast,grayscale_enhanced_contrast,cleartype_level,pixel_geometry,rendering_mode,gridfit_mode,params); | ||
| 14719 | } | ||
| 14720 | static inline HRESULT IDWriteFactory8_CreateFontFaceReference_(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 index,DWRITE_FONT_SIMULATIONS simulations,IDWriteFontFaceReference **reference) { | ||
| 14721 | return This->lpVtbl->CreateFontFaceReference_(This,file,index,simulations,reference); | ||
| 14722 | } | ||
| 14723 | static inline HRESULT IDWriteFactory8_GetFontDownloadQueue(IDWriteFactory8* This,IDWriteFontDownloadQueue **queue) { | ||
| 14724 | return This->lpVtbl->GetFontDownloadQueue(This,queue); | ||
| 14725 | } | ||
| 14726 | /*** IDWriteFactory4 methods ***/ | ||
| 14727 | static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins_(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,D2D1_POINT_2F baseline_origin,D2D1_POINT_2F *origins) { | ||
| 14728 | return This->lpVtbl->ComputeGlyphOrigins_(This,run,baseline_origin,origins); | ||
| 14729 | } | ||
| 14730 | static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins(IDWriteFactory8* This,const DWRITE_GLYPH_RUN *run,DWRITE_MEASURING_MODE measuring_mode,D2D1_POINT_2F baseline_origin,const DWRITE_MATRIX *transform,D2D1_POINT_2F *origins) { | ||
| 14731 | return This->lpVtbl->ComputeGlyphOrigins(This,run,measuring_mode,baseline_origin,transform,origins); | ||
| 14732 | } | ||
| 14733 | /*** IDWriteFactory5 methods ***/ | ||
| 14734 | static inline HRESULT IDWriteFactory8_CreateInMemoryFontFileLoader(IDWriteFactory8* This,IDWriteInMemoryFontFileLoader **loader) { | ||
| 14735 | return This->lpVtbl->CreateInMemoryFontFileLoader(This,loader); | ||
| 14736 | } | ||
| 14737 | static inline HRESULT IDWriteFactory8_CreateHttpFontFileLoader(IDWriteFactory8* This,const WCHAR *referrer_url,const WCHAR *extra_headers,IDWriteRemoteFontFileLoader **loader) { | ||
| 14738 | return This->lpVtbl->CreateHttpFontFileLoader(This,referrer_url,extra_headers,loader); | ||
| 14739 | } | ||
| 14740 | static inline DWRITE_CONTAINER_TYPE IDWriteFactory8_AnalyzeContainerType(IDWriteFactory8* This,const void *data,UINT32 data_size) { | ||
| 14741 | return This->lpVtbl->AnalyzeContainerType(This,data,data_size); | ||
| 14742 | } | ||
| 14743 | static inline HRESULT IDWriteFactory8_UnpackFontFile(IDWriteFactory8* This,DWRITE_CONTAINER_TYPE container_type,const void *data,UINT32 data_size,IDWriteFontFileStream **stream) { | ||
| 14744 | return This->lpVtbl->UnpackFontFile(This,container_type,data,data_size,stream); | ||
| 14745 | } | ||
| 14746 | /*** IDWriteFactory6 methods ***/ | ||
| 14747 | static inline HRESULT IDWriteFactory8_CreateFontFaceReference(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 face_index,DWRITE_FONT_SIMULATIONS simulations,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,IDWriteFontFaceReference1 **face_ref) { | ||
| 14748 | return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This,file,face_index,simulations,axis_values,num_axis,face_ref); | ||
| 14749 | } | ||
| 14750 | static inline HRESULT IDWriteFactory8_CreateFontResource(IDWriteFactory8* This,IDWriteFontFile *file,UINT32 face_index,IDWriteFontResource **resource) { | ||
| 14751 | return This->lpVtbl->CreateFontResource(This,file,face_index,resource); | ||
| 14752 | } | ||
| 14753 | static inline HRESULT IDWriteFactory8_CreateFontCollectionFromFontSet(IDWriteFactory8* This,IDWriteFontSet *fontset,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection2 **collection) { | ||
| 14754 | return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This,fontset,family_model,collection); | ||
| 14755 | } | ||
| 14756 | static inline HRESULT IDWriteFactory8_CreateFontSetBuilder(IDWriteFactory8* This,IDWriteFontSetBuilder2 **builder) { | ||
| 14757 | return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This,builder); | ||
| 14758 | } | ||
| 14759 | static inline HRESULT IDWriteFactory8_CreateTextFormat(IDWriteFactory8* This,const WCHAR *familyname,IDWriteFontCollection *collection,const DWRITE_FONT_AXIS_VALUE *axis_values,UINT32 num_axis,FLOAT fontsize,const WCHAR *localename,IDWriteTextFormat3 **format) { | ||
| 14760 | return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This,familyname,collection,axis_values,num_axis,fontsize,localename,format); | ||
| 14761 | } | ||
| 14762 | /*** IDWriteFactory7 methods ***/ | ||
| 14763 | static inline HRESULT IDWriteFactory8_GetSystemFontSet(IDWriteFactory8* This,WINBOOL include_downloadable,IDWriteFontSet2 **fontset) { | ||
| 14764 | return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This,include_downloadable,fontset); | ||
| 14765 | } | ||
| 14766 | static inline HRESULT IDWriteFactory8_GetSystemFontCollection(IDWriteFactory8* This,WINBOOL include_downloadable,DWRITE_FONT_FAMILY_MODEL family_model,IDWriteFontCollection3 **collection) { | ||
| 14767 | return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This,include_downloadable,family_model,collection); | ||
| 14768 | } | ||
| 14769 | /*** IDWriteFactory8 methods ***/ | ||
| 14770 | static inline HRESULT IDWriteFactory8_TranslateColorGlyphRun(IDWriteFactory8* This,D2D1_POINT_2F origin,const DWRITE_GLYPH_RUN *glyph_run,const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,DWRITE_GLYPH_IMAGE_FORMATS image_formats,DWRITE_PAINT_FEATURE_LEVEL feature_level,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_MATRIX *world_and_dpi_transform,UINT32 palette_index,IDWriteColorGlyphRunEnumerator1 **enumerator) { | ||
| 14771 | return This->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This,origin,glyph_run,glyph_run_desc,image_formats,feature_level,measuring_mode,world_and_dpi_transform,palette_index,enumerator); | ||
| 14772 | } | ||
| 14773 | #endif | ||
| 14774 | #endif | ||
| 14775 | |||
| 14776 | #endif | ||
| 14777 | |||
| 14778 | |||
| 14779 | #endif /* __IDWriteFactory8_INTERFACE_DEFINED__ */ | ||
| 14780 | |||
| 14781 | typedef struct DWRITE_BITMAP_DATA_BGRA32 { | ||
| 14782 | UINT32 width; | ||
| 14783 | UINT32 height; | ||
| 14784 | UINT32 *pixels; | ||
| 14785 | } DWRITE_BITMAP_DATA_BGRA32; | ||
| 14786 | /***************************************************************************** | ||
| 14787 | * IDWriteBitmapRenderTarget2 interface | ||
| 14788 | */ | ||
| 14789 | #ifndef __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ | ||
| 14790 | #define __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ | ||
| 14791 | |||
| 14792 | DEFINE_GUID(IID_IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6,0x6e, 0xb8,0xb9,0xed,0x6c,0x39,0x95); | ||
| 14793 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14794 | MIDL_INTERFACE("c553a742-fc01-44da-a66e-b8b9ed6c3995") | ||
| 14795 | IDWriteBitmapRenderTarget2 : public IDWriteBitmapRenderTarget1 | ||
| 14796 | { | ||
| 14797 | virtual HRESULT STDMETHODCALLTYPE GetBitmapData( | ||
| 14798 | DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) = 0; | ||
| 14799 | |||
| 14800 | }; | ||
| 14801 | #ifdef __CRT_UUID_DECL | ||
| 14802 | __CRT_UUID_DECL(IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6,0x6e, 0xb8,0xb9,0xed,0x6c,0x39,0x95) | ||
| 14803 | #endif | ||
| 14804 | #else | ||
| 14805 | typedef struct IDWriteBitmapRenderTarget2Vtbl { | ||
| 14806 | BEGIN_INTERFACE | ||
| 14807 | |||
| 14808 | /*** IUnknown methods ***/ | ||
| 14809 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 14810 | IDWriteBitmapRenderTarget2 *This, | ||
| 14811 | REFIID riid, | ||
| 14812 | void **ppvObject); | ||
| 14813 | |||
| 14814 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 14815 | IDWriteBitmapRenderTarget2 *This); | ||
| 14816 | |||
| 14817 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 14818 | IDWriteBitmapRenderTarget2 *This); | ||
| 14819 | |||
| 14820 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 14821 | HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( | ||
| 14822 | IDWriteBitmapRenderTarget2 *This, | ||
| 14823 | FLOAT baselineOriginX, | ||
| 14824 | FLOAT baselineOriginY, | ||
| 14825 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14826 | const DWRITE_GLYPH_RUN *glyph_run, | ||
| 14827 | IDWriteRenderingParams *params, | ||
| 14828 | COLORREF textColor, | ||
| 14829 | RECT *blackbox_rect); | ||
| 14830 | |||
| 14831 | HDC (STDMETHODCALLTYPE *GetMemoryDC)( | ||
| 14832 | IDWriteBitmapRenderTarget2 *This); | ||
| 14833 | |||
| 14834 | FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( | ||
| 14835 | IDWriteBitmapRenderTarget2 *This); | ||
| 14836 | |||
| 14837 | HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( | ||
| 14838 | IDWriteBitmapRenderTarget2 *This, | ||
| 14839 | FLOAT pixels_per_dip); | ||
| 14840 | |||
| 14841 | HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( | ||
| 14842 | IDWriteBitmapRenderTarget2 *This, | ||
| 14843 | DWRITE_MATRIX *transform); | ||
| 14844 | |||
| 14845 | HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( | ||
| 14846 | IDWriteBitmapRenderTarget2 *This, | ||
| 14847 | const DWRITE_MATRIX *transform); | ||
| 14848 | |||
| 14849 | HRESULT (STDMETHODCALLTYPE *GetSize)( | ||
| 14850 | IDWriteBitmapRenderTarget2 *This, | ||
| 14851 | SIZE *size); | ||
| 14852 | |||
| 14853 | HRESULT (STDMETHODCALLTYPE *Resize)( | ||
| 14854 | IDWriteBitmapRenderTarget2 *This, | ||
| 14855 | UINT32 width, | ||
| 14856 | UINT32 height); | ||
| 14857 | |||
| 14858 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 14859 | DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( | ||
| 14860 | IDWriteBitmapRenderTarget2 *This); | ||
| 14861 | |||
| 14862 | HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( | ||
| 14863 | IDWriteBitmapRenderTarget2 *This, | ||
| 14864 | DWRITE_TEXT_ANTIALIAS_MODE mode); | ||
| 14865 | |||
| 14866 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 14867 | HRESULT (STDMETHODCALLTYPE *GetBitmapData)( | ||
| 14868 | IDWriteBitmapRenderTarget2 *This, | ||
| 14869 | DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); | ||
| 14870 | |||
| 14871 | END_INTERFACE | ||
| 14872 | } IDWriteBitmapRenderTarget2Vtbl; | ||
| 14873 | |||
| 14874 | interface IDWriteBitmapRenderTarget2 { | ||
| 14875 | CONST_VTBL IDWriteBitmapRenderTarget2Vtbl* lpVtbl; | ||
| 14876 | }; | ||
| 14877 | |||
| 14878 | #ifdef COBJMACROS | ||
| 14879 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 14880 | /*** IUnknown methods ***/ | ||
| 14881 | #define IDWriteBitmapRenderTarget2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 14882 | #define IDWriteBitmapRenderTarget2_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 14883 | #define IDWriteBitmapRenderTarget2_Release(This) (This)->lpVtbl->Release(This) | ||
| 14884 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 14885 | #define IDWriteBitmapRenderTarget2_DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) | ||
| 14886 | #define IDWriteBitmapRenderTarget2_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) | ||
| 14887 | #define IDWriteBitmapRenderTarget2_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) | ||
| 14888 | #define IDWriteBitmapRenderTarget2_SetPixelsPerDip(This,pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This,pixels_per_dip) | ||
| 14889 | #define IDWriteBitmapRenderTarget2_GetCurrentTransform(This,transform) (This)->lpVtbl->GetCurrentTransform(This,transform) | ||
| 14890 | #define IDWriteBitmapRenderTarget2_SetCurrentTransform(This,transform) (This)->lpVtbl->SetCurrentTransform(This,transform) | ||
| 14891 | #define IDWriteBitmapRenderTarget2_GetSize(This,size) (This)->lpVtbl->GetSize(This,size) | ||
| 14892 | #define IDWriteBitmapRenderTarget2_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) | ||
| 14893 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 14894 | #define IDWriteBitmapRenderTarget2_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) | ||
| 14895 | #define IDWriteBitmapRenderTarget2_SetTextAntialiasMode(This,mode) (This)->lpVtbl->SetTextAntialiasMode(This,mode) | ||
| 14896 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 14897 | #define IDWriteBitmapRenderTarget2_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) | ||
| 14898 | #else | ||
| 14899 | /*** IUnknown methods ***/ | ||
| 14900 | static inline HRESULT IDWriteBitmapRenderTarget2_QueryInterface(IDWriteBitmapRenderTarget2* This,REFIID riid,void **ppvObject) { | ||
| 14901 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 14902 | } | ||
| 14903 | static inline ULONG IDWriteBitmapRenderTarget2_AddRef(IDWriteBitmapRenderTarget2* This) { | ||
| 14904 | return This->lpVtbl->AddRef(This); | ||
| 14905 | } | ||
| 14906 | static inline ULONG IDWriteBitmapRenderTarget2_Release(IDWriteBitmapRenderTarget2* This) { | ||
| 14907 | return This->lpVtbl->Release(This); | ||
| 14908 | } | ||
| 14909 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 14910 | static inline HRESULT IDWriteBitmapRenderTarget2_DrawGlyphRun(IDWriteBitmapRenderTarget2* This,FLOAT baselineOriginX,FLOAT baselineOriginY,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *glyph_run,IDWriteRenderingParams *params,COLORREF textColor,RECT *blackbox_rect) { | ||
| 14911 | return This->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect); | ||
| 14912 | } | ||
| 14913 | static inline HDC IDWriteBitmapRenderTarget2_GetMemoryDC(IDWriteBitmapRenderTarget2* This) { | ||
| 14914 | return This->lpVtbl->GetMemoryDC(This); | ||
| 14915 | } | ||
| 14916 | static inline FLOAT IDWriteBitmapRenderTarget2_GetPixelsPerDip(IDWriteBitmapRenderTarget2* This) { | ||
| 14917 | return This->lpVtbl->GetPixelsPerDip(This); | ||
| 14918 | } | ||
| 14919 | static inline HRESULT IDWriteBitmapRenderTarget2_SetPixelsPerDip(IDWriteBitmapRenderTarget2* This,FLOAT pixels_per_dip) { | ||
| 14920 | return This->lpVtbl->SetPixelsPerDip(This,pixels_per_dip); | ||
| 14921 | } | ||
| 14922 | static inline HRESULT IDWriteBitmapRenderTarget2_GetCurrentTransform(IDWriteBitmapRenderTarget2* This,DWRITE_MATRIX *transform) { | ||
| 14923 | return This->lpVtbl->GetCurrentTransform(This,transform); | ||
| 14924 | } | ||
| 14925 | static inline HRESULT IDWriteBitmapRenderTarget2_SetCurrentTransform(IDWriteBitmapRenderTarget2* This,const DWRITE_MATRIX *transform) { | ||
| 14926 | return This->lpVtbl->SetCurrentTransform(This,transform); | ||
| 14927 | } | ||
| 14928 | static inline HRESULT IDWriteBitmapRenderTarget2_GetSize(IDWriteBitmapRenderTarget2* This,SIZE *size) { | ||
| 14929 | return This->lpVtbl->GetSize(This,size); | ||
| 14930 | } | ||
| 14931 | static inline HRESULT IDWriteBitmapRenderTarget2_Resize(IDWriteBitmapRenderTarget2* This,UINT32 width,UINT32 height) { | ||
| 14932 | return This->lpVtbl->Resize(This,width,height); | ||
| 14933 | } | ||
| 14934 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 14935 | static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget2_GetTextAntialiasMode(IDWriteBitmapRenderTarget2* This) { | ||
| 14936 | return This->lpVtbl->GetTextAntialiasMode(This); | ||
| 14937 | } | ||
| 14938 | static inline HRESULT IDWriteBitmapRenderTarget2_SetTextAntialiasMode(IDWriteBitmapRenderTarget2* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { | ||
| 14939 | return This->lpVtbl->SetTextAntialiasMode(This,mode); | ||
| 14940 | } | ||
| 14941 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 14942 | static inline HRESULT IDWriteBitmapRenderTarget2_GetBitmapData(IDWriteBitmapRenderTarget2* This,DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) { | ||
| 14943 | return This->lpVtbl->GetBitmapData(This,bitmap_data); | ||
| 14944 | } | ||
| 14945 | #endif | ||
| 14946 | #endif | ||
| 14947 | |||
| 14948 | #endif | ||
| 14949 | |||
| 14950 | |||
| 14951 | #endif /* __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ */ | ||
| 14952 | |||
| 14953 | /***************************************************************************** | ||
| 14954 | * IDWriteBitmapRenderTarget3 interface | ||
| 14955 | */ | ||
| 14956 | #ifndef __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ | ||
| 14957 | #define __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ | ||
| 14958 | |||
| 14959 | DEFINE_GUID(IID_IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e,0x2a, 0x9a,0x41,0xb1,0x67,0xb2,0x38); | ||
| 14960 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 14961 | MIDL_INTERFACE("aeec37db-c337-40f1-8e2a-9a41b167b238") | ||
| 14962 | IDWriteBitmapRenderTarget3 : public IDWriteBitmapRenderTarget2 | ||
| 14963 | { | ||
| 14964 | virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel( | ||
| 14965 | ) = 0; | ||
| 14966 | |||
| 14967 | virtual HRESULT STDMETHODCALLTYPE DrawPaintGlyphRun( | ||
| 14968 | FLOAT origin_x, | ||
| 14969 | FLOAT origin_y, | ||
| 14970 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14971 | const DWRITE_GLYPH_RUN *run, | ||
| 14972 | DWRITE_GLYPH_IMAGE_FORMATS image_format, | ||
| 14973 | COLORREF text_color, | ||
| 14974 | UINT32 palette_index, | ||
| 14975 | RECT *black_box) = 0; | ||
| 14976 | |||
| 14977 | virtual HRESULT STDMETHODCALLTYPE DrawGlyphRunWithColorSupport( | ||
| 14978 | FLOAT origin_x, | ||
| 14979 | FLOAT origin_y, | ||
| 14980 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 14981 | const DWRITE_GLYPH_RUN *run, | ||
| 14982 | IDWriteRenderingParams *params, | ||
| 14983 | COLORREF text_color, | ||
| 14984 | UINT32 palette_index, | ||
| 14985 | RECT *black_box) = 0; | ||
| 14986 | |||
| 14987 | }; | ||
| 14988 | #ifdef __CRT_UUID_DECL | ||
| 14989 | __CRT_UUID_DECL(IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e,0x2a, 0x9a,0x41,0xb1,0x67,0xb2,0x38) | ||
| 14990 | #endif | ||
| 14991 | #else | ||
| 14992 | typedef struct IDWriteBitmapRenderTarget3Vtbl { | ||
| 14993 | BEGIN_INTERFACE | ||
| 14994 | |||
| 14995 | /*** IUnknown methods ***/ | ||
| 14996 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 14997 | IDWriteBitmapRenderTarget3 *This, | ||
| 14998 | REFIID riid, | ||
| 14999 | void **ppvObject); | ||
| 15000 | |||
| 15001 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 15002 | IDWriteBitmapRenderTarget3 *This); | ||
| 15003 | |||
| 15004 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 15005 | IDWriteBitmapRenderTarget3 *This); | ||
| 15006 | |||
| 15007 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 15008 | HRESULT (STDMETHODCALLTYPE *DrawGlyphRun)( | ||
| 15009 | IDWriteBitmapRenderTarget3 *This, | ||
| 15010 | FLOAT baselineOriginX, | ||
| 15011 | FLOAT baselineOriginY, | ||
| 15012 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 15013 | const DWRITE_GLYPH_RUN *glyph_run, | ||
| 15014 | IDWriteRenderingParams *params, | ||
| 15015 | COLORREF textColor, | ||
| 15016 | RECT *blackbox_rect); | ||
| 15017 | |||
| 15018 | HDC (STDMETHODCALLTYPE *GetMemoryDC)( | ||
| 15019 | IDWriteBitmapRenderTarget3 *This); | ||
| 15020 | |||
| 15021 | FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( | ||
| 15022 | IDWriteBitmapRenderTarget3 *This); | ||
| 15023 | |||
| 15024 | HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( | ||
| 15025 | IDWriteBitmapRenderTarget3 *This, | ||
| 15026 | FLOAT pixels_per_dip); | ||
| 15027 | |||
| 15028 | HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( | ||
| 15029 | IDWriteBitmapRenderTarget3 *This, | ||
| 15030 | DWRITE_MATRIX *transform); | ||
| 15031 | |||
| 15032 | HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( | ||
| 15033 | IDWriteBitmapRenderTarget3 *This, | ||
| 15034 | const DWRITE_MATRIX *transform); | ||
| 15035 | |||
| 15036 | HRESULT (STDMETHODCALLTYPE *GetSize)( | ||
| 15037 | IDWriteBitmapRenderTarget3 *This, | ||
| 15038 | SIZE *size); | ||
| 15039 | |||
| 15040 | HRESULT (STDMETHODCALLTYPE *Resize)( | ||
| 15041 | IDWriteBitmapRenderTarget3 *This, | ||
| 15042 | UINT32 width, | ||
| 15043 | UINT32 height); | ||
| 15044 | |||
| 15045 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 15046 | DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( | ||
| 15047 | IDWriteBitmapRenderTarget3 *This); | ||
| 15048 | |||
| 15049 | HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( | ||
| 15050 | IDWriteBitmapRenderTarget3 *This, | ||
| 15051 | DWRITE_TEXT_ANTIALIAS_MODE mode); | ||
| 15052 | |||
| 15053 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 15054 | HRESULT (STDMETHODCALLTYPE *GetBitmapData)( | ||
| 15055 | IDWriteBitmapRenderTarget3 *This, | ||
| 15056 | DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); | ||
| 15057 | |||
| 15058 | /*** IDWriteBitmapRenderTarget3 methods ***/ | ||
| 15059 | DWRITE_PAINT_FEATURE_LEVEL (STDMETHODCALLTYPE *GetPaintFeatureLevel)( | ||
| 15060 | IDWriteBitmapRenderTarget3 *This); | ||
| 15061 | |||
| 15062 | HRESULT (STDMETHODCALLTYPE *DrawPaintGlyphRun)( | ||
| 15063 | IDWriteBitmapRenderTarget3 *This, | ||
| 15064 | FLOAT origin_x, | ||
| 15065 | FLOAT origin_y, | ||
| 15066 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 15067 | const DWRITE_GLYPH_RUN *run, | ||
| 15068 | DWRITE_GLYPH_IMAGE_FORMATS image_format, | ||
| 15069 | COLORREF text_color, | ||
| 15070 | UINT32 palette_index, | ||
| 15071 | RECT *black_box); | ||
| 15072 | |||
| 15073 | HRESULT (STDMETHODCALLTYPE *DrawGlyphRunWithColorSupport)( | ||
| 15074 | IDWriteBitmapRenderTarget3 *This, | ||
| 15075 | FLOAT origin_x, | ||
| 15076 | FLOAT origin_y, | ||
| 15077 | DWRITE_MEASURING_MODE measuring_mode, | ||
| 15078 | const DWRITE_GLYPH_RUN *run, | ||
| 15079 | IDWriteRenderingParams *params, | ||
| 15080 | COLORREF text_color, | ||
| 15081 | UINT32 palette_index, | ||
| 15082 | RECT *black_box); | ||
| 15083 | |||
| 15084 | END_INTERFACE | ||
| 15085 | } IDWriteBitmapRenderTarget3Vtbl; | ||
| 15086 | |||
| 15087 | interface IDWriteBitmapRenderTarget3 { | ||
| 15088 | CONST_VTBL IDWriteBitmapRenderTarget3Vtbl* lpVtbl; | ||
| 15089 | }; | ||
| 15090 | |||
| 15091 | #ifdef COBJMACROS | ||
| 15092 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 15093 | /*** IUnknown methods ***/ | ||
| 15094 | #define IDWriteBitmapRenderTarget3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 15095 | #define IDWriteBitmapRenderTarget3_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 15096 | #define IDWriteBitmapRenderTarget3_Release(This) (This)->lpVtbl->Release(This) | ||
| 15097 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 15098 | #define IDWriteBitmapRenderTarget3_DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect) | ||
| 15099 | #define IDWriteBitmapRenderTarget3_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) | ||
| 15100 | #define IDWriteBitmapRenderTarget3_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) | ||
| 15101 | #define IDWriteBitmapRenderTarget3_SetPixelsPerDip(This,pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This,pixels_per_dip) | ||
| 15102 | #define IDWriteBitmapRenderTarget3_GetCurrentTransform(This,transform) (This)->lpVtbl->GetCurrentTransform(This,transform) | ||
| 15103 | #define IDWriteBitmapRenderTarget3_SetCurrentTransform(This,transform) (This)->lpVtbl->SetCurrentTransform(This,transform) | ||
| 15104 | #define IDWriteBitmapRenderTarget3_GetSize(This,size) (This)->lpVtbl->GetSize(This,size) | ||
| 15105 | #define IDWriteBitmapRenderTarget3_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) | ||
| 15106 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 15107 | #define IDWriteBitmapRenderTarget3_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) | ||
| 15108 | #define IDWriteBitmapRenderTarget3_SetTextAntialiasMode(This,mode) (This)->lpVtbl->SetTextAntialiasMode(This,mode) | ||
| 15109 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 15110 | #define IDWriteBitmapRenderTarget3_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) | ||
| 15111 | /*** IDWriteBitmapRenderTarget3 methods ***/ | ||
| 15112 | #define IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(This) (This)->lpVtbl->GetPaintFeatureLevel(This) | ||
| 15113 | #define IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box) (This)->lpVtbl->DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box) | ||
| 15114 | #define IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box) (This)->lpVtbl->DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box) | ||
| 15115 | #else | ||
| 15116 | /*** IUnknown methods ***/ | ||
| 15117 | static inline HRESULT IDWriteBitmapRenderTarget3_QueryInterface(IDWriteBitmapRenderTarget3* This,REFIID riid,void **ppvObject) { | ||
| 15118 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 15119 | } | ||
| 15120 | static inline ULONG IDWriteBitmapRenderTarget3_AddRef(IDWriteBitmapRenderTarget3* This) { | ||
| 15121 | return This->lpVtbl->AddRef(This); | ||
| 15122 | } | ||
| 15123 | static inline ULONG IDWriteBitmapRenderTarget3_Release(IDWriteBitmapRenderTarget3* This) { | ||
| 15124 | return This->lpVtbl->Release(This); | ||
| 15125 | } | ||
| 15126 | /*** IDWriteBitmapRenderTarget methods ***/ | ||
| 15127 | static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRun(IDWriteBitmapRenderTarget3* This,FLOAT baselineOriginX,FLOAT baselineOriginY,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *glyph_run,IDWriteRenderingParams *params,COLORREF textColor,RECT *blackbox_rect) { | ||
| 15128 | return This->lpVtbl->DrawGlyphRun(This,baselineOriginX,baselineOriginY,measuring_mode,glyph_run,params,textColor,blackbox_rect); | ||
| 15129 | } | ||
| 15130 | static inline HDC IDWriteBitmapRenderTarget3_GetMemoryDC(IDWriteBitmapRenderTarget3* This) { | ||
| 15131 | return This->lpVtbl->GetMemoryDC(This); | ||
| 15132 | } | ||
| 15133 | static inline FLOAT IDWriteBitmapRenderTarget3_GetPixelsPerDip(IDWriteBitmapRenderTarget3* This) { | ||
| 15134 | return This->lpVtbl->GetPixelsPerDip(This); | ||
| 15135 | } | ||
| 15136 | static inline HRESULT IDWriteBitmapRenderTarget3_SetPixelsPerDip(IDWriteBitmapRenderTarget3* This,FLOAT pixels_per_dip) { | ||
| 15137 | return This->lpVtbl->SetPixelsPerDip(This,pixels_per_dip); | ||
| 15138 | } | ||
| 15139 | static inline HRESULT IDWriteBitmapRenderTarget3_GetCurrentTransform(IDWriteBitmapRenderTarget3* This,DWRITE_MATRIX *transform) { | ||
| 15140 | return This->lpVtbl->GetCurrentTransform(This,transform); | ||
| 15141 | } | ||
| 15142 | static inline HRESULT IDWriteBitmapRenderTarget3_SetCurrentTransform(IDWriteBitmapRenderTarget3* This,const DWRITE_MATRIX *transform) { | ||
| 15143 | return This->lpVtbl->SetCurrentTransform(This,transform); | ||
| 15144 | } | ||
| 15145 | static inline HRESULT IDWriteBitmapRenderTarget3_GetSize(IDWriteBitmapRenderTarget3* This,SIZE *size) { | ||
| 15146 | return This->lpVtbl->GetSize(This,size); | ||
| 15147 | } | ||
| 15148 | static inline HRESULT IDWriteBitmapRenderTarget3_Resize(IDWriteBitmapRenderTarget3* This,UINT32 width,UINT32 height) { | ||
| 15149 | return This->lpVtbl->Resize(This,width,height); | ||
| 15150 | } | ||
| 15151 | /*** IDWriteBitmapRenderTarget1 methods ***/ | ||
| 15152 | static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget3_GetTextAntialiasMode(IDWriteBitmapRenderTarget3* This) { | ||
| 15153 | return This->lpVtbl->GetTextAntialiasMode(This); | ||
| 15154 | } | ||
| 15155 | static inline HRESULT IDWriteBitmapRenderTarget3_SetTextAntialiasMode(IDWriteBitmapRenderTarget3* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { | ||
| 15156 | return This->lpVtbl->SetTextAntialiasMode(This,mode); | ||
| 15157 | } | ||
| 15158 | /*** IDWriteBitmapRenderTarget2 methods ***/ | ||
| 15159 | static inline HRESULT IDWriteBitmapRenderTarget3_GetBitmapData(IDWriteBitmapRenderTarget3* This,DWRITE_BITMAP_DATA_BGRA32 *bitmap_data) { | ||
| 15160 | return This->lpVtbl->GetBitmapData(This,bitmap_data); | ||
| 15161 | } | ||
| 15162 | /*** IDWriteBitmapRenderTarget3 methods ***/ | ||
| 15163 | static inline DWRITE_PAINT_FEATURE_LEVEL IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(IDWriteBitmapRenderTarget3* This) { | ||
| 15164 | return This->lpVtbl->GetPaintFeatureLevel(This); | ||
| 15165 | } | ||
| 15166 | static inline HRESULT IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(IDWriteBitmapRenderTarget3* This,FLOAT origin_x,FLOAT origin_y,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *run,DWRITE_GLYPH_IMAGE_FORMATS image_format,COLORREF text_color,UINT32 palette_index,RECT *black_box) { | ||
| 15167 | return This->lpVtbl->DrawPaintGlyphRun(This,origin_x,origin_y,measuring_mode,run,image_format,text_color,palette_index,black_box); | ||
| 15168 | } | ||
| 15169 | static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(IDWriteBitmapRenderTarget3* This,FLOAT origin_x,FLOAT origin_y,DWRITE_MEASURING_MODE measuring_mode,const DWRITE_GLYPH_RUN *run,IDWriteRenderingParams *params,COLORREF text_color,UINT32 palette_index,RECT *black_box) { | ||
| 15170 | return This->lpVtbl->DrawGlyphRunWithColorSupport(This,origin_x,origin_y,measuring_mode,run,params,text_color,palette_index,black_box); | ||
| 15171 | } | ||
| 15172 | #endif | ||
| 15173 | #endif | ||
| 15174 | |||
| 15175 | #endif | ||
| 15176 | |||
| 15177 | |||
| 15178 | #endif /* __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ */ | ||
| 15179 | |||
| 14128 | /* Begin additional prototypes for all interfaces */ | 15180 | /* Begin additional prototypes for all interfaces */ |
| 14129 | 15181 | ||
| 14130 | 15182 |
lib/libc/include/any-windows-any/dxgi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgi1_2.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi1_2.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_2.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgi1_3.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi1_3.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_3.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgi1_4.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi1_4.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_4.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgi1_5.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi1_5.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_5.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgi1_6.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgi1_6.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_6.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgicommon.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgicommon.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgicommon.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgidebug.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgidebug.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgidebug.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgiformat.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgiformat.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgiformat.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxgitype.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxgitype.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxgitype.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxva2api.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxva2api.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxva2api.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/dxvahd.h+2-2| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/dxvahd.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/dxvahd.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| ... | @@ -415,7 +415,7 @@ typedef struct _DXVAHDSW_CALLBACKS { | ... | @@ -415,7 +415,7 @@ typedef struct _DXVAHDSW_CALLBACKS { |
| 415 | PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor; | 415 | PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor; |
| 416 | } DXVAHDSW_CALLBACKS; | 416 | } DXVAHDSW_CALLBACKS; |
| 417 | 417 | ||
| 418 | HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice); | 418 | HRESULT WINAPI DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice); |
| 419 | 419 | ||
| 420 | /***************************************************************************** | 420 | /***************************************************************************** |
| 421 | * IDXVAHD_Device interface | 421 | * IDXVAHD_Device interface |
lib/libc/include/any-windows-any/endpointvolume.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/endpointvolume.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/endpointvolume.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/evr.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/evr.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/evr.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/evr9.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/evr9.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/evr9.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/exdisp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/exdisp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/exdisp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fibersapi.h+5| ... | @@ -25,6 +25,11 @@ extern "C" { | ... | @@ -25,6 +25,11 @@ extern "C" { |
| 25 | WINBASEAPI WINBOOL WINAPI FlsFree (DWORD dwFlsIndex); | 25 | WINBASEAPI WINBOOL WINAPI FlsFree (DWORD dwFlsIndex); |
| 26 | WINBASEAPI WINBOOL WINAPI IsThreadAFiber (VOID); | 26 | WINBASEAPI WINBOOL WINAPI IsThreadAFiber (VOID); |
| 27 | #endif | 27 | #endif |
| 28 | |||
| 29 | #if (_WIN32_WINNT >= _WIN32_WINNT_WIN10) | ||
| 30 | WINBASEAPI PVOID WINAPI FlsGetValue2(DWORD dwTlsIndex); | ||
| 31 | #endif | ||
| 32 | |||
| 28 | #endif | 33 | #endif |
| 29 | 34 | ||
| 30 | #ifdef __cplusplus | 35 | #ifdef __cplusplus |
lib/libc/include/any-windows-any/filter.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/filter.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/filter.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fsrm.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fsrm.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fsrm.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fsrmenums.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fsrmenums.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fsrmenums.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fsrmquota.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fsrmquota.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fsrmquota.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fsrmreports.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fsrmreports.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fsrmreports.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fsrmscreen.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fsrmscreen.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fsrmscreen.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fusion.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fusion.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fusion.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/fwptypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/fwptypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/fwptypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/hstring.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/hstring.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/hstring.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/icftypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/icftypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/icftypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/icodecapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/icodecapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/icodecapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/iketypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/iketypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/iketypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/inputpaneinterop.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/inputpaneinterop.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/inputpaneinterop.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/inputscope.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/inputscope.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/inputscope.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/inspectable.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/inspectable.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/inspectable.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/intrin.h+10-10| ... | @@ -55,7 +55,7 @@ | ... | @@ -55,7 +55,7 @@ |
| 55 | #endif | 55 | #endif |
| 56 | 56 | ||
| 57 | #if defined(__GNUC__) && \ | 57 | #if defined(__GNUC__) && \ |
| 58 | (defined(__i386__) || defined(__x86_64__)) | 58 | (defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))) |
| 59 | #ifndef _MM_MALLOC_H_INCLUDED | 59 | #ifndef _MM_MALLOC_H_INCLUDED |
| 60 | #include <stdlib.h> | 60 | #include <stdlib.h> |
| 61 | #include <errno.h> | 61 | #include <errno.h> |
| ... | @@ -103,7 +103,7 @@ typedef union __m128i { char v[16]; } __m128i; | ... | @@ -103,7 +103,7 @@ typedef union __m128i { char v[16]; } __m128i; |
| 103 | #endif | 103 | #endif |
| 104 | #endif | 104 | #endif |
| 105 | 105 | ||
| 106 | #if (defined(_X86_) || defined(__x86_64)) | 106 | #if (defined(_X86_) || (defined(__x86_64) && !defined(__arm64ec__))) |
| 107 | 107 | ||
| 108 | #if defined(__MMX__) || defined(__MINGW_FORCE_SYS_INTRINS) | 108 | #if defined(__MMX__) || defined(__MINGW_FORCE_SYS_INTRINS) |
| 109 | #if defined(__cplusplus) | 109 | #if defined(__cplusplus) |
| ... | @@ -177,7 +177,7 @@ extern "C" { | ... | @@ -177,7 +177,7 @@ extern "C" { |
| 177 | #define __MACHINEIA32 __MACHINEZ | 177 | #define __MACHINEIA32 __MACHINEZ |
| 178 | #endif | 178 | #endif |
| 179 | 179 | ||
| 180 | #if !(defined(_X86_) || defined(__x86_64) || defined(__ia64__)) | 180 | #if !(defined(_X86_) || defined(__x86_64) || defined(__ia64__)) || defined(__arm64ec__) |
| 181 | #undef __MACHINEIW64 | 181 | #undef __MACHINEIW64 |
| 182 | #define __MACHINEIW64 __MACHINEZ | 182 | #define __MACHINEIW64 __MACHINEZ |
| 183 | #endif | 183 | #endif |
| ... | @@ -187,17 +187,17 @@ extern "C" { | ... | @@ -187,17 +187,17 @@ extern "C" { |
| 187 | #define __MACHINEIA64 __MACHINEZ | 187 | #define __MACHINEIA64 __MACHINEZ |
| 188 | #endif | 188 | #endif |
| 189 | 189 | ||
| 190 | #if !(defined(__ia64__) || defined(__x86_64)) | 190 | #if !(defined(__ia64__) || defined(__x86_64)) || defined(__arm64ec__) |
| 191 | #undef __MACHINEW64 | 191 | #undef __MACHINEW64 |
| 192 | #define __MACHINEW64 __MACHINEZ | 192 | #define __MACHINEW64 __MACHINEZ |
| 193 | #endif | 193 | #endif |
| 194 | 194 | ||
| 195 | #if !(defined(_X86_) || defined(__x86_64)) | 195 | #if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) |
| 196 | #undef __MACHINEI | 196 | #undef __MACHINEI |
| 197 | #define __MACHINEI __MACHINEZ | 197 | #define __MACHINEI __MACHINEZ |
| 198 | #endif | 198 | #endif |
| 199 | 199 | ||
| 200 | #if !(defined(_X86_) || defined(__x86_64)) | 200 | #if !(defined(_X86_) || defined(__x86_64)) || defined(__arm64ec__) |
| 201 | #undef __MACHINEX86X | 201 | #undef __MACHINEX86X |
| 202 | #define __MACHINEX86X __MACHINEZ | 202 | #define __MACHINEX86X __MACHINEZ |
| 203 | #endif | 203 | #endif |
| ... | @@ -207,7 +207,7 @@ extern "C" { | ... | @@ -207,7 +207,7 @@ extern "C" { |
| 207 | #define __MACHINEX86X_NOX64 __MACHINEZ | 207 | #define __MACHINEX86X_NOX64 __MACHINEZ |
| 208 | #endif | 208 | #endif |
| 209 | 209 | ||
| 210 | #if !(defined(_X86_) || defined(__x86_64)) || defined(__ia64__) | 210 | #if !(defined(_X86_) || defined(__x86_64)) || defined(__ia64__) || defined(__arm64ec__) |
| 211 | #undef __MACHINEX86X_NOIA64 | 211 | #undef __MACHINEX86X_NOIA64 |
| 212 | #define __MACHINEX86X_NOIA64 __MACHINEZ | 212 | #define __MACHINEX86X_NOIA64 __MACHINEZ |
| 213 | #endif | 213 | #endif |
| ... | @@ -228,17 +228,17 @@ extern "C" { | ... | @@ -228,17 +228,17 @@ extern "C" { |
| 228 | #define __MACHINECC __MACHINEZ | 228 | #define __MACHINECC __MACHINEZ |
| 229 | #endif | 229 | #endif |
| 230 | 230 | ||
| 231 | #if !(defined(__aarch64__)) | 231 | #if !(defined(__aarch64__) || defined(__arm64ec__)) |
| 232 | #undef __MACHINEARM64 | 232 | #undef __MACHINEARM64 |
| 233 | #define __MACHINEARM64 __MACHINEZ | 233 | #define __MACHINEARM64 __MACHINEZ |
| 234 | #endif | 234 | #endif |
| 235 | 235 | ||
| 236 | #if !(defined(__arm__) || defined(__aarch64__)) | 236 | #if !(defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)) |
| 237 | #undef __MACHINEARM_ARM64 | 237 | #undef __MACHINEARM_ARM64 |
| 238 | #define __MACHINEARM_ARM64 __MACHINEZ | 238 | #define __MACHINEARM_ARM64 __MACHINEZ |
| 239 | #endif | 239 | #endif |
| 240 | 240 | ||
| 241 | #if !(defined(__x86_64)) | 241 | #if !(defined(__x86_64)) || defined(__arm64ec__) |
| 242 | #undef __MACHINEX64 | 242 | #undef __MACHINEX64 |
| 243 | #define __MACHINEX64 __MACHINEZ | 243 | #define __MACHINEX64 __MACHINEZ |
| 244 | #endif | 244 | #endif |
lib/libc/include/any-windows-any/io.h+15| ... | @@ -24,7 +24,15 @@ | ... | @@ -24,7 +24,15 @@ |
| 24 | extern "C" { | 24 | extern "C" { |
| 25 | #endif | 25 | #endif |
| 26 | 26 | ||
| 27 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 28 | #pragma push_macro("_getcwd") | ||
| 29 | #undef _getcwd | ||
| 30 | #endif | ||
| 27 | _CRTIMP char* __cdecl _getcwd (char*, int); | 31 | _CRTIMP char* __cdecl _getcwd (char*, int); |
| 32 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 33 | #pragma pop_macro("_getcwd") | ||
| 34 | #endif | ||
| 35 | |||
| 28 | #ifndef _FSIZE_T_DEFINED | 36 | #ifndef _FSIZE_T_DEFINED |
| 29 | typedef unsigned long _fsize_t; | 37 | typedef unsigned long _fsize_t; |
| 30 | #define _FSIZE_T_DEFINED | 38 | #define _FSIZE_T_DEFINED |
| ... | @@ -278,7 +286,14 @@ _CRTIMP char* __cdecl _getcwd (char*, int); | ... | @@ -278,7 +286,14 @@ _CRTIMP char* __cdecl _getcwd (char*, int); |
| 278 | #ifndef NO_OLDNAMES | 286 | #ifndef NO_OLDNAMES |
| 279 | #ifndef _UWIN | 287 | #ifndef _UWIN |
| 280 | int __cdecl chdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 288 | int __cdecl chdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 289 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 290 | #pragma push_macro("getcwd") | ||
| 291 | #undef getcwd | ||
| 292 | #endif | ||
| 281 | char *__cdecl getcwd (char *, int) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 293 | char *__cdecl getcwd (char *, int) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 294 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 295 | #pragma pop_macro("getcwd") | ||
| 296 | #endif | ||
| 282 | int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 297 | int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 283 | char *__cdecl mktemp(char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 298 | char *__cdecl mktemp(char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 284 | int __cdecl rmdir (const char*) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 299 | int __cdecl rmdir (const char*) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
lib/libc/include/any-windows-any/iwscapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/iwscapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/iwscapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/locationapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/locationapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/locationapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/malloc.h+74-1| ... | @@ -21,7 +21,13 @@ extern "C" { | ... | @@ -21,7 +21,13 @@ extern "C" { |
| 21 | #endif | 21 | #endif |
| 22 | 22 | ||
| 23 | #ifndef _STATIC_ASSERT | 23 | #ifndef _STATIC_ASSERT |
| 24 | #if defined(_MSC_VER) | 24 | #if (defined(__cpp_static_assert) && __cpp_static_assert >= 201411L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) |
| 25 | #define _STATIC_ASSERT(expr) static_assert(expr) | ||
| 26 | #elif defined(__cpp_static_assert) | ||
| 27 | #define _STATIC_ASSERT(expr) static_assert(expr, #expr) | ||
| 28 | #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L | ||
| 29 | #define _STATIC_ASSERT(expr) _Static_assert(expr, #expr) | ||
| 30 | #elif defined(_MSC_VER) | ||
| 25 | #define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)] | 31 | #define _STATIC_ASSERT(expr) typedef char __static_assert_t[(expr)] |
| 26 | #else | 32 | #else |
| 27 | #define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1]) | 33 | #define _STATIC_ASSERT(expr) extern void __static_assert_t(int [(expr)?1:-1]) |
| ... | @@ -55,6 +61,36 @@ extern "C" { | ... | @@ -55,6 +61,36 @@ extern "C" { |
| 55 | 61 | ||
| 56 | #ifndef _CRT_ALLOCATION_DEFINED | 62 | #ifndef _CRT_ALLOCATION_DEFINED |
| 57 | #define _CRT_ALLOCATION_DEFINED | 63 | #define _CRT_ALLOCATION_DEFINED |
| 64 | |||
| 65 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 66 | #pragma push_macro("calloc") | ||
| 67 | #undef calloc | ||
| 68 | #pragma push_macro("free") | ||
| 69 | #undef free | ||
| 70 | #pragma push_macro("malloc") | ||
| 71 | #undef malloc | ||
| 72 | #pragma push_macro("realloc") | ||
| 73 | #undef realloc | ||
| 74 | #pragma push_macro("_aligned_free") | ||
| 75 | #undef _aligned_free | ||
| 76 | #pragma push_macro("_aligned_malloc") | ||
| 77 | #undef _aligned_malloc | ||
| 78 | #pragma push_macro("_aligned_offset_malloc") | ||
| 79 | #undef _aligned_offset_malloc | ||
| 80 | #pragma push_macro("_aligned_realloc") | ||
| 81 | #undef _aligned_realloc | ||
| 82 | #pragma push_macro("_aligned_offset_realloc") | ||
| 83 | #undef _aligned_offset_realloc | ||
| 84 | #pragma push_macro("_recalloc") | ||
| 85 | #undef _recalloc | ||
| 86 | #pragma push_macro("_aligned_recalloc") | ||
| 87 | #undef _aligned_recalloc | ||
| 88 | #pragma push_macro("_aligned_offset_recalloc") | ||
| 89 | #undef _aligned_offset_recalloc | ||
| 90 | #pragma push_macro("_aligned_msize") | ||
| 91 | #undef _aligned_msize | ||
| 92 | #endif | ||
| 93 | |||
| 58 | void *__cdecl calloc(size_t _NumOfElements,size_t _SizeOfElements); | 94 | void *__cdecl calloc(size_t _NumOfElements,size_t _SizeOfElements); |
| 59 | void __cdecl free(void *_Memory); | 95 | void __cdecl free(void *_Memory); |
| 60 | void *__cdecl malloc(size_t _Size); | 96 | void *__cdecl malloc(size_t _Size); |
| ... | @@ -72,6 +108,23 @@ extern "C" { | ... | @@ -72,6 +108,23 @@ extern "C" { |
| 72 | _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); | 108 | _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); |
| 73 | _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); | 109 | _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); |
| 74 | # endif | 110 | # endif |
| 111 | |||
| 112 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 113 | #pragma pop_macro("calloc") | ||
| 114 | #pragma pop_macro("free") | ||
| 115 | #pragma pop_macro("malloc") | ||
| 116 | #pragma pop_macro("realloc") | ||
| 117 | #pragma pop_macro("_aligned_free") | ||
| 118 | #pragma pop_macro("_aligned_malloc") | ||
| 119 | #pragma pop_macro("_aligned_offset_malloc") | ||
| 120 | #pragma pop_macro("_aligned_realloc") | ||
| 121 | #pragma pop_macro("_aligned_offset_realloc") | ||
| 122 | #pragma pop_macro("_recalloc") | ||
| 123 | #pragma pop_macro("_aligned_recalloc") | ||
| 124 | #pragma pop_macro("_aligned_offset_recalloc") | ||
| 125 | #pragma pop_macro("_aligned_msize") | ||
| 126 | #endif | ||
| 127 | |||
| 75 | #endif | 128 | #endif |
| 76 | 129 | ||
| 77 | /* Users should really use MS provided versions */ | 130 | /* Users should really use MS provided versions */ |
| ... | @@ -92,8 +145,19 @@ void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); | ... | @@ -92,8 +145,19 @@ void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); |
| 92 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ | 145 | #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ |
| 93 | _CRTIMP unsigned long __cdecl _set_malloc_crt_max_wait(unsigned long _NewValue); | 146 | _CRTIMP unsigned long __cdecl _set_malloc_crt_max_wait(unsigned long _NewValue); |
| 94 | 147 | ||
| 148 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 149 | #pragma push_macro("_expand") | ||
| 150 | #undef _expand | ||
| 151 | #pragma push_macro("_msize") | ||
| 152 | #undef _msize | ||
| 153 | #endif | ||
| 95 | _CRTIMP void *__cdecl _expand(void *_Memory,size_t _NewSize); | 154 | _CRTIMP void *__cdecl _expand(void *_Memory,size_t _NewSize); |
| 96 | _CRTIMP size_t __cdecl _msize(void *_Memory); | 155 | _CRTIMP size_t __cdecl _msize(void *_Memory); |
| 156 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 157 | #pragma pop_macro("_expand") | ||
| 158 | #pragma pop_macro("_msize") | ||
| 159 | #endif | ||
| 160 | |||
| 97 | #ifdef __GNUC__ | 161 | #ifdef __GNUC__ |
| 98 | #undef _alloca | 162 | #undef _alloca |
| 99 | #define _alloca(x) __builtin_alloca((x)) | 163 | #define _alloca(x) __builtin_alloca((x)) |
| ... | @@ -132,11 +196,20 @@ void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); | ... | @@ -132,11 +196,20 @@ void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); |
| 132 | } | 196 | } |
| 133 | #endif | 197 | #endif |
| 134 | 198 | ||
| 199 | #ifdef _DEBUG | ||
| 200 | #ifndef _CRTDBG_MAP_ALLOC | ||
| 201 | #undef _malloca | ||
| 202 | #define _malloca(size) \ | ||
| 203 | _MarkAllocaS(malloc((size) + _ALLOCA_S_MARKER_SIZE), _ALLOCA_S_HEAP_MARKER) | ||
| 204 | #endif | ||
| 205 | #else | ||
| 135 | #undef _malloca | 206 | #undef _malloca |
| 136 | #define _malloca(size) \ | 207 | #define _malloca(size) \ |
| 137 | ((((size) + _ALLOCA_S_MARKER_SIZE) <= _ALLOCA_S_THRESHOLD) ? \ | 208 | ((((size) + _ALLOCA_S_MARKER_SIZE) <= _ALLOCA_S_THRESHOLD) ? \ |
| 138 | _MarkAllocaS(_alloca((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_STACK_MARKER) : \ | 209 | _MarkAllocaS(_alloca((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_STACK_MARKER) : \ |
| 139 | _MarkAllocaS(malloc((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_HEAP_MARKER)) | 210 | _MarkAllocaS(malloc((size) + _ALLOCA_S_MARKER_SIZE),_ALLOCA_S_HEAP_MARKER)) |
| 211 | #endif | ||
| 212 | |||
| 140 | #undef _FREEA_INLINE | 213 | #undef _FREEA_INLINE |
| 141 | #define _FREEA_INLINE | 214 | #define _FREEA_INLINE |
| 142 | 215 |
lib/libc/include/any-windows-any/mapi.h+42| ... | @@ -35,6 +35,15 @@ extern "C" { | ... | @@ -35,6 +35,15 @@ extern "C" { |
| 35 | LPVOID lpFileType; | 35 | LPVOID lpFileType; |
| 36 | } MapiFileDesc,*lpMapiFileDesc; | 36 | } MapiFileDesc,*lpMapiFileDesc; |
| 37 | 37 | ||
| 38 | typedef struct { | ||
| 39 | ULONG ulReserved; | ||
| 40 | ULONG flFlags; | ||
| 41 | ULONG nPosition; | ||
| 42 | PWSTR lpszPathName; | ||
| 43 | PWSTR lpszFileName; | ||
| 44 | PVOID lpFileType; | ||
| 45 | } MapiFileDescW, *lpMapiFileDescW; | ||
| 46 | |||
| 38 | #define MAPI_OLE 0x00000001 | 47 | #define MAPI_OLE 0x00000001 |
| 39 | #define MAPI_OLE_STATIC 0x00000002 | 48 | #define MAPI_OLE_STATIC 0x00000002 |
| 40 | 49 | ||
| ... | @@ -55,6 +64,15 @@ extern "C" { | ... | @@ -55,6 +64,15 @@ extern "C" { |
| 55 | LPVOID lpEntryID; | 64 | LPVOID lpEntryID; |
| 56 | } MapiRecipDesc,*lpMapiRecipDesc; | 65 | } MapiRecipDesc,*lpMapiRecipDesc; |
| 57 | 66 | ||
| 67 | typedef struct { | ||
| 68 | ULONG ulReserved; | ||
| 69 | ULONG ulRecipClass; | ||
| 70 | PWSTR lpszName; | ||
| 71 | PWSTR lpszAddress; | ||
| 72 | ULONG ulEIDSize; | ||
| 73 | PVOID lpEntryID; | ||
| 74 | } MapiRecipDescW, *lpMapiRecipDescW; | ||
| 75 | |||
| 58 | #ifndef MAPI_ORIG | 76 | #ifndef MAPI_ORIG |
| 59 | #define MAPI_ORIG 0 | 77 | #define MAPI_ORIG 0 |
| 60 | #define MAPI_TO 1 | 78 | #define MAPI_TO 1 |
| ... | @@ -77,6 +95,21 @@ extern "C" { | ... | @@ -77,6 +95,21 @@ extern "C" { |
| 77 | lpMapiFileDesc lpFiles; | 95 | lpMapiFileDesc lpFiles; |
| 78 | } MapiMessage,*lpMapiMessage; | 96 | } MapiMessage,*lpMapiMessage; |
| 79 | 97 | ||
| 98 | typedef struct { | ||
| 99 | ULONG ulReserved; | ||
| 100 | PWSTR lpszSubject; | ||
| 101 | PWSTR lpszNoteText; | ||
| 102 | PWSTR lpszMessageType; | ||
| 103 | PWSTR lpszDateReceived; | ||
| 104 | PWSTR lpszConversationID; | ||
| 105 | FLAGS flFlags; | ||
| 106 | lpMapiRecipDescW lpOriginator; | ||
| 107 | ULONG nRecipCount; | ||
| 108 | lpMapiRecipDescW lpRecips; | ||
| 109 | ULONG nFileCount; | ||
| 110 | lpMapiFileDescW lpFiles; | ||
| 111 | } MapiMessageW, *lpMapiMessageW; | ||
| 112 | |||
| 80 | #define MAPI_UNREAD 0x00000001 | 113 | #define MAPI_UNREAD 0x00000001 |
| 81 | #define MAPI_RECEIPT_REQUESTED 0x00000002 | 114 | #define MAPI_RECEIPT_REQUESTED 0x00000002 |
| 82 | #define MAPI_SENT 0x00000004 | 115 | #define MAPI_SENT 0x00000004 |
| ... | @@ -93,6 +126,9 @@ extern "C" { | ... | @@ -93,6 +126,9 @@ extern "C" { |
| 93 | #define MAPI_DIALOG 0x00000008 | 126 | #define MAPI_DIALOG 0x00000008 |
| 94 | #endif | 127 | #endif |
| 95 | 128 | ||
| 129 | #define MAPI_DIALOG_MODELESS (0x00000004 | MAPI_DIALOG) | ||
| 130 | #define MAPI_FORCE_UNICODE 0x00040000 | ||
| 131 | |||
| 96 | #define MAPI_UNREAD_ONLY 0x00000020 | 132 | #define MAPI_UNREAD_ONLY 0x00000020 |
| 97 | #define MAPI_GUARANTEE_FIFO 0x00000100 | 133 | #define MAPI_GUARANTEE_FIFO 0x00000100 |
| 98 | #define MAPI_LONG_MSGID 0x00004000 | 134 | #define MAPI_LONG_MSGID 0x00004000 |
| ... | @@ -116,6 +152,10 @@ extern "C" { | ... | @@ -116,6 +152,10 @@ extern "C" { |
| 116 | typedef MAPISENDMAIL *LPMAPISENDMAIL; | 152 | typedef MAPISENDMAIL *LPMAPISENDMAIL; |
| 117 | MAPISENDMAIL MAPISendMail; | 153 | MAPISENDMAIL MAPISendMail; |
| 118 | 154 | ||
| 155 | typedef ULONG (WINAPI MAPISENDMAILW)(LHANDLE lhSession,ULONG_PTR ulUIParam,lpMapiMessageW lpMessage,FLAGS flFlags,ULONG ulReserved); | ||
| 156 | typedef MAPISENDMAILW *LPMAPISENDMAILW; | ||
| 157 | MAPISENDMAILW MAPISendMailW; | ||
| 158 | |||
| 119 | typedef ULONG (WINAPI MAPISENDDOCUMENTS)(ULONG_PTR ulUIParam,LPSTR lpszDelimChar,LPSTR lpszFilePaths,LPSTR lpszFileNames,ULONG ulReserved); | 159 | typedef ULONG (WINAPI MAPISENDDOCUMENTS)(ULONG_PTR ulUIParam,LPSTR lpszDelimChar,LPSTR lpszFilePaths,LPSTR lpszFileNames,ULONG ulReserved); |
| 120 | typedef MAPISENDDOCUMENTS *LPMAPISENDDOCUMENTS; | 160 | typedef MAPISENDDOCUMENTS *LPMAPISENDDOCUMENTS; |
| 121 | MAPISENDDOCUMENTS MAPISendDocuments; | 161 | MAPISENDDOCUMENTS MAPISendDocuments; |
| ... | @@ -183,6 +223,8 @@ extern "C" { | ... | @@ -183,6 +223,8 @@ extern "C" { |
| 183 | #define MAPI_E_INVALID_EDITFIELDS 24 | 223 | #define MAPI_E_INVALID_EDITFIELDS 24 |
| 184 | #define MAPI_E_INVALID_RECIPS 25 | 224 | #define MAPI_E_INVALID_RECIPS 25 |
| 185 | #define MAPI_E_NOT_SUPPORTED 26 | 225 | #define MAPI_E_NOT_SUPPORTED 26 |
| 226 | #define MAPI_E_UNICODE_NOT_SUPPORTED 27 | ||
| 227 | #define MAPI_E_ATTACHMENT_TOO_LARGE 28 | ||
| 186 | 228 | ||
| 187 | #ifdef MAPIX_H | 229 | #ifdef MAPIX_H |
| 188 | STDMETHODIMP_(SCODE) ScMAPIXFromSMAPI(LHANDLE lhSimpleSession,ULONG ulFlags,LPCIID lpInterface,LPMAPISESSION*lppMAPISession); | 230 | STDMETHODIMP_(SCODE) ScMAPIXFromSMAPI(LHANDLE lhSimpleSession,ULONG ulFlags,LPCIID lpInterface,LPMAPISESSION*lppMAPISession); |
lib/libc/include/any-windows-any/mbstring.h+7| ... | @@ -31,7 +31,14 @@ extern "C" { | ... | @@ -31,7 +31,14 @@ extern "C" { |
| 31 | 31 | ||
| 32 | #ifndef _MBSTRING_DEFINED | 32 | #ifndef _MBSTRING_DEFINED |
| 33 | #define _MBSTRING_DEFINED | 33 | #define _MBSTRING_DEFINED |
| 34 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 35 | #pragma push_macro("_mbsdup") | ||
| 36 | #undef _mbsdup | ||
| 37 | #endif | ||
| 34 | _CRTIMP unsigned char *__cdecl _mbsdup(const unsigned char *_Str); | 38 | _CRTIMP unsigned char *__cdecl _mbsdup(const unsigned char *_Str); |
| 39 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 40 | #pragma pop_macro("_mbsdup") | ||
| 41 | #endif | ||
| 35 | _CRTIMP unsigned int __cdecl _mbbtombc(unsigned int _Ch); | 42 | _CRTIMP unsigned int __cdecl _mbbtombc(unsigned int _Ch); |
| 36 | _CRTIMP unsigned int __cdecl _mbbtombc_l(unsigned int _Ch,_locale_t _Locale); | 43 | _CRTIMP unsigned int __cdecl _mbbtombc_l(unsigned int _Ch,_locale_t _Locale); |
| 37 | _CRTIMP int __cdecl _mbbtype(unsigned char _Ch,int _CType); | 44 | _CRTIMP int __cdecl _mbbtype(unsigned char _Ch,int _CType); |
lib/libc/include/any-windows-any/mediaobj.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mediaobj.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mediaobj.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/medparam.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/medparam.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/medparam.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfcaptureengine.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfcaptureengine.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfcaptureengine.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfd3d12.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfd3d12.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfd3d12.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfmediacapture.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfmediacapture.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfmediacapture.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfmediaengine.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfmediaengine.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfmediaengine.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfobjects.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfobjects.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfobjects.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfplay.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfplay.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfplay.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mfreadwrite.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mfreadwrite.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mfreadwrite.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mftransform.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mftransform.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mftransform.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mmdeviceapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mmdeviceapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mmdeviceapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mmstream.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mmstream.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mmstream.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mscoree.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mscoree.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mscoree.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msctf.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msctf.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msctf.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mshtmhst.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mshtmhst.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mshtmhst.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/mshtml.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/mshtml.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/mshtml.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msinkaut.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msinkaut.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msinkaut.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msinkaut_i.c+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from msinkaut.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from msinkaut.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #include <rpc.h> | 3 | #include <rpc.h> |
| 4 | #include <rpcndr.h> | 4 | #include <rpcndr.h> |
lib/libc/include/any-windows-any/msopc.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msopc.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msopc.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msxml.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msxml.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msxml.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msxml2.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msxml2.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msxml2.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/msxml6.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/msxml6.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/msxml6.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napcertrelyingparty.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napcertrelyingparty.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napcertrelyingparty.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napcommon.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napcommon.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napcommon.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napenforcementclient.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napenforcementclient.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napenforcementclient.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napmanagement.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napmanagement.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napmanagement.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napprotocol.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napprotocol.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napprotocol.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napservermanagement.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napservermanagement.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napservermanagement.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napsystemhealthagent.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napsystemhealthagent.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napsystemhealthagent.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/napsystemhealthvalidator.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/napsystemhealthvalidator.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/napsystemhealthvalidator.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/naptypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/naptypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/naptypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/netcfgn.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/netcfgn.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/netcfgn.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/netcfgx.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/netcfgx.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/netcfgx.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/netfw.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/netfw.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/netfw.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/netlistmgr.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/netlistmgr.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/netlistmgr.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/oaidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/oaidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/oaidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/objectarray.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/objectarray.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/objectarray.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/objidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/objidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/objidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/objidlbase.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/objidlbase.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/objidlbase.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/ocidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/ocidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/ocidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/oleacc.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/oleacc.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/oleacc.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/oleidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/oleidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/oleidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/optary.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/optary.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/optary.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/portabledeviceapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/portabledeviceapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/portabledeviceapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/portabledevicetypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/portabledevicetypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/portabledevicetypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/processthreadsapi.h+11-3| ... | @@ -47,7 +47,7 @@ extern "C" { | ... | @@ -47,7 +47,7 @@ extern "C" { |
| 47 | 47 | ||
| 48 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | 48 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) |
| 49 | WINBASEAPI WINBOOL WINAPI TerminateProcess (HANDLE hProcess, UINT uExitCode); | 49 | WINBASEAPI WINBOOL WINAPI TerminateProcess (HANDLE hProcess, UINT uExitCode); |
| 50 | 50 | ||
| 51 | typedef struct _STARTUPINFOA { | 51 | typedef struct _STARTUPINFOA { |
| 52 | DWORD cb; | 52 | DWORD cb; |
| 53 | LPSTR lpReserved; | 53 | LPSTR lpReserved; |
| ... | @@ -111,6 +111,8 @@ extern "C" { | ... | @@ -111,6 +111,8 @@ extern "C" { |
| 111 | ProcessProtectionLevelInfo, | 111 | ProcessProtectionLevelInfo, |
| 112 | ProcessLeapSecondInfo, | 112 | ProcessLeapSecondInfo, |
| 113 | ProcessMachineTypeInfo, | 113 | ProcessMachineTypeInfo, |
| 114 | ProcessOverrideSubsequentPrefetchParameter, | ||
| 115 | ProcessMaxOverridePrefetchParameter, | ||
| 114 | ProcessInformationClassMax | 116 | ProcessInformationClassMax |
| 115 | } PROCESS_INFORMATION_CLASS; | 117 | } PROCESS_INFORMATION_CLASS; |
| 116 | 118 | ||
| ... | @@ -136,6 +138,10 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); | ... | @@ -136,6 +138,10 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); |
| 136 | MACHINE_ATTRIBUTES MachineAttributes; | 138 | MACHINE_ATTRIBUTES MachineAttributes; |
| 137 | } PROCESS_MACHINE_INFORMATION; | 139 | } PROCESS_MACHINE_INFORMATION; |
| 138 | 140 | ||
| 141 | typedef struct OVERRIDE_PREFETCH_PARAMETER { | ||
| 142 | UINT32 Value; | ||
| 143 | } OVERRIDE_PREFETCH_PARAMETER; | ||
| 144 | |||
| 139 | #define PME_CURRENT_VERSION 1 | 145 | #define PME_CURRENT_VERSION 1 |
| 140 | 146 | ||
| 141 | typedef enum _PROCESS_MEMORY_EXHAUSTION_TYPE { | 147 | typedef enum _PROCESS_MEMORY_EXHAUSTION_TYPE { |
| ... | @@ -309,6 +315,7 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); | ... | @@ -309,6 +315,7 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); |
| 309 | #if _WIN32_WINNT >= 0x0A00 | 315 | #if _WIN32_WINNT >= 0x0A00 |
| 310 | WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData); | 316 | WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData); |
| 311 | WINBASEAPI WINBOOL WINAPI SwitchToThread (VOID); | 317 | WINBASEAPI WINBOOL WINAPI SwitchToThread (VOID); |
| 318 | WINBASEAPI LPVOID WINAPI TlsGetValue2(DWORD dwTlsIndex); | ||
| 312 | #endif | 319 | #endif |
| 313 | WINBASEAPI DWORD WINAPI SuspendThread (HANDLE hThread); | 320 | WINBASEAPI DWORD WINAPI SuspendThread (HANDLE hThread); |
| 314 | WINBASEAPI DWORD WINAPI ResumeThread (HANDLE hThread); | 321 | WINBASEAPI DWORD WINAPI ResumeThread (HANDLE hThread); |
| ... | @@ -325,8 +332,9 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); | ... | @@ -325,8 +332,9 @@ DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES); |
| 325 | 332 | ||
| 326 | #if NTDDI_VERSION >= NTDDI_WIN10_MN | 333 | #if NTDDI_VERSION >= NTDDI_WIN10_MN |
| 327 | typedef enum _QUEUE_USER_APC_FLAGS { | 334 | typedef enum _QUEUE_USER_APC_FLAGS { |
| 328 | QUEUE_USER_APC_FLAGS_NONE = 0x0, | 335 | QUEUE_USER_APC_FLAGS_NONE = 0x00000000, |
| 329 | QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC = 0x1 | 336 | QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC = 0x00000001, |
| 337 | QUEUE_USER_APC_CALLBACK_DATA_CONTEXT = 0x00010000 | ||
| 330 | } QUEUE_USER_APC_FLAGS; | 338 | } QUEUE_USER_APC_FLAGS; |
| 331 | 339 | ||
| 332 | typedef struct _APC_CALLBACK_DATA { | 340 | typedef struct _APC_CALLBACK_DATA { |
lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/proofofpossessioncookieinfo.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/proofofpossessioncookieinfo.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/propidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/propidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/propidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/propsys.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/propsys.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/propsys.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/propvarutil.h+3| ... | @@ -102,6 +102,7 @@ PSSTDAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret); | ... | @@ -102,6 +102,7 @@ PSSTDAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret); |
| 102 | PSSTDAPI_(ULONG) PropVariantToUInt32WithDefault(REFPROPVARIANT propvarIn, ULONG uLDefault); | 102 | PSSTDAPI_(ULONG) PropVariantToUInt32WithDefault(REFPROPVARIANT propvarIn, ULONG uLDefault); |
| 103 | PSSTDAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret); | 103 | PSSTDAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret); |
| 104 | PSSTDAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, WINBOOL *ret); | 104 | PSSTDAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, WINBOOL *ret); |
| 105 | PSSTDAPI PropVariantToBSTR(REFPROPVARIANT propvar, BSTR *bstr); | ||
| 105 | PSSTDAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb); | 106 | PSSTDAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb); |
| 106 | PSSTDAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch); | 107 | PSSTDAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch); |
| 107 | PSSTDAPI_(PCWSTR) PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault); | 108 | PSSTDAPI_(PCWSTR) PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault); |
| ... | @@ -113,6 +114,8 @@ PSSTDAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret); | ... | @@ -113,6 +114,8 @@ PSSTDAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret); |
| 113 | PSSTDAPI PropVariantToVariant(const PROPVARIANT *propvar, VARIANT *var); | 114 | PSSTDAPI PropVariantToVariant(const PROPVARIANT *propvar, VARIANT *var); |
| 114 | PSSTDAPI VariantToPropVariant(const VARIANT* var, PROPVARIANT* propvar); | 115 | PSSTDAPI VariantToPropVariant(const VARIANT* var, PROPVARIANT* propvar); |
| 115 | 116 | ||
| 117 | PSSTDAPI PropVariantGetStringElem(const PROPVARIANT *propvar, ULONG idx, WCHAR **ret); | ||
| 118 | |||
| 116 | #ifdef __cplusplus | 119 | #ifdef __cplusplus |
| 117 | 120 | ||
| 118 | HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar); | 121 | HRESULT InitPropVariantFromBoolean(WINBOOL fVal, PROPVARIANT *ppropvar); |
lib/libc/include/any-windows-any/psdk_inc/intrin-impl.h+13-14| ... | @@ -134,7 +134,7 @@ __INTRINSICS_USEINLINE | ... | @@ -134,7 +134,7 @@ __INTRINSICS_USEINLINE |
| 134 | FunctionName: Any valid function name | 134 | FunctionName: Any valid function name |
| 135 | DataType: __LONG32 or __int64 | 135 | DataType: __LONG32 or __int64 |
| 136 | OffsetConstraint: either "I" for 32bit data types or "J" for 64. */ | 136 | OffsetConstraint: either "I" for 32bit data types or "J" for 64. */ |
| 137 | #if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) | 137 | #if (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) || defined(__i386__) || defined(_X86_) |
| 138 | #define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \ | 138 | #define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \ |
| 139 | { \ | 139 | { \ |
| 140 | unsigned char old; \ | 140 | unsigned char old; \ |
| ... | @@ -162,7 +162,7 @@ __INTRINSICS_USEINLINE | ... | @@ -162,7 +162,7 @@ __INTRINSICS_USEINLINE |
| 162 | : "memory", "cc"); \ | 162 | : "memory", "cc"); \ |
| 163 | return (old >> Offset) & 1; \ | 163 | return (old >> Offset) & 1; \ |
| 164 | } | 164 | } |
| 165 | #elif defined(__aarch64__) || defined(_ARM64_) | 165 | #elif defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) |
| 166 | #define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \ | 166 | #define __buildbittesti(x, y, z, a) unsigned char x(y volatile *Base, y Offset) \ |
| 167 | { \ | 167 | { \ |
| 168 | unsigned int old, tmp1, tmp2; \ | 168 | unsigned int old, tmp1, tmp2; \ |
| ... | @@ -198,7 +198,7 @@ __INTRINSICS_USEINLINE | ... | @@ -198,7 +198,7 @@ __INTRINSICS_USEINLINE |
| 198 | : "memory", "cc"); \ | 198 | : "memory", "cc"); \ |
| 199 | return (old >> Offset) & 1; \ | 199 | return (old >> Offset) & 1; \ |
| 200 | } | 200 | } |
| 201 | #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) */ | 201 | #endif /* (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) || defined(__i386__) || defined(_X86_) */ |
| 202 | 202 | ||
| 203 | /* This macro is used by YieldProcessor when compiling x86 w/o SSE2. | 203 | /* This macro is used by YieldProcessor when compiling x86 w/o SSE2. |
| 204 | It generates the same opcodes as _mm_pause. */ | 204 | It generates the same opcodes as _mm_pause. */ |
| ... | @@ -668,8 +668,7 @@ unsigned short _rotr16(unsigned short __X, unsigned char __C) | ... | @@ -668,8 +668,7 @@ unsigned short _rotr16(unsigned short __X, unsigned char __C) |
| 668 | #define __INTRINSIC_DEFINED__rotr16 | 668 | #define __INTRINSIC_DEFINED__rotr16 |
| 669 | #endif /* __INTRINSIC_PROLOG */ | 669 | #endif /* __INTRINSIC_PROLOG */ |
| 670 | 670 | ||
| 671 | #if defined(__x86_64__) || defined(_AMD64_) | 671 | #if (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) |
| 672 | |||
| 673 | #if __INTRINSIC_PROLOG(__faststorefence) | 672 | #if __INTRINSIC_PROLOG(__faststorefence) |
| 674 | void __faststorefence(void); | 673 | void __faststorefence(void); |
| 675 | #if !__has_builtin(__faststorefence) | 674 | #if !__has_builtin(__faststorefence) |
| ... | @@ -1103,7 +1102,7 @@ unsigned __int64 __shiftright128 (unsigned __int64 LowPart, unsigned __int64 Hi | ... | @@ -1103,7 +1102,7 @@ unsigned __int64 __shiftright128 (unsigned __int64 LowPart, unsigned __int64 Hi |
| 1103 | #define __INTRINSIC_DEFINED___shiftright128 | 1102 | #define __INTRINSIC_DEFINED___shiftright128 |
| 1104 | #endif /* __INTRINSIC_PROLOG */ | 1103 | #endif /* __INTRINSIC_PROLOG */ |
| 1105 | 1104 | ||
| 1106 | #endif /* defined(__x86_64__) || defined(_AMD64_) */ | 1105 | #endif /* #(defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) */ |
| 1107 | 1106 | ||
| 1108 | /* ***************************************************** */ | 1107 | /* ***************************************************** */ |
| 1109 | 1108 | ||
| ... | @@ -1195,7 +1194,7 @@ unsigned char _BitScanReverse(unsigned __LONG32 *Index, unsigned __LONG32 Mask) | ... | @@ -1195,7 +1194,7 @@ unsigned char _BitScanReverse(unsigned __LONG32 *Index, unsigned __LONG32 Mask) |
| 1195 | 1194 | ||
| 1196 | #endif /* defined(__arm__) || defined(_ARM_) */ | 1195 | #endif /* defined(__arm__) || defined(_ARM_) */ |
| 1197 | 1196 | ||
| 1198 | #if defined(__aarch64__) || defined(_ARM64_) | 1197 | #if defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) |
| 1199 | 1198 | ||
| 1200 | #if __INTRINSIC_PROLOG(_interlockedbittestandset) | 1199 | #if __INTRINSIC_PROLOG(_interlockedbittestandset) |
| 1201 | unsigned char _interlockedbittestandset(__LONG32 volatile *a, __LONG32 b); | 1200 | unsigned char _interlockedbittestandset(__LONG32 volatile *a, __LONG32 b); |
| ... | @@ -1436,9 +1435,9 @@ unsigned char _BitScanReverse64(unsigned __LONG32 *Index, unsigned __int64 Mask) | ... | @@ -1436,9 +1435,9 @@ unsigned char _BitScanReverse64(unsigned __LONG32 *Index, unsigned __int64 Mask) |
| 1436 | #define __INTRINSIC_DEFINED__BitScanReverse64 | 1435 | #define __INTRINSIC_DEFINED__BitScanReverse64 |
| 1437 | #endif /* __INTRINSIC_PROLOG */ | 1436 | #endif /* __INTRINSIC_PROLOG */ |
| 1438 | 1437 | ||
| 1439 | #endif /* defined(__aarch64__) || define(_ARM64_) */ | 1438 | #endif /* defined(__aarch64__) || define(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) */ |
| 1440 | 1439 | ||
| 1441 | #if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) | 1440 | #if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) |
| 1442 | 1441 | ||
| 1443 | #if __INTRINSIC_PROLOG(_bittest) | 1442 | #if __INTRINSIC_PROLOG(_bittest) |
| 1444 | unsigned char _bittest(const __LONG32 *__a, __LONG32 __b); | 1443 | unsigned char _bittest(const __LONG32 *__a, __LONG32 __b); |
| ... | @@ -1494,9 +1493,9 @@ unsigned char _bittestandcomplement(__LONG32 *__a, __LONG32 __b) | ... | @@ -1494,9 +1493,9 @@ unsigned char _bittestandcomplement(__LONG32 *__a, __LONG32 __b) |
| 1494 | #define __INTRINSIC_DEFINED__bittestandcomplement | 1493 | #define __INTRINSIC_DEFINED__bittestandcomplement |
| 1495 | #endif /* __INTRINSIC_PROLOG */ | 1494 | #endif /* __INTRINSIC_PROLOG */ |
| 1496 | 1495 | ||
| 1497 | #endif /* defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */ | 1496 | #endif /* defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) */ |
| 1498 | 1497 | ||
| 1499 | #if defined(__aarch64__) || defined(_ARM64_) | 1498 | #if defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) |
| 1500 | 1499 | ||
| 1501 | #if __INTRINSIC_PROLOG(_bittest64) | 1500 | #if __INTRINSIC_PROLOG(_bittest64) |
| 1502 | unsigned char _bittest64(const __int64 *__a, __int64 __b); | 1501 | unsigned char _bittest64(const __int64 *__a, __int64 __b); |
| ... | @@ -1552,7 +1551,7 @@ unsigned char _bittestandcomplement64(__int64 *__a, __int64 __b) | ... | @@ -1552,7 +1551,7 @@ unsigned char _bittestandcomplement64(__int64 *__a, __int64 __b) |
| 1552 | #define __INTRINSIC_DEFINED__bittestandcomplement64 | 1551 | #define __INTRINSIC_DEFINED__bittestandcomplement64 |
| 1553 | #endif /* __INTRINSIC_PROLOG */ | 1552 | #endif /* __INTRINSIC_PROLOG */ |
| 1554 | 1553 | ||
| 1555 | #endif /* defined(__aarch64__) || define(_ARM64_) */ | 1554 | #endif /* defined(__aarch64__) || define(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) */ |
| 1556 | 1555 | ||
| 1557 | /* ***************************************************** */ | 1556 | /* ***************************************************** */ |
| 1558 | 1557 | ||
| ... | @@ -1777,7 +1776,7 @@ void *_InterlockedExchangePointer(void *volatile *Target,void *Value) { | ... | @@ -1777,7 +1776,7 @@ void *_InterlockedExchangePointer(void *volatile *Target,void *Value) { |
| 1777 | 1776 | ||
| 1778 | #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */ | 1777 | #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */ |
| 1779 | 1778 | ||
| 1780 | #if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) | 1779 | #if (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) || defined(__i386__) || defined(_X86_) |
| 1781 | 1780 | ||
| 1782 | #if __INTRINSIC_PROLOG(__int2c) | 1781 | #if __INTRINSIC_PROLOG(__int2c) |
| 1783 | void __int2c(void); | 1782 | void __int2c(void); |
| ... | @@ -2157,7 +2156,7 @@ unsigned __int64 _xgetbv(unsigned int index) | ... | @@ -2157,7 +2156,7 @@ unsigned __int64 _xgetbv(unsigned int index) |
| 2157 | #endif /* __INTRINSIC_PROLOG */ | 2156 | #endif /* __INTRINSIC_PROLOG */ |
| 2158 | #endif /* __GNUC__ < 8 */ | 2157 | #endif /* __GNUC__ < 8 */ |
| 2159 | 2158 | ||
| 2160 | #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) */ | 2159 | #endif /* (defined(__x86_64__) && !defined(__arm64ec__)) || (defined(_AMD64_) && !defined(_ARM64EC_)) || defined(__i386__) || defined(_X86_) */ |
| 2161 | 2160 | ||
| 2162 | /* ***************************************************** */ | 2161 | /* ***************************************************** */ |
| 2163 | 2162 |
lib/libc/include/any-windows-any/pthread.h+5-52| ... | @@ -68,9 +68,12 @@ | ... | @@ -68,9 +68,12 @@ |
| 68 | #include <signal.h> | 68 | #include <signal.h> |
| 69 | #include <time.h> | 69 | #include <time.h> |
| 70 | 70 | ||
| 71 | #include <sys/timeb.h> | ||
| 72 | |||
| 73 | #include "pthread_compat.h" | 71 | #include "pthread_compat.h" |
| 72 | #include "sched.h" | ||
| 73 | |||
| 74 | #ifdef _MSC_VER | ||
| 75 | #include "pthread_time.h" | ||
| 76 | #endif | ||
| 74 | 77 | ||
| 75 | #ifdef __cplusplus | 78 | #ifdef __cplusplus |
| 76 | extern "C" { | 79 | extern "C" { |
| ... | @@ -83,36 +86,11 @@ extern "C" { | ... | @@ -83,36 +86,11 @@ extern "C" { |
| 83 | /* MSB 8-bit major version, 8-bit minor version, 16-bit patch level. */ | 86 | /* MSB 8-bit major version, 8-bit minor version, 16-bit patch level. */ |
| 84 | #define __WINPTHREADS_VERSION 0x00050000 | 87 | #define __WINPTHREADS_VERSION 0x00050000 |
| 85 | 88 | ||
| 86 | #if defined(IN_WINPTHREAD) | ||
| 87 | # if defined(DLL_EXPORT) | ||
| 88 | # define WINPTHREAD_API __declspec(dllexport) /* building the DLL */ | ||
| 89 | # else | ||
| 90 | # define WINPTHREAD_API /* building the static library */ | ||
| 91 | # endif | ||
| 92 | #else | ||
| 93 | # if defined(WINPTHREADS_USE_DLLIMPORT) | ||
| 94 | # define WINPTHREAD_API __declspec(dllimport) /* user wants explicit `dllimport` */ | ||
| 95 | # else | ||
| 96 | # define WINPTHREAD_API /* the default; auto imported in case of DLL */ | ||
| 97 | # endif | ||
| 98 | #endif | ||
| 99 | |||
| 100 | /* #define WINPTHREAD_DBG 1 */ | 89 | /* #define WINPTHREAD_DBG 1 */ |
| 101 | 90 | ||
| 102 | /* Compatibility stuff: */ | 91 | /* Compatibility stuff: */ |
| 103 | #define RWLS_PER_THREAD						8 | 92 | #define RWLS_PER_THREAD						8 |
| 104 | 93 | ||
| 105 | /* Error-codes. */ | ||
| 106 | #ifndef ETIMEDOUT | ||
| 107 | #define ETIMEDOUT	138 | ||
| 108 | #endif | ||
| 109 | #ifndef ENOTSUP | ||
| 110 | #define ENOTSUP		129 | ||
| 111 | #endif | ||
| 112 | #ifndef EWOULDBLOCK | ||
| 113 | #define EWOULDBLOCK	140 | ||
| 114 | #endif | ||
| 115 | |||
| 116 | /* pthread specific defines. */ | 94 | /* pthread specific defines. */ |
| 117 | 95 | ||
| 118 | #define PTHREAD_CANCEL_DISABLE 0 | 96 | #define PTHREAD_CANCEL_DISABLE 0 |
| ... | @@ -234,26 +212,6 @@ struct _pthread_cleanup | ... | @@ -234,26 +212,6 @@ struct _pthread_cleanup |
| 234 | if ((E)) _pthread_cup.func((pthread_once_t *)_pthread_cup.arg); \ | 212 | if ((E)) _pthread_cup.func((pthread_once_t *)_pthread_cup.arg); \ |
| 235 | } while (0) | 213 | } while (0) |
| 236 | 214 | ||
| 237 | #ifndef SCHED_OTHER | ||
| 238 | /* Some POSIX realtime extensions, mostly stubbed */ | ||
| 239 | #define SCHED_OTHER 0 | ||
| 240 | #define SCHED_FIFO 1 | ||
| 241 | #define SCHED_RR 2 | ||
| 242 | #define SCHED_MIN SCHED_OTHER | ||
| 243 | #define SCHED_MAX SCHED_RR | ||
| 244 | |||
| 245 | struct sched_param { | ||
| 246 | int sched_priority; | ||
| 247 | }; | ||
| 248 | |||
| 249 | WINPTHREAD_API int sched_yield(void); | ||
| 250 | WINPTHREAD_API int sched_get_priority_min(int pol); | ||
| 251 | WINPTHREAD_API int sched_get_priority_max(int pol); | ||
| 252 | WINPTHREAD_API int sched_getscheduler(pid_t pid); | ||
| 253 | WINPTHREAD_API int sched_setscheduler(pid_t pid, int pol, const struct sched_param *param); | ||
| 254 | |||
| 255 | #endif | ||
| 256 | |||
| 257 | typedef struct pthread_attr_t pthread_attr_t; | 215 | typedef struct pthread_attr_t pthread_attr_t; |
| 258 | struct pthread_attr_t | 216 | struct pthread_attr_t |
| 259 | { | 217 | { |
| ... | @@ -393,11 +351,6 @@ WINPTHREAD_API int pthread_condattr_init(pthread_condattr_t *a); | ... | @@ -393,11 +351,6 @@ WINPTHREAD_API int pthread_condattr_init(pthread_condattr_t *a); |
| 393 | WINPTHREAD_API int pthread_condattr_getpshared(const pthread_condattr_t *a, int *s); | 351 | WINPTHREAD_API int pthread_condattr_getpshared(const pthread_condattr_t *a, int *s); |
| 394 | WINPTHREAD_API int pthread_condattr_setpshared(pthread_condattr_t *a, int s); | 352 | WINPTHREAD_API int pthread_condattr_setpshared(pthread_condattr_t *a, int s); |
| 395 | 353 | ||
| 396 | #ifndef __clockid_t_defined | ||
| 397 | typedef int clockid_t; | ||
| 398 | #define __clockid_t_defined 1 | ||
| 399 | #endif /* __clockid_t_defined */ | ||
| 400 | |||
| 401 | WINPTHREAD_API int pthread_condattr_getclock (const pthread_condattr_t *attr, | 354 | WINPTHREAD_API int pthread_condattr_getclock (const pthread_condattr_t *attr, |
| 402 | clockid_t *clock_id); | 355 | clockid_t *clock_id); |
| 403 | WINPTHREAD_API int pthread_condattr_setclock(pthread_condattr_t *attr, | 356 | WINPTHREAD_API int pthread_condattr_setclock(pthread_condattr_t *attr, |
lib/libc/include/any-windows-any/pthread_compat.h+35-3| ... | @@ -60,6 +60,41 @@ | ... | @@ -60,6 +60,41 @@ |
| 60 | #ifndef WIN_PTHREADS_PTHREAD_COMPAT_H | 60 | #ifndef WIN_PTHREADS_PTHREAD_COMPAT_H |
| 61 | #define WIN_PTHREADS_PTHREAD_COMPAT_H | 61 | #define WIN_PTHREADS_PTHREAD_COMPAT_H |
| 62 | 62 | ||
| 63 | #if defined(IN_WINPTHREAD) | ||
| 64 | # if defined(DLL_EXPORT) | ||
| 65 | # define WINPTHREAD_API __declspec(dllexport) /* building the DLL */ | ||
| 66 | # else | ||
| 67 | # define WINPTHREAD_API /* building the static library */ | ||
| 68 | # endif | ||
| 69 | #else | ||
| 70 | # if defined(WINPTHREADS_USE_DLLIMPORT) | ||
| 71 | # define WINPTHREAD_API __declspec(dllimport) /* user wants explicit `dllimport` */ | ||
| 72 | # else | ||
| 73 | # define WINPTHREAD_API /* the default; auto imported in case of DLL */ | ||
| 74 | # endif | ||
| 75 | #endif | ||
| 76 | |||
| 77 | #ifndef __clockid_t_defined | ||
| 78 | typedef int clockid_t; | ||
| 79 | #define __clockid_t_defined 1 | ||
| 80 | #endif /* __clockid_t_defined */ | ||
| 81 | |||
| 82 | #ifndef _MODE_T_ | ||
| 83 | #define	_MODE_T_ | ||
| 84 | typedef unsigned short mode_t; | ||
| 85 | #endif | ||
| 86 | |||
| 87 | /* Error-codes. */ | ||
| 88 | #ifndef ETIMEDOUT | ||
| 89 | #define ETIMEDOUT	138 | ||
| 90 | #endif | ||
| 91 | #ifndef ENOTSUP | ||
| 92 | #define ENOTSUP		129 | ||
| 93 | #endif | ||
| 94 | #ifndef EWOULDBLOCK | ||
| 95 | #define EWOULDBLOCK	140 | ||
| 96 | #endif | ||
| 97 | |||
| 63 | #ifdef __GNUC__ | 98 | #ifdef __GNUC__ |
| 64 | 99 | ||
| 65 | #define WINPTHREADS_INLINE inline | 100 | #define WINPTHREADS_INLINE inline |
| ... | @@ -68,14 +103,11 @@ | ... | @@ -68,14 +103,11 @@ |
| 68 | 103 | ||
| 69 | #elif _MSC_VER | 104 | #elif _MSC_VER |
| 70 | 105 | ||
| 71 | #include "pthread_time.h" | ||
| 72 | |||
| 73 | #ifdef _WIN64 | 106 | #ifdef _WIN64 |
| 74 | typedef __int64 pid_t; | 107 | typedef __int64 pid_t; |
| 75 | #else | 108 | #else |
| 76 | typedef int pid_t; | 109 | typedef int pid_t; |
| 77 | #endif | 110 | #endif |
| 78 | typedef int clockid_t; | ||
| 79 | 111 | ||
| 80 | #define WINPTHREADS_INLINE __inline | 112 | #define WINPTHREADS_INLINE __inline |
| 81 | #define WINPTHREADS_ATTRIBUTE(X) __declspec X | 113 | #define WINPTHREADS_ATTRIBUTE(X) __declspec X |
lib/libc/include/any-windows-any/pthread_time.h+2-17| ... | @@ -20,11 +20,11 @@ | ... | @@ -20,11 +20,11 @@ |
| 20 | DEALINGS IN THE SOFTWARE. | 20 | DEALINGS IN THE SOFTWARE. |
| 21 | */ | 21 | */ |
| 22 | 22 | ||
| 23 | #include <sys/timeb.h> | ||
| 24 | |||
| 25 | #ifndef WIN_PTHREADS_TIME_H | 23 | #ifndef WIN_PTHREADS_TIME_H |
| 26 | #define WIN_PTHREADS_TIME_H | 24 | #define WIN_PTHREADS_TIME_H |
| 27 | 25 | ||
| 26 | #include "pthread_compat.h" | ||
| 27 | |||
| 28 | /* Posix timers are supported */ | 28 | /* Posix timers are supported */ |
| 29 | #ifndef _POSIX_TIMERS | 29 | #ifndef _POSIX_TIMERS |
| 30 | #define _POSIX_TIMERS 200809L | 30 | #define _POSIX_TIMERS 200809L |
| ... | @@ -45,11 +45,6 @@ | ... | @@ -45,11 +45,6 @@ |
| 45 | #define _POSIX_THREAD_CPUTIME 200809L | 45 | #define _POSIX_THREAD_CPUTIME 200809L |
| 46 | #endif | 46 | #endif |
| 47 | 47 | ||
| 48 | #ifndef __clockid_t_defined | ||
| 49 | typedef int clockid_t; | ||
| 50 | #define __clockid_t_defined 1 | ||
| 51 | #endif /* __clockid_t_defined */ | ||
| 52 | |||
| 53 | #ifndef TIMER_ABSTIME | 48 | #ifndef TIMER_ABSTIME |
| 54 | #define TIMER_ABSTIME 1 | 49 | #define TIMER_ABSTIME 1 |
| 55 | #endif | 50 | #endif |
| ... | @@ -78,13 +73,6 @@ typedef int clockid_t; | ... | @@ -78,13 +73,6 @@ typedef int clockid_t; |
| 78 | extern "C" { | 73 | extern "C" { |
| 79 | #endif | 74 | #endif |
| 80 | 75 | ||
| 81 | /* Make sure we provide default for WINPTHREAD_API, if not defined. */ | ||
| 82 | #pragma push_macro("WINPTHREAD_API") | ||
| 83 | #ifndef WINPTHREAD_API | ||
| 84 | #define WINPTHREAD_API | ||
| 85 | #endif | ||
| 86 | |||
| 87 | /* These should really be dllimport'ed if using winpthread dll */ | ||
| 88 | WINPTHREAD_API int __cdecl nanosleep(const struct timespec *request, struct timespec *remain); | 76 | WINPTHREAD_API int __cdecl nanosleep(const struct timespec *request, struct timespec *remain); |
| 89 | 77 | ||
| 90 | WINPTHREAD_API int __cdecl clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain); | 78 | WINPTHREAD_API int __cdecl clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain); |
| ... | @@ -92,11 +80,8 @@ WINPTHREAD_API int __cdecl clock_getres(clockid_t clock_id, struct timespec *res | ... | @@ -92,11 +80,8 @@ WINPTHREAD_API int __cdecl clock_getres(clockid_t clock_id, struct timespec *res |
| 92 | WINPTHREAD_API int __cdecl clock_gettime(clockid_t clock_id, struct timespec *tp); | 80 | WINPTHREAD_API int __cdecl clock_gettime(clockid_t clock_id, struct timespec *tp); |
| 93 | WINPTHREAD_API int __cdecl clock_settime(clockid_t clock_id, const struct timespec *tp); | 81 | WINPTHREAD_API int __cdecl clock_settime(clockid_t clock_id, const struct timespec *tp); |
| 94 | 82 | ||
| 95 | #pragma pop_macro("WINPTHREAD_API") | ||
| 96 | |||
| 97 | #ifdef __cplusplus | 83 | #ifdef __cplusplus |
| 98 | } | 84 | } |
| 99 | #endif | 85 | #endif |
| 100 | 86 | ||
| 101 | #endif /* WIN_PTHREADS_TIME_H */ | 87 | #endif /* WIN_PTHREADS_TIME_H */ |
| 102 |
lib/libc/include/any-windows-any/qedit.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/qedit.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/qedit.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/qnetwork.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/qnetwork.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/qnetwork.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/rdpencomapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/rdpencomapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/rdpencomapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/regbag.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/regbag.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/regbag.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/relogger.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/relogger.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/relogger.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/robuffer.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/robuffer.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/robuffer.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/rtworkq.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/rtworkq.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/rtworkq.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/sapi51.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/sapi51.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/sapi51.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/sapi53.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/sapi53.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/sapi53.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/sapi54.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/sapi54.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/sapi54.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/sched.h+7-27| ... | @@ -19,6 +19,8 @@ | ... | @@ -19,6 +19,8 @@ |
| 19 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| 20 | DEALINGS IN THE SOFTWARE. | 20 | DEALINGS IN THE SOFTWARE. |
| 21 | */ | 21 | */ |
| 22 | #ifndef WIN_PTHREADS_SCHED_H | ||
| 23 | #define WIN_PTHREADS_SCHED_H | ||
| 22 | 24 | ||
| 23 | #include <stddef.h> | 25 | #include <stddef.h> |
| 24 | #include <errno.h> | 26 | #include <errno.h> |
| ... | @@ -28,14 +30,8 @@ | ... | @@ -28,14 +30,8 @@ |
| 28 | #include <limits.h> | 30 | #include <limits.h> |
| 29 | #include <signal.h> | 31 | #include <signal.h> |
| 30 | 32 | ||
| 31 | #include <sys/timeb.h> | ||
| 32 | |||
| 33 | #include "pthread_compat.h" | 33 | #include "pthread_compat.h" |
| 34 | 34 | ||
| 35 | #ifndef WIN_PTHREADS_SCHED_H | ||
| 36 | #define WIN_PTHREADS_SCHED_H | ||
| 37 | |||
| 38 | #ifndef SCHED_OTHER | ||
| 39 | /* Some POSIX realtime extensions, mostly stubbed */ | 35 | /* Some POSIX realtime extensions, mostly stubbed */ |
| 40 | #define SCHED_OTHER 0 | 36 | #define SCHED_OTHER 0 |
| 41 | #define SCHED_FIFO 1 | 37 | #define SCHED_FIFO 1 |
| ... | @@ -51,32 +47,16 @@ struct sched_param { | ... | @@ -51,32 +47,16 @@ struct sched_param { |
| 51 | extern "C" { | 47 | extern "C" { |
| 52 | #endif | 48 | #endif |
| 53 | 49 | ||
| 54 | #if defined(IN_WINPTHREAD) | 50 | WINPTHREAD_API int sched_yield(void); |
| 55 | # if defined(DLL_EXPORT) && !defined(WINPTHREAD_EXPORT_ALL_DEBUG) | 51 | WINPTHREAD_API int sched_get_priority_min(int pol); |
| 56 | # define WINPTHREAD_SCHED_API __declspec(dllexport) /* building the DLL */ | 52 | WINPTHREAD_API int sched_get_priority_max(int pol); |
| 57 | # else | 53 | WINPTHREAD_API int sched_getscheduler(pid_t pid); |
| 58 | # define WINPTHREAD_SCHED_API /* building the static library */ | 54 | WINPTHREAD_API int sched_setscheduler(pid_t pid, int pol, const struct sched_param *param); |
| 59 | # endif | ||
| 60 | #else | ||
| 61 | # if defined(WINPTHREADS_USE_DLLIMPORT) | ||
| 62 | # define WINPTHREAD_SCHED_API __declspec(dllimport) /* user wants explicit `dllimport` */ | ||
| 63 | # else | ||
| 64 | # define WINPTHREAD_SCHED_API /* the default; auto imported in case of DLL */ | ||
| 65 | # endif | ||
| 66 | #endif | ||
| 67 | |||
| 68 | WINPTHREAD_SCHED_API int sched_yield(void); | ||
| 69 | WINPTHREAD_SCHED_API int sched_get_priority_min(int pol); | ||
| 70 | WINPTHREAD_SCHED_API int sched_get_priority_max(int pol); | ||
| 71 | WINPTHREAD_SCHED_API int sched_getscheduler(pid_t pid); | ||
| 72 | WINPTHREAD_SCHED_API int sched_setscheduler(pid_t pid, int pol, const struct sched_param *param); | ||
| 73 | 55 | ||
| 74 | #ifdef __cplusplus | 56 | #ifdef __cplusplus |
| 75 | } | 57 | } |
| 76 | #endif | 58 | #endif |
| 77 | 59 | ||
| 78 | #endif | ||
| 79 | |||
| 80 | #ifndef sched_rr_get_interval | 60 | #ifndef sched_rr_get_interval |
| 81 | #define sched_rr_get_interval(_p, _i) \ | 61 | #define sched_rr_get_interval(_p, _i) \ |
| 82 | ( errno = ENOTSUP, (int) -1 ) | 62 | ( errno = ENOTSUP, (int) -1 ) |
lib/libc/include/any-windows-any/sec_api/stdlib_s.h+9-1| ... | @@ -12,8 +12,16 @@ | ... | @@ -12,8 +12,16 @@ |
| 12 | extern "C" { | 12 | extern "C" { |
| 13 | #endif | 13 | #endif |
| 14 | 14 | ||
| 15 | _CRTIMP void * __cdecl bsearch_s(const void *_Key,const void *_Base,rsize_t _NumOfElements,rsize_t _SizeOfElements,int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void *_Context); | 15 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) |
| 16 | #pragma push_macro("_dupenv_s") | ||
| 17 | #undef _dupenv_s | ||
| 18 | #endif | ||
| 16 | _CRTIMP errno_t __cdecl _dupenv_s(char **_PBuffer,size_t *_PBufferSizeInBytes,const char *_VarName); | 19 | _CRTIMP errno_t __cdecl _dupenv_s(char **_PBuffer,size_t *_PBufferSizeInBytes,const char *_VarName); |
| 20 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 21 | #pragma pop_macro("_dupenv_s") | ||
| 22 | #endif | ||
| 23 | |||
| 24 | _CRTIMP void * __cdecl bsearch_s(const void *_Key,const void *_Base,rsize_t _NumOfElements,rsize_t _SizeOfElements,int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void *_Context); | ||
| 17 | _CRTIMP errno_t __cdecl getenv_s(size_t *_ReturnSize,char *_DstBuf,rsize_t _DstSize,const char *_VarName); | 25 | _CRTIMP errno_t __cdecl getenv_s(size_t *_ReturnSize,char *_DstBuf,rsize_t _DstSize,const char *_VarName); |
| 18 | __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, getenv_s, size_t *, _ReturnSize, char, _Dest, const char *, _VarName) | 26 | __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t, getenv_s, size_t *, _ReturnSize, char, _Dest, const char *, _VarName) |
| 19 | _CRTIMP errno_t __cdecl _itoa_s(int _Value,char *_DstBuf,size_t _Size,int _Radix); | 27 | _CRTIMP errno_t __cdecl _itoa_s(int _Value,char *_DstBuf,size_t _Size,int _Radix); |
lib/libc/include/any-windows-any/semaphore.h+13-30| ... | @@ -23,60 +23,43 @@ | ... | @@ -23,60 +23,43 @@ |
| 23 | #ifndef WIN_PTHREADS_SEMAPHORE_H | 23 | #ifndef WIN_PTHREADS_SEMAPHORE_H |
| 24 | #define WIN_PTHREADS_SEMAPHORE_H | 24 | #define WIN_PTHREADS_SEMAPHORE_H |
| 25 | 25 | ||
| 26 | #include "pthread_compat.h" | ||
| 27 | |||
| 26 | #ifdef __cplusplus | 28 | #ifdef __cplusplus |
| 27 | extern "C" { | 29 | extern "C" { |
| 28 | #endif | 30 | #endif |
| 29 | 31 | ||
| 30 | #if defined(IN_WINPTHREAD) | ||
| 31 | # if defined(DLL_EXPORT) && !defined(WINPTHREAD_EXPORT_ALL_DEBUG) | ||
| 32 | # define WINPTHREAD_SEMA_API __declspec(dllexport) /* building the DLL */ | ||
| 33 | # else | ||
| 34 | # define WINPTHREAD_SEMA_API /* building the static library */ | ||
| 35 | # endif | ||
| 36 | #else | ||
| 37 | # if defined(WINPTHREADS_USE_DLLIMPORT) | ||
| 38 | # define WINPTHREAD_SEMA_API __declspec(dllimport) /* user wants explicit `dllimport` */ | ||
| 39 | # else | ||
| 40 | # define WINPTHREAD_SEMA_API /* the default; auto imported in case of DLL */ | ||
| 41 | # endif | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* Set this to 0 to disable it */ | 32 | /* Set this to 0 to disable it */ |
| 45 | #define USE_SEM_CriticalSection_SpinCount	100 | 33 | #define USE_SEM_CriticalSection_SpinCount	100 |
| 46 | 34 | ||
| 47 | #define SEM_VALUE_MAX INT_MAX | 35 | #define SEM_VALUE_MAX INT_MAX |
| 48 | 36 | ||
| 49 | #ifndef _MODE_T_ | ||
| 50 | #define	_MODE_T_ | ||
| 51 | typedef unsigned short mode_t; | ||
| 52 | #endif | ||
| 53 | |||
| 54 | typedef void		*sem_t; | 37 | typedef void		*sem_t; |
| 55 | 38 | ||
| 56 | #define SEM_FAILED 		NULL | 39 | #define SEM_FAILED 		NULL |
| 57 | 40 | ||
| 58 | WINPTHREAD_SEMA_API int sem_init(sem_t * sem, int pshared, unsigned int value); | 41 | WINPTHREAD_API int sem_init(sem_t * sem, int pshared, unsigned int value); |
| 59 | 42 | ||
| 60 | WINPTHREAD_SEMA_API int sem_destroy(sem_t *sem); | 43 | WINPTHREAD_API int sem_destroy(sem_t *sem); |
| 61 | 44 | ||
| 62 | WINPTHREAD_SEMA_API int sem_trywait(sem_t *sem); | 45 | WINPTHREAD_API int sem_trywait(sem_t *sem); |
| 63 | 46 | ||
| 64 | WINPTHREAD_SEMA_API int sem_wait(sem_t *sem); | 47 | WINPTHREAD_API int sem_wait(sem_t *sem); |
| 65 | 48 | ||
| 66 | WINPTHREAD_SEMA_API int sem_timedwait(sem_t * sem, const struct timespec *t); | 49 | WINPTHREAD_API int sem_timedwait(sem_t * sem, const struct timespec *t); |
| 67 | 50 | ||
| 68 | WINPTHREAD_SEMA_API int sem_post(sem_t *sem); | 51 | WINPTHREAD_API int sem_post(sem_t *sem); |
| 69 | 52 | ||
| 70 | WINPTHREAD_SEMA_API int sem_post_multiple(sem_t *sem, int count); | 53 | WINPTHREAD_API int sem_post_multiple(sem_t *sem, int count); |
| 71 | 54 | ||
| 72 | /* yes, it returns a semaphore (or SEM_FAILED) */ | 55 | /* yes, it returns a semaphore (or SEM_FAILED) */ |
| 73 | WINPTHREAD_SEMA_API sem_t * sem_open(const char * name, int oflag, mode_t mode, unsigned int value); | 56 | WINPTHREAD_API sem_t * sem_open(const char * name, int oflag, mode_t mode, unsigned int value); |
| 74 | 57 | ||
| 75 | WINPTHREAD_SEMA_API int sem_close(sem_t * sem); | 58 | WINPTHREAD_API int sem_close(sem_t * sem); |
| 76 | 59 | ||
| 77 | WINPTHREAD_SEMA_API int sem_unlink(const char * name); | 60 | WINPTHREAD_API int sem_unlink(const char * name); |
| 78 | 61 | ||
| 79 | WINPTHREAD_SEMA_API int sem_getvalue(sem_t * sem, int * sval); | 62 | WINPTHREAD_API int sem_getvalue(sem_t * sem, int * sval); |
| 80 | 63 | ||
| 81 | #ifdef __cplusplus | 64 | #ifdef __cplusplus |
| 82 | } | 65 | } |
lib/libc/include/any-windows-any/sensorsapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/sensorsapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/sensorsapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/servprov.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/servprov.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/servprov.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/shldisp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/shldisp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/shldisp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/shlwapi.h+2-2| ... | @@ -438,8 +438,8 @@ extern "C" { | ... | @@ -438,8 +438,8 @@ extern "C" { |
| 438 | LWSTDAPI_(WINBOOL) PathMatchSpecW(LPCWSTR pszFile,LPCWSTR pszSpec); | 438 | LWSTDAPI_(WINBOOL) PathMatchSpecW(LPCWSTR pszFile,LPCWSTR pszSpec); |
| 439 | LWSTDAPI_(int) PathParseIconLocationA(LPSTR pszIconFile); | 439 | LWSTDAPI_(int) PathParseIconLocationA(LPSTR pszIconFile); |
| 440 | LWSTDAPI_(int) PathParseIconLocationW(LPWSTR pszIconFile); | 440 | LWSTDAPI_(int) PathParseIconLocationW(LPWSTR pszIconFile); |
| 441 | LWSTDAPI_(void) PathQuoteSpacesA(LPSTR lpsz); | 441 | LWSTDAPI_(WINBOOL) PathQuoteSpacesA(LPSTR lpsz); |
| 442 | LWSTDAPI_(void) PathQuoteSpacesW(LPWSTR lpsz); | 442 | LWSTDAPI_(WINBOOL) PathQuoteSpacesW(LPWSTR lpsz); |
| 443 | LWSTDAPI_(WINBOOL) PathRelativePathToA(LPSTR pszPath,LPCSTR pszFrom,DWORD dwAttrFrom,LPCSTR pszTo,DWORD dwAttrTo); | 443 | LWSTDAPI_(WINBOOL) PathRelativePathToA(LPSTR pszPath,LPCSTR pszFrom,DWORD dwAttrFrom,LPCSTR pszTo,DWORD dwAttrTo); |
| 444 | LWSTDAPI_(WINBOOL) PathRelativePathToW(LPWSTR pszPath,LPCWSTR pszFrom,DWORD dwAttrFrom,LPCWSTR pszTo,DWORD dwAttrTo); | 444 | LWSTDAPI_(WINBOOL) PathRelativePathToW(LPWSTR pszPath,LPCWSTR pszFrom,DWORD dwAttrFrom,LPCWSTR pszTo,DWORD dwAttrTo); |
| 445 | LWSTDAPI_(void) PathRemoveArgsA(LPSTR pszPath); | 445 | LWSTDAPI_(void) PathRemoveArgsA(LPSTR pszPath); |
lib/libc/include/any-windows-any/shobjidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/shobjidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/shobjidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/shtypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/shtypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/shtypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/spatialaudioclient.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/spatialaudioclient.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/spatialaudioclient.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/spellcheck.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/spellcheck.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/spellcheck.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/stdio.h+101-26| ... | @@ -540,8 +540,15 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li | ... | @@ -540,8 +540,15 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li |
| 540 | _CRTIMP int __cdecl _fileno(FILE *_File); | 540 | _CRTIMP int __cdecl _fileno(FILE *_File); |
| 541 | #ifdef _POSIX_ | 541 | #ifdef _POSIX_ |
| 542 | int __cdecl fileno(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 542 | int __cdecl fileno(FILE *_File) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 543 | #endif | ||
| 544 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 545 | #pragma push_macro("_tempnam") | ||
| 546 | #undef _tempnam | ||
| 543 | #endif | 547 | #endif |
| 544 | _CRTIMP char *__cdecl _tempnam(const char *_DirName,const char *_FilePrefix); | 548 | _CRTIMP char *__cdecl _tempnam(const char *_DirName,const char *_FilePrefix); |
| 549 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 550 | #pragma pop_macro("_tempnam") | ||
| 551 | #endif | ||
| 545 | _CRTIMP int __cdecl _flushall(void); | 552 | _CRTIMP int __cdecl _flushall(void); |
| 546 | FILE *__cdecl fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 553 | FILE *__cdecl fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 547 | FILE *fopen64(const char * __restrict__ filename,const char * __restrict__ mode); | 554 | FILE *fopen64(const char * __restrict__ filename,const char * __restrict__ mode); |
| ... | @@ -915,10 +922,10 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format, | ... | @@ -915,10 +922,10 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format, |
| 915 | int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); | 922 | int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 916 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | 923 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 917 | int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); | 924 | int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 918 | /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 925 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 919 | int __cdecl __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); | 926 | int __cdecl __mingw_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); |
| 920 | /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) | 927 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 921 | int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); | 928 | int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); |
| 922 | 929 | ||
| 923 | /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 930 | /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 924 | int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); | 931 | int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); |
| ... | @@ -935,10 +942,10 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format, | ... | @@ -935,10 +942,10 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format, |
| 935 | int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); | 942 | int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 936 | /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) | 943 | /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 937 | int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); | 944 | int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 938 | /* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 945 | /* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 939 | int __cdecl __ms_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); | 946 | int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); |
| 940 | /* __attribute__((__format__ (ms_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) | 947 | /* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 941 | int __cdecl __ms_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); | 948 | int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); |
| 942 | 949 | ||
| 943 | #ifdef _UCRT | 950 | #ifdef _UCRT |
| 944 | int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); | 951 | int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); |
| ... | @@ -996,6 +1003,32 @@ __MINGW_ASM_CALL(__mingw_vfwprintf); | ... | @@ -996,6 +1003,32 @@ __MINGW_ASM_CALL(__mingw_vfwprintf); |
| 996 | int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) | 1003 | int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) |
| 997 | __MINGW_ASM_CALL(__mingw_vwprintf); | 1004 | __MINGW_ASM_CALL(__mingw_vwprintf); |
| 998 | 1005 | ||
| 1006 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 1007 | int swprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) | ||
| 1008 | __MINGW_ASM_CALL(__mingw_swprintf); | ||
| 1009 | |||
| 1010 | #if __MINGW_FORTIFY_VA_ARG | ||
| 1011 | |||
| 1012 | __mingw_bos_extern_ovr | ||
| 1013 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 1014 | int swprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) | ||
| 1015 | { | ||
| 1016 | __mingw_bos_ptr_chk_warn(__stream, __n * sizeof(wchar_t), 1); | ||
| 1017 | return __mingw_swprintf( __stream, __n, __format, __builtin_va_arg_pack() ); | ||
| 1018 | } | ||
| 1019 | |||
| 1020 | #endif /* __MINGW_FORTIFY_VA_ARG */ | ||
| 1021 | |||
| 1022 | __mingw_bos_ovr | ||
| 1023 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 1024 | int vswprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) | ||
| 1025 | { | ||
| 1026 | #if __MINGW_FORTIFY_LEVEL > 0 | ||
| 1027 | __mingw_bos_ptr_chk_warn(__stream, __n * sizeof(wchar_t), 1); | ||
| 1028 | #endif | ||
| 1029 | return __mingw_vswprintf( __stream, __n, __format, __local_argv ); | ||
| 1030 | } | ||
| 1031 | |||
| 999 | #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ | 1032 | #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ |
| 1000 | 1033 | ||
| 1001 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) | 1034 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| ... | @@ -1023,6 +1056,7 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1023,6 +1056,7 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1023 | #endif | 1056 | #endif |
| 1024 | return __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); | 1057 | return __mingw_vsnwprintf( __stream, __n, __format, __local_argv ); |
| 1025 | } | 1058 | } |
| 1059 | |||
| 1026 | #endif /* __NO_ISOCEXT */ | 1060 | #endif /* __NO_ISOCEXT */ |
| 1027 | 1061 | ||
| 1028 | #else /* !__USE_MINGW_ANSI_STDIO */ | 1062 | #else /* !__USE_MINGW_ANSI_STDIO */ |
| ... | @@ -1170,7 +1204,45 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1170,7 +1204,45 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1170 | 1204 | ||
| 1171 | #if __USE_MINGW_ANSI_STDIO == 0 | 1205 | #if __USE_MINGW_ANSI_STDIO == 0 |
| 1172 | __mingw_ovr | 1206 | __mingw_ovr |
| 1173 | int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) | 1207 | int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) |
| 1208 | { | ||
| 1209 | __builtin_va_list __ap; | ||
| 1210 | int __ret; | ||
| 1211 | /* | ||
| 1212 | * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and | ||
| 1213 | * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is | ||
| 1214 | * executed in "standard snprintf behavior" and returns number of (wide) | ||
| 1215 | * chars required to allocate. For all other cases it is executed in a way | ||
| 1216 | * that returns negative value on error. But C95+ compliant swprintf() for | ||
| 1217 | * case _Count == 0 returns negative value, so handle this case specially. | ||
| 1218 | */ | ||
| 1219 | if (_Dest == NULL && _Count == 0) | ||
| 1220 | return -1; | ||
| 1221 | __builtin_va_start(__ap, _Format); | ||
| 1222 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, __ap); | ||
| 1223 | __builtin_va_end(__ap); | ||
| 1224 | return __ret < 0 ? -1 : __ret; | ||
| 1225 | } | ||
| 1226 | __mingw_ovr | ||
| 1227 | int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) | ||
| 1228 | { | ||
| 1229 | int __ret; | ||
| 1230 | /* | ||
| 1231 | * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and | ||
| 1232 | * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is | ||
| 1233 | * executed in "standard snprintf behavior" and returns number of (wide) | ||
| 1234 | * chars required to allocate. For all other cases it is executed in a way | ||
| 1235 | * that returns negative value on error. But C95+ compliant vswprintf() for | ||
| 1236 | * case _Count == 0 returns negative value, so handle this case specially. | ||
| 1237 | */ | ||
| 1238 | if (_Dest == NULL && _Count == 0) | ||
| 1239 | return -1; | ||
| 1240 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, _Args); | ||
| 1241 | return __ret < 0 ? -1 : __ret; | ||
| 1242 | } | ||
| 1243 | |||
| 1244 | __mingw_ovr | ||
| 1245 | int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) | ||
| 1174 | { | 1246 | { |
| 1175 | __builtin_va_list __ap; | 1247 | __builtin_va_list __ap; |
| 1176 | int __ret; | 1248 | int __ret; |
| ... | @@ -1182,8 +1254,7 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1182,8 +1254,7 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1182 | __mingw_ovr | 1254 | __mingw_ovr |
| 1183 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) | 1255 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) |
| 1184 | { | 1256 | { |
| 1185 | int __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, s, n, format, NULL, arg); | 1257 | return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, arg); |
| 1186 | return __ret < 0 ? -1 : __ret; | ||
| 1187 | } | 1258 | } |
| 1188 | #endif | 1259 | #endif |
| 1189 | 1260 | ||
| ... | @@ -1222,26 +1293,16 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1222,26 +1293,16 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1222 | #if __USE_MINGW_ANSI_STDIO == 0 | 1293 | #if __USE_MINGW_ANSI_STDIO == 0 |
| 1223 | int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); | 1294 | int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 1224 | int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); | 1295 | int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 1225 | __mingw_ovr | 1296 | int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) __MINGW_ASM_CALL(__ms_snwprintf); |
| 1226 | int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) | 1297 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) __MINGW_ASM_CALL(__ms_vsnwprintf); |
| 1227 | { | ||
| 1228 | int r; | ||
| 1229 | va_list argp; | ||
| 1230 | __builtin_va_start (argp, format); | ||
| 1231 | r = _vsnwprintf (s, n, format, argp); | ||
| 1232 | __builtin_va_end (argp); | ||
| 1233 | return r; | ||
| 1234 | } | ||
| 1235 | __mingw_ovr | ||
| 1236 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) | ||
| 1237 | { | ||
| 1238 | return _vsnwprintf(s,n,format,arg); | ||
| 1239 | } | ||
| 1240 | #endif | 1298 | #endif |
| 1241 | 1299 | ||
| 1242 | #endif /* ! __NO_ISOCEXT */ | 1300 | #endif /* ! __NO_ISOCEXT */ |
| 1243 | _CRTIMP int __cdecl _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...); | 1301 | _CRTIMP int __cdecl _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...); |
| 1244 | _CRTIMP int __cdecl _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args); | 1302 | _CRTIMP int __cdecl _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args); |
| 1303 | |||
| 1304 | int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...); | ||
| 1305 | int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args); | ||
| 1245 | #endif /* _UCRT */ | 1306 | #endif /* _UCRT */ |
| 1246 | 1307 | ||
| 1247 | #ifndef RC_INVOKED | 1308 | #ifndef RC_INVOKED |
| ... | @@ -1255,7 +1316,14 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1255,7 +1316,14 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1255 | #endif | 1316 | #endif |
| 1256 | #endif | 1317 | #endif |
| 1257 | 1318 | ||
| 1319 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1320 | #pragma push_macro("_wtempnam") | ||
| 1321 | #undef _wtempnam | ||
| 1322 | #endif | ||
| 1258 | _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); | 1323 | _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); |
| 1324 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1325 | #pragma pop_macro("_wtempnam") | ||
| 1326 | #endif | ||
| 1259 | _CRTIMP int __cdecl _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); | 1327 | _CRTIMP int __cdecl _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); |
| 1260 | _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode); | 1328 | _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode); |
| 1261 | _CRTIMP FILE *__cdecl _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t *__restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 1329 | _CRTIMP FILE *__cdecl _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t *__restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| ... | @@ -1333,7 +1401,14 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti | ... | @@ -1333,7 +1401,14 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti |
| 1333 | #define P_tmpdir _P_tmpdir | 1401 | #define P_tmpdir _P_tmpdir |
| 1334 | #define SYS_OPEN _SYS_OPEN | 1402 | #define SYS_OPEN _SYS_OPEN |
| 1335 | 1403 | ||
| 1404 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1405 | #pragma push_macro("tempnam") | ||
| 1406 | #undef tempnam | ||
| 1407 | #endif | ||
| 1336 | char *__cdecl tempnam(const char *_Directory,const char *_FilePrefix) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1408 | char *__cdecl tempnam(const char *_Directory,const char *_FilePrefix) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1409 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1410 | #pragma pop_macro("tempnam") | ||
| 1411 | #endif | ||
| 1337 | int __cdecl fcloseall(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1412 | int __cdecl fcloseall(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1338 | FILE *__cdecl fdopen(int _FileHandle,const char *_Format) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1413 | FILE *__cdecl fdopen(int _FileHandle,const char *_Format) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1339 | int __cdecl fgetchar(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1414 | int __cdecl fgetchar(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
lib/libc/include/any-windows-any/stdlib.h+63| ... | @@ -419,6 +419,36 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re | ... | @@ -419,6 +419,36 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re |
| 419 | 419 | ||
| 420 | #ifndef _CRT_ALLOCATION_DEFINED | 420 | #ifndef _CRT_ALLOCATION_DEFINED |
| 421 | #define _CRT_ALLOCATION_DEFINED | 421 | #define _CRT_ALLOCATION_DEFINED |
| 422 | |||
| 423 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 424 | #pragma push_macro("calloc") | ||
| 425 | #undef calloc | ||
| 426 | #pragma push_macro("free") | ||
| 427 | #undef free | ||
| 428 | #pragma push_macro("malloc") | ||
| 429 | #undef malloc | ||
| 430 | #pragma push_macro("realloc") | ||
| 431 | #undef realloc | ||
| 432 | #pragma push_macro("_aligned_free") | ||
| 433 | #undef _aligned_free | ||
| 434 | #pragma push_macro("_aligned_malloc") | ||
| 435 | #undef _aligned_malloc | ||
| 436 | #pragma push_macro("_aligned_offset_malloc") | ||
| 437 | #undef _aligned_offset_malloc | ||
| 438 | #pragma push_macro("_aligned_realloc") | ||
| 439 | #undef _aligned_realloc | ||
| 440 | #pragma push_macro("_aligned_offset_realloc") | ||
| 441 | #undef _aligned_offset_realloc | ||
| 442 | #pragma push_macro("_recalloc") | ||
| 443 | #undef _recalloc | ||
| 444 | #pragma push_macro("_aligned_recalloc") | ||
| 445 | #undef _aligned_recalloc | ||
| 446 | #pragma push_macro("_aligned_offset_recalloc") | ||
| 447 | #undef _aligned_offset_recalloc | ||
| 448 | #pragma push_macro("_aligned_msize") | ||
| 449 | #undef _aligned_msize | ||
| 450 | #endif | ||
| 451 | |||
| 422 | void *__cdecl calloc(size_t _NumOfElements,size_t _SizeOfElements); | 452 | void *__cdecl calloc(size_t _NumOfElements,size_t _SizeOfElements); |
| 423 | void __cdecl free(void *_Memory); | 453 | void __cdecl free(void *_Memory); |
| 424 | void *__cdecl malloc(size_t _Size); | 454 | void *__cdecl malloc(size_t _Size); |
| ... | @@ -434,6 +464,23 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re | ... | @@ -434,6 +464,23 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re |
| 434 | _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); | 464 | _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); |
| 435 | _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); | 465 | _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); |
| 436 | # endif | 466 | # endif |
| 467 | |||
| 468 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 469 | #pragma pop_macro("calloc") | ||
| 470 | #pragma pop_macro("free") | ||
| 471 | #pragma pop_macro("malloc") | ||
| 472 | #pragma pop_macro("realloc") | ||
| 473 | #pragma pop_macro("_aligned_free") | ||
| 474 | #pragma pop_macro("_aligned_malloc") | ||
| 475 | #pragma pop_macro("_aligned_offset_malloc") | ||
| 476 | #pragma pop_macro("_aligned_realloc") | ||
| 477 | #pragma pop_macro("_aligned_offset_realloc") | ||
| 478 | #pragma pop_macro("_recalloc") | ||
| 479 | #pragma pop_macro("_aligned_recalloc") | ||
| 480 | #pragma pop_macro("_aligned_offset_recalloc") | ||
| 481 | #pragma pop_macro("_aligned_msize") | ||
| 482 | #endif | ||
| 483 | |||
| 437 | #endif | 484 | #endif |
| 438 | 485 | ||
| 439 | #ifndef _WSTDLIB_DEFINED | 486 | #ifndef _WSTDLIB_DEFINED |
| ... | @@ -497,7 +544,16 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re | ... | @@ -497,7 +544,16 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re |
| 497 | 544 | ||
| 498 | #ifndef _POSIX_ | 545 | #ifndef _POSIX_ |
| 499 | #define _CVTBUFSIZE (309+40) | 546 | #define _CVTBUFSIZE (309+40) |
| 547 | |||
| 548 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 549 | #pragma push_macro("_fullpath") | ||
| 550 | #undef _fullpath | ||
| 551 | #endif | ||
| 500 | _CRTIMP char *__cdecl _fullpath(char *_FullPath,const char *_Path,size_t _SizeInBytes); | 552 | _CRTIMP char *__cdecl _fullpath(char *_FullPath,const char *_Path,size_t _SizeInBytes); |
| 553 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 554 | #pragma pop_macro("_fullpath") | ||
| 555 | #endif | ||
| 556 | |||
| 501 | _CRTIMP char *__cdecl _ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 557 | _CRTIMP char *__cdecl _ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 502 | _CRTIMP char *__cdecl _fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 558 | _CRTIMP char *__cdecl _fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 503 | _CRTIMP char *__cdecl _gcvt(double _Val,int _NumOfDigits,char *_DstBuf) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 559 | _CRTIMP char *__cdecl _gcvt(double _Val,int _NumOfDigits,char *_DstBuf) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| ... | @@ -559,7 +615,14 @@ unsigned long __cdecl _lrotr(unsigned long,int); | ... | @@ -559,7 +615,14 @@ unsigned long __cdecl _lrotr(unsigned long,int); |
| 559 | 615 | ||
| 560 | #ifndef _WSTDLIBP_DEFINED | 616 | #ifndef _WSTDLIBP_DEFINED |
| 561 | #define _WSTDLIBP_DEFINED | 617 | #define _WSTDLIBP_DEFINED |
| 618 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 619 | #pragma push_macro("_wfullpath") | ||
| 620 | #undef _wfullpath | ||
| 621 | #endif | ||
| 562 | _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); | 622 | _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); |
| 623 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 624 | #pragma pop_macro("_wfullpath") | ||
| 625 | #endif | ||
| 563 | _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); | 626 | _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); |
| 564 | #ifndef _CRT_WPERROR_DEFINED | 627 | #ifndef _CRT_WPERROR_DEFINED |
| 565 | #define _CRT_WPERROR_DEFINED | 628 | #define _CRT_WPERROR_DEFINED |
lib/libc/include/any-windows-any/string.h+28| ... | @@ -64,7 +64,14 @@ extern "C" { | ... | @@ -64,7 +64,14 @@ extern "C" { |
| 64 | size_t __cdecl strlen(const char *_Str); | 64 | size_t __cdecl strlen(const char *_Str); |
| 65 | size_t __cdecl strnlen(const char *_Str,size_t _MaxCount); | 65 | size_t __cdecl strnlen(const char *_Str,size_t _MaxCount); |
| 66 | void *__cdecl memmove(void *_Dst,const void *_Src,size_t _Size) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 66 | void *__cdecl memmove(void *_Dst,const void *_Src,size_t _Size) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 67 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 68 | #pragma push_macro("_strdup") | ||
| 69 | #undef _strdup | ||
| 70 | #endif | ||
| 67 | _CRTIMP char *__cdecl _strdup(const char *_Src); | 71 | _CRTIMP char *__cdecl _strdup(const char *_Src); |
| 72 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 73 | #pragma pop_macro("_strdup") | ||
| 74 | #endif | ||
| 68 | _CONST_RETURN char *__cdecl strchr(const char *_Str,int _Val); | 75 | _CONST_RETURN char *__cdecl strchr(const char *_Str,int _Val); |
| 69 | _CRTIMP int __cdecl _stricmp(const char *_Str1,const char *_Str2); | 76 | _CRTIMP int __cdecl _stricmp(const char *_Str1,const char *_Str2); |
| 70 | _CRTIMP int __cdecl _strcmpi(const char *_Str1,const char *_Str2); | 77 | _CRTIMP int __cdecl _strcmpi(const char *_Str1,const char *_Str2); |
| ... | @@ -105,7 +112,14 @@ extern "C" { | ... | @@ -105,7 +112,14 @@ extern "C" { |
| 105 | _CRTIMP size_t __cdecl _strxfrm_l(char * __restrict__ _Dst,const char * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale); | 112 | _CRTIMP size_t __cdecl _strxfrm_l(char * __restrict__ _Dst,const char * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale); |
| 106 | 113 | ||
| 107 | #ifndef	NO_OLDNAMES | 114 | #ifndef	NO_OLDNAMES |
| 115 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 116 | #pragma push_macro("strdup") | ||
| 117 | #undef strdup | ||
| 118 | #endif | ||
| 108 | char *__cdecl strdup(const char *_Src) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 119 | char *__cdecl strdup(const char *_Src) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 120 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 121 | #pragma pop_macro("strdup") | ||
| 122 | #endif | ||
| 109 | int __cdecl strcmpi(const char *_Str1,const char *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 123 | int __cdecl strcmpi(const char *_Str1,const char *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 110 | int __cdecl stricmp(const char *_Str1,const char *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 124 | int __cdecl stricmp(const char *_Str1,const char *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 111 | char *__cdecl strlwr(char *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 125 | char *__cdecl strlwr(char *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| ... | @@ -128,7 +142,14 @@ extern "C" { | ... | @@ -128,7 +142,14 @@ extern "C" { |
| 128 | #ifndef _WSTRING_DEFINED | 142 | #ifndef _WSTRING_DEFINED |
| 129 | #define _WSTRING_DEFINED | 143 | #define _WSTRING_DEFINED |
| 130 | 144 | ||
| 145 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 146 | #pragma push_macro("_wcsdup") | ||
| 147 | #undef _wcsdup | ||
| 148 | #endif | ||
| 131 | _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); | 149 | _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); |
| 150 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 151 | #pragma pop_macro("_wcsdup") | ||
| 152 | #endif | ||
| 132 | wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 153 | wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 133 | _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); | 154 | _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); |
| 134 | int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); | 155 | int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); |
| ... | @@ -177,7 +198,14 @@ extern "C" { | ... | @@ -177,7 +198,14 @@ extern "C" { |
| 177 | _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); | 198 | _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); |
| 178 | 199 | ||
| 179 | #ifndef	NO_OLDNAMES | 200 | #ifndef	NO_OLDNAMES |
| 201 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 202 | #pragma push_macro("wcsdup") | ||
| 203 | #undef wcsdup | ||
| 204 | #endif | ||
| 180 | wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 205 | wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 206 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 207 | #pragma pop_macro("wcsdup") | ||
| 208 | #endif | ||
| 181 | #define wcswcs wcsstr | 209 | #define wcswcs wcsstr |
| 182 | int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 210 | int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 183 | int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 211 | int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
lib/libc/include/any-windows-any/strmif.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/strmif.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/strmif.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/structuredquerycondition.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/structuredquerycondition.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/structuredquerycondition.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/swprintf.inl+5-29| ... | @@ -9,26 +9,6 @@ | ... | @@ -9,26 +9,6 @@ |
| 9 | 9 | ||
| 10 | #include <vadefs.h> | 10 | #include <vadefs.h> |
| 11 | 11 | ||
| 12 | __mingw_ovr | ||
| 13 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 14 | int vswprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, __builtin_va_list __local_argv) | ||
| 15 | { | ||
| 16 | return vsnwprintf( __stream, __count, __format, __local_argv ); | ||
| 17 | } | ||
| 18 | |||
| 19 | __mingw_ovr | ||
| 20 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 21 | int swprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, ...) | ||
| 22 | { | ||
| 23 | int __retval; | ||
| 24 | __builtin_va_list __local_argv; | ||
| 25 | |||
| 26 | __builtin_va_start( __local_argv, __format ); | ||
| 27 | __retval = vswprintf( __stream, __count, __format, __local_argv ); | ||
| 28 | __builtin_va_end( __local_argv ); | ||
| 29 | return __retval; | ||
| 30 | } | ||
| 31 | |||
| 32 | #ifdef __cplusplus | 12 | #ifdef __cplusplus |
| 33 | 13 | ||
| 34 | extern "C++" { | 14 | extern "C++" { |
| ... | @@ -37,17 +17,15 @@ __mingw_ovr | ... | @@ -37,17 +17,15 @@ __mingw_ovr |
| 37 | /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) | 17 | /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) |
| 38 | int vswprintf (wchar_t *__stream, const wchar_t *__format, __builtin_va_list __local_argv) | 18 | int vswprintf (wchar_t *__stream, const wchar_t *__format, __builtin_va_list __local_argv) |
| 39 | { | 19 | { |
| 40 | #if __USE_MINGW_ANSI_STDIO | ||
| 41 | return __mingw_vswprintf( __stream, __format, __local_argv ); | ||
| 42 | #else | ||
| 43 | return _vswprintf( __stream, __format, __local_argv ); | 20 | return _vswprintf( __stream, __format, __local_argv ); |
| 44 | #endif | ||
| 45 | } | 21 | } |
| 46 | 22 | ||
| 47 | __mingw_ovr | 23 | __mingw_ovr |
| 48 | /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 24 | /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 49 | int swprintf (wchar_t *__stream, const wchar_t *__format, ...) | 25 | int swprintf (wchar_t *__stream, const wchar_t *__format, ...) |
| 50 | { | 26 | { |
| 27 | #ifdef __clang__ | ||
| 28 | /* clang does not support __builtin_va_arg_pack(), so forward swprintf() to vswprintf() */ | ||
| 51 | int __retval; | 29 | int __retval; |
| 52 | __builtin_va_list __local_argv; | 30 | __builtin_va_list __local_argv; |
| 53 | 31 | ||
| ... | @@ -55,19 +33,17 @@ int swprintf (wchar_t *__stream, const wchar_t *__format, ...) | ... | @@ -55,19 +33,17 @@ int swprintf (wchar_t *__stream, const wchar_t *__format, ...) |
| 55 | __retval = vswprintf( __stream, __format, __local_argv ); | 33 | __retval = vswprintf( __stream, __format, __local_argv ); |
| 56 | __builtin_va_end( __local_argv ); | 34 | __builtin_va_end( __local_argv ); |
| 57 | return __retval; | 35 | return __retval; |
| 36 | #else | ||
| 37 | return _swprintf( __stream, __format, __builtin_va_arg_pack() ); | ||
| 38 | #endif | ||
| 58 | } | 39 | } |
| 59 | 40 | ||
| 60 | } | 41 | } |
| 61 | 42 | ||
| 62 | #elif defined(_CRT_NON_CONFORMING_SWPRINTFS) | 43 | #elif defined(_CRT_NON_CONFORMING_SWPRINTFS) |
| 63 | 44 | ||
| 64 | #if __USE_MINGW_ANSI_STDIO | ||
| 65 | #define swprintf __mingw_swprintf | ||
| 66 | #define vswprintf __mingw_vswprintf | ||
| 67 | #else | ||
| 68 | #define swprintf _swprintf | 45 | #define swprintf _swprintf |
| 69 | #define vswprintf _vswprintf | 46 | #define vswprintf _vswprintf |
| 70 | #endif | ||
| 71 | 47 | ||
| 72 | #endif /* __cplusplus */ | 48 | #endif /* __cplusplus */ |
| 73 | 49 |
lib/libc/include/any-windows-any/systemmediatransportcontrolsinterop.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/taskschd.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/taskschd.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/taskschd.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tchar.h+49-34| ... | @@ -133,7 +133,7 @@ extern "C" { | ... | @@ -133,7 +133,7 @@ extern "C" { |
| 133 | #define _tenviron _wenviron | 133 | #define _tenviron _wenviron |
| 134 | #define __targv __wargv | 134 | #define __targv __wargv |
| 135 | 135 | ||
| 136 | #define _tprintf wprintf | 136 | #define _tprintf __ms_wprintf |
| 137 | #define _tprintf_l _wprintf_l | 137 | #define _tprintf_l _wprintf_l |
| 138 | #define _tprintf_p _wprintf_p | 138 | #define _tprintf_p _wprintf_p |
| 139 | #define _tprintf_p_l _wprintf_p_l | 139 | #define _tprintf_p_l _wprintf_p_l |
| ... | @@ -145,11 +145,11 @@ extern "C" { | ... | @@ -145,11 +145,11 @@ extern "C" { |
| 145 | #define _vtcprintf_l _vcwprintf_l | 145 | #define _vtcprintf_l _vcwprintf_l |
| 146 | #define _vtcprintf_p _vcwprintf_p | 146 | #define _vtcprintf_p _vcwprintf_p |
| 147 | #define _vtcprintf_p_l _vcwprintf_p_l | 147 | #define _vtcprintf_p_l _vcwprintf_p_l |
| 148 | #define _ftprintf fwprintf | 148 | #define _ftprintf __ms_fwprintf |
| 149 | #define _ftprintf_l _fwprintf_l | 149 | #define _ftprintf_l _fwprintf_l |
| 150 | #define _ftprintf_p _fwprintf_p | 150 | #define _ftprintf_p _fwprintf_p |
| 151 | #define _ftprintf_p_l _fwprintf_p_l | 151 | #define _ftprintf_p_l _fwprintf_p_l |
| 152 | #define _stprintf swprintf | 152 | #define _stprintf _swprintf |
| 153 | #define _stprintf_l __swprintf_l | 153 | #define _stprintf_l __swprintf_l |
| 154 | #define _stprintf_p _swprintf_p | 154 | #define _stprintf_p _swprintf_p |
| 155 | #define _stprintf_p_l _swprintf_p_l | 155 | #define _stprintf_p_l _swprintf_p_l |
| ... | @@ -159,15 +159,15 @@ extern "C" { | ... | @@ -159,15 +159,15 @@ extern "C" { |
| 159 | #define _sctprintf_p_l _scwprintf_p_l | 159 | #define _sctprintf_p_l _scwprintf_p_l |
| 160 | #define _sntprintf _snwprintf | 160 | #define _sntprintf _snwprintf |
| 161 | #define _sntprintf_l _snwprintf_l | 161 | #define _sntprintf_l _snwprintf_l |
| 162 | #define _vtprintf vwprintf | 162 | #define _vtprintf __ms_vwprintf |
| 163 | #define _vtprintf_l _vwprintf_l | 163 | #define _vtprintf_l _vwprintf_l |
| 164 | #define _vtprintf_p _vwprintf_p | 164 | #define _vtprintf_p _vwprintf_p |
| 165 | #define _vtprintf_p_l _vwprintf_p_l | 165 | #define _vtprintf_p_l _vwprintf_p_l |
| 166 | #define _vftprintf vfwprintf | 166 | #define _vftprintf __ms_vfwprintf |
| 167 | #define _vftprintf_l _vfwprintf_l | 167 | #define _vftprintf_l _vfwprintf_l |
| 168 | #define _vftprintf_p _vfwprintf_p | 168 | #define _vftprintf_p _vfwprintf_p |
| 169 | #define _vftprintf_p_l _vfwprintf_p_l | 169 | #define _vftprintf_p_l _vfwprintf_p_l |
| 170 | #define _vstprintf vswprintf | 170 | #define _vstprintf _vswprintf |
| 171 | #define _vstprintf_l _vswprintf_l | 171 | #define _vstprintf_l _vswprintf_l |
| 172 | #define _vstprintf_p _vswprintf_p | 172 | #define _vstprintf_p _vswprintf_p |
| 173 | #define _vstprintf_p_l _vswprintf_p_l | 173 | #define _vstprintf_p_l _vswprintf_p_l |
| ... | @@ -178,13 +178,13 @@ extern "C" { | ... | @@ -178,13 +178,13 @@ extern "C" { |
| 178 | #define _vsntprintf _vsnwprintf | 178 | #define _vsntprintf _vsnwprintf |
| 179 | #define _vsntprintf_l _vsnwprintf_l | 179 | #define _vsntprintf_l _vsnwprintf_l |
| 180 | 180 | ||
| 181 | #define _tscanf wscanf | 181 | #define _tscanf __ms_wscanf |
| 182 | #define _tscanf_l _wscanf_l | 182 | #define _tscanf_l _wscanf_l |
| 183 | #define _tcscanf _cwscanf | 183 | #define _tcscanf _cwscanf |
| 184 | #define _tcscanf_l _cwscanf_l | 184 | #define _tcscanf_l _cwscanf_l |
| 185 | #define _ftscanf fwscanf | 185 | #define _ftscanf __ms_fwscanf |
| 186 | #define _ftscanf_l _fwscanf_l | 186 | #define _ftscanf_l _fwscanf_l |
| 187 | #define _stscanf swscanf | 187 | #define _stscanf __ms_swscanf |
| 188 | #define _stscanf_l _swscanf_l | 188 | #define _stscanf_l _swscanf_l |
| 189 | #define _sntscanf _snwscanf | 189 | #define _sntscanf _snwscanf |
| 190 | #define _sntscanf_l _snwscanf_l | 190 | #define _sntscanf_l _snwscanf_l |
| ... | @@ -404,6 +404,21 @@ extern "C" { | ... | @@ -404,6 +404,21 @@ extern "C" { |
| 404 | 404 | ||
| 405 | #define _tsetlocale _wsetlocale | 405 | #define _tsetlocale _wsetlocale |
| 406 | 406 | ||
| 407 | #if __MSVCRT_VERSION__ >= 0x800 | ||
| 408 | #define _fgettc_nolock _fgetwc_nolock | ||
| 409 | #define _fputtc_nolock _fputwc_nolock | ||
| 410 | #define _gettc_nolock _getwc_nolock | ||
| 411 | #define _gettch_nolock _getwch_nolock | ||
| 412 | #define _gettche_nolock _getwche_nolock | ||
| 413 | #define _gettchar_nolock _getwchar_nolock | ||
| 414 | #define _puttc_nolock _putwc_nolock | ||
| 415 | #define _puttchar_nolock _putwchar_nolock | ||
| 416 | #define _puttch_nolock _putwch_nolock | ||
| 417 | #define _ungettc_nolock _ungetwc_nolock | ||
| 418 | #define _ungettch_nolock _ungetwch_nolock | ||
| 419 | #define _tgetdcwd_nolock _wgetdcwd_nolock | ||
| 420 | #endif | ||
| 421 | |||
| 407 | #define _tcsclen wcslen | 422 | #define _tcsclen wcslen |
| 408 | #define _tcscnlen wcsnlen | 423 | #define _tcscnlen wcsnlen |
| 409 | #define _tcsclen_l(_String,_Locale) wcslen(_String) | 424 | #define _tcsclen_l(_String,_Locale) wcslen(_String) |
| ... | @@ -457,6 +472,10 @@ extern "C" { | ... | @@ -457,6 +472,10 @@ extern "C" { |
| 457 | #define _istupper_l _iswupper_l | 472 | #define _istupper_l _iswupper_l |
| 458 | #define _istxdigit iswxdigit | 473 | #define _istxdigit iswxdigit |
| 459 | #define _istxdigit_l _iswxdigit_l | 474 | #define _istxdigit_l _iswxdigit_l |
| 475 | #define _istblank iswblank | ||
| 476 | #if __MSVCRT_VERSION__ >= 0xC00 | ||
| 477 | #define _istblank_l _iswblank_l | ||
| 478 | #endif /* msvcr120 */ | ||
| 460 | 479 | ||
| 461 | #define _totupper towupper | 480 | #define _totupper towupper |
| 462 | #define _totupper_l _towupper_l | 481 | #define _totupper_l _towupper_l |
| ... | @@ -493,7 +512,7 @@ extern "C" { | ... | @@ -493,7 +512,7 @@ extern "C" { |
| 493 | 512 | ||
| 494 | #endif /* __CYGWIN__ */ | 513 | #endif /* __CYGWIN__ */ |
| 495 | 514 | ||
| 496 | #else | 515 | #else /* _UNICODE */ |
| 497 | 516 | ||
| 498 | #ifdef __cplusplus | 517 | #ifdef __cplusplus |
| 499 | } | 518 | } |
| ... | @@ -520,7 +539,7 @@ extern "C" { | ... | @@ -520,7 +539,7 @@ extern "C" { |
| 520 | #endif | 539 | #endif |
| 521 | #define __targv __argv | 540 | #define __targv __argv |
| 522 | 541 | ||
| 523 | #define _tprintf printf | 542 | #define _tprintf __ms_printf |
| 524 | #define _tprintf_l _printf_l | 543 | #define _tprintf_l _printf_l |
| 525 | #define _tprintf_p _printf_p | 544 | #define _tprintf_p _printf_p |
| 526 | #define _tprintf_p_l _printf_p_l | 545 | #define _tprintf_p_l _printf_p_l |
| ... | @@ -532,11 +551,11 @@ extern "C" { | ... | @@ -532,11 +551,11 @@ extern "C" { |
| 532 | #define _vtcprintf_l _vcprintf_l | 551 | #define _vtcprintf_l _vcprintf_l |
| 533 | #define _vtcprintf_p _vcprintf_p | 552 | #define _vtcprintf_p _vcprintf_p |
| 534 | #define _vtcprintf_p_l _vcprintf_p_l | 553 | #define _vtcprintf_p_l _vcprintf_p_l |
| 535 | #define _ftprintf fprintf | 554 | #define _ftprintf __ms_fprintf |
| 536 | #define _ftprintf_l _fprintf_l | 555 | #define _ftprintf_l _fprintf_l |
| 537 | #define _ftprintf_p _fprintf_p | 556 | #define _ftprintf_p _fprintf_p |
| 538 | #define _ftprintf_p_l _fprintf_p_l | 557 | #define _ftprintf_p_l _fprintf_p_l |
| 539 | #define _stprintf sprintf | 558 | #define _stprintf __ms_sprintf |
| 540 | #define _stprintf_l _sprintf_l | 559 | #define _stprintf_l _sprintf_l |
| 541 | #define _stprintf_p _sprintf_p | 560 | #define _stprintf_p _sprintf_p |
| 542 | #define _stprintf_p_l _sprintf_p_l | 561 | #define _stprintf_p_l _sprintf_p_l |
| ... | @@ -546,15 +565,15 @@ extern "C" { | ... | @@ -546,15 +565,15 @@ extern "C" { |
| 546 | #define _sctprintf_p_l _scprintf_p_l | 565 | #define _sctprintf_p_l _scprintf_p_l |
| 547 | #define _sntprintf _snprintf | 566 | #define _sntprintf _snprintf |
| 548 | #define _sntprintf_l _snprintf_l | 567 | #define _sntprintf_l _snprintf_l |
| 549 | #define _vtprintf vprintf | 568 | #define _vtprintf __ms_vprintf |
| 550 | #define _vtprintf_l _vprintf_l | 569 | #define _vtprintf_l _vprintf_l |
| 551 | #define _vtprintf_p _vprintf_p | 570 | #define _vtprintf_p _vprintf_p |
| 552 | #define _vtprintf_p_l _vprintf_p_l | 571 | #define _vtprintf_p_l _vprintf_p_l |
| 553 | #define _vftprintf vfprintf | 572 | #define _vftprintf __ms_vfprintf |
| 554 | #define _vftprintf_l _vfprintf_l | 573 | #define _vftprintf_l _vfprintf_l |
| 555 | #define _vftprintf_p _vfprintf_p | 574 | #define _vftprintf_p _vfprintf_p |
| 556 | #define _vftprintf_p_l _vfprintf_p_l | 575 | #define _vftprintf_p_l _vfprintf_p_l |
| 557 | #define _vstprintf vsprintf | 576 | #define _vstprintf __ms_vsprintf |
| 558 | #define _vstprintf_l _vsprintf_l | 577 | #define _vstprintf_l _vsprintf_l |
| 559 | #define _vstprintf_p _vsprintf_p | 578 | #define _vstprintf_p _vsprintf_p |
| 560 | #define _vstprintf_p_l _vsprintf_p_l | 579 | #define _vstprintf_p_l _vsprintf_p_l |
| ... | @@ -565,13 +584,13 @@ extern "C" { | ... | @@ -565,13 +584,13 @@ extern "C" { |
| 565 | #define _vsntprintf _vsnprintf | 584 | #define _vsntprintf _vsnprintf |
| 566 | #define _vsntprintf_l _vsnprintf_l | 585 | #define _vsntprintf_l _vsnprintf_l |
| 567 | 586 | ||
| 568 | #define _tscanf scanf | 587 | #define _tscanf __ms_scanf |
| 569 | #define _tscanf_l _scanf_l | 588 | #define _tscanf_l _scanf_l |
| 570 | #define _tcscanf _cscanf | 589 | #define _tcscanf _cscanf |
| 571 | #define _tcscanf_l _cscanf_l | 590 | #define _tcscanf_l _cscanf_l |
| 572 | #define _ftscanf fscanf | 591 | #define _ftscanf __ms_fscanf |
| 573 | #define _ftscanf_l _fscanf_l | 592 | #define _ftscanf_l _fscanf_l |
| 574 | #define _stscanf sscanf | 593 | #define _stscanf __ms_sscanf |
| 575 | #define _stscanf_l _sscanf_l | 594 | #define _stscanf_l _sscanf_l |
| 576 | #define _sntscanf _snscanf | 595 | #define _sntscanf _snscanf |
| 577 | #define _sntscanf_l _snscanf_l | 596 | #define _sntscanf_l _snscanf_l |
| ... | @@ -769,18 +788,6 @@ extern "C" { | ... | @@ -769,18 +788,6 @@ extern "C" { |
| 769 | #define _tsetlocale setlocale | 788 | #define _tsetlocale setlocale |
| 770 | 789 | ||
| 771 | #if __MSVCRT_VERSION__ >= 0x800 | 790 | #if __MSVCRT_VERSION__ >= 0x800 |
| 772 | #define _fgettc_nolock _fgetwc_nolock | ||
| 773 | #define _fputtc_nolock _fputwc_nolock | ||
| 774 | #define _gettc_nolock _getwc_nolock | ||
| 775 | #define _gettch_nolock _getwch_nolock | ||
| 776 | #define _gettche_nolock _getwche_nolock | ||
| 777 | #define _gettchar_nolock _getwchar_nolock | ||
| 778 | #define _puttc_nolock _putwc_nolock | ||
| 779 | #define _puttchar_nolock _putwchar_nolock | ||
| 780 | #define _puttch_nolock _putwch_nolock | ||
| 781 | #define _ungettc_nolock _ungetwc_nolock | ||
| 782 | #define _ungettch_nolock _ungetwch_nolock | ||
| 783 | #define _tgetdcwd_nolock _wgetdcwd_nolock | ||
| 784 | #define _fgettc_nolock _fgetc_nolock | 791 | #define _fgettc_nolock _fgetc_nolock |
| 785 | #define _fputtc_nolock _fputc_nolock | 792 | #define _fputtc_nolock _fputc_nolock |
| 786 | #define _gettc_nolock _getc_nolock | 793 | #define _gettc_nolock _getc_nolock |
| ... | @@ -997,6 +1004,10 @@ extern "C" { | ... | @@ -997,6 +1004,10 @@ extern "C" { |
| 997 | #define _istspace_l _ismbcspace_l | 1004 | #define _istspace_l _ismbcspace_l |
| 998 | #define _istupper _ismbcupper | 1005 | #define _istupper _ismbcupper |
| 999 | #define _istupper_l _ismbcupper_l | 1006 | #define _istupper_l _ismbcupper_l |
| 1007 | #define _istblank _ismbcblank | ||
| 1008 | #if __MSVCRT_VERSION__ >= 0xC00 | ||
| 1009 | #define _istblank_l _ismbcblank_l | ||
| 1010 | #endif /* msvcr120 */ | ||
| 1000 | 1011 | ||
| 1001 | #define _totupper _mbctoupper | 1012 | #define _totupper _mbctoupper |
| 1002 | #define _totupper_l _mbctoupper_l | 1013 | #define _totupper_l _mbctoupper_l |
| ... | @@ -1009,7 +1020,7 @@ extern "C" { | ... | @@ -1009,7 +1020,7 @@ extern "C" { |
| 1009 | 1020 | ||
| 1010 | #endif /* __CYGWIN__ */ | 1021 | #endif /* __CYGWIN__ */ |
| 1011 | 1022 | ||
| 1012 | #else | 1023 | #else /* _MBCS */ |
| 1013 | 1024 | ||
| 1014 | #ifndef __TCHAR_DEFINED | 1025 | #ifndef __TCHAR_DEFINED |
| 1015 | #define __TCHAR_DEFINED | 1026 | #define __TCHAR_DEFINED |
| ... | @@ -1134,6 +1145,10 @@ extern "C" { | ... | @@ -1134,6 +1145,10 @@ extern "C" { |
| 1134 | #define _istspace_l _isspace_l | 1145 | #define _istspace_l _isspace_l |
| 1135 | #define _istupper isupper | 1146 | #define _istupper isupper |
| 1136 | #define _istupper_l _isupper_l | 1147 | #define _istupper_l _isupper_l |
| 1148 | #define _istblank isblank | ||
| 1149 | #if __MSVCRT_VERSION__ >= 0xC00 | ||
| 1150 | #define _istblank_l _isblank_l | ||
| 1151 | #endif /* msvcr120 */ | ||
| 1137 | 1152 | ||
| 1138 | #define _totupper toupper | 1153 | #define _totupper toupper |
| 1139 | #define _totupper_l _toupper_l | 1154 | #define _totupper_l _toupper_l |
| ... | @@ -1168,9 +1183,9 @@ extern "C" { | ... | @@ -1168,9 +1183,9 @@ extern "C" { |
| 1168 | #define _strnset_l(_Destination,_Value,_Count,_Locale) (_strnset(_Destination,_Value,_Count)) | 1183 | #define _strnset_l(_Destination,_Value,_Count,_Locale) (_strnset(_Destination,_Value,_Count)) |
| 1169 | #define _strset_l(_Destination,_Value,_Locale) (_strset(_Destination,_Value)) | 1184 | #define _strset_l(_Destination,_Value,_Locale) (_strset(_Destination,_Value)) |
| 1170 | #endif | 1185 | #endif |
| 1171 | #endif | 1186 | #endif /* _MBCS */ |
| 1172 | 1187 | ||
| 1173 | #endif /* __CYGWIN__ */ | 1188 | #endif /* _UNICODE */ |
| 1174 | 1189 | ||
| 1175 | #define _T(x) __T(x) | 1190 | #define _T(x) __T(x) |
| 1176 | #define _TEXT(x) __T(x) | 1191 | #define _TEXT(x) __T(x) |
lib/libc/include/any-windows-any/textstor.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/textstor.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/textstor.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/thumbcache.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/thumbcache.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/thumbcache.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tlbref.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/tlbref.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/tlbref.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tlogstg.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/tlogstg.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/tlogstg.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tpcshrd.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/tpcshrd.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/tpcshrd.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tsvirtualchannels.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/tsvirtualchannels.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/tsvirtualchannels.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/tuner.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/tuner.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/tuner.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/uianimation.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/uianimation.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/uianimation.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/uiautomationclient.h+91-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/uiautomationclient.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationclient.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| ... | @@ -1344,6 +1344,96 @@ DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc | ... | @@ -1344,6 +1344,96 @@ DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc |
| 1344 | #define UIA_AppBarControlTypeId (50040) | 1344 | #define UIA_AppBarControlTypeId (50040) |
| 1345 | 1345 | ||
| 1346 | #endif /* __UIA_ControlTypeIds_MODULE_DEFINED__ */ | 1346 | #endif /* __UIA_ControlTypeIds_MODULE_DEFINED__ */ |
| 1347 | #ifndef __UIA_AnnotationTypes_MODULE_DEFINED__ | ||
| 1348 | #define __UIA_AnnotationTypes_MODULE_DEFINED__ | ||
| 1349 | #define AnnotationType_Unknown (60000) | ||
| 1350 | |||
| 1351 | #define AnnotationType_SpellingError (60001) | ||
| 1352 | |||
| 1353 | #define AnnotationType_GrammarError (60002) | ||
| 1354 | |||
| 1355 | #define AnnotationType_Comment (60003) | ||
| 1356 | |||
| 1357 | #define AnnotationType_FormulaError (60004) | ||
| 1358 | |||
| 1359 | #define AnnotationType_TrackChanges (60005) | ||
| 1360 | |||
| 1361 | #define AnnotationType_Header (60006) | ||
| 1362 | |||
| 1363 | #define AnnotationType_Footer (60007) | ||
| 1364 | |||
| 1365 | #define AnnotationType_Highlighted (60008) | ||
| 1366 | |||
| 1367 | #define AnnotationType_Endnote (60009) | ||
| 1368 | |||
| 1369 | #define AnnotationType_Footnote (60010) | ||
| 1370 | |||
| 1371 | #define AnnotationType_InsertionChange (60011) | ||
| 1372 | |||
| 1373 | #define AnnotationType_DeletionChange (60012) | ||
| 1374 | |||
| 1375 | #define AnnotationType_MoveChange (60013) | ||
| 1376 | |||
| 1377 | #define AnnotationType_FormatChange (60014) | ||
| 1378 | |||
| 1379 | #define AnnotationType_UnsyncedChange (60015) | ||
| 1380 | |||
| 1381 | #define AnnotationType_EditingLockedChange (60016) | ||
| 1382 | |||
| 1383 | #define AnnotationType_ExternalChange (60017) | ||
| 1384 | |||
| 1385 | #define AnnotationType_ConflictingChange (60018) | ||
| 1386 | |||
| 1387 | #define AnnotationType_Author (60019) | ||
| 1388 | |||
| 1389 | #define AnnotationType_AdvancedProofingIssue (60020) | ||
| 1390 | |||
| 1391 | #define AnnotationType_DataValidationError (60021) | ||
| 1392 | |||
| 1393 | #define AnnotationType_CircularReferenceError (60022) | ||
| 1394 | |||
| 1395 | #define AnnotationType_Mathematics (60023) | ||
| 1396 | |||
| 1397 | #define AnnotationType_Sensitive (60024) | ||
| 1398 | |||
| 1399 | #endif /* __UIA_AnnotationTypes_MODULE_DEFINED__ */ | ||
| 1400 | #ifndef __UIA_StyleIds_MODULE_DEFINED__ | ||
| 1401 | #define __UIA_StyleIds_MODULE_DEFINED__ | ||
| 1402 | #define StyleId_Custom (70000) | ||
| 1403 | |||
| 1404 | #define StyleId_Heading1 (70001) | ||
| 1405 | |||
| 1406 | #define StyleId_Heading2 (70002) | ||
| 1407 | |||
| 1408 | #define StyleId_Heading3 (70003) | ||
| 1409 | |||
| 1410 | #define StyleId_Heading4 (70004) | ||
| 1411 | |||
| 1412 | #define StyleId_Heading5 (70005) | ||
| 1413 | |||
| 1414 | #define StyleId_Heading6 (70006) | ||
| 1415 | |||
| 1416 | #define StyleId_Heading7 (70007) | ||
| 1417 | |||
| 1418 | #define StyleId_Heading8 (70008) | ||
| 1419 | |||
| 1420 | #define StyleId_Heading9 (70009) | ||
| 1421 | |||
| 1422 | #define StyleId_Title (70010) | ||
| 1423 | |||
| 1424 | #define StyleId_Subtitle (70011) | ||
| 1425 | |||
| 1426 | #define StyleId_Normal (70012) | ||
| 1427 | |||
| 1428 | #define StyleId_Emphasis (70013) | ||
| 1429 | |||
| 1430 | #define StyleId_Quote (70014) | ||
| 1431 | |||
| 1432 | #define StyleId_BulletedList (70015) | ||
| 1433 | |||
| 1434 | #define StyleId_NumberedList (70016) | ||
| 1435 | |||
| 1436 | #endif /* __UIA_StyleIds_MODULE_DEFINED__ */ | ||
| 1347 | #ifndef __UIA_LandmarkTypeIds_MODULE_DEFINED__ | 1437 | #ifndef __UIA_LandmarkTypeIds_MODULE_DEFINED__ |
| 1348 | #define __UIA_LandmarkTypeIds_MODULE_DEFINED__ | 1438 | #define __UIA_LandmarkTypeIds_MODULE_DEFINED__ |
| 1349 | #define UIA_CustomLandmarkTypeId (80000) | 1439 | #define UIA_CustomLandmarkTypeId (80000) |
lib/libc/include/any-windows-any/uiautomationcore.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/uiautomationcore.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationcore.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/uiviewsettingsinterop.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/uiviewsettingsinterop.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/uiviewsettingsinterop.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/unknwn.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/unknwn.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/unknwn.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/unknwnbase.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/unknwnbase.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/unknwnbase.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/urlhist.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/urlhist.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/urlhist.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/urlmon.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/urlmon.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/urlmon.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vdslun.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vdslun.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vdslun.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vidcap.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vidcap.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vidcap.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vmr9.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vmr9.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vmr9.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vsadmin.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vsadmin.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vsadmin.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vsbackup.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vsbackup.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vsbackup.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vsmgmt.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vsmgmt.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vsmgmt.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vsprov.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vsprov.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vsprov.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vss.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vss.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vss.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/vswriter.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/vswriter.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/vswriter.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wbemads.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wbemads.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wbemads.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wbemcli.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wbemcli.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wbemcli.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wbemdisp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wbemdisp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wbemdisp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wbemprov.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wbemprov.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wbemprov.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wbemtran.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wbemtran.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wbemtran.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wchar.h+112-30| ... | @@ -213,8 +213,9 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); | ... | @@ -213,8 +213,9 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 213 | wint_t __cdecl towupper(wint_t _C); | 213 | wint_t __cdecl towupper(wint_t _C); |
| 214 | wint_t __cdecl towlower(wint_t _C); | 214 | wint_t __cdecl towlower(wint_t _C); |
| 215 | int __cdecl iswctype(wint_t _C,wctype_t _Type); | 215 | int __cdecl iswctype(wint_t _C,wctype_t _Type); |
| 216 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) | 216 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) |
| 217 | /* These are available since msvcr80.dll, and in msvcrt.dll since Vista. */ | 217 | /* These are available since msvcr80.dll (__MSVCRT_VERSION__ >= 0x800), and in |
| 218 | * msvcrt.dll (__MSVCRT_VERSION__ == 0x600) since Vista (_WIN32_WINNT >= 0x0600). */ | ||
| 218 | _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); | 219 | _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); |
| 219 | _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); | 220 | _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); |
| 220 | _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); | 221 | _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); |
| ... | @@ -253,10 +254,23 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); | ... | @@ -253,10 +254,23 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 253 | #ifndef _WDIRECT_DEFINED | 254 | #ifndef _WDIRECT_DEFINED |
| 254 | #define _WDIRECT_DEFINED | 255 | #define _WDIRECT_DEFINED |
| 255 | 256 | ||
| 257 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 258 | #pragma push_macro("_wgetcwd") | ||
| 259 | #undef _wgetcwd | ||
| 260 | #pragma push_macro("_wgetdcwd") | ||
| 261 | #undef _wgetdcwd | ||
| 262 | #pragma push_macro("_wgetdcwd_nolock") | ||
| 263 | #undef _wgetdcwd_nolock | ||
| 264 | #endif | ||
| 256 | _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); | 265 | _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); |
| 257 | _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); | 266 | _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 258 | #if __MSVCRT_VERSION__ >= 0x800 | 267 | #if __MSVCRT_VERSION__ >= 0x800 |
| 259 | wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); | 268 | wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); |
| 269 | #endif | ||
| 270 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 271 | #pragma pop_macro("_wgetcwd") | ||
| 272 | #pragma pop_macro("_wgetdcwd") | ||
| 273 | #pragma pop_macro("_wgetdcwd_nolock") | ||
| 260 | #endif | 274 | #endif |
| 261 | _CRTIMP int __cdecl _wchdir(const wchar_t *_Path); | 275 | _CRTIMP int __cdecl _wchdir(const wchar_t *_Path); |
| 262 | _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); | 276 | _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); |
| ... | @@ -336,7 +350,7 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); | ... | @@ -336,7 +350,7 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 336 | #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) | 350 | #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) |
| 337 | #define iswcntrl(_c) (iswctype(_c,_CONTROL)) | 351 | #define iswcntrl(_c) (iswctype(_c,_CONTROL)) |
| 338 | #define iswascii(_c) ((unsigned)(_c) < 0x80) | 352 | #define iswascii(_c) ((unsigned)(_c) < 0x80) |
| 339 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) | 353 | #if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) |
| 340 | # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) | 354 | # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) |
| 341 | # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) | 355 | # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) |
| 342 | # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) | 356 | # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) |
| ... | @@ -452,10 +466,10 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); | ... | @@ -452,10 +466,10 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 452 | int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); | 466 | int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 453 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | 467 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 454 | int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); | 468 | int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 455 | /* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 469 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 456 | int __cdecl __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); | 470 | int __cdecl __mingw_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); |
| 457 | /* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) | 471 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 458 | int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); | 472 | int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); |
| 459 | 473 | ||
| 460 | /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 474 | /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) |
| 461 | int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); | 475 | int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); |
| ... | @@ -472,10 +486,10 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); | ... | @@ -472,10 +486,10 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); |
| 472 | int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); | 486 | int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 473 | /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) | 487 | /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) |
| 474 | int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); | 488 | int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 475 | /* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) | 489 | /* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 476 | int __cdecl __ms_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...); | 490 | int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); |
| 477 | /* __attribute__((__format__ (ms_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) | 491 | /* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 478 | int __cdecl __ms_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list); | 492 | int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); |
| 479 | 493 | ||
| 480 | #ifdef _UCRT | 494 | #ifdef _UCRT |
| 481 | int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); | 495 | int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); |
| ... | @@ -533,7 +547,16 @@ __MINGW_ASM_CALL(__mingw_vfwprintf); | ... | @@ -533,7 +547,16 @@ __MINGW_ASM_CALL(__mingw_vfwprintf); |
| 533 | int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) | 547 | int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) |
| 534 | __MINGW_ASM_CALL(__mingw_vwprintf); | 548 | __MINGW_ASM_CALL(__mingw_vwprintf); |
| 535 | 549 | ||
| 536 | /*#ifndef __NO_ISOCEXT */ /* externs in libmingwex.a */ | 550 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 551 | int swprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) | ||
| 552 | __MINGW_ASM_CALL(__mingw_swprintf); | ||
| 553 | |||
| 554 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | ||
| 555 | int vswprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) | ||
| 556 | __MINGW_ASM_CALL(__mingw_vswprintf); | ||
| 557 | |||
| 558 | #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ | ||
| 559 | |||
| 537 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) | 560 | /* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) |
| 538 | int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) | 561 | int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) |
| 539 | __MINGW_ASM_CALL(__mingw_snwprintf); | 562 | __MINGW_ASM_CALL(__mingw_snwprintf); |
| ... | @@ -541,7 +564,9 @@ __MINGW_ASM_CALL(__mingw_snwprintf); | ... | @@ -541,7 +564,9 @@ __MINGW_ASM_CALL(__mingw_snwprintf); |
| 541 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) | 564 | /* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) |
| 542 | int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) | 565 | int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) |
| 543 | __MINGW_ASM_CALL(__mingw_vsnwprintf); | 566 | __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 544 | /* #endif */ /* __NO_ISOCEXT */ | 567 | |
| 568 | #endif /* __NO_ISOCEXT */ | ||
| 569 | |||
| 545 | #else /* !__USE_MINGW_ANSI_STDIO */ | 570 | #else /* !__USE_MINGW_ANSI_STDIO */ |
| 546 | 571 | ||
| 547 | #ifdef _UCRT | 572 | #ifdef _UCRT |
| ... | @@ -616,6 +641,44 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -616,6 +641,44 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 616 | { | 641 | { |
| 617 | return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); | 642 | return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); |
| 618 | } | 643 | } |
| 644 | |||
| 645 | __mingw_ovr | ||
| 646 | int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) | ||
| 647 | { | ||
| 648 | __builtin_va_list __ap; | ||
| 649 | int __ret; | ||
| 650 | /* | ||
| 651 | * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and | ||
| 652 | * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is | ||
| 653 | * executed in "standard snprintf behavior" and returns number of (wide) | ||
| 654 | * chars required to allocate. For all other cases it is executed in a way | ||
| 655 | * that returns negative value on error. But C95+ compliant swprintf() for | ||
| 656 | * case _Count == 0 returns negative value, so handle this case specially. | ||
| 657 | */ | ||
| 658 | if (_Dest == NULL && _Count == 0) | ||
| 659 | return -1; | ||
| 660 | __builtin_va_start(__ap, _Format); | ||
| 661 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, __ap); | ||
| 662 | __builtin_va_end(__ap); | ||
| 663 | return __ret < 0 ? -1 : __ret; | ||
| 664 | } | ||
| 665 | __mingw_ovr | ||
| 666 | int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) | ||
| 667 | { | ||
| 668 | int __ret; | ||
| 669 | /* | ||
| 670 | * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and | ||
| 671 | * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is | ||
| 672 | * executed in "standard snprintf behavior" and returns number of (wide) | ||
| 673 | * chars required to allocate. For all other cases it is executed in a way | ||
| 674 | * that returns negative value on error. But C95+ compliant vswprintf() for | ||
| 675 | * case _Count == 0 returns negative value, so handle this case specially. | ||
| 676 | */ | ||
| 677 | if (_Dest == NULL && _Count == 0) | ||
| 678 | return -1; | ||
| 679 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, _Args); | ||
| 680 | return __ret < 0 ? -1 : __ret; | ||
| 681 | } | ||
| 619 | #else | 682 | #else |
| 620 | 683 | ||
| 621 | int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 684 | int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| ... | @@ -652,6 +715,9 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -652,6 +715,9 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 652 | int __cdecl wprintf(const wchar_t * __restrict__ _Format,...); | 715 | int __cdecl wprintf(const wchar_t * __restrict__ _Format,...); |
| 653 | int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); | 716 | int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 654 | int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); | 717 | int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 718 | |||
| 719 | int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...); | ||
| 720 | int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args); | ||
| 655 | #endif /* _UCRT */ | 721 | #endif /* _UCRT */ |
| 656 | #endif /* __USE_MINGW_ANSI_STDIO */ | 722 | #endif /* __USE_MINGW_ANSI_STDIO */ |
| 657 | 723 | ||
| ... | @@ -707,12 +773,12 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -707,12 +773,12 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 707 | __builtin_va_start(__ap, format); | 773 | __builtin_va_start(__ap, format); |
| 708 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); | 774 | __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); |
| 709 | __builtin_va_end(__ap); | 775 | __builtin_va_end(__ap); |
| 710 | return __ret; | 776 | return __ret < 0 ? -1 : __ret; |
| 711 | } | 777 | } |
| 712 | __mingw_ovr | 778 | __mingw_ovr |
| 713 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) | 779 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) |
| 714 | { | 780 | { |
| 715 | int __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, s, n, format, NULL, arg); | 781 | int __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, arg); |
| 716 | return __ret < 0 ? -1 : __ret; | 782 | return __ret < 0 ? -1 : __ret; |
| 717 | } | 783 | } |
| 718 | #endif | 784 | #endif |
| ... | @@ -734,21 +800,8 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -734,21 +800,8 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 734 | # undef vsnwprintf | 800 | # undef vsnwprintf |
| 735 | int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); | 801 | int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); |
| 736 | int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); | 802 | int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); |
| 737 | __mingw_ovr | 803 | int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) __MINGW_ASM_CALL(__ms_snwprintf); |
| 738 | int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) | 804 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) __MINGW_ASM_CALL(__ms_vsnwprintf); |
| 739 | { | ||
| 740 | int r; | ||
| 741 | va_list argp; | ||
| 742 | __builtin_va_start (argp, format); | ||
| 743 | r = _vsnwprintf (s, n, format, argp); | ||
| 744 | __builtin_va_end (argp); | ||
| 745 | return r; | ||
| 746 | } | ||
| 747 | __mingw_ovr | ||
| 748 | int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) | ||
| 749 | { | ||
| 750 | return _vsnwprintf(s,n,format,arg); | ||
| 751 | } | ||
| 752 | #pragma pop_macro ("vsnwprintf") | 805 | #pragma pop_macro ("vsnwprintf") |
| 753 | #pragma pop_macro ("snwprintf") | 806 | #pragma pop_macro ("snwprintf") |
| 754 | #endif | 807 | #endif |
| ... | @@ -1078,7 +1131,15 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -1078,7 +1131,15 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 1078 | #endif | 1131 | #endif |
| 1079 | #endif | 1132 | #endif |
| 1080 | 1133 | ||
| 1134 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1135 | #pragma push_macro("_wtempnam") | ||
| 1136 | #undef _wtempnam | ||
| 1137 | #endif | ||
| 1081 | _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); | 1138 | _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); |
| 1139 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1140 | #pragma pop_macro("_wtempnam") | ||
| 1141 | #endif | ||
| 1142 | |||
| 1082 | #ifndef _UCRT | 1143 | #ifndef _UCRT |
| 1083 | _CRTIMP int __cdecl _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); | 1144 | _CRTIMP int __cdecl _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); |
| 1084 | _CRTIMP int __cdecl _vscwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); | 1145 | _CRTIMP int __cdecl _vscwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); |
| ... | @@ -1184,7 +1245,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -1184,7 +1245,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 1184 | #ifndef _POSIX_ | 1245 | #ifndef _POSIX_ |
| 1185 | #ifndef _WSTDLIBP_DEFINED | 1246 | #ifndef _WSTDLIBP_DEFINED |
| 1186 | #define _WSTDLIBP_DEFINED | 1247 | #define _WSTDLIBP_DEFINED |
| 1248 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1249 | #pragma push_macro("_wfullpath") | ||
| 1250 | #undef _wfullpath | ||
| 1251 | #endif | ||
| 1187 | _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); | 1252 | _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); |
| 1253 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1254 | #pragma pop_macro("_wfullpath") | ||
| 1255 | #endif | ||
| 1188 | _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); | 1256 | _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); |
| 1189 | #ifndef _CRT_WPERROR_DEFINED | 1257 | #ifndef _CRT_WPERROR_DEFINED |
| 1190 | #define _CRT_WPERROR_DEFINED | 1258 | #define _CRT_WPERROR_DEFINED |
| ... | @@ -1198,7 +1266,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -1198,7 +1266,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 1198 | 1266 | ||
| 1199 | #ifndef _WSTRING_DEFINED | 1267 | #ifndef _WSTRING_DEFINED |
| 1200 | #define _WSTRING_DEFINED | 1268 | #define _WSTRING_DEFINED |
| 1269 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1270 | #pragma push_macro("_wcsdup") | ||
| 1271 | #undef _wcsdup | ||
| 1272 | #endif | ||
| 1201 | _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); | 1273 | _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); |
| 1274 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1275 | #pragma pop_macro("_wcsdup") | ||
| 1276 | #endif | ||
| 1202 | wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; | 1277 | wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; |
| 1203 | _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); | 1278 | _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); |
| 1204 | int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); | 1279 | int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); |
| ... | @@ -1247,7 +1322,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); | ... | @@ -1247,7 +1322,14 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); |
| 1247 | _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); | 1322 | _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); |
| 1248 | 1323 | ||
| 1249 | #ifndef	NO_OLDNAMES | 1324 | #ifndef	NO_OLDNAMES |
| 1325 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1326 | #pragma push_macro("wcsdup") | ||
| 1327 | #undef wcsdup | ||
| 1328 | #endif | ||
| 1250 | wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1329 | wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1330 | #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) | ||
| 1331 | #pragma pop_macro("wcsdup") | ||
| 1332 | #endif | ||
| 1251 | #define wcswcs wcsstr | 1333 | #define wcswcs wcsstr |
| 1252 | int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1334 | int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
| 1253 | int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; | 1335 | int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; |
lib/libc/include/any-windows-any/wdstptmgmt.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wdstptmgmt.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wdstptmgmt.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/weakreference.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/weakreference.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/weakreference.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wia.h+22-1029| ... | @@ -1,1035 +1,28 @@ | ... | @@ -1,1035 +1,28 @@ |
| 1 | /** | 1 | /* |
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | 2 | * Copyright (C) 2009 Damjan Jovanovic |
| 3 | * This file is part of the mingw-w64 runtime package. | 3 | * |
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public | ||
| 6 | * License as published by the Free Software Foundation; either | ||
| 7 | * version 2.1 of the License, or (at your option) any later version. | ||
| 8 | * | ||
| 9 | * This library is distributed in the hope that it will be useful, | ||
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | * Lesser General Public License for more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU Lesser General Public | ||
| 15 | * License along with this library; if not, write to the Free Software | ||
| 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 5 | */ | 17 | */ |
| 6 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 7 | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | ||
| 8 | #endif | ||
| 9 | |||
| 10 | #include "rpc.h" | ||
| 11 | #include "rpcndr.h" | ||
| 12 | |||
| 13 | #ifndef __RPCNDR_H_VERSION__ | ||
| 14 | #error This stub requires an updated version of <rpcndr.h> | ||
| 15 | #endif | ||
| 16 | |||
| 17 | #ifndef COM_NO_WINDOWS_H | ||
| 18 | #include "windows.h" | ||
| 19 | #include "ole2.h" | ||
| 20 | #endif | ||
| 21 | |||
| 22 | #ifndef __wia_h__ | ||
| 23 | #define __wia_h__ | ||
| 24 | |||
| 25 | #ifndef __IWiaDevMgr_FWD_DEFINED__ | ||
| 26 | #define __IWiaDevMgr_FWD_DEFINED__ | ||
| 27 | typedef struct IWiaDevMgr IWiaDevMgr; | ||
| 28 | #endif | ||
| 29 | |||
| 30 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 31 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 32 | typedef struct IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | ||
| 33 | #endif | ||
| 34 | |||
| 35 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | ||
| 36 | #define __IWiaEventCallback_FWD_DEFINED__ | ||
| 37 | typedef struct IWiaEventCallback IWiaEventCallback; | ||
| 38 | #endif | ||
| 39 | |||
| 40 | #ifndef __IWiaDataCallback_FWD_DEFINED__ | ||
| 41 | #define __IWiaDataCallback_FWD_DEFINED__ | ||
| 42 | typedef struct IWiaDataCallback IWiaDataCallback; | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef __IWiaDataTransfer_FWD_DEFINED__ | ||
| 46 | #define __IWiaDataTransfer_FWD_DEFINED__ | ||
| 47 | typedef struct IWiaDataTransfer IWiaDataTransfer; | ||
| 48 | #endif | ||
| 49 | |||
| 50 | #ifndef __IWiaItem_FWD_DEFINED__ | ||
| 51 | #define __IWiaItem_FWD_DEFINED__ | ||
| 52 | typedef struct IWiaItem IWiaItem; | ||
| 53 | #endif | ||
| 54 | |||
| 55 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 56 | #define __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 57 | typedef struct IWiaPropertyStorage IWiaPropertyStorage; | ||
| 58 | #endif | ||
| 59 | |||
| 60 | #ifndef __IEnumWiaItem_FWD_DEFINED__ | ||
| 61 | #define __IEnumWiaItem_FWD_DEFINED__ | ||
| 62 | typedef struct IEnumWiaItem IEnumWiaItem; | ||
| 63 | #endif | ||
| 64 | |||
| 65 | #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 66 | #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 67 | typedef struct IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; | ||
| 68 | #endif | ||
| 69 | |||
| 70 | #ifndef __IEnumWIA_FORMAT_INFO_FWD_DEFINED__ | ||
| 71 | #define __IEnumWIA_FORMAT_INFO_FWD_DEFINED__ | ||
| 72 | typedef struct IEnumWIA_FORMAT_INFO IEnumWIA_FORMAT_INFO; | ||
| 73 | #endif | ||
| 74 | |||
| 75 | #ifndef __IWiaLog_FWD_DEFINED__ | ||
| 76 | #define __IWiaLog_FWD_DEFINED__ | ||
| 77 | typedef struct IWiaLog IWiaLog; | ||
| 78 | #endif | ||
| 79 | |||
| 80 | #ifndef __IWiaLogEx_FWD_DEFINED__ | ||
| 81 | #define __IWiaLogEx_FWD_DEFINED__ | ||
| 82 | typedef struct IWiaLogEx IWiaLogEx; | ||
| 83 | #endif | ||
| 84 | 18 | ||
| 85 | #ifndef __IWiaNotifyDevMgr_FWD_DEFINED__ | ||
| 86 | #define __IWiaNotifyDevMgr_FWD_DEFINED__ | ||
| 87 | typedef struct IWiaNotifyDevMgr IWiaNotifyDevMgr; | ||
| 88 | #endif | ||
| 89 | |||
| 90 | #ifndef __IWiaItemExtras_FWD_DEFINED__ | ||
| 91 | #define __IWiaItemExtras_FWD_DEFINED__ | ||
| 92 | typedef struct IWiaItemExtras IWiaItemExtras; | ||
| 93 | #endif | ||
| 94 | |||
| 95 | #ifndef __WiaDevMgr_FWD_DEFINED__ | ||
| 96 | #define __WiaDevMgr_FWD_DEFINED__ | ||
| 97 | |||
| 98 | #ifdef __cplusplus | ||
| 99 | typedef class WiaDevMgr WiaDevMgr; | ||
| 100 | #else | ||
| 101 | typedef struct WiaDevMgr WiaDevMgr; | ||
| 102 | #endif | ||
| 103 | #endif | ||
| 104 | |||
| 105 | #ifndef __WiaLog_FWD_DEFINED__ | ||
| 106 | #define __WiaLog_FWD_DEFINED__ | ||
| 107 | 19 | ||
| 108 | #ifdef __cplusplus | 20 | #ifdef __WINESRC__ |
| 109 | typedef class WiaLog WiaLog; | 21 | #error Specify wia_lh.h or wia_xp.h explicitly in Wine |
| 110 | #else | ||
| 111 | typedef struct WiaLog WiaLog; | ||
| 112 | #endif | 22 | #endif |
| 113 | #endif | ||
| 114 | |||
| 115 | #include "unknwn.h" | ||
| 116 | #include "oaidl.h" | ||
| 117 | #include "propidl.h" | ||
| 118 | |||
| 119 | #ifdef __cplusplus | ||
| 120 | extern "C" { | ||
| 121 | #endif | ||
| 122 | |||
| 123 | #ifndef __MIDL_user_allocate_free_DEFINED__ | ||
| 124 | #define __MIDL_user_allocate_free_DEFINED__ | ||
| 125 | void *__RPC_API MIDL_user_allocate(size_t); | ||
| 126 | void __RPC_API MIDL_user_free(void *); | ||
| 127 | #endif | ||
| 128 | |||
| 129 | typedef struct _WIA_DITHER_PATTERN_DATA { | ||
| 130 | LONG lSize; | ||
| 131 | BSTR bstrPatternName; | ||
| 132 | LONG lPatternWidth; | ||
| 133 | LONG lPatternLength; | ||
| 134 | LONG cbPattern; | ||
| 135 | BYTE *pbPattern; | ||
| 136 | } WIA_DITHER_PATTERN_DATA; | ||
| 137 | |||
| 138 | typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA; | ||
| 139 | 23 | ||
| 140 | typedef struct _WIA_PROPID_TO_NAME { | 24 | #if (_WIN32_WINNT >= 0x0600) |
| 141 | PROPID propid; | 25 | #include <wia_lh.h> |
| 142 | LPOLESTR pszName; | 26 | #elif (_WIN32_WINNT >= 0x0501) |
| 143 | } WIA_PROPID_TO_NAME; | 27 | #include <wia_xp.h> |
| 144 | |||
| 145 | typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME; | ||
| 146 | |||
| 147 | typedef struct _WIA_FORMAT_INFO { | ||
| 148 | GUID guidFormatID; | ||
| 149 | LONG lTymed; | ||
| 150 | } WIA_FORMAT_INFO; | ||
| 151 | |||
| 152 | typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO; | ||
| 153 | |||
| 154 | #include "wiadef.h" | ||
| 155 | |||
| 156 | extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_c_ifspec; | ||
| 157 | extern RPC_IF_HANDLE __MIDL_itf_wia_0000_v0_0_s_ifspec; | ||
| 158 | #ifndef __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 159 | #define __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 160 | EXTERN_C const IID IID_IWiaDevMgr; | ||
| 161 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 162 | struct IWiaDevMgr : public IUnknown { | ||
| 163 | public: | ||
| 164 | virtual HRESULT WINAPI EnumDeviceInfo(LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 165 | virtual HRESULT WINAPI CreateDevice(BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) = 0; | ||
| 166 | virtual HRESULT WINAPI SelectDeviceDlg(HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) = 0; | ||
| 167 | virtual HRESULT WINAPI SelectDeviceDlgID(HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) = 0; | ||
| 168 | virtual HRESULT WINAPI GetImageDlg(HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) = 0; | ||
| 169 | virtual HRESULT WINAPI RegisterEventCallbackProgram(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) = 0; | ||
| 170 | virtual HRESULT WINAPI RegisterEventCallbackInterface(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) = 0; | ||
| 171 | virtual HRESULT WINAPI RegisterEventCallbackCLSID(LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) = 0; | ||
| 172 | virtual HRESULT WINAPI AddDeviceDlg(HWND hwndParent,LONG lFlags) = 0; | ||
| 173 | }; | ||
| 174 | #else | ||
| 175 | typedef struct IWiaDevMgrVtbl { | ||
| 176 | BEGIN_INTERFACE | ||
| 177 | HRESULT (WINAPI *QueryInterface)(IWiaDevMgr *This,REFIID riid,void **ppvObject); | ||
| 178 | ULONG (WINAPI *AddRef)(IWiaDevMgr *This); | ||
| 179 | ULONG (WINAPI *Release)(IWiaDevMgr *This); | ||
| 180 | HRESULT (WINAPI *EnumDeviceInfo)(IWiaDevMgr *This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum); | ||
| 181 | HRESULT (WINAPI *CreateDevice)(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot); | ||
| 182 | HRESULT (WINAPI *SelectDeviceDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot); | ||
| 183 | HRESULT (WINAPI *SelectDeviceDlgID)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID); | ||
| 184 | HRESULT (WINAPI *GetImageDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat); | ||
| 185 | HRESULT (WINAPI *RegisterEventCallbackProgram)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 186 | HRESULT (WINAPI *RegisterEventCallbackInterface)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject); | ||
| 187 | HRESULT (WINAPI *RegisterEventCallbackCLSID)(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 188 | HRESULT (WINAPI *AddDeviceDlg)(IWiaDevMgr *This,HWND hwndParent,LONG lFlags); | ||
| 189 | END_INTERFACE | ||
| 190 | } IWiaDevMgrVtbl; | ||
| 191 | struct IWiaDevMgr { | ||
| 192 | CONST_VTBL struct IWiaDevMgrVtbl *lpVtbl; | ||
| 193 | }; | ||
| 194 | #ifdef COBJMACROS | ||
| 195 | #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 196 | #define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 197 | #define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) | ||
| 198 | #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) | ||
| 199 | #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) | ||
| 200 | #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | ||
| 201 | #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | ||
| 202 | #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) | ||
| 203 | #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) | ||
| 204 | #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | ||
| 205 | #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | ||
| 206 | #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) | ||
| 207 | #endif | ||
| 208 | #endif | ||
| 209 | HRESULT WINAPI IWiaDevMgr_EnumDeviceInfo_Proxy(IWiaDevMgr *This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum); | ||
| 210 | void __RPC_STUB IWiaDevMgr_EnumDeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 211 | HRESULT WINAPI IWiaDevMgr_LocalCreateDevice_Proxy(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot); | ||
| 212 | void __RPC_STUB IWiaDevMgr_LocalCreateDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 213 | HRESULT WINAPI IWiaDevMgr_LocalSelectDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot); | ||
| 214 | void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 215 | HRESULT WINAPI IWiaDevMgr_LocalSelectDeviceDlgID_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID); | ||
| 216 | void __RPC_STUB IWiaDevMgr_LocalSelectDeviceDlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 217 | HRESULT WINAPI IWiaDevMgr_LocalGetImageDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat); | ||
| 218 | void __RPC_STUB IWiaDevMgr_LocalGetImageDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 219 | HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackProgram_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 220 | void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackProgram_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 221 | HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackInterface_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject); | ||
| 222 | void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 223 | HRESULT WINAPI IWiaDevMgr_LocalRegisterEventCallbackCLSID_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 224 | void __RPC_STUB IWiaDevMgr_LocalRegisterEventCallbackCLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 225 | HRESULT WINAPI IWiaDevMgr_AddDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lFlags); | ||
| 226 | void __RPC_STUB IWiaDevMgr_AddDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 227 | #endif | ||
| 228 | |||
| 229 | #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 230 | #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 231 | EXTERN_C const IID IID_IEnumWIA_DEV_INFO; | ||
| 232 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 233 | struct IEnumWIA_DEV_INFO : public IUnknown { | ||
| 234 | public: | ||
| 235 | virtual HRESULT WINAPI Next(ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) = 0; | ||
| 236 | virtual HRESULT WINAPI Skip(ULONG celt) = 0; | ||
| 237 | virtual HRESULT WINAPI Reset(void) = 0; | ||
| 238 | virtual HRESULT WINAPI Clone(IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 239 | virtual HRESULT WINAPI GetCount(ULONG *celt) = 0; | ||
| 240 | }; | ||
| 241 | #else | ||
| 242 | typedef struct IEnumWIA_DEV_INFOVtbl { | ||
| 243 | BEGIN_INTERFACE | ||
| 244 | HRESULT (WINAPI *QueryInterface)(IEnumWIA_DEV_INFO *This,REFIID riid,void **ppvObject); | ||
| 245 | ULONG (WINAPI *AddRef)(IEnumWIA_DEV_INFO *This); | ||
| 246 | ULONG (WINAPI *Release)(IEnumWIA_DEV_INFO *This); | ||
| 247 | HRESULT (WINAPI *Next)(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched); | ||
| 248 | HRESULT (WINAPI *Skip)(IEnumWIA_DEV_INFO *This,ULONG celt); | ||
| 249 | HRESULT (WINAPI *Reset)(IEnumWIA_DEV_INFO *This); | ||
| 250 | HRESULT (WINAPI *Clone)(IEnumWIA_DEV_INFO *This,IEnumWIA_DEV_INFO **ppIEnum); | ||
| 251 | HRESULT (WINAPI *GetCount)(IEnumWIA_DEV_INFO *This,ULONG *celt); | ||
| 252 | END_INTERFACE | ||
| 253 | } IEnumWIA_DEV_INFOVtbl; | ||
| 254 | struct IEnumWIA_DEV_INFO { | ||
| 255 | CONST_VTBL struct IEnumWIA_DEV_INFOVtbl *lpVtbl; | ||
| 256 | }; | ||
| 257 | #ifdef COBJMACROS | ||
| 258 | #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 259 | #define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 260 | #define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) | ||
| 261 | #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 262 | #define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 263 | #define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 264 | #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 265 | #define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) | ||
| 266 | #endif | ||
| 267 | #endif | ||
| 268 | HRESULT WINAPI IEnumWIA_DEV_INFO_RemoteNext_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched); | ||
| 269 | void __RPC_STUB IEnumWIA_DEV_INFO_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 270 | HRESULT WINAPI IEnumWIA_DEV_INFO_Skip_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt); | ||
| 271 | void __RPC_STUB IEnumWIA_DEV_INFO_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 272 | HRESULT WINAPI IEnumWIA_DEV_INFO_Reset_Proxy(IEnumWIA_DEV_INFO *This); | ||
| 273 | void __RPC_STUB IEnumWIA_DEV_INFO_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 274 | HRESULT WINAPI IEnumWIA_DEV_INFO_Clone_Proxy(IEnumWIA_DEV_INFO *This,IEnumWIA_DEV_INFO **ppIEnum); | ||
| 275 | void __RPC_STUB IEnumWIA_DEV_INFO_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 276 | HRESULT WINAPI IEnumWIA_DEV_INFO_GetCount_Proxy(IEnumWIA_DEV_INFO *This,ULONG *celt); | ||
| 277 | void __RPC_STUB IEnumWIA_DEV_INFO_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 278 | #endif | ||
| 279 | |||
| 280 | #ifndef __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 281 | #define __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 282 | EXTERN_C const IID IID_IWiaEventCallback; | ||
| 283 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 284 | struct IWiaEventCallback : public IUnknown { | ||
| 285 | public: | ||
| 286 | virtual HRESULT WINAPI ImageEventCallback(const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) = 0; | ||
| 287 | }; | ||
| 288 | #else | ||
| 289 | typedef struct IWiaEventCallbackVtbl { | ||
| 290 | BEGIN_INTERFACE | ||
| 291 | HRESULT (WINAPI *QueryInterface)(IWiaEventCallback *This,REFIID riid,void **ppvObject); | ||
| 292 | ULONG (WINAPI *AddRef)(IWiaEventCallback *This); | ||
| 293 | ULONG (WINAPI *Release)(IWiaEventCallback *This); | ||
| 294 | HRESULT (WINAPI *ImageEventCallback)(IWiaEventCallback *This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved); | ||
| 295 | END_INTERFACE | ||
| 296 | } IWiaEventCallbackVtbl; | ||
| 297 | struct IWiaEventCallback { | ||
| 298 | CONST_VTBL struct IWiaEventCallbackVtbl *lpVtbl; | ||
| 299 | }; | ||
| 300 | #ifdef COBJMACROS | ||
| 301 | #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 302 | #define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 303 | #define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) | ||
| 304 | #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) | ||
| 305 | #endif | ||
| 306 | #endif | ||
| 307 | HRESULT WINAPI IWiaEventCallback_ImageEventCallback_Proxy(IWiaEventCallback *This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved); | ||
| 308 | void __RPC_STUB IWiaEventCallback_ImageEventCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 309 | #endif | ||
| 310 | |||
| 311 | typedef struct _WIA_DATA_CALLBACK_HEADER { | ||
| 312 | LONG lSize; | ||
| 313 | GUID guidFormatID; | ||
| 314 | LONG lBufferSize; | ||
| 315 | LONG lPageCount; | ||
| 316 | } WIA_DATA_CALLBACK_HEADER; | ||
| 317 | |||
| 318 | typedef struct _WIA_DATA_CALLBACK_HEADER *PWIA_DATA_CALLBACK_HEADER; | ||
| 319 | |||
| 320 | extern RPC_IF_HANDLE __MIDL_itf_wia_0125_v0_0_c_ifspec; | ||
| 321 | extern RPC_IF_HANDLE __MIDL_itf_wia_0125_v0_0_s_ifspec; | ||
| 322 | #ifndef __IWiaDataCallback_INTERFACE_DEFINED__ | ||
| 323 | #define __IWiaDataCallback_INTERFACE_DEFINED__ | ||
| 324 | EXTERN_C const IID IID_IWiaDataCallback; | ||
| 325 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 326 | struct IWiaDataCallback : public IUnknown { | ||
| 327 | public: | ||
| 328 | virtual HRESULT WINAPI BandedDataCallback(LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer) = 0; | ||
| 329 | }; | ||
| 330 | #else | ||
| 331 | typedef struct IWiaDataCallbackVtbl { | ||
| 332 | BEGIN_INTERFACE | ||
| 333 | HRESULT (WINAPI *QueryInterface)(IWiaDataCallback *This,REFIID riid,void **ppvObject); | ||
| 334 | ULONG (WINAPI *AddRef)(IWiaDataCallback *This); | ||
| 335 | ULONG (WINAPI *Release)(IWiaDataCallback *This); | ||
| 336 | HRESULT (WINAPI *BandedDataCallback)(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer); | ||
| 337 | END_INTERFACE | ||
| 338 | } IWiaDataCallbackVtbl; | ||
| 339 | struct IWiaDataCallback { | ||
| 340 | CONST_VTBL struct IWiaDataCallbackVtbl *lpVtbl; | ||
| 341 | }; | ||
| 342 | #ifdef COBJMACROS | ||
| 343 | #define IWiaDataCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 344 | #define IWiaDataCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 345 | #define IWiaDataCallback_Release(This) (This)->lpVtbl->Release(This) | ||
| 346 | #define IWiaDataCallback_BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer) (This)->lpVtbl->BandedDataCallback(This,lMessage,lStatus,lPercentComplete,lOffset,lLength,lReserved,lResLength,pbBuffer) | ||
| 347 | #endif | ||
| 348 | #endif | ||
| 349 | HRESULT WINAPI IWiaDataCallback_RemoteBandedDataCallback_Proxy(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer); | ||
| 350 | void __RPC_STUB IWiaDataCallback_RemoteBandedDataCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 351 | #endif | ||
| 352 | |||
| 353 | typedef struct _WIA_DATA_TRANSFER_INFO { | ||
| 354 | ULONG ulSize; | ||
| 355 | ULONG ulSection; | ||
| 356 | ULONG ulBufferSize; | ||
| 357 | WINBOOL bDoubleBuffer; | ||
| 358 | ULONG ulReserved1; | ||
| 359 | ULONG ulReserved2; | ||
| 360 | ULONG ulReserved3; | ||
| 361 | } WIA_DATA_TRANSFER_INFO; | ||
| 362 | |||
| 363 | typedef struct _WIA_DATA_TRANSFER_INFO *PWIA_DATA_TRANSFER_INFO; | ||
| 364 | |||
| 365 | typedef struct _WIA_EXTENDED_TRANSFER_INFO { | ||
| 366 | ULONG ulSize; | ||
| 367 | ULONG ulMinBufferSize; | ||
| 368 | ULONG ulOptimalBufferSize; | ||
| 369 | ULONG ulMaxBufferSize; | ||
| 370 | ULONG ulNumBuffers; | ||
| 371 | } WIA_EXTENDED_TRANSFER_INFO; | ||
| 372 | |||
| 373 | typedef struct _WIA_EXTENDED_TRANSFER_INFO *PWIA_EXTENDED_TRANSFER_INFO; | ||
| 374 | |||
| 375 | extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_c_ifspec; | ||
| 376 | extern RPC_IF_HANDLE __MIDL_itf_wia_0126_v0_0_s_ifspec; | ||
| 377 | #ifndef __IWiaDataTransfer_INTERFACE_DEFINED__ | ||
| 378 | #define __IWiaDataTransfer_INTERFACE_DEFINED__ | ||
| 379 | EXTERN_C const IID IID_IWiaDataTransfer; | ||
| 380 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 381 | struct IWiaDataTransfer : public IUnknown { | ||
| 382 | public: | ||
| 383 | virtual HRESULT WINAPI idtGetData(LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback) = 0; | ||
| 384 | virtual HRESULT WINAPI idtGetBandedData(PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback) = 0; | ||
| 385 | virtual HRESULT WINAPI idtQueryGetData(WIA_FORMAT_INFO *pfe) = 0; | ||
| 386 | virtual HRESULT WINAPI idtEnumWIA_FORMAT_INFO(IEnumWIA_FORMAT_INFO **ppEnum) = 0; | ||
| 387 | virtual HRESULT WINAPI idtGetExtendedTransferInfo(PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo) = 0; | ||
| 388 | }; | ||
| 389 | #else | ||
| 390 | typedef struct IWiaDataTransferVtbl { | ||
| 391 | BEGIN_INTERFACE | ||
| 392 | HRESULT (WINAPI *QueryInterface)(IWiaDataTransfer *This,REFIID riid,void **ppvObject); | ||
| 393 | ULONG (WINAPI *AddRef)(IWiaDataTransfer *This); | ||
| 394 | ULONG (WINAPI *Release)(IWiaDataTransfer *This); | ||
| 395 | HRESULT (WINAPI *idtGetData)(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback); | ||
| 396 | HRESULT (WINAPI *idtGetBandedData)(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback); | ||
| 397 | HRESULT (WINAPI *idtQueryGetData)(IWiaDataTransfer *This,WIA_FORMAT_INFO *pfe); | ||
| 398 | HRESULT (WINAPI *idtEnumWIA_FORMAT_INFO)(IWiaDataTransfer *This,IEnumWIA_FORMAT_INFO **ppEnum); | ||
| 399 | HRESULT (WINAPI *idtGetExtendedTransferInfo)(IWiaDataTransfer *This,PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo); | ||
| 400 | END_INTERFACE | ||
| 401 | } IWiaDataTransferVtbl; | ||
| 402 | struct IWiaDataTransfer { | ||
| 403 | CONST_VTBL struct IWiaDataTransferVtbl *lpVtbl; | ||
| 404 | }; | ||
| 405 | #ifdef COBJMACROS | ||
| 406 | #define IWiaDataTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 407 | #define IWiaDataTransfer_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 408 | #define IWiaDataTransfer_Release(This) (This)->lpVtbl->Release(This) | ||
| 409 | #define IWiaDataTransfer_idtGetData(This,pMedium,pIWiaDataCallback) (This)->lpVtbl->idtGetData(This,pMedium,pIWiaDataCallback) | ||
| 410 | #define IWiaDataTransfer_idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback) (This)->lpVtbl->idtGetBandedData(This,pWiaDataTransInfo,pIWiaDataCallback) | ||
| 411 | #define IWiaDataTransfer_idtQueryGetData(This,pfe) (This)->lpVtbl->idtQueryGetData(This,pfe) | ||
| 412 | #define IWiaDataTransfer_idtEnumWIA_FORMAT_INFO(This,ppEnum) (This)->lpVtbl->idtEnumWIA_FORMAT_INFO(This,ppEnum) | ||
| 413 | #define IWiaDataTransfer_idtGetExtendedTransferInfo(This,pExtendedTransferInfo) (This)->lpVtbl->idtGetExtendedTransferInfo(This,pExtendedTransferInfo) | ||
| 414 | #endif | ||
| 415 | #endif | ||
| 416 | HRESULT WINAPI IWiaDataTransfer_idtGetDataEx_Proxy(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback); | ||
| 417 | void __RPC_STUB IWiaDataTransfer_idtGetDataEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 418 | HRESULT WINAPI IWiaDataTransfer_idtGetBandedDataEx_Proxy(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback); | ||
| 419 | void __RPC_STUB IWiaDataTransfer_idtGetBandedDataEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 420 | HRESULT WINAPI IWiaDataTransfer_idtQueryGetData_Proxy(IWiaDataTransfer *This,WIA_FORMAT_INFO *pfe); | ||
| 421 | void __RPC_STUB IWiaDataTransfer_idtQueryGetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 422 | HRESULT WINAPI IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Proxy(IWiaDataTransfer *This,IEnumWIA_FORMAT_INFO **ppEnum); | ||
| 423 | void __RPC_STUB IWiaDataTransfer_idtEnumWIA_FORMAT_INFO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 424 | HRESULT WINAPI IWiaDataTransfer_idtGetExtendedTransferInfo_Proxy(IWiaDataTransfer *This,PWIA_EXTENDED_TRANSFER_INFO pExtendedTransferInfo); | ||
| 425 | void __RPC_STUB IWiaDataTransfer_idtGetExtendedTransferInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 426 | #endif | ||
| 427 | |||
| 428 | #ifndef __IWiaItem_INTERFACE_DEFINED__ | ||
| 429 | #define __IWiaItem_INTERFACE_DEFINED__ | ||
| 430 | EXTERN_C const IID IID_IWiaItem; | ||
| 431 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 432 | struct IWiaItem : public IUnknown { | ||
| 433 | public: | ||
| 434 | virtual HRESULT WINAPI GetItemType(LONG *pItemType) = 0; | ||
| 435 | virtual HRESULT WINAPI AnalyzeItem(LONG lFlags) = 0; | ||
| 436 | virtual HRESULT WINAPI EnumChildItems(IEnumWiaItem **ppIEnumWiaItem) = 0; | ||
| 437 | virtual HRESULT WINAPI DeleteItem(LONG lFlags) = 0; | ||
| 438 | virtual HRESULT WINAPI CreateChildItem(LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem) = 0; | ||
| 439 | virtual HRESULT WINAPI EnumRegisterEventInfo(LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) = 0; | ||
| 440 | virtual HRESULT WINAPI FindItemByName(LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem) = 0; | ||
| 441 | virtual HRESULT WINAPI DeviceDlg(HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem) = 0; | ||
| 442 | virtual HRESULT WINAPI DeviceCommand(LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem) = 0; | ||
| 443 | virtual HRESULT WINAPI GetRootItem(IWiaItem **ppIWiaItem) = 0; | ||
| 444 | virtual HRESULT WINAPI EnumDeviceCapabilities(LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0; | ||
| 445 | virtual HRESULT WINAPI DumpItemData(BSTR *bstrData) = 0; | ||
| 446 | virtual HRESULT WINAPI DumpDrvItemData(BSTR *bstrData) = 0; | ||
| 447 | virtual HRESULT WINAPI DumpTreeItemData(BSTR *bstrData) = 0; | ||
| 448 | virtual HRESULT WINAPI Diagnostic(ULONG ulSize,BYTE *pBuffer) = 0; | ||
| 449 | }; | ||
| 450 | #else | ||
| 451 | typedef struct IWiaItemVtbl { | ||
| 452 | BEGIN_INTERFACE | ||
| 453 | HRESULT (WINAPI *QueryInterface)(IWiaItem *This,REFIID riid,void **ppvObject); | ||
| 454 | ULONG (WINAPI *AddRef)(IWiaItem *This); | ||
| 455 | ULONG (WINAPI *Release)(IWiaItem *This); | ||
| 456 | HRESULT (WINAPI *GetItemType)(IWiaItem *This,LONG *pItemType); | ||
| 457 | HRESULT (WINAPI *AnalyzeItem)(IWiaItem *This,LONG lFlags); | ||
| 458 | HRESULT (WINAPI *EnumChildItems)(IWiaItem *This,IEnumWiaItem **ppIEnumWiaItem); | ||
| 459 | HRESULT (WINAPI *DeleteItem)(IWiaItem *This,LONG lFlags); | ||
| 460 | HRESULT (WINAPI *CreateChildItem)(IWiaItem *This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem); | ||
| 461 | HRESULT (WINAPI *EnumRegisterEventInfo)(IWiaItem *This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 462 | HRESULT (WINAPI *FindItemByName)(IWiaItem *This,LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem); | ||
| 463 | HRESULT (WINAPI *DeviceDlg)(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem); | ||
| 464 | HRESULT (WINAPI *DeviceCommand)(IWiaItem *This,LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem); | ||
| 465 | HRESULT (WINAPI *GetRootItem)(IWiaItem *This,IWiaItem **ppIWiaItem); | ||
| 466 | HRESULT (WINAPI *EnumDeviceCapabilities)(IWiaItem *This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS); | ||
| 467 | HRESULT (WINAPI *DumpItemData)(IWiaItem *This,BSTR *bstrData); | ||
| 468 | HRESULT (WINAPI *DumpDrvItemData)(IWiaItem *This,BSTR *bstrData); | ||
| 469 | HRESULT (WINAPI *DumpTreeItemData)(IWiaItem *This,BSTR *bstrData); | ||
| 470 | HRESULT (WINAPI *Diagnostic)(IWiaItem *This,ULONG ulSize,BYTE *pBuffer); | ||
| 471 | END_INTERFACE | ||
| 472 | } IWiaItemVtbl; | ||
| 473 | struct IWiaItem { | ||
| 474 | CONST_VTBL struct IWiaItemVtbl *lpVtbl; | ||
| 475 | }; | ||
| 476 | #ifdef COBJMACROS | ||
| 477 | #define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 478 | #define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 479 | #define IWiaItem_Release(This) (This)->lpVtbl->Release(This) | ||
| 480 | #define IWiaItem_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType) | ||
| 481 | #define IWiaItem_AnalyzeItem(This,lFlags) (This)->lpVtbl->AnalyzeItem(This,lFlags) | ||
| 482 | #define IWiaItem_EnumChildItems(This,ppIEnumWiaItem) (This)->lpVtbl->EnumChildItems(This,ppIEnumWiaItem) | ||
| 483 | #define IWiaItem_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags) | ||
| 484 | #define IWiaItem_CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem) (This)->lpVtbl->CreateChildItem(This,lFlags,bstrItemName,bstrFullItemName,ppIWiaItem) | ||
| 485 | #define IWiaItem_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) | ||
| 486 | #define IWiaItem_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem) | ||
| 487 | #define IWiaItem_DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem) (This)->lpVtbl->DeviceDlg(This,hwndParent,lFlags,lIntent,plItemCount,ppIWiaItem) | ||
| 488 | #define IWiaItem_DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,pIWiaItem) | ||
| 489 | #define IWiaItem_GetRootItem(This,ppIWiaItem) (This)->lpVtbl->GetRootItem(This,ppIWiaItem) | ||
| 490 | #define IWiaItem_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) | ||
| 491 | #define IWiaItem_DumpItemData(This,bstrData) (This)->lpVtbl->DumpItemData(This,bstrData) | ||
| 492 | #define IWiaItem_DumpDrvItemData(This,bstrData) (This)->lpVtbl->DumpDrvItemData(This,bstrData) | ||
| 493 | #define IWiaItem_DumpTreeItemData(This,bstrData) (This)->lpVtbl->DumpTreeItemData(This,bstrData) | ||
| 494 | #define IWiaItem_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer) | ||
| 495 | #endif | ||
| 496 | #endif | ||
| 497 | HRESULT WINAPI IWiaItem_GetItemType_Proxy(IWiaItem *This,LONG *pItemType); | ||
| 498 | void __RPC_STUB IWiaItem_GetItemType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 499 | HRESULT WINAPI IWiaItem_AnalyzeItem_Proxy(IWiaItem *This,LONG lFlags); | ||
| 500 | void __RPC_STUB IWiaItem_AnalyzeItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 501 | HRESULT WINAPI IWiaItem_EnumChildItems_Proxy(IWiaItem *This,IEnumWiaItem **ppIEnumWiaItem); | ||
| 502 | void __RPC_STUB IWiaItem_EnumChildItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 503 | HRESULT WINAPI IWiaItem_DeleteItem_Proxy(IWiaItem *This,LONG lFlags); | ||
| 504 | void __RPC_STUB IWiaItem_DeleteItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 505 | HRESULT WINAPI IWiaItem_CreateChildItem_Proxy(IWiaItem *This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IWiaItem **ppIWiaItem); | ||
| 506 | void __RPC_STUB IWiaItem_CreateChildItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 507 | HRESULT WINAPI IWiaItem_EnumRegisterEventInfo_Proxy(IWiaItem *This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 508 | void __RPC_STUB IWiaItem_EnumRegisterEventInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 509 | HRESULT WINAPI IWiaItem_FindItemByName_Proxy(IWiaItem *This,LONG lFlags,BSTR bstrFullItemName,IWiaItem **ppIWiaItem); | ||
| 510 | void __RPC_STUB IWiaItem_FindItemByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 511 | HRESULT WINAPI IWiaItem_LocalDeviceDlg_Proxy(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***pIWiaItem); | ||
| 512 | void __RPC_STUB IWiaItem_LocalDeviceDlg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 513 | HRESULT WINAPI IWiaItem_DeviceCommand_Proxy(IWiaItem *This,LONG lFlags,const GUID *pCmdGUID,IWiaItem **pIWiaItem); | ||
| 514 | void __RPC_STUB IWiaItem_DeviceCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 515 | HRESULT WINAPI IWiaItem_GetRootItem_Proxy(IWiaItem *This,IWiaItem **ppIWiaItem); | ||
| 516 | void __RPC_STUB IWiaItem_GetRootItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 517 | HRESULT WINAPI IWiaItem_EnumDeviceCapabilities_Proxy(IWiaItem *This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS); | ||
| 518 | void __RPC_STUB IWiaItem_EnumDeviceCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 519 | HRESULT WINAPI IWiaItem_DumpItemData_Proxy(IWiaItem *This,BSTR *bstrData); | ||
| 520 | void __RPC_STUB IWiaItem_DumpItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 521 | HRESULT WINAPI IWiaItem_DumpDrvItemData_Proxy(IWiaItem *This,BSTR *bstrData); | ||
| 522 | void __RPC_STUB IWiaItem_DumpDrvItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 523 | HRESULT WINAPI IWiaItem_DumpTreeItemData_Proxy(IWiaItem *This,BSTR *bstrData); | ||
| 524 | void __RPC_STUB IWiaItem_DumpTreeItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 525 | HRESULT WINAPI IWiaItem_Diagnostic_Proxy(IWiaItem *This,ULONG ulSize,BYTE *pBuffer); | ||
| 526 | void __RPC_STUB IWiaItem_Diagnostic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 527 | #endif | ||
| 528 | |||
| 529 | #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 530 | #define __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 531 | EXTERN_C const IID IID_IWiaPropertyStorage; | ||
| 532 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 533 | struct IWiaPropertyStorage : public IUnknown { | ||
| 534 | public: | ||
| 535 | virtual HRESULT WINAPI ReadMultiple(ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]) = 0; | ||
| 536 | virtual HRESULT WINAPI WriteMultiple(ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst) = 0; | ||
| 537 | virtual HRESULT WINAPI DeleteMultiple(ULONG cpspec,const PROPSPEC rgpspec[]) = 0; | ||
| 538 | virtual HRESULT WINAPI ReadPropertyNames(ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]) = 0; | ||
| 539 | virtual HRESULT WINAPI WritePropertyNames(ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]) = 0; | ||
| 540 | virtual HRESULT WINAPI DeletePropertyNames(ULONG cpropid,const PROPID rgpropid[]) = 0; | ||
| 541 | virtual HRESULT WINAPI Commit(DWORD grfCommitFlags) = 0; | ||
| 542 | virtual HRESULT WINAPI Revert(void) = 0; | ||
| 543 | virtual HRESULT WINAPI Enum(IEnumSTATPROPSTG **ppenum) = 0; | ||
| 544 | virtual HRESULT WINAPI SetTimes(const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) = 0; | ||
| 545 | virtual HRESULT WINAPI SetClass(REFCLSID clsid) = 0; | ||
| 546 | virtual HRESULT WINAPI Stat(STATPROPSETSTG *pstatpsstg) = 0; | ||
| 547 | virtual HRESULT WINAPI GetPropertyAttributes(ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]) = 0; | ||
| 548 | virtual HRESULT WINAPI GetCount(ULONG *pulNumProps) = 0; | ||
| 549 | virtual HRESULT WINAPI GetPropertyStream(GUID *pCompatibilityId,IStream **ppIStream) = 0; | ||
| 550 | virtual HRESULT WINAPI SetPropertyStream(GUID *pCompatibilityId,IStream *pIStream) = 0; | ||
| 551 | }; | ||
| 552 | #else | ||
| 553 | typedef struct IWiaPropertyStorageVtbl { | ||
| 554 | BEGIN_INTERFACE | ||
| 555 | HRESULT (WINAPI *QueryInterface)(IWiaPropertyStorage *This,REFIID riid,void **ppvObject); | ||
| 556 | ULONG (WINAPI *AddRef)(IWiaPropertyStorage *This); | ||
| 557 | ULONG (WINAPI *Release)(IWiaPropertyStorage *This); | ||
| 558 | HRESULT (WINAPI *ReadMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]); | ||
| 559 | HRESULT (WINAPI *WriteMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst); | ||
| 560 | HRESULT (WINAPI *DeleteMultiple)(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]); | ||
| 561 | HRESULT (WINAPI *ReadPropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]); | ||
| 562 | HRESULT (WINAPI *WritePropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]); | ||
| 563 | HRESULT (WINAPI *DeletePropertyNames)(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]); | ||
| 564 | HRESULT (WINAPI *Commit)(IWiaPropertyStorage *This,DWORD grfCommitFlags); | ||
| 565 | HRESULT (WINAPI *Revert)(IWiaPropertyStorage *This); | ||
| 566 | HRESULT (WINAPI *Enum)(IWiaPropertyStorage *This,IEnumSTATPROPSTG **ppenum); | ||
| 567 | HRESULT (WINAPI *SetTimes)(IWiaPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime); | ||
| 568 | HRESULT (WINAPI *SetClass)(IWiaPropertyStorage *This,REFCLSID clsid); | ||
| 569 | HRESULT (WINAPI *Stat)(IWiaPropertyStorage *This,STATPROPSETSTG *pstatpsstg); | ||
| 570 | HRESULT (WINAPI *GetPropertyAttributes)(IWiaPropertyStorage *This,ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]); | ||
| 571 | HRESULT (WINAPI *GetCount)(IWiaPropertyStorage *This,ULONG *pulNumProps); | ||
| 572 | HRESULT (WINAPI *GetPropertyStream)(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream **ppIStream); | ||
| 573 | HRESULT (WINAPI *SetPropertyStream)(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream); | ||
| 574 | END_INTERFACE | ||
| 575 | } IWiaPropertyStorageVtbl; | ||
| 576 | struct IWiaPropertyStorage { | ||
| 577 | CONST_VTBL struct IWiaPropertyStorageVtbl *lpVtbl; | ||
| 578 | }; | ||
| 579 | #ifdef COBJMACROS | ||
| 580 | #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 581 | #define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 582 | #define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) | ||
| 583 | #define IWiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) (This)->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar) | ||
| 584 | #define IWiaPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) (This)->lpVtbl->WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) | ||
| 585 | #define IWiaPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) (This)->lpVtbl->DeleteMultiple(This,cpspec,rgpspec) | ||
| 586 | #define IWiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) | ||
| 587 | #define IWiaPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) | ||
| 588 | #define IWiaPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) (This)->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid) | ||
| 589 | #define IWiaPropertyStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) | ||
| 590 | #define IWiaPropertyStorage_Revert(This) (This)->lpVtbl->Revert(This) | ||
| 591 | #define IWiaPropertyStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum) | ||
| 592 | #define IWiaPropertyStorage_SetTimes(This,pctime,patime,pmtime) (This)->lpVtbl->SetTimes(This,pctime,patime,pmtime) | ||
| 593 | #define IWiaPropertyStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid) | ||
| 594 | #define IWiaPropertyStorage_Stat(This,pstatpsstg) (This)->lpVtbl->Stat(This,pstatpsstg) | ||
| 595 | #define IWiaPropertyStorage_GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar) (This)->lpVtbl->GetPropertyAttributes(This,cpspec,rgpspec,rgflags,rgpropvar) | ||
| 596 | #define IWiaPropertyStorage_GetCount(This,pulNumProps) (This)->lpVtbl->GetCount(This,pulNumProps) | ||
| 597 | #define IWiaPropertyStorage_GetPropertyStream(This,pCompatibilityId,ppIStream) (This)->lpVtbl->GetPropertyStream(This,pCompatibilityId,ppIStream) | ||
| 598 | #define IWiaPropertyStorage_SetPropertyStream(This,pCompatibilityId,pIStream) (This)->lpVtbl->SetPropertyStream(This,pCompatibilityId,pIStream) | ||
| 599 | #endif | ||
| 600 | #endif | ||
| 601 | HRESULT WINAPI IWiaPropertyStorage_ReadMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]); | ||
| 602 | void __RPC_STUB IWiaPropertyStorage_ReadMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 603 | HRESULT WINAPI IWiaPropertyStorage_RemoteWriteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC *rgpspec,const PROPVARIANT *rgpropvar,PROPID propidNameFirst); | ||
| 604 | void __RPC_STUB IWiaPropertyStorage_RemoteWriteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 605 | HRESULT WINAPI IWiaPropertyStorage_DeleteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]); | ||
| 606 | void __RPC_STUB IWiaPropertyStorage_DeleteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 607 | HRESULT WINAPI IWiaPropertyStorage_ReadPropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]); | ||
| 608 | void __RPC_STUB IWiaPropertyStorage_ReadPropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 609 | HRESULT WINAPI IWiaPropertyStorage_WritePropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]); | ||
| 610 | void __RPC_STUB IWiaPropertyStorage_WritePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 611 | HRESULT WINAPI IWiaPropertyStorage_DeletePropertyNames_Proxy(IWiaPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]); | ||
| 612 | void __RPC_STUB IWiaPropertyStorage_DeletePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 613 | HRESULT WINAPI IWiaPropertyStorage_Commit_Proxy(IWiaPropertyStorage *This,DWORD grfCommitFlags); | ||
| 614 | void __RPC_STUB IWiaPropertyStorage_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 615 | HRESULT WINAPI IWiaPropertyStorage_Revert_Proxy(IWiaPropertyStorage *This); | ||
| 616 | void __RPC_STUB IWiaPropertyStorage_Revert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 617 | HRESULT WINAPI IWiaPropertyStorage_Enum_Proxy(IWiaPropertyStorage *This,IEnumSTATPROPSTG **ppenum); | ||
| 618 | void __RPC_STUB IWiaPropertyStorage_Enum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 619 | HRESULT WINAPI IWiaPropertyStorage_SetTimes_Proxy(IWiaPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime); | ||
| 620 | void __RPC_STUB IWiaPropertyStorage_SetTimes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 621 | HRESULT WINAPI IWiaPropertyStorage_SetClass_Proxy(IWiaPropertyStorage *This,REFCLSID clsid); | ||
| 622 | void __RPC_STUB IWiaPropertyStorage_SetClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 623 | HRESULT WINAPI IWiaPropertyStorage_Stat_Proxy(IWiaPropertyStorage *This,STATPROPSETSTG *pstatpsstg); | ||
| 624 | void __RPC_STUB IWiaPropertyStorage_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 625 | HRESULT WINAPI IWiaPropertyStorage_GetPropertyAttributes_Proxy(IWiaPropertyStorage *This,ULONG cpspec,PROPSPEC rgpspec[],ULONG rgflags[],PROPVARIANT rgpropvar[]); | ||
| 626 | void __RPC_STUB IWiaPropertyStorage_GetPropertyAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 627 | HRESULT WINAPI IWiaPropertyStorage_GetCount_Proxy(IWiaPropertyStorage *This,ULONG *pulNumProps); | ||
| 628 | void __RPC_STUB IWiaPropertyStorage_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 629 | HRESULT WINAPI IWiaPropertyStorage_GetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream **ppIStream); | ||
| 630 | void __RPC_STUB IWiaPropertyStorage_GetPropertyStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 631 | HRESULT WINAPI IWiaPropertyStorage_RemoteSetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream); | ||
| 632 | void __RPC_STUB IWiaPropertyStorage_RemoteSetPropertyStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 633 | #endif | ||
| 634 | |||
| 635 | #ifndef __IEnumWiaItem_INTERFACE_DEFINED__ | ||
| 636 | #define __IEnumWiaItem_INTERFACE_DEFINED__ | ||
| 637 | EXTERN_C const IID IID_IEnumWiaItem; | ||
| 638 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 639 | struct IEnumWiaItem : public IUnknown { | ||
| 640 | public: | ||
| 641 | virtual HRESULT WINAPI Next(ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched) = 0; | ||
| 642 | virtual HRESULT WINAPI Skip(ULONG celt) = 0; | ||
| 643 | virtual HRESULT WINAPI Reset(void) = 0; | ||
| 644 | virtual HRESULT WINAPI Clone(IEnumWiaItem **ppIEnum) = 0; | ||
| 645 | virtual HRESULT WINAPI GetCount(ULONG *celt) = 0; | ||
| 646 | }; | ||
| 647 | #else | ||
| 648 | typedef struct IEnumWiaItemVtbl { | ||
| 649 | BEGIN_INTERFACE | ||
| 650 | HRESULT (WINAPI *QueryInterface)(IEnumWiaItem *This,REFIID riid,void **ppvObject); | ||
| 651 | ULONG (WINAPI *AddRef)(IEnumWiaItem *This); | ||
| 652 | ULONG (WINAPI *Release)(IEnumWiaItem *This); | ||
| 653 | HRESULT (WINAPI *Next)(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched); | ||
| 654 | HRESULT (WINAPI *Skip)(IEnumWiaItem *This,ULONG celt); | ||
| 655 | HRESULT (WINAPI *Reset)(IEnumWiaItem *This); | ||
| 656 | HRESULT (WINAPI *Clone)(IEnumWiaItem *This,IEnumWiaItem **ppIEnum); | ||
| 657 | HRESULT (WINAPI *GetCount)(IEnumWiaItem *This,ULONG *celt); | ||
| 658 | END_INTERFACE | ||
| 659 | } IEnumWiaItemVtbl; | ||
| 660 | struct IEnumWiaItem { | ||
| 661 | CONST_VTBL struct IEnumWiaItemVtbl *lpVtbl; | ||
| 662 | }; | ||
| 663 | #ifdef COBJMACROS | ||
| 664 | #define IEnumWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 665 | #define IEnumWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 666 | #define IEnumWiaItem_Release(This) (This)->lpVtbl->Release(This) | ||
| 667 | #define IEnumWiaItem_Next(This,celt,ppIWiaItem,pceltFetched) (This)->lpVtbl->Next(This,celt,ppIWiaItem,pceltFetched) | ||
| 668 | #define IEnumWiaItem_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 669 | #define IEnumWiaItem_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 670 | #define IEnumWiaItem_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 671 | #define IEnumWiaItem_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) | ||
| 672 | #endif | ||
| 673 | #endif | ||
| 674 | HRESULT WINAPI IEnumWiaItem_RemoteNext_Proxy(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched); | ||
| 675 | void __RPC_STUB IEnumWiaItem_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 676 | HRESULT WINAPI IEnumWiaItem_Skip_Proxy(IEnumWiaItem *This,ULONG celt); | ||
| 677 | void __RPC_STUB IEnumWiaItem_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 678 | HRESULT WINAPI IEnumWiaItem_Reset_Proxy(IEnumWiaItem *This); | ||
| 679 | void __RPC_STUB IEnumWiaItem_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 680 | HRESULT WINAPI IEnumWiaItem_Clone_Proxy(IEnumWiaItem *This,IEnumWiaItem **ppIEnum); | ||
| 681 | void __RPC_STUB IEnumWiaItem_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 682 | HRESULT WINAPI IEnumWiaItem_GetCount_Proxy(IEnumWiaItem *This,ULONG *celt); | ||
| 683 | void __RPC_STUB IEnumWiaItem_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 684 | #endif | ||
| 685 | |||
| 686 | typedef struct _WIA_DEV_CAP { | ||
| 687 | GUID guid; | ||
| 688 | ULONG ulFlags; | ||
| 689 | BSTR bstrName; | ||
| 690 | BSTR bstrDescription; | ||
| 691 | BSTR bstrIcon; | ||
| 692 | BSTR bstrCommandline; | ||
| 693 | } WIA_DEV_CAP; | ||
| 694 | |||
| 695 | typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP; | ||
| 696 | typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER; | ||
| 697 | typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER; | ||
| 698 | |||
| 699 | extern RPC_IF_HANDLE __MIDL_itf_wia_0130_v0_0_c_ifspec; | ||
| 700 | extern RPC_IF_HANDLE __MIDL_itf_wia_0130_v0_0_s_ifspec; | ||
| 701 | #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | ||
| 702 | #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | ||
| 703 | EXTERN_C const IID IID_IEnumWIA_DEV_CAPS; | ||
| 704 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 705 | struct IEnumWIA_DEV_CAPS : public IUnknown { | ||
| 706 | public: | ||
| 707 | virtual HRESULT WINAPI Next(ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) = 0; | ||
| 708 | virtual HRESULT WINAPI Skip(ULONG celt) = 0; | ||
| 709 | virtual HRESULT WINAPI Reset(void) = 0; | ||
| 710 | virtual HRESULT WINAPI Clone(IEnumWIA_DEV_CAPS **ppIEnum) = 0; | ||
| 711 | virtual HRESULT WINAPI GetCount(ULONG *pcelt) = 0; | ||
| 712 | }; | ||
| 713 | #else | ||
| 714 | typedef struct IEnumWIA_DEV_CAPSVtbl { | ||
| 715 | BEGIN_INTERFACE | ||
| 716 | HRESULT (WINAPI *QueryInterface)(IEnumWIA_DEV_CAPS *This,REFIID riid,void **ppvObject); | ||
| 717 | ULONG (WINAPI *AddRef)(IEnumWIA_DEV_CAPS *This); | ||
| 718 | ULONG (WINAPI *Release)(IEnumWIA_DEV_CAPS *This); | ||
| 719 | HRESULT (WINAPI *Next)(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched); | ||
| 720 | HRESULT (WINAPI *Skip)(IEnumWIA_DEV_CAPS *This,ULONG celt); | ||
| 721 | HRESULT (WINAPI *Reset)(IEnumWIA_DEV_CAPS *This); | ||
| 722 | HRESULT (WINAPI *Clone)(IEnumWIA_DEV_CAPS *This,IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 723 | HRESULT (WINAPI *GetCount)(IEnumWIA_DEV_CAPS *This,ULONG *pcelt); | ||
| 724 | END_INTERFACE | ||
| 725 | } IEnumWIA_DEV_CAPSVtbl; | ||
| 726 | struct IEnumWIA_DEV_CAPS { | ||
| 727 | CONST_VTBL struct IEnumWIA_DEV_CAPSVtbl *lpVtbl; | ||
| 728 | }; | ||
| 729 | #ifdef COBJMACROS | ||
| 730 | #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 731 | #define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 732 | #define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This) | ||
| 733 | #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 734 | #define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 735 | #define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 736 | #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 737 | #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt) | ||
| 738 | #endif | ||
| 739 | #endif | ||
| 740 | HRESULT WINAPI IEnumWIA_DEV_CAPS_RemoteNext_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched); | ||
| 741 | void __RPC_STUB IEnumWIA_DEV_CAPS_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 742 | HRESULT WINAPI IEnumWIA_DEV_CAPS_Skip_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt); | ||
| 743 | void __RPC_STUB IEnumWIA_DEV_CAPS_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 744 | HRESULT WINAPI IEnumWIA_DEV_CAPS_Reset_Proxy(IEnumWIA_DEV_CAPS *This); | ||
| 745 | void __RPC_STUB IEnumWIA_DEV_CAPS_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 746 | HRESULT WINAPI IEnumWIA_DEV_CAPS_Clone_Proxy(IEnumWIA_DEV_CAPS *This,IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 747 | void __RPC_STUB IEnumWIA_DEV_CAPS_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 748 | HRESULT WINAPI IEnumWIA_DEV_CAPS_GetCount_Proxy(IEnumWIA_DEV_CAPS *This,ULONG *pcelt); | ||
| 749 | void __RPC_STUB IEnumWIA_DEV_CAPS_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 750 | #endif | ||
| 751 | |||
| 752 | #ifndef __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__ | ||
| 753 | #define __IEnumWIA_FORMAT_INFO_INTERFACE_DEFINED__ | ||
| 754 | EXTERN_C const IID IID_IEnumWIA_FORMAT_INFO; | ||
| 755 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 756 | struct IEnumWIA_FORMAT_INFO : public IUnknown { | ||
| 757 | public: | ||
| 758 | virtual HRESULT WINAPI Next(ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched) = 0; | ||
| 759 | virtual HRESULT WINAPI Skip(ULONG celt) = 0; | ||
| 760 | virtual HRESULT WINAPI Reset(void) = 0; | ||
| 761 | virtual HRESULT WINAPI Clone(IEnumWIA_FORMAT_INFO **ppIEnum) = 0; | ||
| 762 | virtual HRESULT WINAPI GetCount(ULONG *pcelt) = 0; | ||
| 763 | }; | ||
| 764 | #else | ||
| 765 | typedef struct IEnumWIA_FORMAT_INFOVtbl { | ||
| 766 | BEGIN_INTERFACE | ||
| 767 | HRESULT (WINAPI *QueryInterface)(IEnumWIA_FORMAT_INFO *This,REFIID riid,void **ppvObject); | ||
| 768 | ULONG (WINAPI *AddRef)(IEnumWIA_FORMAT_INFO *This); | ||
| 769 | ULONG (WINAPI *Release)(IEnumWIA_FORMAT_INFO *This); | ||
| 770 | HRESULT (WINAPI *Next)(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched); | ||
| 771 | HRESULT (WINAPI *Skip)(IEnumWIA_FORMAT_INFO *This,ULONG celt); | ||
| 772 | HRESULT (WINAPI *Reset)(IEnumWIA_FORMAT_INFO *This); | ||
| 773 | HRESULT (WINAPI *Clone)(IEnumWIA_FORMAT_INFO *This,IEnumWIA_FORMAT_INFO **ppIEnum); | ||
| 774 | HRESULT (WINAPI *GetCount)(IEnumWIA_FORMAT_INFO *This,ULONG *pcelt); | ||
| 775 | END_INTERFACE | ||
| 776 | } IEnumWIA_FORMAT_INFOVtbl; | ||
| 777 | struct IEnumWIA_FORMAT_INFO { | ||
| 778 | CONST_VTBL struct IEnumWIA_FORMAT_INFOVtbl *lpVtbl; | ||
| 779 | }; | ||
| 780 | #ifdef COBJMACROS | ||
| 781 | #define IEnumWIA_FORMAT_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 782 | #define IEnumWIA_FORMAT_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 783 | #define IEnumWIA_FORMAT_INFO_Release(This) (This)->lpVtbl->Release(This) | ||
| 784 | #define IEnumWIA_FORMAT_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 785 | #define IEnumWIA_FORMAT_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 786 | #define IEnumWIA_FORMAT_INFO_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 787 | #define IEnumWIA_FORMAT_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 788 | #define IEnumWIA_FORMAT_INFO_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt) | ||
| 789 | #endif | ||
| 790 | #endif | ||
| 791 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_RemoteNext_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched); | ||
| 792 | void __RPC_STUB IEnumWIA_FORMAT_INFO_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 793 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_Skip_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt); | ||
| 794 | void __RPC_STUB IEnumWIA_FORMAT_INFO_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 795 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_Reset_Proxy(IEnumWIA_FORMAT_INFO *This); | ||
| 796 | void __RPC_STUB IEnumWIA_FORMAT_INFO_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 797 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_Clone_Proxy(IEnumWIA_FORMAT_INFO *This,IEnumWIA_FORMAT_INFO **ppIEnum); | ||
| 798 | void __RPC_STUB IEnumWIA_FORMAT_INFO_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 799 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_GetCount_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG *pcelt); | ||
| 800 | void __RPC_STUB IEnumWIA_FORMAT_INFO_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 801 | #endif | ||
| 802 | |||
| 803 | #ifndef __IWiaLog_INTERFACE_DEFINED__ | ||
| 804 | #define __IWiaLog_INTERFACE_DEFINED__ | ||
| 805 | EXTERN_C const IID IID_IWiaLog; | ||
| 806 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 807 | struct IWiaLog : public IUnknown { | ||
| 808 | public: | ||
| 809 | virtual HRESULT WINAPI InitializeLog(LONG hInstance) = 0; | ||
| 810 | virtual HRESULT WINAPI hResult(HRESULT hResult) = 0; | ||
| 811 | virtual HRESULT WINAPI Log(LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0; | ||
| 812 | }; | ||
| 813 | #else | ||
| 814 | typedef struct IWiaLogVtbl { | ||
| 815 | BEGIN_INTERFACE | ||
| 816 | HRESULT (WINAPI *QueryInterface)(IWiaLog *This,REFIID riid,void **ppvObject); | ||
| 817 | ULONG (WINAPI *AddRef)(IWiaLog *This); | ||
| 818 | ULONG (WINAPI *Release)(IWiaLog *This); | ||
| 819 | HRESULT (WINAPI *InitializeLog)(IWiaLog *This,LONG hInstance); | ||
| 820 | HRESULT (WINAPI *hResult)(IWiaLog *This,HRESULT hResult); | ||
| 821 | HRESULT (WINAPI *Log)(IWiaLog *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 822 | END_INTERFACE | ||
| 823 | } IWiaLogVtbl; | ||
| 824 | struct IWiaLog { | ||
| 825 | CONST_VTBL struct IWiaLogVtbl *lpVtbl; | ||
| 826 | }; | ||
| 827 | #ifdef COBJMACROS | ||
| 828 | #define IWiaLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 829 | #define IWiaLog_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 830 | #define IWiaLog_Release(This) (This)->lpVtbl->Release(This) | ||
| 831 | #define IWiaLog_InitializeLog(This,hInstance) (This)->lpVtbl->InitializeLog(This,hInstance) | ||
| 832 | #define IWiaLog_hResult(This,hResult) (This)->lpVtbl->hResult(This,hResult) | ||
| 833 | #define IWiaLog_Log(This,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->Log(This,lFlags,lResID,lDetail,bstrText) | ||
| 834 | #endif | ||
| 835 | #endif | ||
| 836 | HRESULT WINAPI IWiaLog_InitializeLog_Proxy(IWiaLog *This,LONG hInstance); | ||
| 837 | void __RPC_STUB IWiaLog_InitializeLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 838 | HRESULT WINAPI IWiaLog_hResult_Proxy(IWiaLog *This,HRESULT hResult); | ||
| 839 | void __RPC_STUB IWiaLog_hResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 840 | HRESULT WINAPI IWiaLog_Log_Proxy(IWiaLog *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 841 | void __RPC_STUB IWiaLog_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 842 | #endif | ||
| 843 | |||
| 844 | #ifndef __IWiaLogEx_INTERFACE_DEFINED__ | ||
| 845 | #define __IWiaLogEx_INTERFACE_DEFINED__ | ||
| 846 | EXTERN_C const IID IID_IWiaLogEx; | ||
| 847 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 848 | struct IWiaLogEx : public IUnknown { | ||
| 849 | public: | ||
| 850 | virtual HRESULT WINAPI InitializeLogEx(BYTE *hInstance) = 0; | ||
| 851 | virtual HRESULT WINAPI hResult(HRESULT hResult) = 0; | ||
| 852 | virtual HRESULT WINAPI Log(LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0; | ||
| 853 | virtual HRESULT WINAPI hResultEx(LONG lMethodId,HRESULT hResult) = 0; | ||
| 854 | virtual HRESULT WINAPI LogEx(LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText) = 0; | ||
| 855 | }; | ||
| 856 | #else | ||
| 857 | typedef struct IWiaLogExVtbl { | ||
| 858 | BEGIN_INTERFACE | ||
| 859 | HRESULT (WINAPI *QueryInterface)(IWiaLogEx *This,REFIID riid,void **ppvObject); | ||
| 860 | ULONG (WINAPI *AddRef)(IWiaLogEx *This); | ||
| 861 | ULONG (WINAPI *Release)(IWiaLogEx *This); | ||
| 862 | HRESULT (WINAPI *InitializeLogEx)(IWiaLogEx *This,BYTE *hInstance); | ||
| 863 | HRESULT (WINAPI *hResult)(IWiaLogEx *This,HRESULT hResult); | ||
| 864 | HRESULT (WINAPI *Log)(IWiaLogEx *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 865 | HRESULT (WINAPI *hResultEx)(IWiaLogEx *This,LONG lMethodId,HRESULT hResult); | ||
| 866 | HRESULT (WINAPI *LogEx)(IWiaLogEx *This,LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 867 | END_INTERFACE | ||
| 868 | } IWiaLogExVtbl; | ||
| 869 | struct IWiaLogEx { | ||
| 870 | CONST_VTBL struct IWiaLogExVtbl *lpVtbl; | ||
| 871 | }; | ||
| 872 | #ifdef COBJMACROS | ||
| 873 | #define IWiaLogEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 874 | #define IWiaLogEx_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 875 | #define IWiaLogEx_Release(This) (This)->lpVtbl->Release(This) | ||
| 876 | #define IWiaLogEx_InitializeLogEx(This,hInstance) (This)->lpVtbl->InitializeLogEx(This,hInstance) | ||
| 877 | #define IWiaLogEx_hResult(This,hResult) (This)->lpVtbl->hResult(This,hResult) | ||
| 878 | #define IWiaLogEx_Log(This,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->Log(This,lFlags,lResID,lDetail,bstrText) | ||
| 879 | #define IWiaLogEx_hResultEx(This,lMethodId,hResult) (This)->lpVtbl->hResultEx(This,lMethodId,hResult) | ||
| 880 | #define IWiaLogEx_LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText) (This)->lpVtbl->LogEx(This,lMethodId,lFlags,lResID,lDetail,bstrText) | ||
| 881 | #endif | ||
| 882 | #endif | ||
| 883 | HRESULT WINAPI IWiaLogEx_InitializeLogEx_Proxy(IWiaLogEx *This,BYTE *hInstance); | ||
| 884 | void __RPC_STUB IWiaLogEx_InitializeLogEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 885 | HRESULT WINAPI IWiaLogEx_hResult_Proxy(IWiaLogEx *This,HRESULT hResult); | ||
| 886 | void __RPC_STUB IWiaLogEx_hResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 887 | HRESULT WINAPI IWiaLogEx_Log_Proxy(IWiaLogEx *This,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 888 | void __RPC_STUB IWiaLogEx_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 889 | HRESULT WINAPI IWiaLogEx_hResultEx_Proxy(IWiaLogEx *This,LONG lMethodId,HRESULT hResult); | ||
| 890 | void __RPC_STUB IWiaLogEx_hResultEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 891 | HRESULT WINAPI IWiaLogEx_LogEx_Proxy(IWiaLogEx *This,LONG lMethodId,LONG lFlags,LONG lResID,LONG lDetail,BSTR bstrText); | ||
| 892 | void __RPC_STUB IWiaLogEx_LogEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 893 | #endif | ||
| 894 | |||
| 895 | #ifndef __IWiaNotifyDevMgr_INTERFACE_DEFINED__ | ||
| 896 | #define __IWiaNotifyDevMgr_INTERFACE_DEFINED__ | ||
| 897 | EXTERN_C const IID IID_IWiaNotifyDevMgr; | ||
| 898 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 899 | struct IWiaNotifyDevMgr : public IUnknown { | ||
| 900 | public: | ||
| 901 | virtual HRESULT WINAPI NewDeviceArrival(void) = 0; | ||
| 902 | }; | ||
| 903 | #else | ||
| 904 | typedef struct IWiaNotifyDevMgrVtbl { | ||
| 905 | BEGIN_INTERFACE | ||
| 906 | HRESULT (WINAPI *QueryInterface)(IWiaNotifyDevMgr *This,REFIID riid,void **ppvObject); | ||
| 907 | ULONG (WINAPI *AddRef)(IWiaNotifyDevMgr *This); | ||
| 908 | ULONG (WINAPI *Release)(IWiaNotifyDevMgr *This); | ||
| 909 | HRESULT (WINAPI *NewDeviceArrival)(IWiaNotifyDevMgr *This); | ||
| 910 | END_INTERFACE | ||
| 911 | } IWiaNotifyDevMgrVtbl; | ||
| 912 | struct IWiaNotifyDevMgr { | ||
| 913 | CONST_VTBL struct IWiaNotifyDevMgrVtbl *lpVtbl; | ||
| 914 | }; | ||
| 915 | #ifdef COBJMACROS | ||
| 916 | #define IWiaNotifyDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 917 | #define IWiaNotifyDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 918 | #define IWiaNotifyDevMgr_Release(This) (This)->lpVtbl->Release(This) | ||
| 919 | #define IWiaNotifyDevMgr_NewDeviceArrival(This) (This)->lpVtbl->NewDeviceArrival(This) | ||
| 920 | #endif | ||
| 921 | #endif | ||
| 922 | HRESULT WINAPI IWiaNotifyDevMgr_NewDeviceArrival_Proxy(IWiaNotifyDevMgr *This); | ||
| 923 | void __RPC_STUB IWiaNotifyDevMgr_NewDeviceArrival_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 924 | #endif | ||
| 925 | |||
| 926 | #ifndef __IWiaItemExtras_INTERFACE_DEFINED__ | ||
| 927 | #define __IWiaItemExtras_INTERFACE_DEFINED__ | ||
| 928 | EXTERN_C const IID IID_IWiaItemExtras; | ||
| 929 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 930 | struct IWiaItemExtras : public IUnknown { | ||
| 931 | public: | ||
| 932 | virtual HRESULT WINAPI GetExtendedErrorInfo(BSTR *bstrErrorText) = 0; | ||
| 933 | virtual HRESULT WINAPI Escape(DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize) = 0; | ||
| 934 | virtual HRESULT WINAPI CancelPendingIO(void) = 0; | ||
| 935 | }; | ||
| 936 | #else | ||
| 937 | typedef struct IWiaItemExtrasVtbl { | ||
| 938 | BEGIN_INTERFACE | ||
| 939 | HRESULT (WINAPI *QueryInterface)(IWiaItemExtras *This,REFIID riid,void **ppvObject); | ||
| 940 | ULONG (WINAPI *AddRef)(IWiaItemExtras *This); | ||
| 941 | ULONG (WINAPI *Release)(IWiaItemExtras *This); | ||
| 942 | HRESULT (WINAPI *GetExtendedErrorInfo)(IWiaItemExtras *This,BSTR *bstrErrorText); | ||
| 943 | HRESULT (WINAPI *Escape)(IWiaItemExtras *This,DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize); | ||
| 944 | HRESULT (WINAPI *CancelPendingIO)(IWiaItemExtras *This); | ||
| 945 | END_INTERFACE | ||
| 946 | } IWiaItemExtrasVtbl; | ||
| 947 | struct IWiaItemExtras { | ||
| 948 | CONST_VTBL struct IWiaItemExtrasVtbl *lpVtbl; | ||
| 949 | }; | ||
| 950 | #ifdef COBJMACROS | ||
| 951 | #define IWiaItemExtras_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 952 | #define IWiaItemExtras_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 953 | #define IWiaItemExtras_Release(This) (This)->lpVtbl->Release(This) | ||
| 954 | #define IWiaItemExtras_GetExtendedErrorInfo(This,bstrErrorText) (This)->lpVtbl->GetExtendedErrorInfo(This,bstrErrorText) | ||
| 955 | #define IWiaItemExtras_Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize) (This)->lpVtbl->Escape(This,dwEscapeCode,lpInData,cbInDataSize,pOutData,dwOutDataSize,pdwActualDataSize) | ||
| 956 | #define IWiaItemExtras_CancelPendingIO(This) (This)->lpVtbl->CancelPendingIO(This) | ||
| 957 | #endif | ||
| 958 | #endif | ||
| 959 | HRESULT WINAPI IWiaItemExtras_GetExtendedErrorInfo_Proxy(IWiaItemExtras *This,BSTR *bstrErrorText); | ||
| 960 | void __RPC_STUB IWiaItemExtras_GetExtendedErrorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 961 | HRESULT WINAPI IWiaItemExtras_Escape_Proxy(IWiaItemExtras *This,DWORD dwEscapeCode,BYTE *lpInData,DWORD cbInDataSize,BYTE *pOutData,DWORD dwOutDataSize,DWORD *pdwActualDataSize); | ||
| 962 | void __RPC_STUB IWiaItemExtras_Escape_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 963 | HRESULT WINAPI IWiaItemExtras_CancelPendingIO_Proxy(IWiaItemExtras *This); | ||
| 964 | void __RPC_STUB IWiaItemExtras_CancelPendingIO_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | ||
| 965 | #endif | ||
| 966 | |||
| 967 | #ifndef __WiaDevMgr_LIBRARY_DEFINED__ | ||
| 968 | #define __WiaDevMgr_LIBRARY_DEFINED__ | ||
| 969 | EXTERN_C const IID LIBID_WiaDevMgr; | ||
| 970 | EXTERN_C const CLSID CLSID_WiaDevMgr; | ||
| 971 | #ifdef __cplusplus | ||
| 972 | class WiaDevMgr; | ||
| 973 | #endif | ||
| 974 | EXTERN_C const CLSID CLSID_WiaLog; | ||
| 975 | #ifdef __cplusplus | ||
| 976 | class WiaLog; | ||
| 977 | #endif | ||
| 978 | #endif | ||
| 979 | |||
| 980 | ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); | ||
| 981 | unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); | ||
| 982 | unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); | ||
| 983 | void __RPC_API BSTR_UserFree(ULONG *,BSTR *); | ||
| 984 | ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *); | ||
| 985 | unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *); | ||
| 986 | unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *); | ||
| 987 | void __RPC_API HWND_UserFree(ULONG *,HWND *); | ||
| 988 | ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *); | ||
| 989 | unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *); | ||
| 990 | unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *); | ||
| 991 | void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *); | ||
| 992 | ULONG __RPC_API STGMEDIUM_UserSize(ULONG *,ULONG,STGMEDIUM *); | ||
| 993 | unsigned char *__RPC_API STGMEDIUM_UserMarshal(ULONG *,unsigned char *,STGMEDIUM *); | ||
| 994 | unsigned char *__RPC_API STGMEDIUM_UserUnmarshal(ULONG *,unsigned char *,STGMEDIUM *); | ||
| 995 | void __RPC_API STGMEDIUM_UserFree(ULONG *,STGMEDIUM *); | ||
| 996 | |||
| 997 | HRESULT WINAPI IWiaDevMgr_CreateDevice_Proxy(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot); | ||
| 998 | HRESULT WINAPI IWiaDevMgr_CreateDevice_Stub(IWiaDevMgr *This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot); | ||
| 999 | HRESULT WINAPI IWiaDevMgr_SelectDeviceDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot); | ||
| 1000 | HRESULT WINAPI IWiaDevMgr_SelectDeviceDlg_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot); | ||
| 1001 | HRESULT WINAPI IWiaDevMgr_SelectDeviceDlgID_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID); | ||
| 1002 | HRESULT WINAPI IWiaDevMgr_SelectDeviceDlgID_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID); | ||
| 1003 | HRESULT WINAPI IWiaDevMgr_GetImageDlg_Proxy(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat); | ||
| 1004 | HRESULT WINAPI IWiaDevMgr_GetImageDlg_Stub(IWiaDevMgr *This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat); | ||
| 1005 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackProgram_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 1006 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackProgram_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 1007 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackInterface_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject); | ||
| 1008 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackInterface_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject); | ||
| 1009 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackCLSID_Proxy(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 1010 | HRESULT WINAPI IWiaDevMgr_RegisterEventCallbackCLSID_Stub(IWiaDevMgr *This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon); | ||
| 1011 | HRESULT WINAPI IEnumWIA_DEV_INFO_Next_Proxy(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched); | ||
| 1012 | HRESULT WINAPI IEnumWIA_DEV_INFO_Next_Stub(IEnumWIA_DEV_INFO *This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched); | ||
| 1013 | HRESULT WINAPI IWiaDataCallback_BandedDataCallback_Proxy(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer); | ||
| 1014 | HRESULT WINAPI IWiaDataCallback_BandedDataCallback_Stub(IWiaDataCallback *This,LONG lMessage,LONG lStatus,LONG lPercentComplete,LONG lOffset,LONG lLength,LONG lReserved,LONG lResLength,BYTE *pbBuffer); | ||
| 1015 | HRESULT WINAPI IWiaDataTransfer_idtGetData_Proxy(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback); | ||
| 1016 | HRESULT WINAPI IWiaDataTransfer_idtGetData_Stub(IWiaDataTransfer *This,LPSTGMEDIUM pMedium,IWiaDataCallback *pIWiaDataCallback); | ||
| 1017 | HRESULT WINAPI IWiaDataTransfer_idtGetBandedData_Proxy(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback); | ||
| 1018 | HRESULT WINAPI IWiaDataTransfer_idtGetBandedData_Stub(IWiaDataTransfer *This,PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,IWiaDataCallback *pIWiaDataCallback); | ||
| 1019 | HRESULT WINAPI IWiaItem_DeviceDlg_Proxy(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***ppIWiaItem); | ||
| 1020 | HRESULT WINAPI IWiaItem_DeviceDlg_Stub(IWiaItem *This,HWND hwndParent,LONG lFlags,LONG lIntent,LONG *plItemCount,IWiaItem ***pIWiaItem); | ||
| 1021 | HRESULT WINAPI IWiaPropertyStorage_WriteMultiple_Proxy(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst); | ||
| 1022 | HRESULT WINAPI IWiaPropertyStorage_WriteMultiple_Stub(IWiaPropertyStorage *This,ULONG cpspec,const PROPSPEC *rgpspec,const PROPVARIANT *rgpropvar,PROPID propidNameFirst); | ||
| 1023 | HRESULT WINAPI IWiaPropertyStorage_SetPropertyStream_Proxy(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream); | ||
| 1024 | HRESULT WINAPI IWiaPropertyStorage_SetPropertyStream_Stub(IWiaPropertyStorage *This,GUID *pCompatibilityId,IStream *pIStream); | ||
| 1025 | HRESULT WINAPI IEnumWiaItem_Next_Proxy(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched); | ||
| 1026 | HRESULT WINAPI IEnumWiaItem_Next_Stub(IEnumWiaItem *This,ULONG celt,IWiaItem **ppIWiaItem,ULONG *pceltFetched); | ||
| 1027 | HRESULT WINAPI IEnumWIA_DEV_CAPS_Next_Proxy(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched); | ||
| 1028 | HRESULT WINAPI IEnumWIA_DEV_CAPS_Next_Stub(IEnumWIA_DEV_CAPS *This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched); | ||
| 1029 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_Next_Proxy(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched); | ||
| 1030 | HRESULT WINAPI IEnumWIA_FORMAT_INFO_Next_Stub(IEnumWIA_FORMAT_INFO *This,ULONG celt,WIA_FORMAT_INFO *rgelt,ULONG *pceltFetched); | ||
| 1031 | |||
| 1032 | #ifdef __cplusplus | ||
| 1033 | } | ||
| 1034 | #endif | ||
| 1035 | #endif | 28 | #endif |
lib/libc/include/any-windows-any/wia_lh.h created+1821| ... | @@ -0,0 +1,1821 @@ | ||
| 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wia_lh.idl - Do not edit ***/ | ||
| 2 | |||
| 3 | #ifdef _WIN32 | ||
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 5 | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | ||
| 6 | #endif | ||
| 7 | #include <rpc.h> | ||
| 8 | #include <rpcndr.h> | ||
| 9 | #endif | ||
| 10 | |||
| 11 | #ifndef COM_NO_WINDOWS_H | ||
| 12 | #include <windows.h> | ||
| 13 | #include <ole2.h> | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #ifndef __wia_lh_h__ | ||
| 17 | #define __wia_lh_h__ | ||
| 18 | |||
| 19 | /* Forward declarations */ | ||
| 20 | |||
| 21 | #ifndef __IWiaDevMgr_FWD_DEFINED__ | ||
| 22 | #define __IWiaDevMgr_FWD_DEFINED__ | ||
| 23 | typedef interface IWiaDevMgr IWiaDevMgr; | ||
| 24 | #ifdef __cplusplus | ||
| 25 | interface IWiaDevMgr; | ||
| 26 | #endif /* __cplusplus */ | ||
| 27 | #endif | ||
| 28 | |||
| 29 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 30 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 31 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | ||
| 32 | #ifdef __cplusplus | ||
| 33 | interface IEnumWIA_DEV_INFO; | ||
| 34 | #endif /* __cplusplus */ | ||
| 35 | #endif | ||
| 36 | |||
| 37 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 38 | #define __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 39 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | ||
| 40 | #ifdef __cplusplus | ||
| 41 | interface IWiaPropertyStorage; | ||
| 42 | #endif /* __cplusplus */ | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef __IWiaItem_FWD_DEFINED__ | ||
| 46 | #define __IWiaItem_FWD_DEFINED__ | ||
| 47 | typedef interface IWiaItem IWiaItem; | ||
| 48 | #ifdef __cplusplus | ||
| 49 | interface IWiaItem; | ||
| 50 | #endif /* __cplusplus */ | ||
| 51 | #endif | ||
| 52 | |||
| 53 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | ||
| 54 | #define __IWiaEventCallback_FWD_DEFINED__ | ||
| 55 | typedef interface IWiaEventCallback IWiaEventCallback; | ||
| 56 | #ifdef __cplusplus | ||
| 57 | interface IWiaEventCallback; | ||
| 58 | #endif /* __cplusplus */ | ||
| 59 | #endif | ||
| 60 | |||
| 61 | #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 62 | #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 63 | typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; | ||
| 64 | #ifdef __cplusplus | ||
| 65 | interface IEnumWIA_DEV_CAPS; | ||
| 66 | #endif /* __cplusplus */ | ||
| 67 | #endif | ||
| 68 | |||
| 69 | #ifndef __IWiaTransferCallback_FWD_DEFINED__ | ||
| 70 | #define __IWiaTransferCallback_FWD_DEFINED__ | ||
| 71 | typedef interface IWiaTransferCallback IWiaTransferCallback; | ||
| 72 | #ifdef __cplusplus | ||
| 73 | interface IWiaTransferCallback; | ||
| 74 | #endif /* __cplusplus */ | ||
| 75 | #endif | ||
| 76 | |||
| 77 | #ifndef __IWiaPreview_FWD_DEFINED__ | ||
| 78 | #define __IWiaPreview_FWD_DEFINED__ | ||
| 79 | typedef interface IWiaPreview IWiaPreview; | ||
| 80 | #ifdef __cplusplus | ||
| 81 | interface IWiaPreview; | ||
| 82 | #endif /* __cplusplus */ | ||
| 83 | #endif | ||
| 84 | |||
| 85 | #ifndef __IEnumWiaItem2_FWD_DEFINED__ | ||
| 86 | #define __IEnumWiaItem2_FWD_DEFINED__ | ||
| 87 | typedef interface IEnumWiaItem2 IEnumWiaItem2; | ||
| 88 | #ifdef __cplusplus | ||
| 89 | interface IEnumWiaItem2; | ||
| 90 | #endif /* __cplusplus */ | ||
| 91 | #endif | ||
| 92 | |||
| 93 | #ifndef __IWiaItem2_FWD_DEFINED__ | ||
| 94 | #define __IWiaItem2_FWD_DEFINED__ | ||
| 95 | typedef interface IWiaItem2 IWiaItem2; | ||
| 96 | #ifdef __cplusplus | ||
| 97 | interface IWiaItem2; | ||
| 98 | #endif /* __cplusplus */ | ||
| 99 | #endif | ||
| 100 | |||
| 101 | #ifndef __IWiaDevMgr2_FWD_DEFINED__ | ||
| 102 | #define __IWiaDevMgr2_FWD_DEFINED__ | ||
| 103 | typedef interface IWiaDevMgr2 IWiaDevMgr2; | ||
| 104 | #ifdef __cplusplus | ||
| 105 | interface IWiaDevMgr2; | ||
| 106 | #endif /* __cplusplus */ | ||
| 107 | #endif | ||
| 108 | |||
| 109 | #ifndef __WiaDevMgr2_FWD_DEFINED__ | ||
| 110 | #define __WiaDevMgr2_FWD_DEFINED__ | ||
| 111 | #ifdef __cplusplus | ||
| 112 | typedef class WiaDevMgr2 WiaDevMgr2; | ||
| 113 | #else | ||
| 114 | typedef struct WiaDevMgr2 WiaDevMgr2; | ||
| 115 | #endif /* defined __cplusplus */ | ||
| 116 | #endif /* defined __WiaDevMgr2_FWD_DEFINED__ */ | ||
| 117 | |||
| 118 | /* Headers for imported files */ | ||
| 119 | |||
| 120 | #include <unknwn.h> | ||
| 121 | #include <oaidl.h> | ||
| 122 | #include <propidl.h> | ||
| 123 | |||
| 124 | #ifdef __cplusplus | ||
| 125 | extern "C" { | ||
| 126 | #endif | ||
| 127 | |||
| 128 | typedef struct _WIA_DITHER_PATTERN_DATA { | ||
| 129 | LONG lSize; | ||
| 130 | BSTR bstrPatternName; | ||
| 131 | LONG lPatternWidth; | ||
| 132 | LONG lPatternLength; | ||
| 133 | LONG cbPattern; | ||
| 134 | BYTE *pbPattern; | ||
| 135 | } WIA_DITHER_PATTERN_DATA; | ||
| 136 | typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA; | ||
| 137 | typedef struct _WIA_PROPID_TO_NAME { | ||
| 138 | PROPID propid; | ||
| 139 | LPOLESTR pszName; | ||
| 140 | } WIA_PROPID_TO_NAME; | ||
| 141 | typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME; | ||
| 142 | typedef struct _WIA_FORMAT_INFO { | ||
| 143 | GUID guidFormatID; | ||
| 144 | LONG lTymed; | ||
| 145 | } WIA_FORMAT_INFO; | ||
| 146 | typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO; | ||
| 147 | #include <wiadef.h> | ||
| 148 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 149 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 150 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | ||
| 151 | #ifdef __cplusplus | ||
| 152 | interface IEnumWIA_DEV_INFO; | ||
| 153 | #endif /* __cplusplus */ | ||
| 154 | #endif | ||
| 155 | |||
| 156 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 157 | #define __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 158 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | ||
| 159 | #ifdef __cplusplus | ||
| 160 | interface IWiaPropertyStorage; | ||
| 161 | #endif /* __cplusplus */ | ||
| 162 | #endif | ||
| 163 | |||
| 164 | #ifndef __IWiaItem_FWD_DEFINED__ | ||
| 165 | #define __IWiaItem_FWD_DEFINED__ | ||
| 166 | typedef interface IWiaItem IWiaItem; | ||
| 167 | #ifdef __cplusplus | ||
| 168 | interface IWiaItem; | ||
| 169 | #endif /* __cplusplus */ | ||
| 170 | #endif | ||
| 171 | |||
| 172 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | ||
| 173 | #define __IWiaEventCallback_FWD_DEFINED__ | ||
| 174 | typedef interface IWiaEventCallback IWiaEventCallback; | ||
| 175 | #ifdef __cplusplus | ||
| 176 | interface IWiaEventCallback; | ||
| 177 | #endif /* __cplusplus */ | ||
| 178 | #endif | ||
| 179 | |||
| 180 | #ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 181 | #define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ | ||
| 182 | typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; | ||
| 183 | #ifdef __cplusplus | ||
| 184 | interface IEnumWIA_DEV_CAPS; | ||
| 185 | #endif /* __cplusplus */ | ||
| 186 | #endif | ||
| 187 | |||
| 188 | #ifndef __IWiaTransferCallback_FWD_DEFINED__ | ||
| 189 | #define __IWiaTransferCallback_FWD_DEFINED__ | ||
| 190 | typedef interface IWiaTransferCallback IWiaTransferCallback; | ||
| 191 | #ifdef __cplusplus | ||
| 192 | interface IWiaTransferCallback; | ||
| 193 | #endif /* __cplusplus */ | ||
| 194 | #endif | ||
| 195 | |||
| 196 | #ifndef __IWiaPreview_FWD_DEFINED__ | ||
| 197 | #define __IWiaPreview_FWD_DEFINED__ | ||
| 198 | typedef interface IWiaPreview IWiaPreview; | ||
| 199 | #ifdef __cplusplus | ||
| 200 | interface IWiaPreview; | ||
| 201 | #endif /* __cplusplus */ | ||
| 202 | #endif | ||
| 203 | |||
| 204 | #ifndef __IEnumWiaItem2_FWD_DEFINED__ | ||
| 205 | #define __IEnumWiaItem2_FWD_DEFINED__ | ||
| 206 | typedef interface IEnumWiaItem2 IEnumWiaItem2; | ||
| 207 | #ifdef __cplusplus | ||
| 208 | interface IEnumWiaItem2; | ||
| 209 | #endif /* __cplusplus */ | ||
| 210 | #endif | ||
| 211 | |||
| 212 | #ifndef __IWiaItem2_FWD_DEFINED__ | ||
| 213 | #define __IWiaItem2_FWD_DEFINED__ | ||
| 214 | typedef interface IWiaItem2 IWiaItem2; | ||
| 215 | #ifdef __cplusplus | ||
| 216 | interface IWiaItem2; | ||
| 217 | #endif /* __cplusplus */ | ||
| 218 | #endif | ||
| 219 | |||
| 220 | #ifndef __IWiaDevMgr2_FWD_DEFINED__ | ||
| 221 | #define __IWiaDevMgr2_FWD_DEFINED__ | ||
| 222 | typedef interface IWiaDevMgr2 IWiaDevMgr2; | ||
| 223 | #ifdef __cplusplus | ||
| 224 | interface IWiaDevMgr2; | ||
| 225 | #endif /* __cplusplus */ | ||
| 226 | #endif | ||
| 227 | |||
| 228 | DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 229 | /***************************************************************************** | ||
| 230 | * IWiaDevMgr interface | ||
| 231 | */ | ||
| 232 | #ifndef __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 233 | #define __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 234 | |||
| 235 | DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 236 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 237 | MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811") | ||
| 238 | IWiaDevMgr : public IUnknown | ||
| 239 | { | ||
| 240 | virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( | ||
| 241 | LONG lFlag, | ||
| 242 | IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 243 | |||
| 244 | virtual HRESULT STDMETHODCALLTYPE CreateDevice( | ||
| 245 | BSTR bstrDeviceID, | ||
| 246 | IWiaItem **ppWiaItemRoot) = 0; | ||
| 247 | |||
| 248 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( | ||
| 249 | HWND hwndParent, | ||
| 250 | LONG lDeviceType, | ||
| 251 | LONG lFlags, | ||
| 252 | BSTR *pbstrDeviceID, | ||
| 253 | IWiaItem **ppItemRoot) = 0; | ||
| 254 | |||
| 255 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( | ||
| 256 | HWND hwndParent, | ||
| 257 | LONG lDeviceType, | ||
| 258 | LONG lFlags, | ||
| 259 | BSTR *pbstrDeviceID) = 0; | ||
| 260 | |||
| 261 | virtual HRESULT STDMETHODCALLTYPE GetImageDlg( | ||
| 262 | HWND hwndParent, | ||
| 263 | LONG lDeviceType, | ||
| 264 | LONG lFlags, | ||
| 265 | LONG lIntent, | ||
| 266 | IWiaItem *pItemRoot, | ||
| 267 | BSTR bstrFilename, | ||
| 268 | GUID *pguidFormat) = 0; | ||
| 269 | |||
| 270 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( | ||
| 271 | LONG lFlags, | ||
| 272 | BSTR bstrDeviceID, | ||
| 273 | const GUID *pEventGUID, | ||
| 274 | BSTR bstrCommandline, | ||
| 275 | BSTR bstrName, | ||
| 276 | BSTR bstrDescription, | ||
| 277 | BSTR bstrIcon) = 0; | ||
| 278 | |||
| 279 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( | ||
| 280 | LONG lFlags, | ||
| 281 | BSTR bstrDeviceID, | ||
| 282 | const GUID *pEventGUID, | ||
| 283 | IWiaEventCallback *pIWiaEventCallback, | ||
| 284 | IUnknown **pEventObject) = 0; | ||
| 285 | |||
| 286 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( | ||
| 287 | LONG lFlags, | ||
| 288 | BSTR bstrDeviceID, | ||
| 289 | const GUID *pEventGUID, | ||
| 290 | const GUID *pClsID, | ||
| 291 | BSTR bstrName, | ||
| 292 | BSTR bstrDescription, | ||
| 293 | BSTR bstrIcon) = 0; | ||
| 294 | |||
| 295 | virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg( | ||
| 296 | HWND hwndParent, | ||
| 297 | LONG lFlags) = 0; | ||
| 298 | |||
| 299 | }; | ||
| 300 | #ifdef __CRT_UUID_DECL | ||
| 301 | __CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | ||
| 302 | #endif | ||
| 303 | #else | ||
| 304 | typedef struct IWiaDevMgrVtbl { | ||
| 305 | BEGIN_INTERFACE | ||
| 306 | |||
| 307 | /*** IUnknown methods ***/ | ||
| 308 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 309 | IWiaDevMgr *This, | ||
| 310 | REFIID riid, | ||
| 311 | void **ppvObject); | ||
| 312 | |||
| 313 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 314 | IWiaDevMgr *This); | ||
| 315 | |||
| 316 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 317 | IWiaDevMgr *This); | ||
| 318 | |||
| 319 | /*** IWiaDevMgr methods ***/ | ||
| 320 | HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( | ||
| 321 | IWiaDevMgr *This, | ||
| 322 | LONG lFlag, | ||
| 323 | IEnumWIA_DEV_INFO **ppIEnum); | ||
| 324 | |||
| 325 | HRESULT (STDMETHODCALLTYPE *CreateDevice)( | ||
| 326 | IWiaDevMgr *This, | ||
| 327 | BSTR bstrDeviceID, | ||
| 328 | IWiaItem **ppWiaItemRoot); | ||
| 329 | |||
| 330 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( | ||
| 331 | IWiaDevMgr *This, | ||
| 332 | HWND hwndParent, | ||
| 333 | LONG lDeviceType, | ||
| 334 | LONG lFlags, | ||
| 335 | BSTR *pbstrDeviceID, | ||
| 336 | IWiaItem **ppItemRoot); | ||
| 337 | |||
| 338 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( | ||
| 339 | IWiaDevMgr *This, | ||
| 340 | HWND hwndParent, | ||
| 341 | LONG lDeviceType, | ||
| 342 | LONG lFlags, | ||
| 343 | BSTR *pbstrDeviceID); | ||
| 344 | |||
| 345 | HRESULT (STDMETHODCALLTYPE *GetImageDlg)( | ||
| 346 | IWiaDevMgr *This, | ||
| 347 | HWND hwndParent, | ||
| 348 | LONG lDeviceType, | ||
| 349 | LONG lFlags, | ||
| 350 | LONG lIntent, | ||
| 351 | IWiaItem *pItemRoot, | ||
| 352 | BSTR bstrFilename, | ||
| 353 | GUID *pguidFormat); | ||
| 354 | |||
| 355 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( | ||
| 356 | IWiaDevMgr *This, | ||
| 357 | LONG lFlags, | ||
| 358 | BSTR bstrDeviceID, | ||
| 359 | const GUID *pEventGUID, | ||
| 360 | BSTR bstrCommandline, | ||
| 361 | BSTR bstrName, | ||
| 362 | BSTR bstrDescription, | ||
| 363 | BSTR bstrIcon); | ||
| 364 | |||
| 365 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( | ||
| 366 | IWiaDevMgr *This, | ||
| 367 | LONG lFlags, | ||
| 368 | BSTR bstrDeviceID, | ||
| 369 | const GUID *pEventGUID, | ||
| 370 | IWiaEventCallback *pIWiaEventCallback, | ||
| 371 | IUnknown **pEventObject); | ||
| 372 | |||
| 373 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( | ||
| 374 | IWiaDevMgr *This, | ||
| 375 | LONG lFlags, | ||
| 376 | BSTR bstrDeviceID, | ||
| 377 | const GUID *pEventGUID, | ||
| 378 | const GUID *pClsID, | ||
| 379 | BSTR bstrName, | ||
| 380 | BSTR bstrDescription, | ||
| 381 | BSTR bstrIcon); | ||
| 382 | |||
| 383 | HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)( | ||
| 384 | IWiaDevMgr *This, | ||
| 385 | HWND hwndParent, | ||
| 386 | LONG lFlags); | ||
| 387 | |||
| 388 | END_INTERFACE | ||
| 389 | } IWiaDevMgrVtbl; | ||
| 390 | |||
| 391 | interface IWiaDevMgr { | ||
| 392 | CONST_VTBL IWiaDevMgrVtbl* lpVtbl; | ||
| 393 | }; | ||
| 394 | |||
| 395 | #ifdef COBJMACROS | ||
| 396 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 397 | /*** IUnknown methods ***/ | ||
| 398 | #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 399 | #define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 400 | #define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) | ||
| 401 | /*** IWiaDevMgr methods ***/ | ||
| 402 | #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) | ||
| 403 | #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) | ||
| 404 | #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | ||
| 405 | #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | ||
| 406 | #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) | ||
| 407 | #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) | ||
| 408 | #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | ||
| 409 | #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | ||
| 410 | #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) | ||
| 411 | #else | ||
| 412 | /*** IUnknown methods ***/ | ||
| 413 | static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) { | ||
| 414 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 415 | } | ||
| 416 | static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) { | ||
| 417 | return This->lpVtbl->AddRef(This); | ||
| 418 | } | ||
| 419 | static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) { | ||
| 420 | return This->lpVtbl->Release(This); | ||
| 421 | } | ||
| 422 | /*** IWiaDevMgr methods ***/ | ||
| 423 | static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) { | ||
| 424 | return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum); | ||
| 425 | } | ||
| 426 | static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) { | ||
| 427 | return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot); | ||
| 428 | } | ||
| 429 | static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) { | ||
| 430 | return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); | ||
| 431 | } | ||
| 432 | static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { | ||
| 433 | return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); | ||
| 434 | } | ||
| 435 | static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) { | ||
| 436 | return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat); | ||
| 437 | } | ||
| 438 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 439 | return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon); | ||
| 440 | } | ||
| 441 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { | ||
| 442 | return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); | ||
| 443 | } | ||
| 444 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 445 | return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); | ||
| 446 | } | ||
| 447 | static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) { | ||
| 448 | return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags); | ||
| 449 | } | ||
| 450 | #endif | ||
| 451 | #endif | ||
| 452 | |||
| 453 | #endif | ||
| 454 | |||
| 455 | |||
| 456 | #endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */ | ||
| 457 | |||
| 458 | /***************************************************************************** | ||
| 459 | * IEnumWIA_DEV_INFO interface | ||
| 460 | */ | ||
| 461 | #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 462 | #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 463 | |||
| 464 | DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 465 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 466 | MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811") | ||
| 467 | IEnumWIA_DEV_INFO : public IUnknown | ||
| 468 | { | ||
| 469 | virtual HRESULT STDMETHODCALLTYPE Next( | ||
| 470 | ULONG celt, | ||
| 471 | IWiaPropertyStorage **rgelt, | ||
| 472 | ULONG *pceltFetched) = 0; | ||
| 473 | |||
| 474 | virtual HRESULT STDMETHODCALLTYPE Skip( | ||
| 475 | ULONG celt) = 0; | ||
| 476 | |||
| 477 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 478 | ) = 0; | ||
| 479 | |||
| 480 | virtual HRESULT STDMETHODCALLTYPE Clone( | ||
| 481 | IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 482 | |||
| 483 | virtual HRESULT STDMETHODCALLTYPE GetCount( | ||
| 484 | ULONG *celt) = 0; | ||
| 485 | |||
| 486 | }; | ||
| 487 | #ifdef __CRT_UUID_DECL | ||
| 488 | __CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | ||
| 489 | #endif | ||
| 490 | #else | ||
| 491 | typedef struct IEnumWIA_DEV_INFOVtbl { | ||
| 492 | BEGIN_INTERFACE | ||
| 493 | |||
| 494 | /*** IUnknown methods ***/ | ||
| 495 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 496 | IEnumWIA_DEV_INFO *This, | ||
| 497 | REFIID riid, | ||
| 498 | void **ppvObject); | ||
| 499 | |||
| 500 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 501 | IEnumWIA_DEV_INFO *This); | ||
| 502 | |||
| 503 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 504 | IEnumWIA_DEV_INFO *This); | ||
| 505 | |||
| 506 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 507 | HRESULT (STDMETHODCALLTYPE *Next)( | ||
| 508 | IEnumWIA_DEV_INFO *This, | ||
| 509 | ULONG celt, | ||
| 510 | IWiaPropertyStorage **rgelt, | ||
| 511 | ULONG *pceltFetched); | ||
| 512 | |||
| 513 | HRESULT (STDMETHODCALLTYPE *Skip)( | ||
| 514 | IEnumWIA_DEV_INFO *This, | ||
| 515 | ULONG celt); | ||
| 516 | |||
| 517 | HRESULT (STDMETHODCALLTYPE *Reset)( | ||
| 518 | IEnumWIA_DEV_INFO *This); | ||
| 519 | |||
| 520 | HRESULT (STDMETHODCALLTYPE *Clone)( | ||
| 521 | IEnumWIA_DEV_INFO *This, | ||
| 522 | IEnumWIA_DEV_INFO **ppIEnum); | ||
| 523 | |||
| 524 | HRESULT (STDMETHODCALLTYPE *GetCount)( | ||
| 525 | IEnumWIA_DEV_INFO *This, | ||
| 526 | ULONG *celt); | ||
| 527 | |||
| 528 | END_INTERFACE | ||
| 529 | } IEnumWIA_DEV_INFOVtbl; | ||
| 530 | |||
| 531 | interface IEnumWIA_DEV_INFO { | ||
| 532 | CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl; | ||
| 533 | }; | ||
| 534 | |||
| 535 | #ifdef COBJMACROS | ||
| 536 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 537 | /*** IUnknown methods ***/ | ||
| 538 | #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 539 | #define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 540 | #define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) | ||
| 541 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 542 | #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 543 | #define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 544 | #define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 545 | #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 546 | #define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) | ||
| 547 | #else | ||
| 548 | /*** IUnknown methods ***/ | ||
| 549 | static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) { | ||
| 550 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 551 | } | ||
| 552 | static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) { | ||
| 553 | return This->lpVtbl->AddRef(This); | ||
| 554 | } | ||
| 555 | static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) { | ||
| 556 | return This->lpVtbl->Release(This); | ||
| 557 | } | ||
| 558 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 559 | static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) { | ||
| 560 | return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); | ||
| 561 | } | ||
| 562 | static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) { | ||
| 563 | return This->lpVtbl->Skip(This,celt); | ||
| 564 | } | ||
| 565 | static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) { | ||
| 566 | return This->lpVtbl->Reset(This); | ||
| 567 | } | ||
| 568 | static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) { | ||
| 569 | return This->lpVtbl->Clone(This,ppIEnum); | ||
| 570 | } | ||
| 571 | static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) { | ||
| 572 | return This->lpVtbl->GetCount(This,celt); | ||
| 573 | } | ||
| 574 | #endif | ||
| 575 | #endif | ||
| 576 | |||
| 577 | #endif | ||
| 578 | |||
| 579 | |||
| 580 | #endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */ | ||
| 581 | |||
| 582 | /***************************************************************************** | ||
| 583 | * IWiaPropertyStorage interface | ||
| 584 | */ | ||
| 585 | #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 586 | #define __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 587 | |||
| 588 | DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6); | ||
| 589 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 590 | MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6") | ||
| 591 | IWiaPropertyStorage : public IUnknown | ||
| 592 | { | ||
| 593 | }; | ||
| 594 | #ifdef __CRT_UUID_DECL | ||
| 595 | __CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6) | ||
| 596 | #endif | ||
| 597 | #else | ||
| 598 | typedef struct IWiaPropertyStorageVtbl { | ||
| 599 | BEGIN_INTERFACE | ||
| 600 | |||
| 601 | /*** IUnknown methods ***/ | ||
| 602 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 603 | IWiaPropertyStorage *This, | ||
| 604 | REFIID riid, | ||
| 605 | void **ppvObject); | ||
| 606 | |||
| 607 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 608 | IWiaPropertyStorage *This); | ||
| 609 | |||
| 610 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 611 | IWiaPropertyStorage *This); | ||
| 612 | |||
| 613 | END_INTERFACE | ||
| 614 | } IWiaPropertyStorageVtbl; | ||
| 615 | |||
| 616 | interface IWiaPropertyStorage { | ||
| 617 | CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl; | ||
| 618 | }; | ||
| 619 | |||
| 620 | #ifdef COBJMACROS | ||
| 621 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 622 | /*** IUnknown methods ***/ | ||
| 623 | #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 624 | #define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 625 | #define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) | ||
| 626 | #else | ||
| 627 | /*** IUnknown methods ***/ | ||
| 628 | static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) { | ||
| 629 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 630 | } | ||
| 631 | static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) { | ||
| 632 | return This->lpVtbl->AddRef(This); | ||
| 633 | } | ||
| 634 | static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) { | ||
| 635 | return This->lpVtbl->Release(This); | ||
| 636 | } | ||
| 637 | #endif | ||
| 638 | #endif | ||
| 639 | |||
| 640 | #endif | ||
| 641 | |||
| 642 | |||
| 643 | #endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */ | ||
| 644 | |||
| 645 | /***************************************************************************** | ||
| 646 | * IWiaItem interface | ||
| 647 | */ | ||
| 648 | #ifndef __IWiaItem_INTERFACE_DEFINED__ | ||
| 649 | #define __IWiaItem_INTERFACE_DEFINED__ | ||
| 650 | |||
| 651 | DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 652 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 653 | MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145") | ||
| 654 | IWiaItem : public IUnknown | ||
| 655 | { | ||
| 656 | }; | ||
| 657 | #ifdef __CRT_UUID_DECL | ||
| 658 | __CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45) | ||
| 659 | #endif | ||
| 660 | #else | ||
| 661 | typedef struct IWiaItemVtbl { | ||
| 662 | BEGIN_INTERFACE | ||
| 663 | |||
| 664 | /*** IUnknown methods ***/ | ||
| 665 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 666 | IWiaItem *This, | ||
| 667 | REFIID riid, | ||
| 668 | void **ppvObject); | ||
| 669 | |||
| 670 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 671 | IWiaItem *This); | ||
| 672 | |||
| 673 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 674 | IWiaItem *This); | ||
| 675 | |||
| 676 | END_INTERFACE | ||
| 677 | } IWiaItemVtbl; | ||
| 678 | |||
| 679 | interface IWiaItem { | ||
| 680 | CONST_VTBL IWiaItemVtbl* lpVtbl; | ||
| 681 | }; | ||
| 682 | |||
| 683 | #ifdef COBJMACROS | ||
| 684 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 685 | /*** IUnknown methods ***/ | ||
| 686 | #define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 687 | #define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 688 | #define IWiaItem_Release(This) (This)->lpVtbl->Release(This) | ||
| 689 | #else | ||
| 690 | /*** IUnknown methods ***/ | ||
| 691 | static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) { | ||
| 692 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 693 | } | ||
| 694 | static inline ULONG IWiaItem_AddRef(IWiaItem* This) { | ||
| 695 | return This->lpVtbl->AddRef(This); | ||
| 696 | } | ||
| 697 | static inline ULONG IWiaItem_Release(IWiaItem* This) { | ||
| 698 | return This->lpVtbl->Release(This); | ||
| 699 | } | ||
| 700 | #endif | ||
| 701 | #endif | ||
| 702 | |||
| 703 | #endif | ||
| 704 | |||
| 705 | |||
| 706 | #endif /* __IWiaItem_INTERFACE_DEFINED__ */ | ||
| 707 | |||
| 708 | /***************************************************************************** | ||
| 709 | * IWiaEventCallback interface | ||
| 710 | */ | ||
| 711 | #ifndef __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 712 | #define __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 713 | |||
| 714 | DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e); | ||
| 715 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 716 | MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e") | ||
| 717 | IWiaEventCallback : public IUnknown | ||
| 718 | { | ||
| 719 | virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( | ||
| 720 | const GUID *pEventGUID, | ||
| 721 | BSTR bstrEventDescription, | ||
| 722 | BSTR bstrDeviceID, | ||
| 723 | BSTR bstrDeviceDescription, | ||
| 724 | DWORD dwDeviceType, | ||
| 725 | BSTR bstrFullItemName, | ||
| 726 | ULONG *pulEventType, | ||
| 727 | ULONG ulReserved) = 0; | ||
| 728 | |||
| 729 | }; | ||
| 730 | #ifdef __CRT_UUID_DECL | ||
| 731 | __CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e) | ||
| 732 | #endif | ||
| 733 | #else | ||
| 734 | typedef struct IWiaEventCallbackVtbl { | ||
| 735 | BEGIN_INTERFACE | ||
| 736 | |||
| 737 | /*** IUnknown methods ***/ | ||
| 738 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 739 | IWiaEventCallback *This, | ||
| 740 | REFIID riid, | ||
| 741 | void **ppvObject); | ||
| 742 | |||
| 743 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 744 | IWiaEventCallback *This); | ||
| 745 | |||
| 746 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 747 | IWiaEventCallback *This); | ||
| 748 | |||
| 749 | /*** IWiaEventCallback methods ***/ | ||
| 750 | HRESULT (STDMETHODCALLTYPE *ImageEventCallback)( | ||
| 751 | IWiaEventCallback *This, | ||
| 752 | const GUID *pEventGUID, | ||
| 753 | BSTR bstrEventDescription, | ||
| 754 | BSTR bstrDeviceID, | ||
| 755 | BSTR bstrDeviceDescription, | ||
| 756 | DWORD dwDeviceType, | ||
| 757 | BSTR bstrFullItemName, | ||
| 758 | ULONG *pulEventType, | ||
| 759 | ULONG ulReserved); | ||
| 760 | |||
| 761 | END_INTERFACE | ||
| 762 | } IWiaEventCallbackVtbl; | ||
| 763 | |||
| 764 | interface IWiaEventCallback { | ||
| 765 | CONST_VTBL IWiaEventCallbackVtbl* lpVtbl; | ||
| 766 | }; | ||
| 767 | |||
| 768 | #ifdef COBJMACROS | ||
| 769 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 770 | /*** IUnknown methods ***/ | ||
| 771 | #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 772 | #define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 773 | #define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) | ||
| 774 | /*** IWiaEventCallback methods ***/ | ||
| 775 | #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) | ||
| 776 | #else | ||
| 777 | /*** IUnknown methods ***/ | ||
| 778 | static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) { | ||
| 779 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 780 | } | ||
| 781 | static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) { | ||
| 782 | return This->lpVtbl->AddRef(This); | ||
| 783 | } | ||
| 784 | static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) { | ||
| 785 | return This->lpVtbl->Release(This); | ||
| 786 | } | ||
| 787 | /*** IWiaEventCallback methods ***/ | ||
| 788 | static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) { | ||
| 789 | return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved); | ||
| 790 | } | ||
| 791 | #endif | ||
| 792 | #endif | ||
| 793 | |||
| 794 | #endif | ||
| 795 | |||
| 796 | |||
| 797 | #endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */ | ||
| 798 | |||
| 799 | typedef struct _WIA_DEV_CAP { | ||
| 800 | GUID guid; | ||
| 801 | ULONG ulFlags; | ||
| 802 | BSTR bstrName; | ||
| 803 | BSTR bstrDescription; | ||
| 804 | BSTR bstrIcon; | ||
| 805 | BSTR bstrCommandline; | ||
| 806 | } WIA_DEV_CAP; | ||
| 807 | typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP; | ||
| 808 | typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER; | ||
| 809 | typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER; | ||
| 810 | /***************************************************************************** | ||
| 811 | * IEnumWIA_DEV_CAPS interface | ||
| 812 | */ | ||
| 813 | #ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | ||
| 814 | #define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ | ||
| 815 | |||
| 816 | DEFINE_GUID(IID_IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 817 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 818 | MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c") | ||
| 819 | IEnumWIA_DEV_CAPS : public IUnknown | ||
| 820 | { | ||
| 821 | virtual HRESULT STDMETHODCALLTYPE Next( | ||
| 822 | ULONG celt, | ||
| 823 | WIA_DEV_CAP *rgelt, | ||
| 824 | ULONG *pceltFetched) = 0; | ||
| 825 | |||
| 826 | virtual HRESULT STDMETHODCALLTYPE Skip( | ||
| 827 | ULONG celt) = 0; | ||
| 828 | |||
| 829 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 830 | ) = 0; | ||
| 831 | |||
| 832 | virtual HRESULT STDMETHODCALLTYPE Clone( | ||
| 833 | IEnumWIA_DEV_CAPS **ppIEnum) = 0; | ||
| 834 | |||
| 835 | virtual HRESULT STDMETHODCALLTYPE GetCount( | ||
| 836 | ULONG *pcelt) = 0; | ||
| 837 | |||
| 838 | }; | ||
| 839 | #ifdef __CRT_UUID_DECL | ||
| 840 | __CRT_UUID_DECL(IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c) | ||
| 841 | #endif | ||
| 842 | #else | ||
| 843 | typedef struct IEnumWIA_DEV_CAPSVtbl { | ||
| 844 | BEGIN_INTERFACE | ||
| 845 | |||
| 846 | /*** IUnknown methods ***/ | ||
| 847 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 848 | IEnumWIA_DEV_CAPS *This, | ||
| 849 | REFIID riid, | ||
| 850 | void **ppvObject); | ||
| 851 | |||
| 852 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 853 | IEnumWIA_DEV_CAPS *This); | ||
| 854 | |||
| 855 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 856 | IEnumWIA_DEV_CAPS *This); | ||
| 857 | |||
| 858 | /*** IEnumWIA_DEV_CAPS methods ***/ | ||
| 859 | HRESULT (STDMETHODCALLTYPE *Next)( | ||
| 860 | IEnumWIA_DEV_CAPS *This, | ||
| 861 | ULONG celt, | ||
| 862 | WIA_DEV_CAP *rgelt, | ||
| 863 | ULONG *pceltFetched); | ||
| 864 | |||
| 865 | HRESULT (STDMETHODCALLTYPE *Skip)( | ||
| 866 | IEnumWIA_DEV_CAPS *This, | ||
| 867 | ULONG celt); | ||
| 868 | |||
| 869 | HRESULT (STDMETHODCALLTYPE *Reset)( | ||
| 870 | IEnumWIA_DEV_CAPS *This); | ||
| 871 | |||
| 872 | HRESULT (STDMETHODCALLTYPE *Clone)( | ||
| 873 | IEnumWIA_DEV_CAPS *This, | ||
| 874 | IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 875 | |||
| 876 | HRESULT (STDMETHODCALLTYPE *GetCount)( | ||
| 877 | IEnumWIA_DEV_CAPS *This, | ||
| 878 | ULONG *pcelt); | ||
| 879 | |||
| 880 | END_INTERFACE | ||
| 881 | } IEnumWIA_DEV_CAPSVtbl; | ||
| 882 | |||
| 883 | interface IEnumWIA_DEV_CAPS { | ||
| 884 | CONST_VTBL IEnumWIA_DEV_CAPSVtbl* lpVtbl; | ||
| 885 | }; | ||
| 886 | |||
| 887 | #ifdef COBJMACROS | ||
| 888 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 889 | /*** IUnknown methods ***/ | ||
| 890 | #define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 891 | #define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 892 | #define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This) | ||
| 893 | /*** IEnumWIA_DEV_CAPS methods ***/ | ||
| 894 | #define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 895 | #define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 896 | #define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 897 | #define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 898 | #define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt) | ||
| 899 | #else | ||
| 900 | /*** IUnknown methods ***/ | ||
| 901 | static inline HRESULT IEnumWIA_DEV_CAPS_QueryInterface(IEnumWIA_DEV_CAPS* This,REFIID riid,void **ppvObject) { | ||
| 902 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 903 | } | ||
| 904 | static inline ULONG IEnumWIA_DEV_CAPS_AddRef(IEnumWIA_DEV_CAPS* This) { | ||
| 905 | return This->lpVtbl->AddRef(This); | ||
| 906 | } | ||
| 907 | static inline ULONG IEnumWIA_DEV_CAPS_Release(IEnumWIA_DEV_CAPS* This) { | ||
| 908 | return This->lpVtbl->Release(This); | ||
| 909 | } | ||
| 910 | /*** IEnumWIA_DEV_CAPS methods ***/ | ||
| 911 | static inline HRESULT IEnumWIA_DEV_CAPS_Next(IEnumWIA_DEV_CAPS* This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) { | ||
| 912 | return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); | ||
| 913 | } | ||
| 914 | static inline HRESULT IEnumWIA_DEV_CAPS_Skip(IEnumWIA_DEV_CAPS* This,ULONG celt) { | ||
| 915 | return This->lpVtbl->Skip(This,celt); | ||
| 916 | } | ||
| 917 | static inline HRESULT IEnumWIA_DEV_CAPS_Reset(IEnumWIA_DEV_CAPS* This) { | ||
| 918 | return This->lpVtbl->Reset(This); | ||
| 919 | } | ||
| 920 | static inline HRESULT IEnumWIA_DEV_CAPS_Clone(IEnumWIA_DEV_CAPS* This,IEnumWIA_DEV_CAPS **ppIEnum) { | ||
| 921 | return This->lpVtbl->Clone(This,ppIEnum); | ||
| 922 | } | ||
| 923 | static inline HRESULT IEnumWIA_DEV_CAPS_GetCount(IEnumWIA_DEV_CAPS* This,ULONG *pcelt) { | ||
| 924 | return This->lpVtbl->GetCount(This,pcelt); | ||
| 925 | } | ||
| 926 | #endif | ||
| 927 | #endif | ||
| 928 | |||
| 929 | #endif | ||
| 930 | |||
| 931 | |||
| 932 | #endif /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */ | ||
| 933 | |||
| 934 | typedef struct _WiaTransferParams { | ||
| 935 | LONG lMessage; | ||
| 936 | LONG lPercentComplete; | ||
| 937 | ULONG64 ulTransferredBytes; | ||
| 938 | HRESULT hrErrorStatus; | ||
| 939 | } WiaTransferParams; | ||
| 940 | /***************************************************************************** | ||
| 941 | * IWiaTransferCallback interface | ||
| 942 | */ | ||
| 943 | #ifndef __IWiaTransferCallback_INTERFACE_DEFINED__ | ||
| 944 | #define __IWiaTransferCallback_INTERFACE_DEFINED__ | ||
| 945 | |||
| 946 | DEFINE_GUID(IID_IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27); | ||
| 947 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 948 | MIDL_INTERFACE("27d4eaaf-28a6-4ca5-9aab-e678168b9527") | ||
| 949 | IWiaTransferCallback : public IUnknown | ||
| 950 | { | ||
| 951 | virtual HRESULT STDMETHODCALLTYPE TransferCallback( | ||
| 952 | LONG lFlags, | ||
| 953 | WiaTransferParams *pWiaTransferParams) = 0; | ||
| 954 | |||
| 955 | virtual HRESULT STDMETHODCALLTYPE GetNextStream( | ||
| 956 | LONG lFlags, | ||
| 957 | BSTR bstrItemName, | ||
| 958 | BSTR bstrFullItemName, | ||
| 959 | IStream **ppDestination) = 0; | ||
| 960 | |||
| 961 | }; | ||
| 962 | #ifdef __CRT_UUID_DECL | ||
| 963 | __CRT_UUID_DECL(IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27) | ||
| 964 | #endif | ||
| 965 | #else | ||
| 966 | typedef struct IWiaTransferCallbackVtbl { | ||
| 967 | BEGIN_INTERFACE | ||
| 968 | |||
| 969 | /*** IUnknown methods ***/ | ||
| 970 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 971 | IWiaTransferCallback *This, | ||
| 972 | REFIID riid, | ||
| 973 | void **ppvObject); | ||
| 974 | |||
| 975 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 976 | IWiaTransferCallback *This); | ||
| 977 | |||
| 978 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 979 | IWiaTransferCallback *This); | ||
| 980 | |||
| 981 | /*** IWiaTransferCallback methods ***/ | ||
| 982 | HRESULT (STDMETHODCALLTYPE *TransferCallback)( | ||
| 983 | IWiaTransferCallback *This, | ||
| 984 | LONG lFlags, | ||
| 985 | WiaTransferParams *pWiaTransferParams); | ||
| 986 | |||
| 987 | HRESULT (STDMETHODCALLTYPE *GetNextStream)( | ||
| 988 | IWiaTransferCallback *This, | ||
| 989 | LONG lFlags, | ||
| 990 | BSTR bstrItemName, | ||
| 991 | BSTR bstrFullItemName, | ||
| 992 | IStream **ppDestination); | ||
| 993 | |||
| 994 | END_INTERFACE | ||
| 995 | } IWiaTransferCallbackVtbl; | ||
| 996 | |||
| 997 | interface IWiaTransferCallback { | ||
| 998 | CONST_VTBL IWiaTransferCallbackVtbl* lpVtbl; | ||
| 999 | }; | ||
| 1000 | |||
| 1001 | #ifdef COBJMACROS | ||
| 1002 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 1003 | /*** IUnknown methods ***/ | ||
| 1004 | #define IWiaTransferCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 1005 | #define IWiaTransferCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 1006 | #define IWiaTransferCallback_Release(This) (This)->lpVtbl->Release(This) | ||
| 1007 | /*** IWiaTransferCallback methods ***/ | ||
| 1008 | #define IWiaTransferCallback_TransferCallback(This,lFlags,pWiaTransferParams) (This)->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams) | ||
| 1009 | #define IWiaTransferCallback_GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) (This)->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) | ||
| 1010 | #else | ||
| 1011 | /*** IUnknown methods ***/ | ||
| 1012 | static inline HRESULT IWiaTransferCallback_QueryInterface(IWiaTransferCallback* This,REFIID riid,void **ppvObject) { | ||
| 1013 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 1014 | } | ||
| 1015 | static inline ULONG IWiaTransferCallback_AddRef(IWiaTransferCallback* This) { | ||
| 1016 | return This->lpVtbl->AddRef(This); | ||
| 1017 | } | ||
| 1018 | static inline ULONG IWiaTransferCallback_Release(IWiaTransferCallback* This) { | ||
| 1019 | return This->lpVtbl->Release(This); | ||
| 1020 | } | ||
| 1021 | /*** IWiaTransferCallback methods ***/ | ||
| 1022 | static inline HRESULT IWiaTransferCallback_TransferCallback(IWiaTransferCallback* This,LONG lFlags,WiaTransferParams *pWiaTransferParams) { | ||
| 1023 | return This->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams); | ||
| 1024 | } | ||
| 1025 | static inline HRESULT IWiaTransferCallback_GetNextStream(IWiaTransferCallback* This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IStream **ppDestination) { | ||
| 1026 | return This->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination); | ||
| 1027 | } | ||
| 1028 | #endif | ||
| 1029 | #endif | ||
| 1030 | |||
| 1031 | #endif | ||
| 1032 | |||
| 1033 | |||
| 1034 | #endif /* __IWiaTransferCallback_INTERFACE_DEFINED__ */ | ||
| 1035 | |||
| 1036 | /***************************************************************************** | ||
| 1037 | * IWiaPreview interface | ||
| 1038 | */ | ||
| 1039 | #ifndef __IWiaPreview_INTERFACE_DEFINED__ | ||
| 1040 | #define __IWiaPreview_INTERFACE_DEFINED__ | ||
| 1041 | |||
| 1042 | DEFINE_GUID(IID_IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7); | ||
| 1043 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1044 | MIDL_INTERFACE("95c2b4fd-33f2-4d86-ad40-9431f0df08f7") | ||
| 1045 | IWiaPreview : public IUnknown | ||
| 1046 | { | ||
| 1047 | virtual HRESULT STDMETHODCALLTYPE GetNewPreview( | ||
| 1048 | LONG lFlags, | ||
| 1049 | IWiaItem2 *pWiaItem2, | ||
| 1050 | IWiaTransferCallback *pWiaTransferCallback) = 0; | ||
| 1051 | |||
| 1052 | virtual HRESULT STDMETHODCALLTYPE UpdatePreview( | ||
| 1053 | LONG lFlags, | ||
| 1054 | IWiaItem2 *pChildWiaItem2, | ||
| 1055 | IWiaTransferCallback *pWiaTransferCallback) = 0; | ||
| 1056 | |||
| 1057 | virtual HRESULT STDMETHODCALLTYPE DetectRegions( | ||
| 1058 | LONG lFlags) = 0; | ||
| 1059 | |||
| 1060 | virtual HRESULT STDMETHODCALLTYPE Clear( | ||
| 1061 | ) = 0; | ||
| 1062 | |||
| 1063 | }; | ||
| 1064 | #ifdef __CRT_UUID_DECL | ||
| 1065 | __CRT_UUID_DECL(IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7) | ||
| 1066 | #endif | ||
| 1067 | #else | ||
| 1068 | typedef struct IWiaPreviewVtbl { | ||
| 1069 | BEGIN_INTERFACE | ||
| 1070 | |||
| 1071 | /*** IUnknown methods ***/ | ||
| 1072 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 1073 | IWiaPreview *This, | ||
| 1074 | REFIID riid, | ||
| 1075 | void **ppvObject); | ||
| 1076 | |||
| 1077 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 1078 | IWiaPreview *This); | ||
| 1079 | |||
| 1080 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 1081 | IWiaPreview *This); | ||
| 1082 | |||
| 1083 | /*** IWiaPreview methods ***/ | ||
| 1084 | HRESULT (STDMETHODCALLTYPE *GetNewPreview)( | ||
| 1085 | IWiaPreview *This, | ||
| 1086 | LONG lFlags, | ||
| 1087 | IWiaItem2 *pWiaItem2, | ||
| 1088 | IWiaTransferCallback *pWiaTransferCallback); | ||
| 1089 | |||
| 1090 | HRESULT (STDMETHODCALLTYPE *UpdatePreview)( | ||
| 1091 | IWiaPreview *This, | ||
| 1092 | LONG lFlags, | ||
| 1093 | IWiaItem2 *pChildWiaItem2, | ||
| 1094 | IWiaTransferCallback *pWiaTransferCallback); | ||
| 1095 | |||
| 1096 | HRESULT (STDMETHODCALLTYPE *DetectRegions)( | ||
| 1097 | IWiaPreview *This, | ||
| 1098 | LONG lFlags); | ||
| 1099 | |||
| 1100 | HRESULT (STDMETHODCALLTYPE *Clear)( | ||
| 1101 | IWiaPreview *This); | ||
| 1102 | |||
| 1103 | END_INTERFACE | ||
| 1104 | } IWiaPreviewVtbl; | ||
| 1105 | |||
| 1106 | interface IWiaPreview { | ||
| 1107 | CONST_VTBL IWiaPreviewVtbl* lpVtbl; | ||
| 1108 | }; | ||
| 1109 | |||
| 1110 | #ifdef COBJMACROS | ||
| 1111 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 1112 | /*** IUnknown methods ***/ | ||
| 1113 | #define IWiaPreview_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 1114 | #define IWiaPreview_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 1115 | #define IWiaPreview_Release(This) (This)->lpVtbl->Release(This) | ||
| 1116 | /*** IWiaPreview methods ***/ | ||
| 1117 | #define IWiaPreview_GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) (This)->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) | ||
| 1118 | #define IWiaPreview_UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) (This)->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) | ||
| 1119 | #define IWiaPreview_DetectRegions(This,lFlags) (This)->lpVtbl->DetectRegions(This,lFlags) | ||
| 1120 | #define IWiaPreview_Clear(This) (This)->lpVtbl->Clear(This) | ||
| 1121 | #else | ||
| 1122 | /*** IUnknown methods ***/ | ||
| 1123 | static inline HRESULT IWiaPreview_QueryInterface(IWiaPreview* This,REFIID riid,void **ppvObject) { | ||
| 1124 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 1125 | } | ||
| 1126 | static inline ULONG IWiaPreview_AddRef(IWiaPreview* This) { | ||
| 1127 | return This->lpVtbl->AddRef(This); | ||
| 1128 | } | ||
| 1129 | static inline ULONG IWiaPreview_Release(IWiaPreview* This) { | ||
| 1130 | return This->lpVtbl->Release(This); | ||
| 1131 | } | ||
| 1132 | /*** IWiaPreview methods ***/ | ||
| 1133 | static inline HRESULT IWiaPreview_GetNewPreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { | ||
| 1134 | return This->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback); | ||
| 1135 | } | ||
| 1136 | static inline HRESULT IWiaPreview_UpdatePreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pChildWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { | ||
| 1137 | return This->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback); | ||
| 1138 | } | ||
| 1139 | static inline HRESULT IWiaPreview_DetectRegions(IWiaPreview* This,LONG lFlags) { | ||
| 1140 | return This->lpVtbl->DetectRegions(This,lFlags); | ||
| 1141 | } | ||
| 1142 | static inline HRESULT IWiaPreview_Clear(IWiaPreview* This) { | ||
| 1143 | return This->lpVtbl->Clear(This); | ||
| 1144 | } | ||
| 1145 | #endif | ||
| 1146 | #endif | ||
| 1147 | |||
| 1148 | #endif | ||
| 1149 | |||
| 1150 | |||
| 1151 | #endif /* __IWiaPreview_INTERFACE_DEFINED__ */ | ||
| 1152 | |||
| 1153 | /***************************************************************************** | ||
| 1154 | * IEnumWiaItem2 interface | ||
| 1155 | */ | ||
| 1156 | #ifndef __IEnumWiaItem2_INTERFACE_DEFINED__ | ||
| 1157 | #define __IEnumWiaItem2_INTERFACE_DEFINED__ | ||
| 1158 | |||
| 1159 | DEFINE_GUID(IID_IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82); | ||
| 1160 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1161 | MIDL_INTERFACE("59970af4-cd0d-44d9-ab24-52295630e582") | ||
| 1162 | IEnumWiaItem2 : public IUnknown | ||
| 1163 | { | ||
| 1164 | virtual HRESULT STDMETHODCALLTYPE Next( | ||
| 1165 | ULONG cElt, | ||
| 1166 | IWiaItem2 **ppIWiaItem2, | ||
| 1167 | ULONG *pcEltFetched) = 0; | ||
| 1168 | |||
| 1169 | virtual HRESULT STDMETHODCALLTYPE Skip( | ||
| 1170 | ULONG cElt) = 0; | ||
| 1171 | |||
| 1172 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 1173 | ) = 0; | ||
| 1174 | |||
| 1175 | virtual HRESULT STDMETHODCALLTYPE Clone( | ||
| 1176 | IEnumWiaItem2 **ppIEnum) = 0; | ||
| 1177 | |||
| 1178 | virtual HRESULT STDMETHODCALLTYPE GetCount( | ||
| 1179 | ULONG *cElt) = 0; | ||
| 1180 | |||
| 1181 | }; | ||
| 1182 | #ifdef __CRT_UUID_DECL | ||
| 1183 | __CRT_UUID_DECL(IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82) | ||
| 1184 | #endif | ||
| 1185 | #else | ||
| 1186 | typedef struct IEnumWiaItem2Vtbl { | ||
| 1187 | BEGIN_INTERFACE | ||
| 1188 | |||
| 1189 | /*** IUnknown methods ***/ | ||
| 1190 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 1191 | IEnumWiaItem2 *This, | ||
| 1192 | REFIID riid, | ||
| 1193 | void **ppvObject); | ||
| 1194 | |||
| 1195 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 1196 | IEnumWiaItem2 *This); | ||
| 1197 | |||
| 1198 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 1199 | IEnumWiaItem2 *This); | ||
| 1200 | |||
| 1201 | /*** IEnumWiaItem2 methods ***/ | ||
| 1202 | HRESULT (STDMETHODCALLTYPE *Next)( | ||
| 1203 | IEnumWiaItem2 *This, | ||
| 1204 | ULONG cElt, | ||
| 1205 | IWiaItem2 **ppIWiaItem2, | ||
| 1206 | ULONG *pcEltFetched); | ||
| 1207 | |||
| 1208 | HRESULT (STDMETHODCALLTYPE *Skip)( | ||
| 1209 | IEnumWiaItem2 *This, | ||
| 1210 | ULONG cElt); | ||
| 1211 | |||
| 1212 | HRESULT (STDMETHODCALLTYPE *Reset)( | ||
| 1213 | IEnumWiaItem2 *This); | ||
| 1214 | |||
| 1215 | HRESULT (STDMETHODCALLTYPE *Clone)( | ||
| 1216 | IEnumWiaItem2 *This, | ||
| 1217 | IEnumWiaItem2 **ppIEnum); | ||
| 1218 | |||
| 1219 | HRESULT (STDMETHODCALLTYPE *GetCount)( | ||
| 1220 | IEnumWiaItem2 *This, | ||
| 1221 | ULONG *cElt); | ||
| 1222 | |||
| 1223 | END_INTERFACE | ||
| 1224 | } IEnumWiaItem2Vtbl; | ||
| 1225 | |||
| 1226 | interface IEnumWiaItem2 { | ||
| 1227 | CONST_VTBL IEnumWiaItem2Vtbl* lpVtbl; | ||
| 1228 | }; | ||
| 1229 | |||
| 1230 | #ifdef COBJMACROS | ||
| 1231 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 1232 | /*** IUnknown methods ***/ | ||
| 1233 | #define IEnumWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 1234 | #define IEnumWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 1235 | #define IEnumWiaItem2_Release(This) (This)->lpVtbl->Release(This) | ||
| 1236 | /*** IEnumWiaItem2 methods ***/ | ||
| 1237 | #define IEnumWiaItem2_Next(This,cElt,ppIWiaItem2,pcEltFetched) (This)->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched) | ||
| 1238 | #define IEnumWiaItem2_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt) | ||
| 1239 | #define IEnumWiaItem2_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 1240 | #define IEnumWiaItem2_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 1241 | #define IEnumWiaItem2_GetCount(This,cElt) (This)->lpVtbl->GetCount(This,cElt) | ||
| 1242 | #else | ||
| 1243 | /*** IUnknown methods ***/ | ||
| 1244 | static inline HRESULT IEnumWiaItem2_QueryInterface(IEnumWiaItem2* This,REFIID riid,void **ppvObject) { | ||
| 1245 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 1246 | } | ||
| 1247 | static inline ULONG IEnumWiaItem2_AddRef(IEnumWiaItem2* This) { | ||
| 1248 | return This->lpVtbl->AddRef(This); | ||
| 1249 | } | ||
| 1250 | static inline ULONG IEnumWiaItem2_Release(IEnumWiaItem2* This) { | ||
| 1251 | return This->lpVtbl->Release(This); | ||
| 1252 | } | ||
| 1253 | /*** IEnumWiaItem2 methods ***/ | ||
| 1254 | static inline HRESULT IEnumWiaItem2_Next(IEnumWiaItem2* This,ULONG cElt,IWiaItem2 **ppIWiaItem2,ULONG *pcEltFetched) { | ||
| 1255 | return This->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched); | ||
| 1256 | } | ||
| 1257 | static inline HRESULT IEnumWiaItem2_Skip(IEnumWiaItem2* This,ULONG cElt) { | ||
| 1258 | return This->lpVtbl->Skip(This,cElt); | ||
| 1259 | } | ||
| 1260 | static inline HRESULT IEnumWiaItem2_Reset(IEnumWiaItem2* This) { | ||
| 1261 | return This->lpVtbl->Reset(This); | ||
| 1262 | } | ||
| 1263 | static inline HRESULT IEnumWiaItem2_Clone(IEnumWiaItem2* This,IEnumWiaItem2 **ppIEnum) { | ||
| 1264 | return This->lpVtbl->Clone(This,ppIEnum); | ||
| 1265 | } | ||
| 1266 | static inline HRESULT IEnumWiaItem2_GetCount(IEnumWiaItem2* This,ULONG *cElt) { | ||
| 1267 | return This->lpVtbl->GetCount(This,cElt); | ||
| 1268 | } | ||
| 1269 | #endif | ||
| 1270 | #endif | ||
| 1271 | |||
| 1272 | #endif | ||
| 1273 | |||
| 1274 | |||
| 1275 | #endif /* __IEnumWiaItem2_INTERFACE_DEFINED__ */ | ||
| 1276 | |||
| 1277 | /***************************************************************************** | ||
| 1278 | * IWiaItem2 interface | ||
| 1279 | */ | ||
| 1280 | #ifndef __IWiaItem2_INTERFACE_DEFINED__ | ||
| 1281 | #define __IWiaItem2_INTERFACE_DEFINED__ | ||
| 1282 | |||
| 1283 | DEFINE_GUID(IID_IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc); | ||
| 1284 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1285 | MIDL_INTERFACE("6cba0075-1287-407d-9b77-cf0e030435cc") | ||
| 1286 | IWiaItem2 : public IUnknown | ||
| 1287 | { | ||
| 1288 | virtual HRESULT STDMETHODCALLTYPE CreateChildItem( | ||
| 1289 | LONG lItemFlags, | ||
| 1290 | LONG lCreationFlags, | ||
| 1291 | BSTR bstrItemName, | ||
| 1292 | IWiaItem2 **ppIWiaItem2) = 0; | ||
| 1293 | |||
| 1294 | virtual HRESULT STDMETHODCALLTYPE DeleteItem( | ||
| 1295 | LONG lFlags) = 0; | ||
| 1296 | |||
| 1297 | virtual HRESULT STDMETHODCALLTYPE EnumChildItems( | ||
| 1298 | const GUID *pCategoryGUID, | ||
| 1299 | IEnumWiaItem2 **ppIEnumWiaItem2) = 0; | ||
| 1300 | |||
| 1301 | virtual HRESULT STDMETHODCALLTYPE FindItemByName( | ||
| 1302 | LONG lFlags, | ||
| 1303 | BSTR bstrFullItemName, | ||
| 1304 | IWiaItem2 **ppIWiaItem2) = 0; | ||
| 1305 | |||
| 1306 | virtual HRESULT STDMETHODCALLTYPE GetItemCategory( | ||
| 1307 | GUID *pItemCategoryGUID) = 0; | ||
| 1308 | |||
| 1309 | virtual HRESULT STDMETHODCALLTYPE GetItemType( | ||
| 1310 | LONG *pItemType) = 0; | ||
| 1311 | |||
| 1312 | virtual HRESULT STDMETHODCALLTYPE DeviceDlg( | ||
| 1313 | LONG lFlags, | ||
| 1314 | HWND hwndParent, | ||
| 1315 | BSTR bstrFolderName, | ||
| 1316 | BSTR bstrFilename, | ||
| 1317 | LONG *plNumFiles, | ||
| 1318 | BSTR **ppbstrFilePaths, | ||
| 1319 | IWiaItem2 **ppItem) = 0; | ||
| 1320 | |||
| 1321 | virtual HRESULT STDMETHODCALLTYPE DeviceCommand( | ||
| 1322 | LONG lFlags, | ||
| 1323 | const GUID *pCmdGUID, | ||
| 1324 | IWiaItem2 **ppIWiaItem2) = 0; | ||
| 1325 | |||
| 1326 | virtual HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities( | ||
| 1327 | LONG lFlags, | ||
| 1328 | IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0; | ||
| 1329 | |||
| 1330 | virtual HRESULT STDMETHODCALLTYPE CheckExtension( | ||
| 1331 | LONG lFlags, | ||
| 1332 | BSTR bstrName, | ||
| 1333 | REFIID riidExtensionInterface, | ||
| 1334 | WINBOOL *pbExtensionExists) = 0; | ||
| 1335 | |||
| 1336 | virtual HRESULT STDMETHODCALLTYPE GetExtension( | ||
| 1337 | LONG lFlags, | ||
| 1338 | BSTR bstrName, | ||
| 1339 | REFIID riidExtensionInterface, | ||
| 1340 | void **ppOut) = 0; | ||
| 1341 | |||
| 1342 | virtual HRESULT STDMETHODCALLTYPE GetParentItem( | ||
| 1343 | IWiaItem2 **ppIWiaItem2) = 0; | ||
| 1344 | |||
| 1345 | virtual HRESULT STDMETHODCALLTYPE GetRootItem( | ||
| 1346 | IWiaItem2 **ppIWiaItem2) = 0; | ||
| 1347 | |||
| 1348 | virtual HRESULT STDMETHODCALLTYPE GetPreviewComponent( | ||
| 1349 | LONG lFlags, | ||
| 1350 | IWiaPreview **ppWiaPreview) = 0; | ||
| 1351 | |||
| 1352 | virtual HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo( | ||
| 1353 | LONG lFlags, | ||
| 1354 | const GUID *pEventGUID, | ||
| 1355 | IEnumWIA_DEV_CAPS **ppIEnum) = 0; | ||
| 1356 | |||
| 1357 | virtual HRESULT STDMETHODCALLTYPE Diagnostic( | ||
| 1358 | ULONG ulSize, | ||
| 1359 | BYTE *pBuffer) = 0; | ||
| 1360 | |||
| 1361 | }; | ||
| 1362 | #ifdef __CRT_UUID_DECL | ||
| 1363 | __CRT_UUID_DECL(IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc) | ||
| 1364 | #endif | ||
| 1365 | #else | ||
| 1366 | typedef struct IWiaItem2Vtbl { | ||
| 1367 | BEGIN_INTERFACE | ||
| 1368 | |||
| 1369 | /*** IUnknown methods ***/ | ||
| 1370 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 1371 | IWiaItem2 *This, | ||
| 1372 | REFIID riid, | ||
| 1373 | void **ppvObject); | ||
| 1374 | |||
| 1375 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 1376 | IWiaItem2 *This); | ||
| 1377 | |||
| 1378 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 1379 | IWiaItem2 *This); | ||
| 1380 | |||
| 1381 | /*** IWiaItem2 methods ***/ | ||
| 1382 | HRESULT (STDMETHODCALLTYPE *CreateChildItem)( | ||
| 1383 | IWiaItem2 *This, | ||
| 1384 | LONG lItemFlags, | ||
| 1385 | LONG lCreationFlags, | ||
| 1386 | BSTR bstrItemName, | ||
| 1387 | IWiaItem2 **ppIWiaItem2); | ||
| 1388 | |||
| 1389 | HRESULT (STDMETHODCALLTYPE *DeleteItem)( | ||
| 1390 | IWiaItem2 *This, | ||
| 1391 | LONG lFlags); | ||
| 1392 | |||
| 1393 | HRESULT (STDMETHODCALLTYPE *EnumChildItems)( | ||
| 1394 | IWiaItem2 *This, | ||
| 1395 | const GUID *pCategoryGUID, | ||
| 1396 | IEnumWiaItem2 **ppIEnumWiaItem2); | ||
| 1397 | |||
| 1398 | HRESULT (STDMETHODCALLTYPE *FindItemByName)( | ||
| 1399 | IWiaItem2 *This, | ||
| 1400 | LONG lFlags, | ||
| 1401 | BSTR bstrFullItemName, | ||
| 1402 | IWiaItem2 **ppIWiaItem2); | ||
| 1403 | |||
| 1404 | HRESULT (STDMETHODCALLTYPE *GetItemCategory)( | ||
| 1405 | IWiaItem2 *This, | ||
| 1406 | GUID *pItemCategoryGUID); | ||
| 1407 | |||
| 1408 | HRESULT (STDMETHODCALLTYPE *GetItemType)( | ||
| 1409 | IWiaItem2 *This, | ||
| 1410 | LONG *pItemType); | ||
| 1411 | |||
| 1412 | HRESULT (STDMETHODCALLTYPE *DeviceDlg)( | ||
| 1413 | IWiaItem2 *This, | ||
| 1414 | LONG lFlags, | ||
| 1415 | HWND hwndParent, | ||
| 1416 | BSTR bstrFolderName, | ||
| 1417 | BSTR bstrFilename, | ||
| 1418 | LONG *plNumFiles, | ||
| 1419 | BSTR **ppbstrFilePaths, | ||
| 1420 | IWiaItem2 **ppItem); | ||
| 1421 | |||
| 1422 | HRESULT (STDMETHODCALLTYPE *DeviceCommand)( | ||
| 1423 | IWiaItem2 *This, | ||
| 1424 | LONG lFlags, | ||
| 1425 | const GUID *pCmdGUID, | ||
| 1426 | IWiaItem2 **ppIWiaItem2); | ||
| 1427 | |||
| 1428 | HRESULT (STDMETHODCALLTYPE *EnumDeviceCapabilities)( | ||
| 1429 | IWiaItem2 *This, | ||
| 1430 | LONG lFlags, | ||
| 1431 | IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS); | ||
| 1432 | |||
| 1433 | HRESULT (STDMETHODCALLTYPE *CheckExtension)( | ||
| 1434 | IWiaItem2 *This, | ||
| 1435 | LONG lFlags, | ||
| 1436 | BSTR bstrName, | ||
| 1437 | REFIID riidExtensionInterface, | ||
| 1438 | WINBOOL *pbExtensionExists); | ||
| 1439 | |||
| 1440 | HRESULT (STDMETHODCALLTYPE *GetExtension)( | ||
| 1441 | IWiaItem2 *This, | ||
| 1442 | LONG lFlags, | ||
| 1443 | BSTR bstrName, | ||
| 1444 | REFIID riidExtensionInterface, | ||
| 1445 | void **ppOut); | ||
| 1446 | |||
| 1447 | HRESULT (STDMETHODCALLTYPE *GetParentItem)( | ||
| 1448 | IWiaItem2 *This, | ||
| 1449 | IWiaItem2 **ppIWiaItem2); | ||
| 1450 | |||
| 1451 | HRESULT (STDMETHODCALLTYPE *GetRootItem)( | ||
| 1452 | IWiaItem2 *This, | ||
| 1453 | IWiaItem2 **ppIWiaItem2); | ||
| 1454 | |||
| 1455 | HRESULT (STDMETHODCALLTYPE *GetPreviewComponent)( | ||
| 1456 | IWiaItem2 *This, | ||
| 1457 | LONG lFlags, | ||
| 1458 | IWiaPreview **ppWiaPreview); | ||
| 1459 | |||
| 1460 | HRESULT (STDMETHODCALLTYPE *EnumRegisterEventInfo)( | ||
| 1461 | IWiaItem2 *This, | ||
| 1462 | LONG lFlags, | ||
| 1463 | const GUID *pEventGUID, | ||
| 1464 | IEnumWIA_DEV_CAPS **ppIEnum); | ||
| 1465 | |||
| 1466 | HRESULT (STDMETHODCALLTYPE *Diagnostic)( | ||
| 1467 | IWiaItem2 *This, | ||
| 1468 | ULONG ulSize, | ||
| 1469 | BYTE *pBuffer); | ||
| 1470 | |||
| 1471 | END_INTERFACE | ||
| 1472 | } IWiaItem2Vtbl; | ||
| 1473 | |||
| 1474 | interface IWiaItem2 { | ||
| 1475 | CONST_VTBL IWiaItem2Vtbl* lpVtbl; | ||
| 1476 | }; | ||
| 1477 | |||
| 1478 | #ifdef COBJMACROS | ||
| 1479 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 1480 | /*** IUnknown methods ***/ | ||
| 1481 | #define IWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 1482 | #define IWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 1483 | #define IWiaItem2_Release(This) (This)->lpVtbl->Release(This) | ||
| 1484 | /*** IWiaItem2 methods ***/ | ||
| 1485 | #define IWiaItem2_CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) (This)->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) | ||
| 1486 | #define IWiaItem2_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags) | ||
| 1487 | #define IWiaItem2_EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) (This)->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) | ||
| 1488 | #define IWiaItem2_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) | ||
| 1489 | #define IWiaItem2_GetItemCategory(This,pItemCategoryGUID) (This)->lpVtbl->GetItemCategory(This,pItemCategoryGUID) | ||
| 1490 | #define IWiaItem2_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType) | ||
| 1491 | #define IWiaItem2_DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) | ||
| 1492 | #define IWiaItem2_DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) | ||
| 1493 | #define IWiaItem2_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) | ||
| 1494 | #define IWiaItem2_CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) (This)->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) | ||
| 1495 | #define IWiaItem2_GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) (This)->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) | ||
| 1496 | #define IWiaItem2_GetParentItem(This,ppIWiaItem2) (This)->lpVtbl->GetParentItem(This,ppIWiaItem2) | ||
| 1497 | #define IWiaItem2_GetRootItem(This,ppIWiaItem2) (This)->lpVtbl->GetRootItem(This,ppIWiaItem2) | ||
| 1498 | #define IWiaItem2_GetPreviewComponent(This,lFlags,ppWiaPreview) (This)->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview) | ||
| 1499 | #define IWiaItem2_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) | ||
| 1500 | #define IWiaItem2_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer) | ||
| 1501 | #else | ||
| 1502 | /*** IUnknown methods ***/ | ||
| 1503 | static inline HRESULT IWiaItem2_QueryInterface(IWiaItem2* This,REFIID riid,void **ppvObject) { | ||
| 1504 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 1505 | } | ||
| 1506 | static inline ULONG IWiaItem2_AddRef(IWiaItem2* This) { | ||
| 1507 | return This->lpVtbl->AddRef(This); | ||
| 1508 | } | ||
| 1509 | static inline ULONG IWiaItem2_Release(IWiaItem2* This) { | ||
| 1510 | return This->lpVtbl->Release(This); | ||
| 1511 | } | ||
| 1512 | /*** IWiaItem2 methods ***/ | ||
| 1513 | static inline HRESULT IWiaItem2_CreateChildItem(IWiaItem2* This,LONG lItemFlags,LONG lCreationFlags,BSTR bstrItemName,IWiaItem2 **ppIWiaItem2) { | ||
| 1514 | return This->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2); | ||
| 1515 | } | ||
| 1516 | static inline HRESULT IWiaItem2_DeleteItem(IWiaItem2* This,LONG lFlags) { | ||
| 1517 | return This->lpVtbl->DeleteItem(This,lFlags); | ||
| 1518 | } | ||
| 1519 | static inline HRESULT IWiaItem2_EnumChildItems(IWiaItem2* This,const GUID *pCategoryGUID,IEnumWiaItem2 **ppIEnumWiaItem2) { | ||
| 1520 | return This->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2); | ||
| 1521 | } | ||
| 1522 | static inline HRESULT IWiaItem2_FindItemByName(IWiaItem2* This,LONG lFlags,BSTR bstrFullItemName,IWiaItem2 **ppIWiaItem2) { | ||
| 1523 | return This->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2); | ||
| 1524 | } | ||
| 1525 | static inline HRESULT IWiaItem2_GetItemCategory(IWiaItem2* This,GUID *pItemCategoryGUID) { | ||
| 1526 | return This->lpVtbl->GetItemCategory(This,pItemCategoryGUID); | ||
| 1527 | } | ||
| 1528 | static inline HRESULT IWiaItem2_GetItemType(IWiaItem2* This,LONG *pItemType) { | ||
| 1529 | return This->lpVtbl->GetItemType(This,pItemType); | ||
| 1530 | } | ||
| 1531 | static inline HRESULT IWiaItem2_DeviceDlg(IWiaItem2* This,LONG lFlags,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { | ||
| 1532 | return This->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); | ||
| 1533 | } | ||
| 1534 | static inline HRESULT IWiaItem2_DeviceCommand(IWiaItem2* This,LONG lFlags,const GUID *pCmdGUID,IWiaItem2 **ppIWiaItem2) { | ||
| 1535 | return This->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2); | ||
| 1536 | } | ||
| 1537 | static inline HRESULT IWiaItem2_EnumDeviceCapabilities(IWiaItem2* This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) { | ||
| 1538 | return This->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS); | ||
| 1539 | } | ||
| 1540 | static inline HRESULT IWiaItem2_CheckExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,WINBOOL *pbExtensionExists) { | ||
| 1541 | return This->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists); | ||
| 1542 | } | ||
| 1543 | static inline HRESULT IWiaItem2_GetExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,void **ppOut) { | ||
| 1544 | return This->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut); | ||
| 1545 | } | ||
| 1546 | static inline HRESULT IWiaItem2_GetParentItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { | ||
| 1547 | return This->lpVtbl->GetParentItem(This,ppIWiaItem2); | ||
| 1548 | } | ||
| 1549 | static inline HRESULT IWiaItem2_GetRootItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { | ||
| 1550 | return This->lpVtbl->GetRootItem(This,ppIWiaItem2); | ||
| 1551 | } | ||
| 1552 | static inline HRESULT IWiaItem2_GetPreviewComponent(IWiaItem2* This,LONG lFlags,IWiaPreview **ppWiaPreview) { | ||
| 1553 | return This->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview); | ||
| 1554 | } | ||
| 1555 | static inline HRESULT IWiaItem2_EnumRegisterEventInfo(IWiaItem2* This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) { | ||
| 1556 | return This->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum); | ||
| 1557 | } | ||
| 1558 | static inline HRESULT IWiaItem2_Diagnostic(IWiaItem2* This,ULONG ulSize,BYTE *pBuffer) { | ||
| 1559 | return This->lpVtbl->Diagnostic(This,ulSize,pBuffer); | ||
| 1560 | } | ||
| 1561 | #endif | ||
| 1562 | #endif | ||
| 1563 | |||
| 1564 | #endif | ||
| 1565 | |||
| 1566 | |||
| 1567 | #endif /* __IWiaItem2_INTERFACE_DEFINED__ */ | ||
| 1568 | |||
| 1569 | /***************************************************************************** | ||
| 1570 | * IWiaDevMgr2 interface | ||
| 1571 | */ | ||
| 1572 | #ifndef __IWiaDevMgr2_INTERFACE_DEFINED__ | ||
| 1573 | #define __IWiaDevMgr2_INTERFACE_DEFINED__ | ||
| 1574 | |||
| 1575 | DEFINE_GUID(IID_IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a); | ||
| 1576 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 1577 | MIDL_INTERFACE("79c07cf1-cbdd-41ee-8ec3-f00080cada7a") | ||
| 1578 | IWiaDevMgr2 : public IUnknown | ||
| 1579 | { | ||
| 1580 | virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( | ||
| 1581 | LONG lFlags, | ||
| 1582 | IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 1583 | |||
| 1584 | virtual HRESULT STDMETHODCALLTYPE CreateDevice( | ||
| 1585 | LONG lFlags, | ||
| 1586 | BSTR bstrDeviceID, | ||
| 1587 | IWiaItem2 **ppWiaItem2Root) = 0; | ||
| 1588 | |||
| 1589 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( | ||
| 1590 | HWND hwndParent, | ||
| 1591 | LONG lDeviceType, | ||
| 1592 | LONG lFlags, | ||
| 1593 | BSTR *pbstrDeviceID, | ||
| 1594 | IWiaItem2 **ppItemRoot) = 0; | ||
| 1595 | |||
| 1596 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( | ||
| 1597 | HWND hwndParent, | ||
| 1598 | LONG lDeviceType, | ||
| 1599 | LONG lFlags, | ||
| 1600 | BSTR *pbstrDeviceID) = 0; | ||
| 1601 | |||
| 1602 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( | ||
| 1603 | LONG lFlags, | ||
| 1604 | BSTR bstrDeviceID, | ||
| 1605 | const GUID *pEventGUID, | ||
| 1606 | IWiaEventCallback *pIWiaEventCallback, | ||
| 1607 | IUnknown **pEventObject) = 0; | ||
| 1608 | |||
| 1609 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( | ||
| 1610 | LONG lFlags, | ||
| 1611 | BSTR bstrDeviceID, | ||
| 1612 | const GUID *pEventGUID, | ||
| 1613 | BSTR bstrFullAppName, | ||
| 1614 | BSTR bstrCommandLineArg, | ||
| 1615 | BSTR bstrName, | ||
| 1616 | BSTR bstrDescription, | ||
| 1617 | BSTR bstrIcon) = 0; | ||
| 1618 | |||
| 1619 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( | ||
| 1620 | LONG lFlags, | ||
| 1621 | BSTR bstrDeviceID, | ||
| 1622 | const GUID *pEventGUID, | ||
| 1623 | const GUID *pClsID, | ||
| 1624 | BSTR bstrName, | ||
| 1625 | BSTR bstrDescription, | ||
| 1626 | BSTR bstrIcon) = 0; | ||
| 1627 | |||
| 1628 | virtual HRESULT STDMETHODCALLTYPE GetImageDlg( | ||
| 1629 | LONG lFlags, | ||
| 1630 | BSTR bstrDeviceID, | ||
| 1631 | HWND hwndParent, | ||
| 1632 | BSTR bstrFolderName, | ||
| 1633 | BSTR bstrFilename, | ||
| 1634 | LONG *plNumFiles, | ||
| 1635 | BSTR **ppbstrFilePaths, | ||
| 1636 | IWiaItem2 **ppItem) = 0; | ||
| 1637 | |||
| 1638 | }; | ||
| 1639 | #ifdef __CRT_UUID_DECL | ||
| 1640 | __CRT_UUID_DECL(IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a) | ||
| 1641 | #endif | ||
| 1642 | #else | ||
| 1643 | typedef struct IWiaDevMgr2Vtbl { | ||
| 1644 | BEGIN_INTERFACE | ||
| 1645 | |||
| 1646 | /*** IUnknown methods ***/ | ||
| 1647 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 1648 | IWiaDevMgr2 *This, | ||
| 1649 | REFIID riid, | ||
| 1650 | void **ppvObject); | ||
| 1651 | |||
| 1652 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 1653 | IWiaDevMgr2 *This); | ||
| 1654 | |||
| 1655 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 1656 | IWiaDevMgr2 *This); | ||
| 1657 | |||
| 1658 | /*** IWiaDevMgr2 methods ***/ | ||
| 1659 | HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( | ||
| 1660 | IWiaDevMgr2 *This, | ||
| 1661 | LONG lFlags, | ||
| 1662 | IEnumWIA_DEV_INFO **ppIEnum); | ||
| 1663 | |||
| 1664 | HRESULT (STDMETHODCALLTYPE *CreateDevice)( | ||
| 1665 | IWiaDevMgr2 *This, | ||
| 1666 | LONG lFlags, | ||
| 1667 | BSTR bstrDeviceID, | ||
| 1668 | IWiaItem2 **ppWiaItem2Root); | ||
| 1669 | |||
| 1670 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( | ||
| 1671 | IWiaDevMgr2 *This, | ||
| 1672 | HWND hwndParent, | ||
| 1673 | LONG lDeviceType, | ||
| 1674 | LONG lFlags, | ||
| 1675 | BSTR *pbstrDeviceID, | ||
| 1676 | IWiaItem2 **ppItemRoot); | ||
| 1677 | |||
| 1678 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( | ||
| 1679 | IWiaDevMgr2 *This, | ||
| 1680 | HWND hwndParent, | ||
| 1681 | LONG lDeviceType, | ||
| 1682 | LONG lFlags, | ||
| 1683 | BSTR *pbstrDeviceID); | ||
| 1684 | |||
| 1685 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( | ||
| 1686 | IWiaDevMgr2 *This, | ||
| 1687 | LONG lFlags, | ||
| 1688 | BSTR bstrDeviceID, | ||
| 1689 | const GUID *pEventGUID, | ||
| 1690 | IWiaEventCallback *pIWiaEventCallback, | ||
| 1691 | IUnknown **pEventObject); | ||
| 1692 | |||
| 1693 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( | ||
| 1694 | IWiaDevMgr2 *This, | ||
| 1695 | LONG lFlags, | ||
| 1696 | BSTR bstrDeviceID, | ||
| 1697 | const GUID *pEventGUID, | ||
| 1698 | BSTR bstrFullAppName, | ||
| 1699 | BSTR bstrCommandLineArg, | ||
| 1700 | BSTR bstrName, | ||
| 1701 | BSTR bstrDescription, | ||
| 1702 | BSTR bstrIcon); | ||
| 1703 | |||
| 1704 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( | ||
| 1705 | IWiaDevMgr2 *This, | ||
| 1706 | LONG lFlags, | ||
| 1707 | BSTR bstrDeviceID, | ||
| 1708 | const GUID *pEventGUID, | ||
| 1709 | const GUID *pClsID, | ||
| 1710 | BSTR bstrName, | ||
| 1711 | BSTR bstrDescription, | ||
| 1712 | BSTR bstrIcon); | ||
| 1713 | |||
| 1714 | HRESULT (STDMETHODCALLTYPE *GetImageDlg)( | ||
| 1715 | IWiaDevMgr2 *This, | ||
| 1716 | LONG lFlags, | ||
| 1717 | BSTR bstrDeviceID, | ||
| 1718 | HWND hwndParent, | ||
| 1719 | BSTR bstrFolderName, | ||
| 1720 | BSTR bstrFilename, | ||
| 1721 | LONG *plNumFiles, | ||
| 1722 | BSTR **ppbstrFilePaths, | ||
| 1723 | IWiaItem2 **ppItem); | ||
| 1724 | |||
| 1725 | END_INTERFACE | ||
| 1726 | } IWiaDevMgr2Vtbl; | ||
| 1727 | |||
| 1728 | interface IWiaDevMgr2 { | ||
| 1729 | CONST_VTBL IWiaDevMgr2Vtbl* lpVtbl; | ||
| 1730 | }; | ||
| 1731 | |||
| 1732 | #ifdef COBJMACROS | ||
| 1733 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 1734 | /*** IUnknown methods ***/ | ||
| 1735 | #define IWiaDevMgr2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 1736 | #define IWiaDevMgr2_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 1737 | #define IWiaDevMgr2_Release(This) (This)->lpVtbl->Release(This) | ||
| 1738 | /*** IWiaDevMgr2 methods ***/ | ||
| 1739 | #define IWiaDevMgr2_EnumDeviceInfo(This,lFlags,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum) | ||
| 1740 | #define IWiaDevMgr2_CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) (This)->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) | ||
| 1741 | #define IWiaDevMgr2_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | ||
| 1742 | #define IWiaDevMgr2_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | ||
| 1743 | #define IWiaDevMgr2_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | ||
| 1744 | #define IWiaDevMgr2_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) | ||
| 1745 | #define IWiaDevMgr2_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | ||
| 1746 | #define IWiaDevMgr2_GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) | ||
| 1747 | #else | ||
| 1748 | /*** IUnknown methods ***/ | ||
| 1749 | static inline HRESULT IWiaDevMgr2_QueryInterface(IWiaDevMgr2* This,REFIID riid,void **ppvObject) { | ||
| 1750 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 1751 | } | ||
| 1752 | static inline ULONG IWiaDevMgr2_AddRef(IWiaDevMgr2* This) { | ||
| 1753 | return This->lpVtbl->AddRef(This); | ||
| 1754 | } | ||
| 1755 | static inline ULONG IWiaDevMgr2_Release(IWiaDevMgr2* This) { | ||
| 1756 | return This->lpVtbl->Release(This); | ||
| 1757 | } | ||
| 1758 | /*** IWiaDevMgr2 methods ***/ | ||
| 1759 | static inline HRESULT IWiaDevMgr2_EnumDeviceInfo(IWiaDevMgr2* This,LONG lFlags,IEnumWIA_DEV_INFO **ppIEnum) { | ||
| 1760 | return This->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum); | ||
| 1761 | } | ||
| 1762 | static inline HRESULT IWiaDevMgr2_CreateDevice(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,IWiaItem2 **ppWiaItem2Root) { | ||
| 1763 | return This->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root); | ||
| 1764 | } | ||
| 1765 | static inline HRESULT IWiaDevMgr2_SelectDeviceDlg(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem2 **ppItemRoot) { | ||
| 1766 | return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); | ||
| 1767 | } | ||
| 1768 | static inline HRESULT IWiaDevMgr2_SelectDeviceDlgID(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { | ||
| 1769 | return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); | ||
| 1770 | } | ||
| 1771 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackInterface(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { | ||
| 1772 | return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); | ||
| 1773 | } | ||
| 1774 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackProgram(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrFullAppName,BSTR bstrCommandLineArg,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 1775 | return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon); | ||
| 1776 | } | ||
| 1777 | static inline HRESULT IWiaDevMgr2_RegisterEventCallbackCLSID(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 1778 | return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); | ||
| 1779 | } | ||
| 1780 | static inline HRESULT IWiaDevMgr2_GetImageDlg(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { | ||
| 1781 | return This->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); | ||
| 1782 | } | ||
| 1783 | #endif | ||
| 1784 | #endif | ||
| 1785 | |||
| 1786 | #endif | ||
| 1787 | |||
| 1788 | |||
| 1789 | #endif /* __IWiaDevMgr2_INTERFACE_DEFINED__ */ | ||
| 1790 | |||
| 1791 | /***************************************************************************** | ||
| 1792 | * WiaDevMgr2 coclass | ||
| 1793 | */ | ||
| 1794 | |||
| 1795 | DEFINE_GUID(CLSID_WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99); | ||
| 1796 | |||
| 1797 | #ifdef __cplusplus | ||
| 1798 | class DECLSPEC_UUID("b6c292bc-7c88-41ee-8b54-8ec92617e599") WiaDevMgr2; | ||
| 1799 | #ifdef __CRT_UUID_DECL | ||
| 1800 | __CRT_UUID_DECL(WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99) | ||
| 1801 | #endif | ||
| 1802 | #endif | ||
| 1803 | |||
| 1804 | /* Begin additional prototypes for all interfaces */ | ||
| 1805 | |||
| 1806 | ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); | ||
| 1807 | unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); | ||
| 1808 | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | ||
| 1809 | void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); | ||
| 1810 | ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); | ||
| 1811 | unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); | ||
| 1812 | unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); | ||
| 1813 | void __RPC_USER HWND_UserFree (ULONG *, HWND *); | ||
| 1814 | |||
| 1815 | /* End additional prototypes */ | ||
| 1816 | |||
| 1817 | #ifdef __cplusplus | ||
| 1818 | } | ||
| 1819 | #endif | ||
| 1820 | |||
| 1821 | #endif /* __wia_lh_h__ */ | ||
lib/libc/include/any-windows-any/wia_xp.h created+692| ... | @@ -0,0 +1,692 @@ | ||
| 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wia_xp.idl - Do not edit ***/ | ||
| 2 | |||
| 3 | #ifdef _WIN32 | ||
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | ||
| 5 | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | ||
| 6 | #endif | ||
| 7 | #include <rpc.h> | ||
| 8 | #include <rpcndr.h> | ||
| 9 | #endif | ||
| 10 | |||
| 11 | #ifndef COM_NO_WINDOWS_H | ||
| 12 | #include <windows.h> | ||
| 13 | #include <ole2.h> | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #ifndef __wia_xp_h__ | ||
| 17 | #define __wia_xp_h__ | ||
| 18 | |||
| 19 | /* Forward declarations */ | ||
| 20 | |||
| 21 | #ifndef __IWiaDevMgr_FWD_DEFINED__ | ||
| 22 | #define __IWiaDevMgr_FWD_DEFINED__ | ||
| 23 | typedef interface IWiaDevMgr IWiaDevMgr; | ||
| 24 | #ifdef __cplusplus | ||
| 25 | interface IWiaDevMgr; | ||
| 26 | #endif /* __cplusplus */ | ||
| 27 | #endif | ||
| 28 | |||
| 29 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 30 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 31 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | ||
| 32 | #ifdef __cplusplus | ||
| 33 | interface IEnumWIA_DEV_INFO; | ||
| 34 | #endif /* __cplusplus */ | ||
| 35 | #endif | ||
| 36 | |||
| 37 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 38 | #define __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 39 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | ||
| 40 | #ifdef __cplusplus | ||
| 41 | interface IWiaPropertyStorage; | ||
| 42 | #endif /* __cplusplus */ | ||
| 43 | #endif | ||
| 44 | |||
| 45 | #ifndef __IWiaItem_FWD_DEFINED__ | ||
| 46 | #define __IWiaItem_FWD_DEFINED__ | ||
| 47 | typedef interface IWiaItem IWiaItem; | ||
| 48 | #ifdef __cplusplus | ||
| 49 | interface IWiaItem; | ||
| 50 | #endif /* __cplusplus */ | ||
| 51 | #endif | ||
| 52 | |||
| 53 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | ||
| 54 | #define __IWiaEventCallback_FWD_DEFINED__ | ||
| 55 | typedef interface IWiaEventCallback IWiaEventCallback; | ||
| 56 | #ifdef __cplusplus | ||
| 57 | interface IWiaEventCallback; | ||
| 58 | #endif /* __cplusplus */ | ||
| 59 | #endif | ||
| 60 | |||
| 61 | /* Headers for imported files */ | ||
| 62 | |||
| 63 | #include <unknwn.h> | ||
| 64 | #include <oaidl.h> | ||
| 65 | #include <propidl.h> | ||
| 66 | |||
| 67 | #ifdef __cplusplus | ||
| 68 | extern "C" { | ||
| 69 | #endif | ||
| 70 | |||
| 71 | #include <wiadef.h> | ||
| 72 | #ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 73 | #define __IEnumWIA_DEV_INFO_FWD_DEFINED__ | ||
| 74 | typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; | ||
| 75 | #ifdef __cplusplus | ||
| 76 | interface IEnumWIA_DEV_INFO; | ||
| 77 | #endif /* __cplusplus */ | ||
| 78 | #endif | ||
| 79 | |||
| 80 | #ifndef __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 81 | #define __IWiaPropertyStorage_FWD_DEFINED__ | ||
| 82 | typedef interface IWiaPropertyStorage IWiaPropertyStorage; | ||
| 83 | #ifdef __cplusplus | ||
| 84 | interface IWiaPropertyStorage; | ||
| 85 | #endif /* __cplusplus */ | ||
| 86 | #endif | ||
| 87 | |||
| 88 | #ifndef __IWiaItem_FWD_DEFINED__ | ||
| 89 | #define __IWiaItem_FWD_DEFINED__ | ||
| 90 | typedef interface IWiaItem IWiaItem; | ||
| 91 | #ifdef __cplusplus | ||
| 92 | interface IWiaItem; | ||
| 93 | #endif /* __cplusplus */ | ||
| 94 | #endif | ||
| 95 | |||
| 96 | #ifndef __IWiaEventCallback_FWD_DEFINED__ | ||
| 97 | #define __IWiaEventCallback_FWD_DEFINED__ | ||
| 98 | typedef interface IWiaEventCallback IWiaEventCallback; | ||
| 99 | #ifdef __cplusplus | ||
| 100 | interface IWiaEventCallback; | ||
| 101 | #endif /* __cplusplus */ | ||
| 102 | #endif | ||
| 103 | |||
| 104 | DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 105 | /***************************************************************************** | ||
| 106 | * IWiaDevMgr interface | ||
| 107 | */ | ||
| 108 | #ifndef __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 109 | #define __IWiaDevMgr_INTERFACE_DEFINED__ | ||
| 110 | |||
| 111 | DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 112 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 113 | MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811") | ||
| 114 | IWiaDevMgr : public IUnknown | ||
| 115 | { | ||
| 116 | virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( | ||
| 117 | LONG lFlag, | ||
| 118 | IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 119 | |||
| 120 | virtual HRESULT STDMETHODCALLTYPE CreateDevice( | ||
| 121 | BSTR bstrDeviceID, | ||
| 122 | IWiaItem **ppWiaItemRoot) = 0; | ||
| 123 | |||
| 124 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( | ||
| 125 | HWND hwndParent, | ||
| 126 | LONG lDeviceType, | ||
| 127 | LONG lFlags, | ||
| 128 | BSTR *pbstrDeviceID, | ||
| 129 | IWiaItem **ppItemRoot) = 0; | ||
| 130 | |||
| 131 | virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( | ||
| 132 | HWND hwndParent, | ||
| 133 | LONG lDeviceType, | ||
| 134 | LONG lFlags, | ||
| 135 | BSTR *pbstrDeviceID) = 0; | ||
| 136 | |||
| 137 | virtual HRESULT STDMETHODCALLTYPE GetImageDlg( | ||
| 138 | HWND hwndParent, | ||
| 139 | LONG lDeviceType, | ||
| 140 | LONG lFlags, | ||
| 141 | LONG lIntent, | ||
| 142 | IWiaItem *pItemRoot, | ||
| 143 | BSTR bstrFilename, | ||
| 144 | GUID *pguidFormat) = 0; | ||
| 145 | |||
| 146 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( | ||
| 147 | LONG lFlags, | ||
| 148 | BSTR bstrDeviceID, | ||
| 149 | const GUID *pEventGUID, | ||
| 150 | BSTR bstrCommandline, | ||
| 151 | BSTR bstrName, | ||
| 152 | BSTR bstrDescription, | ||
| 153 | BSTR bstrIcon) = 0; | ||
| 154 | |||
| 155 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( | ||
| 156 | LONG lFlags, | ||
| 157 | BSTR bstrDeviceID, | ||
| 158 | const GUID *pEventGUID, | ||
| 159 | IWiaEventCallback *pIWiaEventCallback, | ||
| 160 | IUnknown **pEventObject) = 0; | ||
| 161 | |||
| 162 | virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( | ||
| 163 | LONG lFlags, | ||
| 164 | BSTR bstrDeviceID, | ||
| 165 | const GUID *pEventGUID, | ||
| 166 | const GUID *pClsID, | ||
| 167 | BSTR bstrName, | ||
| 168 | BSTR bstrDescription, | ||
| 169 | BSTR bstrIcon) = 0; | ||
| 170 | |||
| 171 | virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg( | ||
| 172 | HWND hwndParent, | ||
| 173 | LONG lFlags) = 0; | ||
| 174 | |||
| 175 | }; | ||
| 176 | #ifdef __CRT_UUID_DECL | ||
| 177 | __CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | ||
| 178 | #endif | ||
| 179 | #else | ||
| 180 | typedef struct IWiaDevMgrVtbl { | ||
| 181 | BEGIN_INTERFACE | ||
| 182 | |||
| 183 | /*** IUnknown methods ***/ | ||
| 184 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 185 | IWiaDevMgr *This, | ||
| 186 | REFIID riid, | ||
| 187 | void **ppvObject); | ||
| 188 | |||
| 189 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 190 | IWiaDevMgr *This); | ||
| 191 | |||
| 192 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 193 | IWiaDevMgr *This); | ||
| 194 | |||
| 195 | /*** IWiaDevMgr methods ***/ | ||
| 196 | HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( | ||
| 197 | IWiaDevMgr *This, | ||
| 198 | LONG lFlag, | ||
| 199 | IEnumWIA_DEV_INFO **ppIEnum); | ||
| 200 | |||
| 201 | HRESULT (STDMETHODCALLTYPE *CreateDevice)( | ||
| 202 | IWiaDevMgr *This, | ||
| 203 | BSTR bstrDeviceID, | ||
| 204 | IWiaItem **ppWiaItemRoot); | ||
| 205 | |||
| 206 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( | ||
| 207 | IWiaDevMgr *This, | ||
| 208 | HWND hwndParent, | ||
| 209 | LONG lDeviceType, | ||
| 210 | LONG lFlags, | ||
| 211 | BSTR *pbstrDeviceID, | ||
| 212 | IWiaItem **ppItemRoot); | ||
| 213 | |||
| 214 | HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( | ||
| 215 | IWiaDevMgr *This, | ||
| 216 | HWND hwndParent, | ||
| 217 | LONG lDeviceType, | ||
| 218 | LONG lFlags, | ||
| 219 | BSTR *pbstrDeviceID); | ||
| 220 | |||
| 221 | HRESULT (STDMETHODCALLTYPE *GetImageDlg)( | ||
| 222 | IWiaDevMgr *This, | ||
| 223 | HWND hwndParent, | ||
| 224 | LONG lDeviceType, | ||
| 225 | LONG lFlags, | ||
| 226 | LONG lIntent, | ||
| 227 | IWiaItem *pItemRoot, | ||
| 228 | BSTR bstrFilename, | ||
| 229 | GUID *pguidFormat); | ||
| 230 | |||
| 231 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( | ||
| 232 | IWiaDevMgr *This, | ||
| 233 | LONG lFlags, | ||
| 234 | BSTR bstrDeviceID, | ||
| 235 | const GUID *pEventGUID, | ||
| 236 | BSTR bstrCommandline, | ||
| 237 | BSTR bstrName, | ||
| 238 | BSTR bstrDescription, | ||
| 239 | BSTR bstrIcon); | ||
| 240 | |||
| 241 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( | ||
| 242 | IWiaDevMgr *This, | ||
| 243 | LONG lFlags, | ||
| 244 | BSTR bstrDeviceID, | ||
| 245 | const GUID *pEventGUID, | ||
| 246 | IWiaEventCallback *pIWiaEventCallback, | ||
| 247 | IUnknown **pEventObject); | ||
| 248 | |||
| 249 | HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( | ||
| 250 | IWiaDevMgr *This, | ||
| 251 | LONG lFlags, | ||
| 252 | BSTR bstrDeviceID, | ||
| 253 | const GUID *pEventGUID, | ||
| 254 | const GUID *pClsID, | ||
| 255 | BSTR bstrName, | ||
| 256 | BSTR bstrDescription, | ||
| 257 | BSTR bstrIcon); | ||
| 258 | |||
| 259 | HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)( | ||
| 260 | IWiaDevMgr *This, | ||
| 261 | HWND hwndParent, | ||
| 262 | LONG lFlags); | ||
| 263 | |||
| 264 | END_INTERFACE | ||
| 265 | } IWiaDevMgrVtbl; | ||
| 266 | |||
| 267 | interface IWiaDevMgr { | ||
| 268 | CONST_VTBL IWiaDevMgrVtbl* lpVtbl; | ||
| 269 | }; | ||
| 270 | |||
| 271 | #ifdef COBJMACROS | ||
| 272 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 273 | /*** IUnknown methods ***/ | ||
| 274 | #define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 275 | #define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 276 | #define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) | ||
| 277 | /*** IWiaDevMgr methods ***/ | ||
| 278 | #define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) | ||
| 279 | #define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) | ||
| 280 | #define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) | ||
| 281 | #define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) | ||
| 282 | #define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) | ||
| 283 | #define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) | ||
| 284 | #define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) | ||
| 285 | #define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) | ||
| 286 | #define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) | ||
| 287 | #else | ||
| 288 | /*** IUnknown methods ***/ | ||
| 289 | static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) { | ||
| 290 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 291 | } | ||
| 292 | static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) { | ||
| 293 | return This->lpVtbl->AddRef(This); | ||
| 294 | } | ||
| 295 | static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) { | ||
| 296 | return This->lpVtbl->Release(This); | ||
| 297 | } | ||
| 298 | /*** IWiaDevMgr methods ***/ | ||
| 299 | static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) { | ||
| 300 | return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum); | ||
| 301 | } | ||
| 302 | static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) { | ||
| 303 | return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot); | ||
| 304 | } | ||
| 305 | static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) { | ||
| 306 | return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); | ||
| 307 | } | ||
| 308 | static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { | ||
| 309 | return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); | ||
| 310 | } | ||
| 311 | static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) { | ||
| 312 | return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat); | ||
| 313 | } | ||
| 314 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 315 | return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon); | ||
| 316 | } | ||
| 317 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { | ||
| 318 | return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); | ||
| 319 | } | ||
| 320 | static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { | ||
| 321 | return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); | ||
| 322 | } | ||
| 323 | static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) { | ||
| 324 | return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags); | ||
| 325 | } | ||
| 326 | #endif | ||
| 327 | #endif | ||
| 328 | |||
| 329 | #endif | ||
| 330 | |||
| 331 | |||
| 332 | #endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */ | ||
| 333 | |||
| 334 | /***************************************************************************** | ||
| 335 | * IEnumWIA_DEV_INFO interface | ||
| 336 | */ | ||
| 337 | #ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 338 | #define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ | ||
| 339 | |||
| 340 | DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 341 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 342 | MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811") | ||
| 343 | IEnumWIA_DEV_INFO : public IUnknown | ||
| 344 | { | ||
| 345 | virtual HRESULT STDMETHODCALLTYPE Next( | ||
| 346 | ULONG celt, | ||
| 347 | IWiaPropertyStorage **rgelt, | ||
| 348 | ULONG *pceltFetched) = 0; | ||
| 349 | |||
| 350 | virtual HRESULT STDMETHODCALLTYPE Skip( | ||
| 351 | ULONG celt) = 0; | ||
| 352 | |||
| 353 | virtual HRESULT STDMETHODCALLTYPE Reset( | ||
| 354 | ) = 0; | ||
| 355 | |||
| 356 | virtual HRESULT STDMETHODCALLTYPE Clone( | ||
| 357 | IEnumWIA_DEV_INFO **ppIEnum) = 0; | ||
| 358 | |||
| 359 | virtual HRESULT STDMETHODCALLTYPE GetCount( | ||
| 360 | ULONG *celt) = 0; | ||
| 361 | |||
| 362 | }; | ||
| 363 | #ifdef __CRT_UUID_DECL | ||
| 364 | __CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) | ||
| 365 | #endif | ||
| 366 | #else | ||
| 367 | typedef struct IEnumWIA_DEV_INFOVtbl { | ||
| 368 | BEGIN_INTERFACE | ||
| 369 | |||
| 370 | /*** IUnknown methods ***/ | ||
| 371 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 372 | IEnumWIA_DEV_INFO *This, | ||
| 373 | REFIID riid, | ||
| 374 | void **ppvObject); | ||
| 375 | |||
| 376 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 377 | IEnumWIA_DEV_INFO *This); | ||
| 378 | |||
| 379 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 380 | IEnumWIA_DEV_INFO *This); | ||
| 381 | |||
| 382 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 383 | HRESULT (STDMETHODCALLTYPE *Next)( | ||
| 384 | IEnumWIA_DEV_INFO *This, | ||
| 385 | ULONG celt, | ||
| 386 | IWiaPropertyStorage **rgelt, | ||
| 387 | ULONG *pceltFetched); | ||
| 388 | |||
| 389 | HRESULT (STDMETHODCALLTYPE *Skip)( | ||
| 390 | IEnumWIA_DEV_INFO *This, | ||
| 391 | ULONG celt); | ||
| 392 | |||
| 393 | HRESULT (STDMETHODCALLTYPE *Reset)( | ||
| 394 | IEnumWIA_DEV_INFO *This); | ||
| 395 | |||
| 396 | HRESULT (STDMETHODCALLTYPE *Clone)( | ||
| 397 | IEnumWIA_DEV_INFO *This, | ||
| 398 | IEnumWIA_DEV_INFO **ppIEnum); | ||
| 399 | |||
| 400 | HRESULT (STDMETHODCALLTYPE *GetCount)( | ||
| 401 | IEnumWIA_DEV_INFO *This, | ||
| 402 | ULONG *celt); | ||
| 403 | |||
| 404 | END_INTERFACE | ||
| 405 | } IEnumWIA_DEV_INFOVtbl; | ||
| 406 | |||
| 407 | interface IEnumWIA_DEV_INFO { | ||
| 408 | CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl; | ||
| 409 | }; | ||
| 410 | |||
| 411 | #ifdef COBJMACROS | ||
| 412 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 413 | /*** IUnknown methods ***/ | ||
| 414 | #define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 415 | #define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 416 | #define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) | ||
| 417 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 418 | #define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) | ||
| 419 | #define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) | ||
| 420 | #define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) | ||
| 421 | #define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) | ||
| 422 | #define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) | ||
| 423 | #else | ||
| 424 | /*** IUnknown methods ***/ | ||
| 425 | static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) { | ||
| 426 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 427 | } | ||
| 428 | static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) { | ||
| 429 | return This->lpVtbl->AddRef(This); | ||
| 430 | } | ||
| 431 | static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) { | ||
| 432 | return This->lpVtbl->Release(This); | ||
| 433 | } | ||
| 434 | /*** IEnumWIA_DEV_INFO methods ***/ | ||
| 435 | static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) { | ||
| 436 | return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); | ||
| 437 | } | ||
| 438 | static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) { | ||
| 439 | return This->lpVtbl->Skip(This,celt); | ||
| 440 | } | ||
| 441 | static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) { | ||
| 442 | return This->lpVtbl->Reset(This); | ||
| 443 | } | ||
| 444 | static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) { | ||
| 445 | return This->lpVtbl->Clone(This,ppIEnum); | ||
| 446 | } | ||
| 447 | static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) { | ||
| 448 | return This->lpVtbl->GetCount(This,celt); | ||
| 449 | } | ||
| 450 | #endif | ||
| 451 | #endif | ||
| 452 | |||
| 453 | #endif | ||
| 454 | |||
| 455 | |||
| 456 | #endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */ | ||
| 457 | |||
| 458 | /***************************************************************************** | ||
| 459 | * IWiaPropertyStorage interface | ||
| 460 | */ | ||
| 461 | #ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 462 | #define __IWiaPropertyStorage_INTERFACE_DEFINED__ | ||
| 463 | |||
| 464 | DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6); | ||
| 465 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 466 | MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6") | ||
| 467 | IWiaPropertyStorage : public IUnknown | ||
| 468 | { | ||
| 469 | }; | ||
| 470 | #ifdef __CRT_UUID_DECL | ||
| 471 | __CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6) | ||
| 472 | #endif | ||
| 473 | #else | ||
| 474 | typedef struct IWiaPropertyStorageVtbl { | ||
| 475 | BEGIN_INTERFACE | ||
| 476 | |||
| 477 | /*** IUnknown methods ***/ | ||
| 478 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 479 | IWiaPropertyStorage *This, | ||
| 480 | REFIID riid, | ||
| 481 | void **ppvObject); | ||
| 482 | |||
| 483 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 484 | IWiaPropertyStorage *This); | ||
| 485 | |||
| 486 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 487 | IWiaPropertyStorage *This); | ||
| 488 | |||
| 489 | END_INTERFACE | ||
| 490 | } IWiaPropertyStorageVtbl; | ||
| 491 | |||
| 492 | interface IWiaPropertyStorage { | ||
| 493 | CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl; | ||
| 494 | }; | ||
| 495 | |||
| 496 | #ifdef COBJMACROS | ||
| 497 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 498 | /*** IUnknown methods ***/ | ||
| 499 | #define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 500 | #define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 501 | #define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) | ||
| 502 | #else | ||
| 503 | /*** IUnknown methods ***/ | ||
| 504 | static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) { | ||
| 505 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 506 | } | ||
| 507 | static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) { | ||
| 508 | return This->lpVtbl->AddRef(This); | ||
| 509 | } | ||
| 510 | static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) { | ||
| 511 | return This->lpVtbl->Release(This); | ||
| 512 | } | ||
| 513 | #endif | ||
| 514 | #endif | ||
| 515 | |||
| 516 | #endif | ||
| 517 | |||
| 518 | |||
| 519 | #endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */ | ||
| 520 | |||
| 521 | /***************************************************************************** | ||
| 522 | * IWiaItem interface | ||
| 523 | */ | ||
| 524 | #ifndef __IWiaItem_INTERFACE_DEFINED__ | ||
| 525 | #define __IWiaItem_INTERFACE_DEFINED__ | ||
| 526 | |||
| 527 | DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 528 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 529 | MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145") | ||
| 530 | IWiaItem : public IUnknown | ||
| 531 | { | ||
| 532 | }; | ||
| 533 | #ifdef __CRT_UUID_DECL | ||
| 534 | __CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45) | ||
| 535 | #endif | ||
| 536 | #else | ||
| 537 | typedef struct IWiaItemVtbl { | ||
| 538 | BEGIN_INTERFACE | ||
| 539 | |||
| 540 | /*** IUnknown methods ***/ | ||
| 541 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 542 | IWiaItem *This, | ||
| 543 | REFIID riid, | ||
| 544 | void **ppvObject); | ||
| 545 | |||
| 546 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 547 | IWiaItem *This); | ||
| 548 | |||
| 549 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 550 | IWiaItem *This); | ||
| 551 | |||
| 552 | END_INTERFACE | ||
| 553 | } IWiaItemVtbl; | ||
| 554 | |||
| 555 | interface IWiaItem { | ||
| 556 | CONST_VTBL IWiaItemVtbl* lpVtbl; | ||
| 557 | }; | ||
| 558 | |||
| 559 | #ifdef COBJMACROS | ||
| 560 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 561 | /*** IUnknown methods ***/ | ||
| 562 | #define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 563 | #define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 564 | #define IWiaItem_Release(This) (This)->lpVtbl->Release(This) | ||
| 565 | #else | ||
| 566 | /*** IUnknown methods ***/ | ||
| 567 | static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) { | ||
| 568 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 569 | } | ||
| 570 | static inline ULONG IWiaItem_AddRef(IWiaItem* This) { | ||
| 571 | return This->lpVtbl->AddRef(This); | ||
| 572 | } | ||
| 573 | static inline ULONG IWiaItem_Release(IWiaItem* This) { | ||
| 574 | return This->lpVtbl->Release(This); | ||
| 575 | } | ||
| 576 | #endif | ||
| 577 | #endif | ||
| 578 | |||
| 579 | #endif | ||
| 580 | |||
| 581 | |||
| 582 | #endif /* __IWiaItem_INTERFACE_DEFINED__ */ | ||
| 583 | |||
| 584 | /***************************************************************************** | ||
| 585 | * IWiaEventCallback interface | ||
| 586 | */ | ||
| 587 | #ifndef __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 588 | #define __IWiaEventCallback_INTERFACE_DEFINED__ | ||
| 589 | |||
| 590 | DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e); | ||
| 591 | #if defined(__cplusplus) && !defined(CINTERFACE) | ||
| 592 | MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e") | ||
| 593 | IWiaEventCallback : public IUnknown | ||
| 594 | { | ||
| 595 | virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( | ||
| 596 | const GUID *pEventGUID, | ||
| 597 | BSTR bstrEventDescription, | ||
| 598 | BSTR bstrDeviceID, | ||
| 599 | BSTR bstrDeviceDescription, | ||
| 600 | DWORD dwDeviceType, | ||
| 601 | BSTR bstrFullItemName, | ||
| 602 | ULONG *pulEventType, | ||
| 603 | ULONG ulReserved) = 0; | ||
| 604 | |||
| 605 | }; | ||
| 606 | #ifdef __CRT_UUID_DECL | ||
| 607 | __CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e) | ||
| 608 | #endif | ||
| 609 | #else | ||
| 610 | typedef struct IWiaEventCallbackVtbl { | ||
| 611 | BEGIN_INTERFACE | ||
| 612 | |||
| 613 | /*** IUnknown methods ***/ | ||
| 614 | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | ||
| 615 | IWiaEventCallback *This, | ||
| 616 | REFIID riid, | ||
| 617 | void **ppvObject); | ||
| 618 | |||
| 619 | ULONG (STDMETHODCALLTYPE *AddRef)( | ||
| 620 | IWiaEventCallback *This); | ||
| 621 | |||
| 622 | ULONG (STDMETHODCALLTYPE *Release)( | ||
| 623 | IWiaEventCallback *This); | ||
| 624 | |||
| 625 | /*** IWiaEventCallback methods ***/ | ||
| 626 | HRESULT (STDMETHODCALLTYPE *ImageEventCallback)( | ||
| 627 | IWiaEventCallback *This, | ||
| 628 | const GUID *pEventGUID, | ||
| 629 | BSTR bstrEventDescription, | ||
| 630 | BSTR bstrDeviceID, | ||
| 631 | BSTR bstrDeviceDescription, | ||
| 632 | DWORD dwDeviceType, | ||
| 633 | BSTR bstrFullItemName, | ||
| 634 | ULONG *pulEventType, | ||
| 635 | ULONG ulReserved); | ||
| 636 | |||
| 637 | END_INTERFACE | ||
| 638 | } IWiaEventCallbackVtbl; | ||
| 639 | |||
| 640 | interface IWiaEventCallback { | ||
| 641 | CONST_VTBL IWiaEventCallbackVtbl* lpVtbl; | ||
| 642 | }; | ||
| 643 | |||
| 644 | #ifdef COBJMACROS | ||
| 645 | #ifndef WIDL_C_INLINE_WRAPPERS | ||
| 646 | /*** IUnknown methods ***/ | ||
| 647 | #define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | ||
| 648 | #define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | ||
| 649 | #define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) | ||
| 650 | /*** IWiaEventCallback methods ***/ | ||
| 651 | #define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) | ||
| 652 | #else | ||
| 653 | /*** IUnknown methods ***/ | ||
| 654 | static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) { | ||
| 655 | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | ||
| 656 | } | ||
| 657 | static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) { | ||
| 658 | return This->lpVtbl->AddRef(This); | ||
| 659 | } | ||
| 660 | static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) { | ||
| 661 | return This->lpVtbl->Release(This); | ||
| 662 | } | ||
| 663 | /*** IWiaEventCallback methods ***/ | ||
| 664 | static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) { | ||
| 665 | return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved); | ||
| 666 | } | ||
| 667 | #endif | ||
| 668 | #endif | ||
| 669 | |||
| 670 | #endif | ||
| 671 | |||
| 672 | |||
| 673 | #endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */ | ||
| 674 | |||
| 675 | /* Begin additional prototypes for all interfaces */ | ||
| 676 | |||
| 677 | ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); | ||
| 678 | unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); | ||
| 679 | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | ||
| 680 | void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); | ||
| 681 | ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); | ||
| 682 | unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); | ||
| 683 | unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); | ||
| 684 | void __RPC_USER HWND_UserFree (ULONG *, HWND *); | ||
| 685 | |||
| 686 | /* End additional prototypes */ | ||
| 687 | |||
| 688 | #ifdef __cplusplus | ||
| 689 | } | ||
| 690 | #endif | ||
| 691 | |||
| 692 | #endif /* __wia_xp_h__ */ | ||
lib/libc/include/any-windows-any/wiadef.h-4| ... | @@ -12,10 +12,6 @@ | ... | @@ -12,10 +12,6 @@ |
| 12 | #include <objbase.h> | 12 | #include <objbase.h> |
| 13 | #endif | 13 | #endif |
| 14 | 14 | ||
| 15 | #ifndef __wia_h__ | ||
| 16 | #error Please include in front wia.h instead. | ||
| 17 | #endif | ||
| 18 | |||
| 19 | #ifdef __cplusplus | 15 | #ifdef __cplusplus |
| 20 | extern "C" { | 16 | extern "C" { |
| 21 | #endif | 17 | #endif |
lib/libc/include/any-windows-any/wincodec.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wincodec.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wincodec.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wincodecsdk.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wincodecsdk.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wincodecsdk.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wincon.h+13-400| ... | @@ -3,422 +3,35 @@ | ... | @@ -3,422 +3,35 @@ |
| 3 | * This file is part of the mingw-w64 runtime package. | 3 | * This file is part of the mingw-w64 runtime package. |
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 | */ | 5 | */ |
| 6 | |||
| 6 | #ifndef _WINCON_ | 7 | #ifndef _WINCON_ |
| 7 | #define _WINCON_ | 8 | #define _WINCON_ |
| 8 | 9 | ||
| 9 | #include <_mingw_unicode.h> | ||
| 10 | |||
| 11 | #include <winapifamily.h> | 10 | #include <winapifamily.h> |
| 12 | 11 | ||
| 13 | #ifdef __cplusplus | 12 | #ifdef __cplusplus |
| 14 | extern "C" { | 13 | extern "C" { |
| 15 | #endif | 14 | #endif |
| 16 | 15 | ||
| 17 | #define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2)) | 16 | #include <wincontypes.h> |
| 18 | #define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3)) | ||
| 19 | |||
| 20 | typedef struct _COORD { | ||
| 21 | SHORT X; | ||
| 22 | SHORT Y; | ||
| 23 | } COORD,*PCOORD; | ||
| 24 | |||
| 25 | typedef struct _SMALL_RECT { | ||
| 26 | SHORT Left; | ||
| 27 | SHORT Top; | ||
| 28 | SHORT Right; | ||
| 29 | SHORT Bottom; | ||
| 30 | } SMALL_RECT,*PSMALL_RECT; | ||
| 31 | |||
| 32 | typedef struct _KEY_EVENT_RECORD { | ||
| 33 | WINBOOL bKeyDown; | ||
| 34 | WORD wRepeatCount; | ||
| 35 | WORD wVirtualKeyCode; | ||
| 36 | WORD wVirtualScanCode; | ||
| 37 | union { | ||
| 38 | WCHAR UnicodeChar; | ||
| 39 | CHAR AsciiChar; | ||
| 40 | } uChar; | ||
| 41 | DWORD dwControlKeyState; | ||
| 42 | } KEY_EVENT_RECORD,*PKEY_EVENT_RECORD; | ||
| 43 | |||
| 44 | #define RIGHT_ALT_PRESSED 0x1 | ||
| 45 | #define LEFT_ALT_PRESSED 0x2 | ||
| 46 | #define RIGHT_CTRL_PRESSED 0x4 | ||
| 47 | #define LEFT_CTRL_PRESSED 0x8 | ||
| 48 | #define SHIFT_PRESSED 0x10 | ||
| 49 | #define NUMLOCK_ON 0x20 | ||
| 50 | #define SCROLLLOCK_ON 0x40 | ||
| 51 | #define CAPSLOCK_ON 0x80 | ||
| 52 | #define ENHANCED_KEY 0x100 | ||
| 53 | #define NLS_DBCSCHAR 0x10000 | ||
| 54 | #define NLS_ALPHANUMERIC 0x0 | ||
| 55 | #define NLS_KATAKANA 0x20000 | ||
| 56 | #define NLS_HIRAGANA 0x40000 | ||
| 57 | #define NLS_ROMAN 0x400000 | ||
| 58 | #define NLS_IME_CONVERSION 0x800000 | ||
| 59 | #define ALTNUMPAD_BIT 0x4000000 | ||
| 60 | #define NLS_IME_DISABLE 0x20000000 | ||
| 61 | |||
| 62 | typedef struct _MOUSE_EVENT_RECORD { | ||
| 63 | COORD dwMousePosition; | ||
| 64 | DWORD dwButtonState; | ||
| 65 | DWORD dwControlKeyState; | ||
| 66 | DWORD dwEventFlags; | ||
| 67 | } MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD; | ||
| 68 | 17 | ||
| 69 | #define FROM_LEFT_1ST_BUTTON_PRESSED 0x1 | 18 | #ifndef NOGDI |
| 70 | #define RIGHTMOST_BUTTON_PRESSED 0x2 | 19 | #include <wingdi.h> |
| 71 | #define FROM_LEFT_2ND_BUTTON_PRESSED 0x4 | ||
| 72 | #define FROM_LEFT_3RD_BUTTON_PRESSED 0x8 | ||
| 73 | #define FROM_LEFT_4TH_BUTTON_PRESSED 0x10 | ||
| 74 | |||
| 75 | #define MOUSE_MOVED 0x1 | ||
| 76 | #define DOUBLE_CLICK 0x2 | ||
| 77 | #define MOUSE_WHEELED 0x4 | ||
| 78 | #if (_WIN32_WINNT >= 0x0600) | ||
| 79 | #define MOUSE_HWHEELED 0x8 | ||
| 80 | #endif | 20 | #endif |
| 81 | 21 | ||
| 82 | typedef struct _WINDOW_BUFFER_SIZE_RECORD { | 22 | #ifndef NOAPISET |
| 83 | COORD dwSize; | 23 | #include <consoleapi.h> |
| 84 | } WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD; | 24 | #include <consoleapi2.h> |
| 85 | 25 | #include <consoleapi3.h> | |
| 86 | typedef struct _MENU_EVENT_RECORD { | 26 | #endif |
| 87 | UINT dwCommandId; | ||
| 88 | } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD; | ||
| 89 | |||
| 90 | typedef struct _FOCUS_EVENT_RECORD { | ||
| 91 | WINBOOL bSetFocus; | ||
| 92 | } FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD; | ||
| 93 | |||
| 94 | typedef struct _INPUT_RECORD { | ||
| 95 | WORD EventType; | ||
| 96 | union { | ||
| 97 | KEY_EVENT_RECORD KeyEvent; | ||
| 98 | MOUSE_EVENT_RECORD MouseEvent; | ||
| 99 | WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; | ||
| 100 | MENU_EVENT_RECORD MenuEvent; | ||
| 101 | FOCUS_EVENT_RECORD FocusEvent; | ||
| 102 | } Event; | ||
| 103 | } INPUT_RECORD,*PINPUT_RECORD; | ||
| 104 | |||
| 105 | #define KEY_EVENT 0x1 | ||
| 106 | #define MOUSE_EVENT 0x2 | ||
| 107 | #define WINDOW_BUFFER_SIZE_EVENT 0x4 | ||
| 108 | #define MENU_EVENT 0x8 | ||
| 109 | #define FOCUS_EVENT 0x10 | ||
| 110 | |||
| 111 | typedef struct _CHAR_INFO { | ||
| 112 | union { | ||
| 113 | WCHAR UnicodeChar; | ||
| 114 | CHAR AsciiChar; | ||
| 115 | } Char; | ||
| 116 | WORD Attributes; | ||
| 117 | } CHAR_INFO,*PCHAR_INFO; | ||
| 118 | |||
| 119 | #define FOREGROUND_BLUE 0x1 | ||
| 120 | #define FOREGROUND_GREEN 0x2 | ||
| 121 | #define FOREGROUND_RED 0x4 | ||
| 122 | #define FOREGROUND_INTENSITY 0x8 | ||
| 123 | #define BACKGROUND_BLUE 0x10 | ||
| 124 | #define BACKGROUND_GREEN 0x20 | ||
| 125 | #define BACKGROUND_RED 0x40 | ||
| 126 | #define BACKGROUND_INTENSITY 0x80 | ||
| 127 | #define COMMON_LVB_LEADING_BYTE 0x100 | ||
| 128 | #define COMMON_LVB_TRAILING_BYTE 0x200 | ||
| 129 | #define COMMON_LVB_GRID_HORIZONTAL 0x400 | ||
| 130 | #define COMMON_LVB_GRID_LVERTICAL 0x800 | ||
| 131 | #define COMMON_LVB_GRID_RVERTICAL 0x1000 | ||
| 132 | #define COMMON_LVB_REVERSE_VIDEO 0x4000 | ||
| 133 | #define COMMON_LVB_UNDERSCORE 0x8000 | ||
| 134 | |||
| 135 | #define COMMON_LVB_SBCSDBCS 0x300 | ||
| 136 | |||
| 137 | typedef struct _CONSOLE_SCREEN_BUFFER_INFO { | ||
| 138 | COORD dwSize; | ||
| 139 | COORD dwCursorPosition; | ||
| 140 | WORD wAttributes; | ||
| 141 | SMALL_RECT srWindow; | ||
| 142 | COORD dwMaximumWindowSize; | ||
| 143 | } CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO; | ||
| 144 | |||
| 145 | typedef struct _CONSOLE_CURSOR_INFO { | ||
| 146 | DWORD dwSize; | ||
| 147 | WINBOOL bVisible; | ||
| 148 | } CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO; | ||
| 149 | |||
| 150 | typedef struct _CONSOLE_FONT_INFO { | ||
| 151 | DWORD nFont; | ||
| 152 | COORD dwFontSize; | ||
| 153 | } CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO; | ||
| 154 | |||
| 155 | typedef struct _CONSOLE_SELECTION_INFO { | ||
| 156 | DWORD dwFlags; | ||
| 157 | COORD dwSelectionAnchor; | ||
| 158 | SMALL_RECT srSelection; | ||
| 159 | } CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO; | ||
| 160 | |||
| 161 | #define CONSOLE_NO_SELECTION 0x0 | ||
| 162 | #define CONSOLE_SELECTION_IN_PROGRESS 0x1 | ||
| 163 | #define CONSOLE_SELECTION_NOT_EMPTY 0x2 | ||
| 164 | #define CONSOLE_MOUSE_SELECTION 0x4 | ||
| 165 | #define CONSOLE_MOUSE_DOWN 0x8 | ||
| 166 | |||
| 167 | typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD CtrlType); | ||
| 168 | |||
| 169 | #define CTRL_C_EVENT 0 | ||
| 170 | #define CTRL_BREAK_EVENT 1 | ||
| 171 | #define CTRL_CLOSE_EVENT 2 | ||
| 172 | |||
| 173 | #define CTRL_LOGOFF_EVENT 5 | ||
| 174 | #define CTRL_SHUTDOWN_EVENT 6 | ||
| 175 | |||
| 176 | #define ENABLE_PROCESSED_INPUT 0x1 | ||
| 177 | #define ENABLE_LINE_INPUT 0x2 | ||
| 178 | #define ENABLE_ECHO_INPUT 0x4 | ||
| 179 | #define ENABLE_WINDOW_INPUT 0x8 | ||
| 180 | #define ENABLE_MOUSE_INPUT 0x10 | ||
| 181 | #define ENABLE_INSERT_MODE 0x20 | ||
| 182 | #define ENABLE_QUICK_EDIT_MODE 0x40 | ||
| 183 | #define ENABLE_EXTENDED_FLAGS 0x80 | ||
| 184 | #define ENABLE_AUTO_POSITION 0x100 | ||
| 185 | #define ENABLE_VIRTUAL_TERMINAL_INPUT 0x200 | ||
| 186 | |||
| 187 | #define ENABLE_PROCESSED_OUTPUT 0x1 | ||
| 188 | #define ENABLE_WRAP_AT_EOL_OUTPUT 0x2 | ||
| 189 | #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x4 | ||
| 190 | #define DISABLE_NEWLINE_AUTO_RETURN 0x8 | ||
| 191 | #define ENABLE_LVB_GRID_WORLDWIDE 0x10 | ||
| 192 | |||
| 193 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 194 | |||
| 195 | #define PeekConsoleInput __MINGW_NAME_AW(PeekConsoleInput) | ||
| 196 | #define ReadConsoleInput __MINGW_NAME_AW(ReadConsoleInput) | ||
| 197 | #define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput) | ||
| 198 | #define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput) | ||
| 199 | #define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput) | ||
| 200 | #define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter) | ||
| 201 | #define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter) | ||
| 202 | #define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter) | ||
| 203 | #define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer) | ||
| 204 | #define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle) | ||
| 205 | #define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle) | ||
| 206 | #define ReadConsole __MINGW_NAME_AW(ReadConsole) | ||
| 207 | #define WriteConsole __MINGW_NAME_AW(WriteConsole) | ||
| 208 | #define AddConsoleAlias __MINGW_NAME_AW(AddConsoleAlias) | ||
| 209 | #define GetConsoleAlias __MINGW_NAME_AW(GetConsoleAlias) | ||
| 210 | #define GetConsoleAliasesLength __MINGW_NAME_AW(GetConsoleAliasesLength) | ||
| 211 | #define GetConsoleAliasExesLength __MINGW_NAME_AW(GetConsoleAliasExesLength) | ||
| 212 | #define GetConsoleAliases __MINGW_NAME_AW(GetConsoleAliases) | ||
| 213 | #define GetConsoleAliasExes __MINGW_NAME_AW(GetConsoleAliasExes) | ||
| 214 | |||
| 215 | WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | ||
| 216 | WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | ||
| 217 | WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | ||
| 218 | WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | ||
| 219 | WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); | ||
| 220 | WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); | ||
| 221 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); | ||
| 222 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); | ||
| 223 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); | ||
| 224 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); | ||
| 225 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); | ||
| 226 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); | ||
| 227 | WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead); | ||
| 228 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | ||
| 229 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | ||
| 230 | WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE hConsoleOutput,CONST WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); | ||
| 231 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | ||
| 232 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | ||
| 233 | WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); | ||
| 234 | WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode); | ||
| 235 | WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents); | ||
| 236 | WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); | ||
| 237 | WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE hConsoleOutput); | ||
| 238 | WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo); | ||
| 239 | WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont); | ||
| 240 | WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont); | ||
| 241 | WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo); | ||
| 242 | WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons); | ||
| 243 | WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode); | ||
| 244 | WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput); | ||
| 245 | WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE hConsoleInput); | ||
| 246 | WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize); | ||
| 247 | WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition); | ||
| 248 | WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo); | ||
| 249 | WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); | ||
| 250 | WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); | ||
| 251 | WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,CONST SMALL_RECT *lpConsoleWindow); | ||
| 252 | WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes); | ||
| 253 | WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add); | ||
| 254 | WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId); | ||
| 255 | WINBASEAPI WINBOOL WINAPI AllocConsole(VOID); | ||
| 256 | WINBASEAPI WINBOOL WINAPI FreeConsole(VOID); | ||
| 257 | WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD dwProcessId); | ||
| 258 | |||
| 259 | #define ATTACH_PARENT_PROCESS ((DWORD)-1) | ||
| 260 | 27 | ||
| 261 | WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize); | 28 | #define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2)) |
| 262 | WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize); | 29 | #define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3)) |
| 263 | WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR lpConsoleTitle); | ||
| 264 | WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR lpConsoleTitle); | ||
| 265 | WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); | ||
| 266 | WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); | ||
| 267 | WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); | ||
| 268 | WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); | ||
| 269 | 30 | ||
| 270 | #define CONSOLE_TEXTMODE_BUFFER 1 | 31 | #define CONSOLE_TEXTMODE_BUFFER 1 |
| 271 | 32 | ||
| 272 | WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData); | ||
| 273 | WINBASEAPI UINT WINAPI GetConsoleCP(VOID); | ||
| 274 | WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT wCodePageID); | ||
| 275 | WINBASEAPI UINT WINAPI GetConsoleOutputCP(VOID); | ||
| 276 | WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT wCodePageID); | ||
| 277 | |||
| 278 | #define CONSOLE_FULLSCREEN 1 | ||
| 279 | #define CONSOLE_FULLSCREEN_HARDWARE 2 | ||
| 280 | WINBASEAPI WINBOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags); | ||
| 281 | |||
| 282 | #define CONSOLE_FULLSCREEN_MODE 1 | ||
| 283 | #define CONSOLE_WINDOWED_MODE 2 | ||
| 284 | WINBASEAPI WINBOOL WINAPI SetConsoleDisplayMode(HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions); | ||
| 285 | |||
| 286 | WINBASEAPI HWND WINAPI GetConsoleWindow(VOID); | ||
| 287 | WINBASEAPI DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount); | ||
| 288 | WINBASEAPI WINBOOL WINAPI AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName); | ||
| 289 | WINBASEAPI WINBOOL WINAPI AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName); | ||
| 290 | WINBASEAPI DWORD WINAPI GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName); | ||
| 291 | WINBASEAPI DWORD WINAPI GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName); | ||
| 292 | WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(LPSTR ExeName); | ||
| 293 | WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR ExeName); | ||
| 294 | WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthA(VOID); | ||
| 295 | WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID); | ||
| 296 | WINBASEAPI DWORD WINAPI GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName); | ||
| 297 | WINBASEAPI DWORD WINAPI GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName); | ||
| 298 | WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength); | ||
| 299 | WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength); | ||
| 300 | |||
| 301 | WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryA(LPSTR ExeName); | ||
| 302 | WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryW(LPWSTR ExeName); | ||
| 303 | #define ExpungeConsoleCommandHistory __MINGW_NAME_AW(ExpungeConsoleCommandHistory) | ||
| 304 | |||
| 305 | WINBASEAPI WINBOOL WINAPI SetConsoleNumberOfCommandsA(DWORD Number, LPSTR ExeName); | ||
| 306 | WINBASEAPI WINBOOL WINAPI SetConsoleNumberOfCommandsW(DWORD Number, LPWSTR ExeName); | ||
| 307 | #define SetConsoleNumberOfCommands __MINGW_NAME_AW(SetConsoleNumberOfCommands) | ||
| 308 | |||
| 309 | WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthA(LPSTR ExeName); | ||
| 310 | WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthW(LPWSTR ExeName); | ||
| 311 | #define GetConsoleCommandHistoryLength __MINGW_NAME_AW(GetConsoleCommandHistoryLength) | ||
| 312 | |||
| 313 | WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryA(LPSTR Commands, DWORD CommandBufferLength, LPSTR ExeName); | ||
| 314 | WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName); | ||
| 315 | #define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory) | ||
| 316 | |||
| 317 | #ifndef NOGDI | ||
| 318 | |||
| 319 | typedef struct _CONSOLE_FONT_INFOEX { | ||
| 320 | ULONG cbSize; | ||
| 321 | DWORD nFont; | ||
| 322 | COORD dwFontSize; | ||
| 323 | UINT FontFamily; | ||
| 324 | UINT FontWeight; | ||
| 325 | WCHAR FaceName[LF_FACESIZE]; | ||
| 326 | } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; | ||
| 327 | |||
| 328 | WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx( | ||
| 329 | HANDLE hConsoleOutput, | ||
| 330 | WINBOOL bMaximumWindow, | ||
| 331 | PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx | ||
| 332 | ); | ||
| 333 | |||
| 334 | WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx( | ||
| 335 | HANDLE hConsoleOutput, | ||
| 336 | WINBOOL bMaximumWindow, | ||
| 337 | PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx | ||
| 338 | ); | ||
| 339 | |||
| 340 | #endif /* NOGDI */ | ||
| 341 | |||
| 342 | #define HISTORY_NO_DUP_FLAG 0x1 | ||
| 343 | |||
| 344 | typedef struct _CONSOLE_HISTORY_INFO { | ||
| 345 | UINT cbSize; | ||
| 346 | UINT HistoryBufferSize; | ||
| 347 | UINT NumberOfHistoryBuffers; | ||
| 348 | DWORD dwFlags; | ||
| 349 | } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; | ||
| 350 | |||
| 351 | typedef struct _CONSOLE_READCONSOLE_CONTROL { | ||
| 352 | ULONG nLength; | ||
| 353 | ULONG nInitialChars; | ||
| 354 | ULONG dwCtrlWakeupMask; | ||
| 355 | ULONG dwControlKeyState; | ||
| 356 | } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; | ||
| 357 | |||
| 358 | typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { | ||
| 359 | ULONG cbSize; | ||
| 360 | COORD dwSize; | ||
| 361 | COORD dwCursorPosition; | ||
| 362 | WORD wAttributes; | ||
| 363 | SMALL_RECT srWindow; | ||
| 364 | COORD dwMaximumWindowSize; | ||
| 365 | WORD wPopupAttributes; | ||
| 366 | WINBOOL bFullscreenSupported; | ||
| 367 | COLORREF ColorTable[16]; | ||
| 368 | } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; | ||
| 369 | |||
| 370 | WINBOOL WINAPI GetConsoleHistoryInfo( | ||
| 371 | PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo | ||
| 372 | ); | ||
| 373 | |||
| 374 | #if (_WIN32_WINNT >= 0x0600) | ||
| 375 | #define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle) | ||
| 376 | |||
| 377 | WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA( | ||
| 378 | LPSTR lpConsoleTitle, | ||
| 379 | DWORD nSize | ||
| 380 | ); | ||
| 381 | |||
| 382 | WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW( | ||
| 383 | LPWSTR lpConsoleTitle, | ||
| 384 | DWORD nSize | ||
| 385 | ); | ||
| 386 | #endif /* (_WIN32_WINNT >= 0x0600) */ | ||
| 387 | |||
| 388 | WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx( | ||
| 389 | HANDLE hConsoleOutput, | ||
| 390 | PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx | ||
| 391 | ); | ||
| 392 | |||
| 393 | WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo( | ||
| 394 | PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo | ||
| 395 | ); | ||
| 396 | |||
| 397 | WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx( | ||
| 398 | HANDLE hConsoleOutput, | ||
| 399 | PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx | ||
| 400 | ); | ||
| 401 | |||
| 402 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | ||
| 403 | |||
| 404 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | ||
| 405 | |||
| 406 | #if (NTDDI_VERSION >= 0x0A000006) | ||
| 407 | |||
| 408 | /* CreatePseudoConsole Flags */ | ||
| 409 | #define PSEUDOCONSOLE_INHERIT_CURSOR 1 | ||
| 410 | |||
| 411 | typedef VOID* HPCON; | ||
| 412 | |||
| 413 | WINBASEAPI HRESULT WINAPI CreatePseudoConsole(COORD size, HANDLE hInput, HANDLE hOutput, DWORD dwFlags, HPCON* phPC); | ||
| 414 | WINBASEAPI HRESULT WINAPI ResizePseudoConsole(HPCON hPC, COORD size); | ||
| 415 | WINBASEAPI VOID WINAPI ClosePseudoConsole(HPCON hPC); | ||
| 416 | |||
| 417 | #endif /* NTDDI_WIN10_RS5 */ | ||
| 418 | |||
| 419 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | ||
| 420 | |||
| 421 | #ifdef __cplusplus | 33 | #ifdef __cplusplus |
| 422 | } | 34 | } |
| 423 | #endif | 35 | #endif |
| 424 | #endif | 36 | |
| 37 | #endif /* _WINCON_ */ |
lib/libc/include/any-windows-any/wincontypes.h created+130| ... | @@ -0,0 +1,130 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _WINCONTYPES_ | ||
| 8 | #define _WINCONTYPES_ | ||
| 9 | |||
| 10 | #include <minwindef.h> | ||
| 11 | |||
| 12 | #ifdef __cplusplus | ||
| 13 | extern "C" { | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | ||
| 17 | |||
| 18 | typedef struct _COORD { | ||
| 19 | SHORT X; | ||
| 20 | SHORT Y; | ||
| 21 | } COORD, *PCOORD; | ||
| 22 | |||
| 23 | typedef struct _SMALL_RECT { | ||
| 24 | SHORT Left; | ||
| 25 | SHORT Top; | ||
| 26 | SHORT Right; | ||
| 27 | SHORT Bottom; | ||
| 28 | } SMALL_RECT, *PSMALL_RECT; | ||
| 29 | |||
| 30 | typedef struct _KEY_EVENT_RECORD { | ||
| 31 | WINBOOL bKeyDown; | ||
| 32 | WORD wRepeatCount; | ||
| 33 | WORD wVirtualKeyCode; | ||
| 34 | WORD wVirtualScanCode; | ||
| 35 | union { | ||
| 36 | WCHAR UnicodeChar; | ||
| 37 | CHAR AsciiChar; | ||
| 38 | } uChar; | ||
| 39 | DWORD dwControlKeyState; | ||
| 40 | } KEY_EVENT_RECORD, *PKEY_EVENT_RECORD; | ||
| 41 | |||
| 42 | #define RIGHT_ALT_PRESSED 0x0001 | ||
| 43 | #define LEFT_ALT_PRESSED 0x0002 | ||
| 44 | #define RIGHT_CTRL_PRESSED 0x0004 | ||
| 45 | #define LEFT_CTRL_PRESSED 0x0008 | ||
| 46 | #define SHIFT_PRESSED 0x0010 | ||
| 47 | #define NUMLOCK_ON 0x0020 | ||
| 48 | #define SCROLLLOCK_ON 0x0040 | ||
| 49 | #define CAPSLOCK_ON 0x0080 | ||
| 50 | #define ENHANCED_KEY 0x0100 | ||
| 51 | #define NLS_DBCSCHAR 0x00010000 | ||
| 52 | #define NLS_ALPHANUMERIC 0x00000000 | ||
| 53 | #define NLS_KATAKANA 0x00020000 | ||
| 54 | #define NLS_HIRAGANA 0x00040000 | ||
| 55 | #define NLS_ROMAN 0x00400000 | ||
| 56 | #define NLS_IME_CONVERSION 0x00800000 | ||
| 57 | #define ALTNUMPAD_BIT 0x04000000 | ||
| 58 | #define NLS_IME_DISABLE 0x20000000 | ||
| 59 | |||
| 60 | typedef struct _MOUSE_EVENT_RECORD { | ||
| 61 | COORD dwMousePosition; | ||
| 62 | DWORD dwButtonState; | ||
| 63 | DWORD dwControlKeyState; | ||
| 64 | DWORD dwEventFlags; | ||
| 65 | } MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD; | ||
| 66 | |||
| 67 | #define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 | ||
| 68 | #define RIGHTMOST_BUTTON_PRESSED 0x0002 | ||
| 69 | #define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 | ||
| 70 | #define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 | ||
| 71 | #define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 | ||
| 72 | |||
| 73 | #define MOUSE_MOVED 0x0001 | ||
| 74 | #define DOUBLE_CLICK 0x0002 | ||
| 75 | #define MOUSE_WHEELED 0x0004 | ||
| 76 | #if (_WIN32_WINNT >= 0x0600) | ||
| 77 | #define MOUSE_HWHEELED 0x0008 | ||
| 78 | #endif /* _WIN32_WINNT >= 0x0600 */ | ||
| 79 | |||
| 80 | typedef struct _WINDOW_BUFFER_SIZE_RECORD { | ||
| 81 | COORD dwSize; | ||
| 82 | } WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD; | ||
| 83 | |||
| 84 | typedef struct _MENU_EVENT_RECORD { | ||
| 85 | UINT dwCommandId; | ||
| 86 | } MENU_EVENT_RECORD, *PMENU_EVENT_RECORD; | ||
| 87 | |||
| 88 | typedef struct _FOCUS_EVENT_RECORD { | ||
| 89 | WINBOOL bSetFocus; | ||
| 90 | } FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD; | ||
| 91 | |||
| 92 | typedef struct _INPUT_RECORD { | ||
| 93 | WORD EventType; | ||
| 94 | union { | ||
| 95 | KEY_EVENT_RECORD KeyEvent; | ||
| 96 | MOUSE_EVENT_RECORD MouseEvent; | ||
| 97 | WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; | ||
| 98 | MENU_EVENT_RECORD MenuEvent; | ||
| 99 | FOCUS_EVENT_RECORD FocusEvent; | ||
| 100 | } Event; | ||
| 101 | } INPUT_RECORD, *PINPUT_RECORD; | ||
| 102 | |||
| 103 | #define KEY_EVENT 0x0001 | ||
| 104 | #define MOUSE_EVENT 0x0002 | ||
| 105 | #define WINDOW_BUFFER_SIZE_EVENT 0x0004 | ||
| 106 | #define MENU_EVENT 0x0008 | ||
| 107 | #define FOCUS_EVENT 0x0010 | ||
| 108 | |||
| 109 | typedef struct _CHAR_INFO { | ||
| 110 | union { | ||
| 111 | WCHAR UnicodeChar; | ||
| 112 | CHAR AsciiChar; | ||
| 113 | } Char; | ||
| 114 | WORD Attributes; | ||
| 115 | } CHAR_INFO, *PCHAR_INFO; | ||
| 116 | |||
| 117 | typedef struct _CONSOLE_FONT_INFO { | ||
| 118 | DWORD nFont; | ||
| 119 | COORD dwFontSize; | ||
| 120 | } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO; | ||
| 121 | |||
| 122 | typedef VOID *HPCON; | ||
| 123 | |||
| 124 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | ||
| 125 | |||
| 126 | #ifdef __cplusplus | ||
| 127 | } | ||
| 128 | #endif | ||
| 129 | |||
| 130 | #endif /* _WINCONTYPES_ */ | ||
lib/libc/include/any-windows-any/winnt.h+360-150| ... | @@ -48,6 +48,13 @@ extern "C" { | ... | @@ -48,6 +48,13 @@ extern "C" { |
| 48 | #endif | 48 | #endif |
| 49 | #endif /* _ARM64_ */ | 49 | #endif /* _ARM64_ */ |
| 50 | 50 | ||
| 51 | #if defined(__arm64ec__) && \ | ||
| 52 | !(defined(_X86_) || defined(__i386__) || defined(_IA64_) || defined (__arm__) || defined(__aarch64__)) | ||
| 53 | #if !defined(_ARM64EC_) | ||
| 54 | #define _ARM64EC_ | ||
| 55 | #endif | ||
| 56 | #endif /* _ARM64EC_ */ | ||
| 57 | |||
| 51 | #if defined(__ia64__) && \ | 58 | #if defined(__ia64__) && \ |
| 52 | !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_) || defined (__arm__) || defined(__aarch64__)) | 59 | !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_) || defined (__arm__) || defined(__aarch64__)) |
| 53 | #if !defined(_IA64_) | 60 | #if !defined(_IA64_) |
| ... | @@ -1582,7 +1589,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { | ... | @@ -1582,7 +1589,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { |
| 1582 | 1589 | ||
| 1583 | #ifdef _AMD64_ | 1590 | #ifdef _AMD64_ |
| 1584 | 1591 | ||
| 1585 | #if defined(__x86_64) && !defined(RC_INVOKED) | 1592 | #if defined(__x86_64) && !defined(__arm64ec__) && !defined(RC_INVOKED) |
| 1586 | 1593 | ||
| 1587 | #ifdef __cplusplus | 1594 | #ifdef __cplusplus |
| 1588 | extern "C" { | 1595 | extern "C" { |
| ... | @@ -1782,7 +1789,7 @@ extern "C" { | ... | @@ -1782,7 +1789,7 @@ extern "C" { |
| 1782 | #ifdef __cplusplus | 1789 | #ifdef __cplusplus |
| 1783 | } | 1790 | } |
| 1784 | #endif | 1791 | #endif |
| 1785 | #endif /* defined(__x86_64) && !defined(RC_INVOKED) */ | 1792 | #endif /* defined(__x86_64) && !defined(__arm64ec__) && !defined(RC_INVOKED) */ |
| 1786 | 1793 | ||
| 1787 | #define EXCEPTION_READ_FAULT 0 | 1794 | #define EXCEPTION_READ_FAULT 0 |
| 1788 | #define EXCEPTION_WRITE_FAULT 1 | 1795 | #define EXCEPTION_WRITE_FAULT 1 |
| ... | @@ -2084,24 +2091,6 @@ extern "C" { | ... | @@ -2084,24 +2091,6 @@ extern "C" { |
| 2084 | #define UNW_FLAG_EHANDLER 0x1 | 2091 | #define UNW_FLAG_EHANDLER 0x1 |
| 2085 | #define UNW_FLAG_UHANDLER 0x2 | 2092 | #define UNW_FLAG_UHANDLER 0x2 |
| 2086 | 2093 | ||
| 2087 | #define UNWIND_HISTORY_TABLE_SIZE 12 | ||
| 2088 | |||
| 2089 | typedef struct _UNWIND_HISTORY_TABLE_ENTRY { | ||
| 2090 | DWORD ImageBase; | ||
| 2091 | PRUNTIME_FUNCTION FunctionEntry; | ||
| 2092 | } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; | ||
| 2093 | |||
| 2094 | typedef struct _UNWIND_HISTORY_TABLE { | ||
| 2095 | DWORD Count; | ||
| 2096 | BYTE LocalHint; | ||
| 2097 | BYTE GlobalHint; | ||
| 2098 | BYTE Search; | ||
| 2099 | BYTE Once; | ||
| 2100 | DWORD LowAddress; | ||
| 2101 | DWORD HighAddress; | ||
| 2102 | UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; | ||
| 2103 | } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; | ||
| 2104 | |||
| 2105 | struct _DISPATCHER_CONTEXT; | 2094 | struct _DISPATCHER_CONTEXT; |
| 2106 | typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; | 2095 | typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; |
| 2107 | typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; | 2096 | typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; |
| ... | @@ -2115,7 +2104,7 @@ extern "C" { | ... | @@ -2115,7 +2104,7 @@ extern "C" { |
| 2115 | PCONTEXT ContextRecord; | 2104 | PCONTEXT ContextRecord; |
| 2116 | PEXCEPTION_ROUTINE LanguageHandler; | 2105 | PEXCEPTION_ROUTINE LanguageHandler; |
| 2117 | PVOID HandlerData; | 2106 | PVOID HandlerData; |
| 2118 | PUNWIND_HISTORY_TABLE HistoryTable; | 2107 | struct _UNWIND_HISTORY_TABLE *HistoryTable; |
| 2119 | ULONG ScopeIndex; | 2108 | ULONG ScopeIndex; |
| 2120 | BOOLEAN ControlPcIsUnwound; | 2109 | BOOLEAN ControlPcIsUnwound; |
| 2121 | PBYTE NonVolatileRegisters; | 2110 | PBYTE NonVolatileRegisters; |
| ... | @@ -2147,9 +2136,9 @@ extern "C" { | ... | @@ -2147,9 +2136,9 @@ extern "C" { |
| 2147 | #endif /* _ARM_ */ | 2136 | #endif /* _ARM_ */ |
| 2148 | 2137 | ||
| 2149 | 2138 | ||
| 2150 | #ifdef _ARM64_ | 2139 | #if defined(_ARM64_) || defined(_ARM64EC_) |
| 2151 | 2140 | ||
| 2152 | #if defined(__aarch64__) && !defined(RC_INVOKED) | 2141 | #if (defined(__aarch64__) || defined(__arm64ec__)) && !defined(RC_INVOKED) |
| 2153 | 2142 | ||
| 2154 | #ifdef __cplusplus | 2143 | #ifdef __cplusplus |
| 2155 | extern "C" { | 2144 | extern "C" { |
| ... | @@ -2219,33 +2208,51 @@ extern "C" { | ... | @@ -2219,33 +2208,51 @@ extern "C" { |
| 2219 | #ifdef __cplusplus | 2208 | #ifdef __cplusplus |
| 2220 | } | 2209 | } |
| 2221 | #endif | 2210 | #endif |
| 2222 | #endif /* defined(__aarch64__) && !defined(RC_INVOKED) */ | 2211 | #endif /* (defined(__aarch64__) || defined(__arm64ec__)) && !defined(RC_INVOKED) */ |
| 2223 | 2212 | ||
| 2224 | #define EXCEPTION_READ_FAULT 0 | 2213 | #define EXCEPTION_READ_FAULT 0 |
| 2225 | #define EXCEPTION_WRITE_FAULT 1 | 2214 | #define EXCEPTION_WRITE_FAULT 1 |
| 2226 | #define EXCEPTION_EXECUTE_FAULT 8 | 2215 | #define EXCEPTION_EXECUTE_FAULT 8 |
| 2216 | #endif /* defined(_ARM64_) || defined(_ARM64EC_) */ | ||
| 2227 | 2217 | ||
| 2228 | #if !defined(RC_INVOKED) | 2218 | #if !defined(RC_INVOKED) |
| 2229 | 2219 | ||
| 2230 | #define CONTEXT_ARM64 0x400000 | 2220 | #define CONTEXT_ARM64 0x400000 |
| 2231 | #define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x00000001) | 2221 | #define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x00000001) |
| 2232 | #define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x00000002) | 2222 | #define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x00000002) |
| 2233 | #define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | 0x00000004) | 2223 | #define CONTEXT_ARM64_FLOATING_POINT (CONTEXT_ARM64 | 0x00000004) |
| 2234 | #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x00000008) | 2224 | #define CONTEXT_ARM64_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x00000008) |
| 2225 | #define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x00000010) | ||
| 2235 | 2226 | ||
| 2236 | #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER) | ||
| 2237 | #define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS) | ||
| 2238 | 2227 | ||
| 2239 | #define EXCEPTION_READ_FAULT 0 | 2228 | #define CONTEXT_ARM64_FULL (CONTEXT_ARM64_CONTROL | CONTEXT_ARM64_INTEGER | CONTEXT_ARM64_FLOATING_POINT) |
| 2240 | #define EXCEPTION_WRITE_FAULT 1 | 2229 | #define CONTEXT_ARM64_ALL (CONTEXT_ARM64_CONTROL | CONTEXT_ARM64_INTEGER | CONTEXT_ARM64_FLOATING_POINT | CONTEXT_ARM64_DEBUG_REGISTERS | CONTEXT_ARM64_X18) |
| 2241 | #define EXCEPTION_EXECUTE_FAULT 8 | ||
| 2242 | 2230 | ||
| 2243 | #define ARM64_MAX_BREAKPOINTS 8 | 2231 | #define CONTEXT_ARM64_UNWOUND_TO_CALL 0x20000000 |
| 2244 | #define ARM64_MAX_WATCHPOINTS 2 | 2232 | |
| 2233 | #ifdef _ARM64_ | ||
| 2234 | |||
| 2235 | #define CONTEXT_CONTROL CONTEXT_ARM64_CONTROL | ||
| 2236 | #define CONTEXT_INTEGER CONTEXT_ARM64_INTEGER | ||
| 2237 | #define CONTEXT_FLOATING_POINT CONTEXT_ARM64_FLOATING_POINT | ||
| 2238 | #define CONTEXT_DEBUG_REGISTERS CONTEXT_ARM64_DEBUG_REGISTERS | ||
| 2239 | #define CONTEXT_FULL CONTEXT_ARM64_FULL | ||
| 2240 | #define CONTEXT_ALL CONTEXT_ARM64_ALL | ||
| 2241 | #define CONTEXT_UNWOUND_TO_CALL CONTEXT_ARM64_UNWOUND_TO_CALL | ||
| 2242 | |||
| 2243 | #define CONTEXT_EXCEPTION_ACTIVE 0x08000000 | ||
| 2244 | #define CONTEXT_SERVICE_ACTIVE 0x10000000 | ||
| 2245 | #define CONTEXT_EXCEPTION_REQUEST 0x40000000 | ||
| 2246 | #define CONTEXT_EXCEPTION_REPORTING 0x80000000 | ||
| 2247 | |||
| 2248 | #endif /* _ARM64_ */ | ||
| 2245 | 2249 | ||
| 2246 | #endif /* !defined(RC_INVOKED) */ | 2250 | #endif /* !defined(RC_INVOKED) */ |
| 2247 | 2251 | ||
| 2248 | typedef union _NEON128 { | 2252 | #define ARM64_MAX_BREAKPOINTS 8 |
| 2253 | #define ARM64_MAX_WATCHPOINTS 2 | ||
| 2254 | |||
| 2255 | typedef union _ARM64_NT_NEON128 { | ||
| 2249 | struct | 2256 | struct |
| 2250 | { | 2257 | { |
| 2251 | ULONGLONG Low; | 2258 | ULONGLONG Low; |
| ... | @@ -2255,9 +2262,19 @@ extern "C" { | ... | @@ -2255,9 +2262,19 @@ extern "C" { |
| 2255 | float S[4]; | 2262 | float S[4]; |
| 2256 | WORD H[8]; | 2263 | WORD H[8]; |
| 2257 | BYTE B[16]; | 2264 | BYTE B[16]; |
| 2258 | } NEON128, *PNEON128; | 2265 | } ARM64_NT_NEON128, *PARM64_NT_NEON128; |
| 2259 | 2266 | ||
| 2260 | typedef struct DECLSPEC_ALIGN(16) _CONTEXT { | 2267 | #ifdef _ARM64_ |
| 2268 | typedef ARM64_NT_NEON128 NEON128, *PNEON128; | ||
| 2269 | #endif | ||
| 2270 | |||
| 2271 | typedef struct DECLSPEC_ALIGN(16) | ||
| 2272 | #ifdef _ARM64_ | ||
| 2273 | _CONTEXT | ||
| 2274 | #else | ||
| 2275 | _ARM64_NT_CONTEXT | ||
| 2276 | #endif | ||
| 2277 | { | ||
| 2261 | ULONG ContextFlags; /* 000 */ | 2278 | ULONG ContextFlags; /* 000 */ |
| 2262 | /* CONTEXT_INTEGER */ | 2279 | /* CONTEXT_INTEGER */ |
| 2263 | ULONG Cpsr; /* 004 */ | 2280 | ULONG Cpsr; /* 004 */ |
| ... | @@ -2303,7 +2320,7 @@ extern "C" { | ... | @@ -2303,7 +2320,7 @@ extern "C" { |
| 2303 | DWORD64 Sp; /* 100 */ | 2320 | DWORD64 Sp; /* 100 */ |
| 2304 | DWORD64 Pc; /* 108 */ | 2321 | DWORD64 Pc; /* 108 */ |
| 2305 | /* CONTEXT_FLOATING_POINT */ | 2322 | /* CONTEXT_FLOATING_POINT */ |
| 2306 | NEON128 V[32]; /* 110 */ | 2323 | ARM64_NT_NEON128 V[32]; /* 110 */ |
| 2307 | DWORD Fpcr; /* 310 */ | 2324 | DWORD Fpcr; /* 310 */ |
| 2308 | DWORD Fpsr; /* 314 */ | 2325 | DWORD Fpsr; /* 314 */ |
| 2309 | /* CONTEXT_DEBUG_REGISTERS */ | 2326 | /* CONTEXT_DEBUG_REGISTERS */ |
| ... | @@ -2311,53 +2328,152 @@ extern "C" { | ... | @@ -2311,53 +2328,152 @@ extern "C" { |
| 2311 | DWORD64 Bvr[ARM64_MAX_BREAKPOINTS]; /* 338 */ | 2328 | DWORD64 Bvr[ARM64_MAX_BREAKPOINTS]; /* 338 */ |
| 2312 | DWORD Wcr[ARM64_MAX_WATCHPOINTS]; /* 378 */ | 2329 | DWORD Wcr[ARM64_MAX_WATCHPOINTS]; /* 378 */ |
| 2313 | DWORD64 Wvr[ARM64_MAX_WATCHPOINTS]; /* 380 */ | 2330 | DWORD64 Wvr[ARM64_MAX_WATCHPOINTS]; /* 380 */ |
| 2314 | } CONTEXT, *PCONTEXT; | 2331 | } ARM64_NT_CONTEXT, *PARM64_NT_CONTEXT; |
| 2332 | |||
| 2333 | #ifdef _ARM64_ | ||
| 2334 | typedef ARM64_NT_CONTEXT CONTEXT, *PCONTEXT; | ||
| 2335 | #endif | ||
| 2336 | |||
| 2315 | 2337 | ||
| 2338 | typedef struct DECLSPEC_ALIGN(16) _ARM64EC_NT_CONTEXT | ||
| 2339 | { | ||
| 2340 | union | ||
| 2341 | { | ||
| 2342 | struct | ||
| 2343 | { | ||
| 2344 | DWORD64 AMD64_P1Home; /* 000 */ | ||
| 2345 | DWORD64 AMD64_P2Home; /* 008 */ | ||
| 2346 | DWORD64 AMD64_P3Home; /* 010 */ | ||
| 2347 | DWORD64 AMD64_P4Home; /* 018 */ | ||
| 2348 | DWORD64 AMD64_P5Home; /* 020 */ | ||
| 2349 | DWORD64 AMD64_P6Home; /* 028 */ | ||
| 2350 | DWORD ContextFlags; /* 030 */ | ||
| 2351 | DWORD AMD64_MxCsr_copy; /* 034 */ | ||
| 2352 | WORD AMD64_SegCs; /* 038 */ | ||
| 2353 | WORD AMD64_SegDs; /* 03a */ | ||
| 2354 | WORD AMD64_SegEs; /* 03c */ | ||
| 2355 | WORD AMD64_SegFs; /* 03e */ | ||
| 2356 | WORD AMD64_SegGs; /* 040 */ | ||
| 2357 | WORD AMD64_SegSs; /* 042 */ | ||
| 2358 | DWORD AMD64_EFlags; /* 044 */ | ||
| 2359 | DWORD64 AMD64_Dr0; /* 048 */ | ||
| 2360 | DWORD64 AMD64_Dr1; /* 050 */ | ||
| 2361 | DWORD64 AMD64_Dr2; /* 058 */ | ||
| 2362 | DWORD64 AMD64_Dr3; /* 060 */ | ||
| 2363 | DWORD64 AMD64_Dr6; /* 068 */ | ||
| 2364 | DWORD64 AMD64_Dr7; /* 070 */ | ||
| 2365 | DWORD64 X8; /* 078 (Rax) */ | ||
| 2366 | DWORD64 X0; /* 080 (Rcx) */ | ||
| 2367 | DWORD64 X1; /* 088 (Rdx) */ | ||
| 2368 | DWORD64 X27; /* 090 (Rbx) */ | ||
| 2369 | DWORD64 Sp; /* 098 (Rsp) */ | ||
| 2370 | DWORD64 Fp; /* 0a0 (Rbp) */ | ||
| 2371 | DWORD64 X25; /* 0a8 (Rsi) */ | ||
| 2372 | DWORD64 X26; /* 0b0 (Rdi) */ | ||
| 2373 | DWORD64 X2; /* 0b8 (R8) */ | ||
| 2374 | DWORD64 X3; /* 0c0 (R9) */ | ||
| 2375 | DWORD64 X4; /* 0c8 (R10) */ | ||
| 2376 | DWORD64 X5; /* 0d0 (R11) */ | ||
| 2377 | DWORD64 X19; /* 0d8 (R12) */ | ||
| 2378 | DWORD64 X20; /* 0e0 (R13) */ | ||
| 2379 | DWORD64 X21; /* 0e8 (R14) */ | ||
| 2380 | DWORD64 X22; /* 0f0 (R15) */ | ||
| 2381 | DWORD64 Pc; /* 0f8 (Rip) */ | ||
| 2382 | struct | ||
| 2383 | { | ||
| 2384 | WORD AMD64_ControlWord; /* 100 */ | ||
| 2385 | WORD AMD64_StatusWord; /* 102 */ | ||
| 2386 | BYTE AMD64_TagWord; /* 104 */ | ||
| 2387 | BYTE AMD64_Reserved1; /* 105 */ | ||
| 2388 | WORD AMD64_ErrorOpcode; /* 106 */ | ||
| 2389 | DWORD AMD64_ErrorOffset; /* 108 */ | ||
| 2390 | WORD AMD64_ErrorSelector; /* 10c */ | ||
| 2391 | WORD AMD64_Reserved2; /* 10e */ | ||
| 2392 | DWORD AMD64_DataOffset; /* 110 */ | ||
| 2393 | WORD AMD64_DataSelector; /* 114 */ | ||
| 2394 | WORD AMD64_Reserved3; /* 116 */ | ||
| 2395 | DWORD AMD64_MxCsr; /* 118 */ | ||
| 2396 | DWORD AMD64_MxCsr_Mask; /* 11c */ | ||
| 2397 | DWORD64 Lr; /* 120 (FloatRegisters[0]) */ | ||
| 2398 | WORD X16_0; /* 128 */ | ||
| 2399 | WORD AMD64_St0_Reserved1; /* 12a */ | ||
| 2400 | DWORD AMD64_St0_Reserved2; /* 12c */ | ||
| 2401 | DWORD64 X6; /* 130 (FloatRegisters[1]) */ | ||
| 2402 | WORD X16_1; /* 138 */ | ||
| 2403 | WORD AMD64_St1_Reserved1; /* 13a */ | ||
| 2404 | DWORD AMD64_St1_Reserved2; /* 13c */ | ||
| 2405 | DWORD64 X7; /* 140 (FloatRegisters[2]) */ | ||
| 2406 | WORD X16_2; /* 148 */ | ||
| 2407 | WORD AMD64_St2_Reserved1; /* 14a */ | ||
| 2408 | DWORD AMD64_St2_Reserved2; /* 14c */ | ||
| 2409 | DWORD64 X9; /* 150 (FloatRegisters[3]) */ | ||
| 2410 | WORD X16_3; /* 158 */ | ||
| 2411 | WORD AMD64_St3_Reserved1; /* 15a */ | ||
| 2412 | DWORD AMD64_St3_Reserved2; /* 15c */ | ||
| 2413 | DWORD64 X10; /* 160 (FloatRegisters[4]) */ | ||
| 2414 | WORD X17_0; /* 168 */ | ||
| 2415 | WORD AMD64_St4_Reserved1; /* 16a */ | ||
| 2416 | DWORD AMD64_St4_Reserved2; /* 16c */ | ||
| 2417 | DWORD64 X11; /* 170 (FloatRegisters[5]) */ | ||
| 2418 | WORD X17_1; /* 178 */ | ||
| 2419 | WORD AMD64_St5_Reserved1; /* 17a */ | ||
| 2420 | DWORD AMD64_St5_Reserved2; /* 17c */ | ||
| 2421 | DWORD64 X12; /* 180 (FloatRegisters[6]) */ | ||
| 2422 | WORD X17_2; /* 188 */ | ||
| 2423 | WORD AMD64_St6_Reserved1; /* 18a */ | ||
| 2424 | DWORD AMD64_St6_Reserved2; /* 18c */ | ||
| 2425 | DWORD64 X15; /* 190 (FloatRegisters[7]) */ | ||
| 2426 | WORD X17_3; /* 198 */ | ||
| 2427 | WORD AMD64_St7_Reserved1; /* 19a */ | ||
| 2428 | DWORD AMD64_St7_Reserved2; /* 19c */ | ||
| 2429 | ARM64_NT_NEON128 V[16]; /* 1a0 (XmmRegisters) */ | ||
| 2430 | BYTE AMD64_XSAVE_FORMAT_Reserved4[96]; /* 2a0 */ | ||
| 2431 | } DUMMYSTRUCTNAME; | ||
| 2432 | ARM64_NT_NEON128 AMD64_VectorRegister[26]; /* 300 */ | ||
| 2433 | DWORD64 AMD64_VectorControl; /* 4a0 */ | ||
| 2434 | DWORD64 AMD64_DebugControl; /* 4a8 */ | ||
| 2435 | DWORD64 AMD64_LastBranchToRip; /* 4b0 */ | ||
| 2436 | DWORD64 AMD64_LastBranchFromRip; /* 4b8 */ | ||
| 2437 | DWORD64 AMD64_LastExceptionToRip; /* 4c0 */ | ||
| 2438 | DWORD64 AMD64_LastExceptionFromRip; /* 4c8 */ | ||
| 2439 | } DUMMYSTRUCTNAME; | ||
| 2440 | #ifdef _ARM64EC_ | ||
| 2441 | CONTEXT AMD64_Context; | ||
| 2442 | #endif | ||
| 2443 | } DUMMYUNIONNAME; | ||
| 2444 | } ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT; | ||
| 2445 | |||
| 2446 | typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY ARM64_RUNTIME_FUNCTION, *PARM64_RUNTIME_FUNCTION; | ||
| 2447 | |||
| 2448 | #ifdef _ARM64_ | ||
| 2316 | typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; | 2449 | typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; |
| 2317 | typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); | 2450 | typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); |
| 2451 | #endif | ||
| 2318 | 2452 | ||
| 2319 | #define UNW_FLAG_NHANDLER 0x0 | 2453 | #define UNW_FLAG_NHANDLER 0x0 |
| 2320 | #define UNW_FLAG_EHANDLER 0x1 | 2454 | #define UNW_FLAG_EHANDLER 0x1 |
| 2321 | #define UNW_FLAG_UHANDLER 0x2 | 2455 | #define UNW_FLAG_UHANDLER 0x2 |
| 2322 | 2456 | ||
| 2323 | #define UNWIND_HISTORY_TABLE_SIZE 12 | 2457 | typedef struct _DISPATCHER_CONTEXT_ARM64 { |
| 2324 | |||
| 2325 | typedef struct _UNWIND_HISTORY_TABLE_ENTRY { | ||
| 2326 | DWORD64 ImageBase; | ||
| 2327 | PRUNTIME_FUNCTION FunctionEntry; | ||
| 2328 | } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; | ||
| 2329 | |||
| 2330 | typedef struct _UNWIND_HISTORY_TABLE { | ||
| 2331 | DWORD Count; | ||
| 2332 | BYTE LocalHint; | ||
| 2333 | BYTE GlobalHint; | ||
| 2334 | BYTE Search; | ||
| 2335 | BYTE Once; | ||
| 2336 | DWORD64 LowAddress; | ||
| 2337 | DWORD64 HighAddress; | ||
| 2338 | UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; | ||
| 2339 | } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; | ||
| 2340 | |||
| 2341 | struct _DISPATCHER_CONTEXT; | ||
| 2342 | typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; | ||
| 2343 | typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; | ||
| 2344 | |||
| 2345 | struct _DISPATCHER_CONTEXT { | ||
| 2346 | ULONG_PTR ControlPc; | 2458 | ULONG_PTR ControlPc; |
| 2347 | ULONG_PTR ImageBase; | 2459 | ULONG_PTR ImageBase; |
| 2348 | PRUNTIME_FUNCTION FunctionEntry; | 2460 | PARM64_RUNTIME_FUNCTION FunctionEntry; |
| 2349 | ULONG_PTR EstablisherFrame; | 2461 | ULONG_PTR EstablisherFrame; |
| 2350 | ULONG_PTR TargetPc; | 2462 | ULONG_PTR TargetPc; |
| 2351 | PCONTEXT ContextRecord; | 2463 | PARM64_NT_CONTEXT ContextRecord; |
| 2352 | PEXCEPTION_ROUTINE LanguageHandler; | 2464 | PEXCEPTION_ROUTINE LanguageHandler; |
| 2353 | PVOID HandlerData; | 2465 | PVOID HandlerData; |
| 2354 | PUNWIND_HISTORY_TABLE HistoryTable; | 2466 | struct _UNWIND_HISTORY_TABLE *HistoryTable; |
| 2355 | ULONG ScopeIndex; | 2467 | ULONG ScopeIndex; |
| 2356 | BOOLEAN ControlPcIsUnwound; | 2468 | BOOLEAN ControlPcIsUnwound; |
| 2357 | PBYTE NonVolatileRegisters; | 2469 | PBYTE NonVolatileRegisters; |
| 2358 | }; | 2470 | } DISPATCHER_CONTEXT_ARM64, *PDISPATCHER_CONTEXT_ARM64; |
| 2359 | 2471 | ||
| 2360 | typedef struct _KNONVOLATILE_CONTEXT_POINTERS { | 2472 | #if defined(_ARM64_) |
| 2473 | typedef DISPATCHER_CONTEXT_ARM64 DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; | ||
| 2474 | #endif | ||
| 2475 | |||
| 2476 | typedef struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { | ||
| 2361 | PDWORD64 X19; | 2477 | PDWORD64 X19; |
| 2362 | PDWORD64 X20; | 2478 | PDWORD64 X20; |
| 2363 | PDWORD64 X21; | 2479 | PDWORD64 X21; |
| ... | @@ -2379,12 +2495,13 @@ extern "C" { | ... | @@ -2379,12 +2495,13 @@ extern "C" { |
| 2379 | PDWORD64 D13; | 2495 | PDWORD64 D13; |
| 2380 | PDWORD64 D14; | 2496 | PDWORD64 D14; |
| 2381 | PDWORD64 D15; | 2497 | PDWORD64 D15; |
| 2382 | } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; | 2498 | } KNONVOLATILE_CONTEXT_POINTERS_ARM64, *PKNONVOLATILE_CONTEXT_POINTERS_ARM64; |
| 2383 | 2499 | ||
| 2384 | #define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" | 2500 | #ifdef _ARM64_ |
| 2385 | 2501 | typedef KNONVOLATILE_CONTEXT_POINTERS_ARM64 KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; | |
| 2386 | #endif /* _ARM64_ */ | 2502 | #endif |
| 2387 | 2503 | ||
| 2504 | #define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" | ||
| 2388 | 2505 | ||
| 2389 | #ifdef _X86_ | 2506 | #ifdef _X86_ |
| 2390 | 2507 | ||
| ... | @@ -2474,25 +2591,8 @@ __buildmemorybarrier() | ... | @@ -2474,25 +2591,8 @@ __buildmemorybarrier() |
| 2474 | #define PF_TEMPORAL_LEVEL_1 | 2591 | #define PF_TEMPORAL_LEVEL_1 |
| 2475 | #define PF_NON_TEMPORAL_LEVEL_ALL | 2592 | #define PF_NON_TEMPORAL_LEVEL_ALL |
| 2476 | 2593 | ||
| 2477 | #define PcTeb 0x18 | ||
| 2478 | struct _TEB *NtCurrentTeb(void); | ||
| 2479 | PVOID GetCurrentFiber(void); | ||
| 2480 | PVOID GetFiberData(void); | ||
| 2481 | |||
| 2482 | #define DbgRaiseAssertionFailure __int2c | 2594 | #define DbgRaiseAssertionFailure __int2c |
| 2483 | 2595 | ||
| 2484 | FORCEINLINE struct _TEB *NtCurrentTeb(void) | ||
| 2485 | { | ||
| 2486 | return (struct _TEB *)__readfsdword(PcTeb); | ||
| 2487 | } | ||
| 2488 | FORCEINLINE PVOID GetCurrentFiber(void) | ||
| 2489 | { | ||
| 2490 | return(PVOID)__readfsdword(0x10); | ||
| 2491 | } | ||
| 2492 | FORCEINLINE PVOID GetFiberData(void) | ||
| 2493 | { | ||
| 2494 | return *(PVOID *)GetCurrentFiber(); | ||
| 2495 | } | ||
| 2496 | #endif /* defined(__i386__) && !defined(__x86_64) */ | 2596 | #endif /* defined(__i386__) && !defined(__x86_64) */ |
| 2497 | 2597 | ||
| 2498 | #define EXCEPTION_READ_FAULT 0 | 2598 | #define EXCEPTION_READ_FAULT 0 |
| ... | @@ -2656,8 +2756,6 @@ __buildmemorybarrier() | ... | @@ -2656,8 +2756,6 @@ __buildmemorybarrier() |
| 2656 | #define UnsignedMultiplyHigh __UMULH | 2756 | #define UnsignedMultiplyHigh __UMULH |
| 2657 | 2757 | ||
| 2658 | ULONGLONG UnsignedMultiplyHigh(ULONGLONG Multiplier,ULONGLONG Multiplicand); | 2758 | ULONGLONG UnsignedMultiplyHigh(ULONGLONG Multiplier,ULONGLONG Multiplicand); |
| 2659 | #else /* __ia64__ */ | ||
| 2660 | struct _TEB *NtCurrentTeb(void); | ||
| 2661 | #endif /* __ia64__ */ | 2759 | #endif /* __ia64__ */ |
| 2662 | #endif /* !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) */ | 2760 | #endif /* !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) */ |
| 2663 | 2761 | ||
| ... | @@ -2976,30 +3074,10 @@ __buildmemorybarrier() | ... | @@ -2976,30 +3074,10 @@ __buildmemorybarrier() |
| 2976 | 3074 | ||
| 2977 | #ifdef __x86_64__ | 3075 | #ifdef __x86_64__ |
| 2978 | 3076 | ||
| 2979 | /* http://msdn.microsoft.com/en-us/library/ms680597(VS.85).aspx */ | ||
| 2980 | |||
| 2981 | #define UNWIND_HISTORY_TABLE_SIZE 12 | ||
| 2982 | |||
| 2983 | typedef struct _UNWIND_HISTORY_TABLE_ENTRY { | ||
| 2984 | ULONG64 ImageBase; | ||
| 2985 | PRUNTIME_FUNCTION FunctionEntry; | ||
| 2986 | } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; | ||
| 2987 | |||
| 2988 | #define UNWIND_HISTORY_TABLE_NONE 0 | 3077 | #define UNWIND_HISTORY_TABLE_NONE 0 |
| 2989 | #define UNWIND_HISTORY_TABLE_GLOBAL 1 | 3078 | #define UNWIND_HISTORY_TABLE_GLOBAL 1 |
| 2990 | #define UNWIND_HISTORY_TABLE_LOCAL 2 | 3079 | #define UNWIND_HISTORY_TABLE_LOCAL 2 |
| 2991 | 3080 | ||
| 2992 | typedef struct _UNWIND_HISTORY_TABLE { | ||
| 2993 | ULONG Count; | ||
| 2994 | BYTE LocalHint; | ||
| 2995 | BYTE GlobalHint; | ||
| 2996 | BYTE Search; | ||
| 2997 | BYTE Once; | ||
| 2998 | ULONG64 LowAddress; | ||
| 2999 | ULONG64 HighAddress; | ||
| 3000 | UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; | ||
| 3001 | } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; | ||
| 3002 | |||
| 3003 | /* http://msdn.microsoft.com/en-us/library/b6sf5kbd(VS.80).aspx */ | 3081 | /* http://msdn.microsoft.com/en-us/library/b6sf5kbd(VS.80).aspx */ |
| 3004 | 3082 | ||
| 3005 | struct _DISPATCHER_CONTEXT; | 3083 | struct _DISPATCHER_CONTEXT; |
| ... | @@ -3016,11 +3094,31 @@ __buildmemorybarrier() | ... | @@ -3016,11 +3094,31 @@ __buildmemorybarrier() |
| 3016 | PEXCEPTION_ROUTINE LanguageHandler; | 3094 | PEXCEPTION_ROUTINE LanguageHandler; |
| 3017 | PVOID HandlerData; | 3095 | PVOID HandlerData; |
| 3018 | /* http://www.nynaeve.net/?p=99 */ | 3096 | /* http://www.nynaeve.net/?p=99 */ |
| 3019 | PUNWIND_HISTORY_TABLE HistoryTable; | 3097 | struct _UNWIND_HISTORY_TABLE *HistoryTable; |
| 3020 | ULONG ScopeIndex; | 3098 | ULONG ScopeIndex; |
| 3021 | ULONG Fill0; | 3099 | ULONG Fill0; |
| 3022 | }; | 3100 | }; |
| 3023 | 3101 | ||
| 3102 | #ifdef _ARM64EC_ | ||
| 3103 | typedef struct _DISPATCHER_CONTEXT_ARM64EC { | ||
| 3104 | DWORD64 ControlPc; | ||
| 3105 | DWORD64 ImageBase; | ||
| 3106 | PRUNTIME_FUNCTION FunctionEntry; | ||
| 3107 | DWORD64 EstablisherFrame; | ||
| 3108 | union { | ||
| 3109 | DWORD64 TargetIp; | ||
| 3110 | DWORD64 TargetPc; | ||
| 3111 | } DUMMYUNIONNAME; | ||
| 3112 | PCONTEXT ContextRecord; | ||
| 3113 | PEXCEPTION_ROUTINE LanguageHandler; | ||
| 3114 | PVOID HandlerData; | ||
| 3115 | struct _UNWIND_HISTORY_TABLE *HistoryTable; | ||
| 3116 | DWORD ScopeIndex; | ||
| 3117 | BOOLEAN ControlPcIsUnwound; | ||
| 3118 | PBYTE NonVolatileRegisters; | ||
| 3119 | } DISPATCHER_CONTEXT_ARM64EC, *PDISPATCHER_CONTEXT_ARM64EC; | ||
| 3120 | #endif /* _ARM64EC_ */ | ||
| 3121 | |||
| 3024 | /* http://msdn.microsoft.com/en-us/library/ms680617(VS.85).aspx */ | 3122 | /* http://msdn.microsoft.com/en-us/library/ms680617(VS.85).aspx */ |
| 3025 | 3123 | ||
| 3026 | typedef struct _KNONVOLATILE_CONTEXT_POINTERS | 3124 | typedef struct _KNONVOLATILE_CONTEXT_POINTERS |
| ... | @@ -5359,7 +5457,7 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -5359,7 +5457,7 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 5359 | #define LTP_PC_SMT 0x1 | 5457 | #define LTP_PC_SMT 0x1 |
| 5360 | 5458 | ||
| 5361 | typedef enum _PROCESSOR_CACHE_TYPE { | 5459 | typedef enum _PROCESSOR_CACHE_TYPE { |
| 5362 | CacheUnified,CacheInstruction,CacheData,CacheTrace | 5460 | CacheUnified,CacheInstruction,CacheData,CacheTrace,CacheUnknown |
| 5363 | } PROCESSOR_CACHE_TYPE; | 5461 | } PROCESSOR_CACHE_TYPE; |
| 5364 | 5462 | ||
| 5365 | #define CACHE_FULLY_ASSOCIATIVE 0xFF | 5463 | #define CACHE_FULLY_ASSOCIATIVE 0xFF |
| ... | @@ -5397,8 +5495,12 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -5397,8 +5495,12 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 5397 | 5495 | ||
| 5398 | typedef struct _NUMA_NODE_RELATIONSHIP { | 5496 | typedef struct _NUMA_NODE_RELATIONSHIP { |
| 5399 | DWORD NodeNumber; | 5497 | DWORD NodeNumber; |
| 5400 | BYTE Reserved[20]; | 5498 | BYTE Reserved[18]; |
| 5401 | GROUP_AFFINITY GroupMask; | 5499 | WORD GroupCount; |
| 5500 | __C89_NAMELESS union { | ||
| 5501 | GROUP_AFFINITY GroupMask; | ||
| 5502 | GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY]; | ||
| 5503 | }; | ||
| 5402 | } NUMA_NODE_RELATIONSHIP,*PNUMA_NODE_RELATIONSHIP; | 5504 | } NUMA_NODE_RELATIONSHIP,*PNUMA_NODE_RELATIONSHIP; |
| 5403 | 5505 | ||
| 5404 | typedef struct _CACHE_RELATIONSHIP { | 5506 | typedef struct _CACHE_RELATIONSHIP { |
| ... | @@ -5407,8 +5509,12 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -5407,8 +5509,12 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 5407 | WORD LineSize; | 5509 | WORD LineSize; |
| 5408 | DWORD CacheSize; | 5510 | DWORD CacheSize; |
| 5409 | PROCESSOR_CACHE_TYPE Type; | 5511 | PROCESSOR_CACHE_TYPE Type; |
| 5410 | BYTE Reserved[20]; | 5512 | BYTE Reserved[18]; |
| 5411 | GROUP_AFFINITY GroupMask; | 5513 | WORD GroupCount; |
| 5514 | __C89_NAMELESS union { | ||
| 5515 | GROUP_AFFINITY GroupMask; | ||
| 5516 | GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY]; | ||
| 5517 | }; | ||
| 5412 | } CACHE_RELATIONSHIP,*PCACHE_RELATIONSHIP; | 5518 | } CACHE_RELATIONSHIP,*PCACHE_RELATIONSHIP; |
| 5413 | 5519 | ||
| 5414 | typedef struct _PROCESSOR_GROUP_INFO { | 5520 | typedef struct _PROCESSOR_GROUP_INFO { |
| ... | @@ -8535,6 +8641,13 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -8535,6 +8641,13 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 8535 | DWORD Reserved; | 8641 | DWORD Reserved; |
| 8536 | } IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY; | 8642 | } IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY; |
| 8537 | 8643 | ||
| 8644 | typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { | ||
| 8645 | WORD Flags; | ||
| 8646 | WORD Catalog; | ||
| 8647 | DWORD CatalogOffset; | ||
| 8648 | DWORD Reserved; | ||
| 8649 | } IMAGE_LOAD_CONFIG_CODE_INTEGRITY,*PIMAGE_LOAD_CONFIG_CODE_INTEGRITY; | ||
| 8650 | |||
| 8538 | typedef struct { | 8651 | typedef struct { |
| 8539 | DWORD Size; | 8652 | DWORD Size; |
| 8540 | DWORD TimeDateStamp; | 8653 | DWORD TimeDateStamp; |
| ... | @@ -8551,11 +8664,40 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -8551,11 +8664,40 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 8551 | DWORD ProcessHeapFlags; | 8664 | DWORD ProcessHeapFlags; |
| 8552 | DWORD ProcessAffinityMask; | 8665 | DWORD ProcessAffinityMask; |
| 8553 | WORD CSDVersion; | 8666 | WORD CSDVersion; |
| 8554 | WORD Reserved1; | 8667 | WORD DependentLoadFlags; |
| 8555 | DWORD EditList; | 8668 | DWORD EditList; |
| 8556 | DWORD SecurityCookie; | 8669 | DWORD SecurityCookie; |
| 8557 | DWORD SEHandlerTable; | 8670 | DWORD SEHandlerTable; |
| 8558 | DWORD SEHandlerCount; | 8671 | DWORD SEHandlerCount; |
| 8672 | DWORD GuardCFCheckFunctionPointer; | ||
| 8673 | DWORD GuardCFDispatchFunctionPointer; | ||
| 8674 | DWORD GuardCFFunctionTable; | ||
| 8675 | DWORD GuardCFFunctionCount; | ||
| 8676 | DWORD GuardFlags; | ||
| 8677 | IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; | ||
| 8678 | DWORD GuardAddressTakenIatEntryTable; | ||
| 8679 | DWORD GuardAddressTakenIatEntryCount; | ||
| 8680 | DWORD GuardLongJumpTargetTable; | ||
| 8681 | DWORD GuardLongJumpTargetCount; | ||
| 8682 | DWORD DynamicValueRelocTable; | ||
| 8683 | DWORD CHPEMetadataPointer; | ||
| 8684 | DWORD GuardRFFailureRoutine; | ||
| 8685 | DWORD GuardRFFailureRoutineFunctionPointer; | ||
| 8686 | DWORD DynamicValueRelocTableOffset; | ||
| 8687 | WORD DynamicValueRelocTableSection; | ||
| 8688 | WORD Reserved2; | ||
| 8689 | DWORD GuardRFVerifyStackPointerFunctionPointer; | ||
| 8690 | DWORD HotPatchTableOffset; | ||
| 8691 | DWORD Reserved3; | ||
| 8692 | DWORD EnclaveConfigurationPointer; | ||
| 8693 | DWORD VolatileMetadataPointer; | ||
| 8694 | DWORD GuardEHContinuationTable; | ||
| 8695 | DWORD GuardEHContinuationCount; | ||
| 8696 | DWORD GuardXFGCheckFunctionPointer; | ||
| 8697 | DWORD GuardXFGDispatchFunctionPointer; | ||
| 8698 | DWORD GuardXFGTableDispatchFunctionPointer; | ||
| 8699 | DWORD CastGuardOsDeterminedFailureMode; | ||
| 8700 | DWORD GuardMemcpyFunctionPointer; | ||
| 8559 | } IMAGE_LOAD_CONFIG_DIRECTORY32,*PIMAGE_LOAD_CONFIG_DIRECTORY32; | 8701 | } IMAGE_LOAD_CONFIG_DIRECTORY32,*PIMAGE_LOAD_CONFIG_DIRECTORY32; |
| 8560 | 8702 | ||
| 8561 | typedef struct { | 8703 | typedef struct { |
| ... | @@ -8574,11 +8716,40 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -8574,11 +8716,40 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 8574 | ULONGLONG ProcessAffinityMask; | 8716 | ULONGLONG ProcessAffinityMask; |
| 8575 | DWORD ProcessHeapFlags; | 8717 | DWORD ProcessHeapFlags; |
| 8576 | WORD CSDVersion; | 8718 | WORD CSDVersion; |
| 8577 | WORD Reserved1; | 8719 | WORD DependentLoadFlags; |
| 8578 | ULONGLONG EditList; | 8720 | ULONGLONG EditList; |
| 8579 | ULONGLONG SecurityCookie; | 8721 | ULONGLONG SecurityCookie; |
| 8580 | ULONGLONG SEHandlerTable; | 8722 | ULONGLONG SEHandlerTable; |
| 8581 | ULONGLONG SEHandlerCount; | 8723 | ULONGLONG SEHandlerCount; |
| 8724 | ULONGLONG GuardCFCheckFunctionPointer; | ||
| 8725 | ULONGLONG GuardCFDispatchFunctionPointer; | ||
| 8726 | ULONGLONG GuardCFFunctionTable; | ||
| 8727 | ULONGLONG GuardCFFunctionCount; | ||
| 8728 | DWORD GuardFlags; | ||
| 8729 | IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; | ||
| 8730 | ULONGLONG GuardAddressTakenIatEntryTable; | ||
| 8731 | ULONGLONG GuardAddressTakenIatEntryCount; | ||
| 8732 | ULONGLONG GuardLongJumpTargetTable; | ||
| 8733 | ULONGLONG GuardLongJumpTargetCount; | ||
| 8734 | ULONGLONG DynamicValueRelocTable; | ||
| 8735 | ULONGLONG CHPEMetadataPointer; | ||
| 8736 | ULONGLONG GuardRFFailureRoutine; | ||
| 8737 | ULONGLONG GuardRFFailureRoutineFunctionPointer; | ||
| 8738 | DWORD DynamicValueRelocTableOffset; | ||
| 8739 | WORD DynamicValueRelocTableSection; | ||
| 8740 | WORD Reserved2; | ||
| 8741 | ULONGLONG GuardRFVerifyStackPointerFunctionPointer; | ||
| 8742 | DWORD HotPatchTableOffset; | ||
| 8743 | DWORD Reserved3; | ||
| 8744 | ULONGLONG EnclaveConfigurationPointer; | ||
| 8745 | ULONGLONG VolatileMetadataPointer; | ||
| 8746 | ULONGLONG GuardEHContinuationTable; | ||
| 8747 | ULONGLONG GuardEHContinuationCount; | ||
| 8748 | ULONGLONG GuardXFGCheckFunctionPointer; | ||
| 8749 | ULONGLONG GuardXFGDispatchFunctionPointer; | ||
| 8750 | ULONGLONG GuardXFGTableDispatchFunctionPointer; | ||
| 8751 | ULONGLONG CastGuardOsDeterminedFailureMode; | ||
| 8752 | ULONGLONG GuardMemcpyFunctionPointer; | ||
| 8582 | } IMAGE_LOAD_CONFIG_DIRECTORY64,*PIMAGE_LOAD_CONFIG_DIRECTORY64; | 8753 | } IMAGE_LOAD_CONFIG_DIRECTORY64,*PIMAGE_LOAD_CONFIG_DIRECTORY64; |
| 8583 | 8754 | ||
| 8584 | #ifdef _WIN64 | 8755 | #ifdef _WIN64 |
| ... | @@ -8886,6 +9057,27 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -8886,6 +9057,27 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 8886 | } IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER; | 9057 | } IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER; |
| 8887 | #endif | 9058 | #endif |
| 8888 | 9059 | ||
| 9060 | #ifndef __i386__ | ||
| 9061 | |||
| 9062 | #define UNWIND_HISTORY_TABLE_SIZE 12 | ||
| 9063 | |||
| 9064 | typedef struct _UNWIND_HISTORY_TABLE_ENTRY { | ||
| 9065 | ULONG_PTR ImageBase; | ||
| 9066 | PRUNTIME_FUNCTION FunctionEntry; | ||
| 9067 | } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; | ||
| 9068 | |||
| 9069 | typedef struct _UNWIND_HISTORY_TABLE { | ||
| 9070 | DWORD Count; | ||
| 9071 | BYTE LocalHint; | ||
| 9072 | BYTE GlobalHint; | ||
| 9073 | BYTE Search; | ||
| 9074 | BYTE Once; | ||
| 9075 | ULONG_PTR LowAddress; | ||
| 9076 | ULONG_PTR HighAddress; | ||
| 9077 | UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; | ||
| 9078 | } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; | ||
| 9079 | #endif /* !__i386__ */ | ||
| 9080 | |||
| 8889 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | 9081 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) |
| 8890 | NTSYSAPI WORD NTAPI RtlCaptureStackBackTrace (DWORD FramesToSkip, DWORD FramesToCapture, PVOID *BackTrace, PDWORD BackTraceHash); | 9082 | NTSYSAPI WORD NTAPI RtlCaptureStackBackTrace (DWORD FramesToSkip, DWORD FramesToCapture, PVOID *BackTrace, PDWORD BackTraceHash); |
| 8891 | #endif | 9083 | #endif |
| ... | @@ -8939,6 +9131,7 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) | ... | @@ -8939,6 +9131,7 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) |
| 8939 | NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); | 9131 | NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); |
| 8940 | NTSYSAPI VOID NTAPI RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); | 9132 | NTSYSAPI VOID NTAPI RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); |
| 8941 | NTSYSAPI PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind (DWORD HandlerType, DWORD64 ImageBase, DWORD64 ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PDWORD64 EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); | 9133 | NTSYSAPI PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind (DWORD HandlerType, DWORD64 ImageBase, DWORD64 ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PDWORD64 EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); |
| 9134 | NTSYSAPI BOOLEAN NTAPI RtlIsEcCode(DWORD64 CodePointer); | ||
| 8942 | #endif | 9135 | #endif |
| 8943 | #if defined (__arm__) | 9136 | #if defined (__arm__) |
| 8944 | NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (ULONG_PTR ControlPc, PDWORD ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); | 9137 | NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (ULONG_PTR ControlPc, PDWORD ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); |
| ... | @@ -9067,7 +9260,7 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); | ... | @@ -9067,7 +9260,7 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); |
| 9067 | #if !defined (__CRT__NO_INLINE) && !defined (__WIDL__) | 9260 | #if !defined (__CRT__NO_INLINE) && !defined (__WIDL__) |
| 9068 | __CRT_INLINE PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) { | 9261 | __CRT_INLINE PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) { |
| 9069 | volatile char *vptr =(volatile char *)ptr; | 9262 | volatile char *vptr =(volatile char *)ptr; |
| 9070 | #ifdef __x86_64 | 9263 | #if defined(__x86_64__) && !defined(__arm64ec__) |
| 9071 | __stosb((PBYTE)((DWORD64)vptr),0,cnt); | 9264 | __stosb((PBYTE)((DWORD64)vptr),0,cnt); |
| 9072 | #else | 9265 | #else |
| 9073 | while(cnt) { | 9266 | while(cnt) { |
| ... | @@ -9652,8 +9845,8 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); | ... | @@ -9652,8 +9845,8 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); |
| 9652 | #define VERIFIER_STOP(Code,Msg,P1,S1,P2,S2,P3,S3,P4,S4) { RtlApplicationVerifierStop ((Code),(Msg),(ULONG_PTR)(P1),(S1),(ULONG_PTR)(P2),(S2),(ULONG_PTR)(P3),(S3),(ULONG_PTR)(P4),(S4)); } | 9845 | #define VERIFIER_STOP(Code,Msg,P1,S1,P2,S2,P3,S3,P4,S4) { RtlApplicationVerifierStop ((Code),(Msg),(ULONG_PTR)(P1),(S1),(ULONG_PTR)(P2),(S2),(ULONG_PTR)(P3),(S3),(ULONG_PTR)(P4),(S4)); } |
| 9653 | 9846 | ||
| 9654 | VOID NTAPI RtlApplicationVerifierStop(ULONG_PTR Code,PSTR Message,ULONG_PTR Param1,PSTR Description1,ULONG_PTR Param2,PSTR Description2,ULONG_PTR Param3,PSTR Description3,ULONG_PTR Param4,PSTR Description4); | 9847 | VOID NTAPI RtlApplicationVerifierStop(ULONG_PTR Code,PSTR Message,ULONG_PTR Param1,PSTR Description1,ULONG_PTR Param2,PSTR Description2,ULONG_PTR Param3,PSTR Description3,ULONG_PTR Param4,PSTR Description4); |
| 9655 | NTSYSAPI DWORD NTAPI RtlSetHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength); | 9848 | NTSYSAPI LONG NTAPI RtlSetHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength); |
| 9656 | NTSYSAPI DWORD NTAPI RtlQueryHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength,PSIZE_T ReturnLength); | 9849 | NTSYSAPI LONG NTAPI RtlQueryHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength,PSIZE_T ReturnLength); |
| 9657 | DWORD NTAPI RtlMultipleAllocateHeap(PVOID HeapHandle,DWORD Flags,SIZE_T Size,DWORD Count,PVOID *Array); | 9850 | DWORD NTAPI RtlMultipleAllocateHeap(PVOID HeapHandle,DWORD Flags,SIZE_T Size,DWORD Count,PVOID *Array); |
| 9658 | DWORD NTAPI RtlMultipleFreeHeap(PVOID HeapHandle,DWORD Flags,DWORD Count,PVOID *Array); | 9851 | DWORD NTAPI RtlMultipleFreeHeap(PVOID HeapHandle,DWORD Flags,DWORD Count,PVOID *Array); |
| 9659 | 9852 | ||
| ... | @@ -10152,38 +10345,55 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); | ... | @@ -10152,38 +10345,55 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); |
| 10152 | FORCEINLINE VOID TpDestroyCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) { UNREFERENCED_PARAMETER (cbe); } | 10345 | FORCEINLINE VOID TpDestroyCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) { UNREFERENCED_PARAMETER (cbe); } |
| 10153 | #endif | 10346 | #endif |
| 10154 | 10347 | ||
| 10155 | #if defined(__x86_64) && !defined (__WIDL__) | 10348 | #if !defined(__ia64__) && !defined (__WIDL__) |
| 10156 | struct _TEB *NtCurrentTeb(VOID); | 10349 | struct _TEB *NtCurrentTeb(VOID); |
| 10157 | PVOID GetCurrentFiber(VOID); | 10350 | PVOID GetCurrentFiber(VOID); |
| 10158 | PVOID GetFiberData(VOID); | 10351 | PVOID GetFiberData(VOID); |
| 10159 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) { return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB,Self)); } | 10352 | |
| 10160 | FORCEINLINE PVOID GetCurrentFiber(VOID) { return(PVOID)__readgsqword(FIELD_OFFSET(NT_TIB,FiberData)); } | 10353 | #if defined (__aarch64__) || defined(__arm64ec__) |
| 10161 | FORCEINLINE PVOID GetFiberData(VOID) { | 10354 | register struct _TEB *__mingw_current_teb __asm__("x18"); |
| 10162 | return *(PVOID *)GetCurrentFiber(); | 10355 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) |
| 10356 | { | ||
| 10357 | return __mingw_current_teb; | ||
| 10163 | } | 10358 | } |
| 10164 | #endif /* __x86_64 */ | 10359 | FORCEINLINE PVOID GetCurrentFiber(VOID) |
| 10360 | { | ||
| 10361 | return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); | ||
| 10362 | } | ||
| 10363 | #elif defined(__x86_64__) | ||
| 10364 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) | ||
| 10365 | { | ||
| 10366 | return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB,Self)); | ||
| 10367 | } | ||
| 10368 | FORCEINLINE PVOID GetCurrentFiber(VOID) | ||
| 10369 | { | ||
| 10370 | return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB,FiberData)); | ||
| 10371 | } | ||
| 10372 | #elif defined(__i386__) | ||
| 10373 | # define PcTeb 0x18 | ||
| 10374 | FORCEINLINE struct _TEB *NtCurrentTeb(void) | ||
| 10375 | { | ||
| 10376 | return (struct _TEB *)__readfsdword(PcTeb); | ||
| 10377 | } | ||
| 10378 | FORCEINLINE PVOID GetCurrentFiber(void) | ||
| 10379 | { | ||
| 10380 | return (PVOID)__readfsdword(0x10); | ||
| 10381 | } | ||
| 10382 | #elif defined (__arm__) | ||
| 10383 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) | ||
| 10384 | { | ||
| 10385 | struct _TEB *teb; | ||
| 10386 | __asm ("mrc p15, 0, %0, c13, c0, 2" : "=r" (teb)); | ||
| 10387 | return teb; | ||
| 10388 | } | ||
| 10389 | FORCEINLINE PVOID GetCurrentFiber(VOID) | ||
| 10390 | { | ||
| 10391 | return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); | ||
| 10392 | } | ||
| 10393 | #endif | ||
| 10165 | 10394 | ||
| 10166 | #if defined (__arm__) && !defined (__WIDL__) | 10395 | FORCEINLINE PVOID GetFiberData (VOID) { return *(void **)GetCurrentFiber (); } |
| 10167 | struct _TEB *NtCurrentTeb (VOID); | 10396 | #endif /* !defined(__ia64__) && !defined (__WIDL__) */ |
| 10168 | PVOID GetCurrentFiber (VOID); | ||
| 10169 | PVOID GetFiberData (VOID); | ||
| 10170 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) { struct _TEB *teb; | ||
| 10171 | __asm ("mrc p15, 0, %0, c13, c0, 2" : "=r" (teb)); | ||
| 10172 | return teb; } | ||
| 10173 | FORCEINLINE PVOID GetCurrentFiber(VOID) { return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); } | ||
| 10174 | FORCEINLINE PVOID GetFiberData (VOID) { return *(PVOID *)GetCurrentFiber (); } | ||
| 10175 | #endif /* arm */ | ||
| 10176 | |||
| 10177 | #if defined (__aarch64__) && !defined (__WIDL__) | ||
| 10178 | struct _TEB *NtCurrentTeb (VOID); | ||
| 10179 | PVOID GetCurrentFiber (VOID); | ||
| 10180 | PVOID GetFiberData (VOID); | ||
| 10181 | FORCEINLINE struct _TEB *NtCurrentTeb(VOID) { struct _TEB *teb; | ||
| 10182 | __asm ("mov %0, x18" : "=r" (teb)); | ||
| 10183 | return teb; } | ||
| 10184 | FORCEINLINE PVOID GetCurrentFiber(VOID) { return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); } | ||
| 10185 | FORCEINLINE PVOID GetFiberData (VOID) { return *(PVOID *)GetCurrentFiber (); } | ||
| 10186 | #endif /* aarch64 */ | ||
| 10187 | 10397 | ||
| 10188 | #ifndef _NTTMAPI_ | 10398 | #ifndef _NTTMAPI_ |
| 10189 | #define _NTTMAPI_ | 10399 | #define _NTTMAPI_ |
lib/libc/include/any-windows-any/winnt.rh+218| ... | @@ -16,84 +16,154 @@ | ... | @@ -16,84 +16,154 @@ |
| 16 | 16 | ||
| 17 | #define LANG_AFRIKAANS 0x36 | 17 | #define LANG_AFRIKAANS 0x36 |
| 18 | #define LANG_ALBANIAN 0x1c | 18 | #define LANG_ALBANIAN 0x1c |
| 19 | #define LANG_ALSATIAN 0x84 | ||
| 20 | #define LANG_AMHARIC 0x5e | ||
| 19 | #define LANG_ARABIC 0x01 | 21 | #define LANG_ARABIC 0x01 |
| 20 | #define LANG_ARMENIAN 0x2b | 22 | #define LANG_ARMENIAN 0x2b |
| 21 | #define LANG_ASSAMESE 0x4d | 23 | #define LANG_ASSAMESE 0x4d |
| 22 | #define LANG_AZERI 0x2c | 24 | #define LANG_AZERI 0x2c |
| 25 | #define LANG_AZERBAIJANI 0x2c | ||
| 26 | #define LANG_BANGLA 0x45 | ||
| 27 | #define LANG_BASHKIR 0x6d | ||
| 23 | #define LANG_BASQUE 0x2d | 28 | #define LANG_BASQUE 0x2d |
| 24 | #define LANG_BELARUSIAN 0x23 | 29 | #define LANG_BELARUSIAN 0x23 |
| 25 | #define LANG_BENGALI 0x45 | 30 | #define LANG_BENGALI 0x45 |
| 31 | #define LANG_BRETON 0x7e | ||
| 32 | #define LANG_BOSNIAN 0x1a | ||
| 33 | #define LANG_BOSNIAN_NEUTRAL 0x781a | ||
| 26 | #define LANG_BULGARIAN 0x02 | 34 | #define LANG_BULGARIAN 0x02 |
| 27 | #define LANG_CATALAN 0x03 | 35 | #define LANG_CATALAN 0x03 |
| 36 | #define LANG_CENTRAL_KURDISH 0x92 | ||
| 37 | #define LANG_CHEROKEE 0x5c | ||
| 28 | #define LANG_CHINESE 0x04 | 38 | #define LANG_CHINESE 0x04 |
| 39 | #define LANG_CHINESE_SIMPLIFIED 0x04 | ||
| 40 | #define LANG_CHINESE_TRADITIONAL 0x7c04 | ||
| 41 | #define LANG_CORSICAN 0x83 | ||
| 29 | #define LANG_CROATIAN 0x1a | 42 | #define LANG_CROATIAN 0x1a |
| 30 | #define LANG_CZECH 0x05 | 43 | #define LANG_CZECH 0x05 |
| 31 | #define LANG_DANISH 0x06 | 44 | #define LANG_DANISH 0x06 |
| 45 | #define LANG_DARI 0x8c | ||
| 32 | #define LANG_DIVEHI 0x65 | 46 | #define LANG_DIVEHI 0x65 |
| 33 | #define LANG_DUTCH 0x13 | 47 | #define LANG_DUTCH 0x13 |
| 34 | #define LANG_ENGLISH 0x09 | 48 | #define LANG_ENGLISH 0x09 |
| 35 | #define LANG_ESTONIAN 0x25 | 49 | #define LANG_ESTONIAN 0x25 |
| 36 | #define LANG_FAEROESE 0x38 | 50 | #define LANG_FAEROESE 0x38 |
| 37 | #define LANG_FARSI 0x29 | 51 | #define LANG_FARSI 0x29 |
| 52 | #define LANG_FILIPINO 0x64 | ||
| 38 | #define LANG_FINNISH 0x0b | 53 | #define LANG_FINNISH 0x0b |
| 39 | #define LANG_FRENCH 0x0c | 54 | #define LANG_FRENCH 0x0c |
| 55 | #define LANG_FRISIAN 0x62 | ||
| 56 | #define LANG_FULAH 0x67 | ||
| 40 | #define LANG_GALICIAN 0x56 | 57 | #define LANG_GALICIAN 0x56 |
| 41 | #define LANG_GEORGIAN 0x37 | 58 | #define LANG_GEORGIAN 0x37 |
| 42 | #define LANG_GERMAN 0x07 | 59 | #define LANG_GERMAN 0x07 |
| 43 | #define LANG_GREEK 0x08 | 60 | #define LANG_GREEK 0x08 |
| 61 | #define LANG_GREENLANDIC 0x6f | ||
| 44 | #define LANG_GUJARATI 0x47 | 62 | #define LANG_GUJARATI 0x47 |
| 63 | #define LANG_HAUSA 0x68 | ||
| 64 | #define LANG_HAWAIIAN 0x75 | ||
| 45 | #define LANG_HEBREW 0x0d | 65 | #define LANG_HEBREW 0x0d |
| 46 | #define LANG_HINDI 0x39 | 66 | #define LANG_HINDI 0x39 |
| 47 | #define LANG_HUNGARIAN 0x0e | 67 | #define LANG_HUNGARIAN 0x0e |
| 48 | #define LANG_ICELANDIC 0x0f | 68 | #define LANG_ICELANDIC 0x0f |
| 69 | #define LANG_IGBO 0x70 | ||
| 49 | #define LANG_INDONESIAN 0x21 | 70 | #define LANG_INDONESIAN 0x21 |
| 71 | #define LANG_INUKTITUT 0x5d | ||
| 72 | #define LANG_IRISH 0x3c | ||
| 50 | #define LANG_ITALIAN 0x10 | 73 | #define LANG_ITALIAN 0x10 |
| 51 | #define LANG_JAPANESE 0x11 | 74 | #define LANG_JAPANESE 0x11 |
| 52 | #define LANG_KANNADA 0x4b | 75 | #define LANG_KANNADA 0x4b |
| 53 | #define LANG_KASHMIRI 0x60 | 76 | #define LANG_KASHMIRI 0x60 |
| 54 | #define LANG_KAZAK 0x3f | 77 | #define LANG_KAZAK 0x3f |
| 78 | #define LANG_KHMER 0x53 | ||
| 79 | #define LANG_KICHE 0x86 | ||
| 80 | #define LANG_KINYARWANDA 0x87 | ||
| 55 | #define LANG_KONKANI 0x57 | 81 | #define LANG_KONKANI 0x57 |
| 56 | #define LANG_KOREAN 0x12 | 82 | #define LANG_KOREAN 0x12 |
| 57 | #define LANG_KYRGYZ 0x40 | 83 | #define LANG_KYRGYZ 0x40 |
| 84 | #define LANG_LAO 0x54 | ||
| 58 | #define LANG_LATVIAN 0x26 | 85 | #define LANG_LATVIAN 0x26 |
| 59 | #define LANG_LITHUANIAN 0x27 | 86 | #define LANG_LITHUANIAN 0x27 |
| 87 | #define LANG_LOWER_SORBIAN 0x2e | ||
| 88 | #define LANG_LUXEMBOURGISH 0x6e | ||
| 60 | #define LANG_MACEDONIAN 0x2f | 89 | #define LANG_MACEDONIAN 0x2f |
| 61 | #define LANG_MALAY 0x3e | 90 | #define LANG_MALAY 0x3e |
| 62 | #define LANG_MALAYALAM 0x4c | 91 | #define LANG_MALAYALAM 0x4c |
| 92 | #define LANG_MALTESE 0x3a | ||
| 63 | #define LANG_MANIPURI 0x58 | 93 | #define LANG_MANIPURI 0x58 |
| 94 | #define LANG_MAORI 0x81 | ||
| 95 | #define LANG_MAPUDUNGUN 0x7a | ||
| 64 | #define LANG_MARATHI 0x4e | 96 | #define LANG_MARATHI 0x4e |
| 97 | #define LANG_MOHAWK 0x7c | ||
| 65 | #define LANG_MONGOLIAN 0x50 | 98 | #define LANG_MONGOLIAN 0x50 |
| 66 | #define LANG_NEPALI 0x61 | 99 | #define LANG_NEPALI 0x61 |
| 67 | #define LANG_NORWEGIAN 0x14 | 100 | #define LANG_NORWEGIAN 0x14 |
| 101 | #define LANG_OCCITAN 0x82 | ||
| 102 | #define LANG_ODIA 0x48 | ||
| 68 | #define LANG_ORIYA 0x48 | 103 | #define LANG_ORIYA 0x48 |
| 104 | #define LANG_PASHTO 0x63 | ||
| 105 | #define LANG_PERSIAN 0x29 | ||
| 69 | #define LANG_POLISH 0x15 | 106 | #define LANG_POLISH 0x15 |
| 70 | #define LANG_PORTUGUESE 0x16 | 107 | #define LANG_PORTUGUESE 0x16 |
| 108 | #define LANG_PULAR 0x67 | ||
| 71 | #define LANG_PUNJABI 0x46 | 109 | #define LANG_PUNJABI 0x46 |
| 110 | #define LANG_QUECHUA 0x6b | ||
| 72 | #define LANG_ROMANIAN 0x18 | 111 | #define LANG_ROMANIAN 0x18 |
| 112 | #define LANG_ROMANSH 0x17 | ||
| 73 | #define LANG_RUSSIAN 0x19 | 113 | #define LANG_RUSSIAN 0x19 |
| 114 | #define LANG_SAKHA 0x85 | ||
| 115 | #define LANG_SAMI 0x3b | ||
| 74 | #define LANG_SANSKRIT 0x4f | 116 | #define LANG_SANSKRIT 0x4f |
| 117 | #define LANG_SCOTTISH_GAELIC 0x91 | ||
| 75 | #define LANG_SERBIAN 0x1a | 118 | #define LANG_SERBIAN 0x1a |
| 119 | #define LANG_SERBIAN_NEUTRAL 0x7c1a | ||
| 76 | #define LANG_SINDHI 0x59 | 120 | #define LANG_SINDHI 0x59 |
| 121 | #define LANG_SINHALESE 0x5b | ||
| 77 | #define LANG_SLOVAK 0x1b | 122 | #define LANG_SLOVAK 0x1b |
| 78 | #define LANG_SLOVENIAN 0x24 | 123 | #define LANG_SLOVENIAN 0x24 |
| 124 | #define LANG_SOTHO 0x6c | ||
| 79 | #define LANG_SPANISH 0x0a | 125 | #define LANG_SPANISH 0x0a |
| 80 | #define LANG_SWAHILI 0x41 | 126 | #define LANG_SWAHILI 0x41 |
| 81 | #define LANG_SWEDISH 0x1d | 127 | #define LANG_SWEDISH 0x1d |
| 82 | #define LANG_SYRIAC 0x5a | 128 | #define LANG_SYRIAC 0x5a |
| 129 | #define LANG_TAJIK 0x28 | ||
| 130 | #define LANG_TAMAZIGHT 0x5f | ||
| 83 | #define LANG_TAMIL 0x49 | 131 | #define LANG_TAMIL 0x49 |
| 84 | #define LANG_TATAR 0x44 | 132 | #define LANG_TATAR 0x44 |
| 85 | #define LANG_TELUGU 0x4a | 133 | #define LANG_TELUGU 0x4a |
| 86 | #define LANG_THAI 0x1e | 134 | #define LANG_THAI 0x1e |
| 135 | #define LANG_TIBETAN 0x51 | ||
| 136 | #define LANG_TIGRIGNA 0x73 | ||
| 137 | #define LANG_TIGRINYA 0x73 | ||
| 138 | #define LANG_TSWANA 0x32 | ||
| 87 | #define LANG_TURKISH 0x1f | 139 | #define LANG_TURKISH 0x1f |
| 140 | #define LANG_TURKMEN 0x42 | ||
| 141 | #define LANG_UIGHUR 0x80 | ||
| 88 | #define LANG_UKRAINIAN 0x22 | 142 | #define LANG_UKRAINIAN 0x22 |
| 143 | #define LANG_UPPER_SORBIAN 0x2e | ||
| 89 | #define LANG_URDU 0x20 | 144 | #define LANG_URDU 0x20 |
| 90 | #define LANG_UZBEK 0x43 | 145 | #define LANG_UZBEK 0x43 |
| 146 | #define LANG_VALENCIAN 0x03 | ||
| 91 | #define LANG_VIETNAMESE 0x2a | 147 | #define LANG_VIETNAMESE 0x2a |
| 148 | #define LANG_WELSH 0x52 | ||
| 149 | #define LANG_WOLOF 0x88 | ||
| 150 | #define LANG_XHOSA 0x34 | ||
| 151 | #define LANG_YAKUT 0x85 | ||
| 152 | #define LANG_YI 0x78 | ||
| 153 | #define LANG_YORUBA 0x6a | ||
| 154 | #define LANG_ZULU 0x35 | ||
| 92 | 155 | ||
| 93 | #define SUBLANG_NEUTRAL 0x00 | 156 | #define SUBLANG_NEUTRAL 0x00 |
| 94 | #define SUBLANG_DEFAULT 0x01 | 157 | #define SUBLANG_DEFAULT 0x01 |
| 95 | #define SUBLANG_SYS_DEFAULT 0x02 | 158 | #define SUBLANG_SYS_DEFAULT 0x02 |
| 159 | #define SUBLANG_CUSTOM_DEFAULT 0x03 | ||
| 160 | #define SUBLANG_CUSTOM_UNSPECIFIED 0x04 | ||
| 161 | #define SUBLANG_UI_CUSTOM_DEFAULT 0x05 | ||
| 96 | 162 | ||
| 163 | #define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 | ||
| 164 | #define SUBLANG_ALBANIAN_ALBANIA 0x01 | ||
| 165 | #define SUBLANG_ALSATIAN_FRANCE 0x01 | ||
| 166 | #define SUBLANG_AMHARIC_ETHIOPIA 0x01 | ||
| 97 | #define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 | 167 | #define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 |
| 98 | #define SUBLANG_ARABIC_IRAQ 0x02 | 168 | #define SUBLANG_ARABIC_IRAQ 0x02 |
| 99 | #define SUBLANG_ARABIC_EGYPT 0x03 | 169 | #define SUBLANG_ARABIC_EGYPT 0x03 |
| ... | @@ -110,13 +180,38 @@ | ... | @@ -110,13 +180,38 @@ |
| 110 | #define SUBLANG_ARABIC_UAE 0x0e | 180 | #define SUBLANG_ARABIC_UAE 0x0e |
| 111 | #define SUBLANG_ARABIC_BAHRAIN 0x0f | 181 | #define SUBLANG_ARABIC_BAHRAIN 0x0f |
| 112 | #define SUBLANG_ARABIC_QATAR 0x10 | 182 | #define SUBLANG_ARABIC_QATAR 0x10 |
| 183 | #define SUBLANG_ARMENIAN_ARMENIA 0x01 | ||
| 184 | #define SUBLANG_ASSAMESE_INDIA 0x01 | ||
| 113 | #define SUBLANG_AZERI_LATIN 0x01 | 185 | #define SUBLANG_AZERI_LATIN 0x01 |
| 114 | #define SUBLANG_AZERI_CYRILLIC 0x02 | 186 | #define SUBLANG_AZERI_CYRILLIC 0x02 |
| 187 | #define SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01 | ||
| 188 | #define SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02 | ||
| 189 | #define SUBLANG_BANGLA_INDIA 0x01 | ||
| 190 | #define SUBLANG_BANGLA_BANGLADESH 0x02 | ||
| 191 | #define SUBLANG_BASHKIR_RUSSIA 0x01 | ||
| 192 | #define SUBLANG_BASQUE_BASQUE 0x01 | ||
| 193 | #define SUBLANG_BELARUSIAN_BELARUS 0x01 | ||
| 194 | #define SUBLANG_BENGALI_INDIA 0x01 | ||
| 195 | #define SUBLANG_BENGALI_BANGLADESH 0x02 | ||
| 196 | #define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 | ||
| 197 | #define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 | ||
| 198 | #define SUBLANG_BRETON_FRANCE 0x01 | ||
| 199 | #define SUBLANG_BULGARIAN_BULGARIA 0x01 | ||
| 200 | #define SUBLANG_CATALAN_CATALAN 0x01 | ||
| 201 | #define SUBLANG_CENTRAL_KURDISH_IRAQ 0x01 | ||
| 202 | #define SUBLANG_CHEROKEE_CHEROKEE 0x01 | ||
| 115 | #define SUBLANG_CHINESE_TRADITIONAL 0x01 | 203 | #define SUBLANG_CHINESE_TRADITIONAL 0x01 |
| 116 | #define SUBLANG_CHINESE_SIMPLIFIED 0x02 | 204 | #define SUBLANG_CHINESE_SIMPLIFIED 0x02 |
| 117 | #define SUBLANG_CHINESE_HONGKONG 0x03 | 205 | #define SUBLANG_CHINESE_HONGKONG 0x03 |
| 118 | #define SUBLANG_CHINESE_SINGAPORE 0x04 | 206 | #define SUBLANG_CHINESE_SINGAPORE 0x04 |
| 119 | #define SUBLANG_CHINESE_MACAU 0x05 | 207 | #define SUBLANG_CHINESE_MACAU 0x05 |
| 208 | #define SUBLANG_CORSICAN_FRANCE 0x01 | ||
| 209 | #define SUBLANG_CZECH_CZECH_REPUBLIC 0x01 | ||
| 210 | #define SUBLANG_CROATIAN_CROATIA 0x01 | ||
| 211 | #define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 | ||
| 212 | #define SUBLANG_DANISH_DENMARK 0x01 | ||
| 213 | #define SUBLANG_DARI_AFGHANISTAN 0x01 | ||
| 214 | #define SUBLANG_DIVEHI_MALDIVES 0x01 | ||
| 120 | #define SUBLANG_DUTCH 0x01 | 215 | #define SUBLANG_DUTCH 0x01 |
| 121 | #define SUBLANG_DUTCH_BELGIAN 0x02 | 216 | #define SUBLANG_DUTCH_BELGIAN 0x02 |
| 122 | #define SUBLANG_ENGLISH_US 0x01 | 217 | #define SUBLANG_ENGLISH_US 0x01 |
| ... | @@ -132,32 +227,120 @@ | ... | @@ -132,32 +227,120 @@ |
| 132 | #define SUBLANG_ENGLISH_TRINIDAD 0x0b | 227 | #define SUBLANG_ENGLISH_TRINIDAD 0x0b |
| 133 | #define SUBLANG_ENGLISH_ZIMBABWE 0x0c | 228 | #define SUBLANG_ENGLISH_ZIMBABWE 0x0c |
| 134 | #define SUBLANG_ENGLISH_PHILIPPINES 0x0d | 229 | #define SUBLANG_ENGLISH_PHILIPPINES 0x0d |
| 230 | #define SUBLANG_ENGLISH_INDIA 0x10 | ||
| 231 | #define SUBLANG_ENGLISH_MALAYSIA 0x11 | ||
| 232 | #define SUBLANG_ENGLISH_SINGAPORE 0x12 | ||
| 233 | #define SUBLANG_ESTONIAN_ESTONIA 0x01 | ||
| 234 | #define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 | ||
| 235 | #define SUBLANG_FILIPINO_PHILIPPINES 0x01 | ||
| 236 | #define SUBLANG_FINNISH_FINLAND 0x01 | ||
| 135 | #define SUBLANG_FRENCH 0x01 | 237 | #define SUBLANG_FRENCH 0x01 |
| 136 | #define SUBLANG_FRENCH_BELGIAN 0x02 | 238 | #define SUBLANG_FRENCH_BELGIAN 0x02 |
| 137 | #define SUBLANG_FRENCH_CANADIAN 0x03 | 239 | #define SUBLANG_FRENCH_CANADIAN 0x03 |
| 138 | #define SUBLANG_FRENCH_SWISS 0x04 | 240 | #define SUBLANG_FRENCH_SWISS 0x04 |
| 139 | #define SUBLANG_FRENCH_LUXEMBOURG 0x05 | 241 | #define SUBLANG_FRENCH_LUXEMBOURG 0x05 |
| 140 | #define SUBLANG_FRENCH_MONACO 0x06 | 242 | #define SUBLANG_FRENCH_MONACO 0x06 |
| 243 | #define SUBLANG_FRISIAN_NETHERLANDS 0x01 | ||
| 244 | #define SUBLANG_FULAH_SENEGAL 0x02 | ||
| 245 | #define SUBLANG_GALICIAN_GALICIAN 0x01 | ||
| 246 | #define SUBLANG_GEORGIAN_GEORGIA 0x01 | ||
| 141 | #define SUBLANG_GERMAN 0x01 | 247 | #define SUBLANG_GERMAN 0x01 |
| 142 | #define SUBLANG_GERMAN_SWISS 0x02 | 248 | #define SUBLANG_GERMAN_SWISS 0x02 |
| 143 | #define SUBLANG_GERMAN_AUSTRIAN 0x03 | 249 | #define SUBLANG_GERMAN_AUSTRIAN 0x03 |
| 144 | #define SUBLANG_GERMAN_LUXEMBOURG 0x04 | 250 | #define SUBLANG_GERMAN_LUXEMBOURG 0x04 |
| 145 | #define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 | 251 | #define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 |
| 252 | #define SUBLANG_GREEK_GREECE 0x01 | ||
| 253 | #define SUBLANG_GREENLANDIC_GREENLAND 0x01 | ||
| 254 | #define SUBLANG_GUJARATI_INDIA 0x01 | ||
| 255 | #define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 | ||
| 256 | #define SUBLANG_HAWAIIAN_US 0x01 | ||
| 257 | #define SUBLANG_HEBREW_ISRAEL 0x01 | ||
| 258 | #define SUBLANG_HINDI_INDIA 0x01 | ||
| 259 | #define SUBLANG_HUNGARIAN_HUNGARY 0x01 | ||
| 260 | #define SUBLANG_ICELANDIC_ICELAND 0x01 | ||
| 261 | #define SUBLANG_IGBO_NIGERIA 0x01 | ||
| 262 | #define SUBLANG_INDONESIAN_INDONESIA 0x01 | ||
| 263 | #define SUBLANG_INUKTITUT_CANADA 0x01 | ||
| 264 | #define SUBLANG_INUKTITUT_CANADA_LATIN 0x02 | ||
| 265 | #define SUBLANG_IRISH_IRELAND 0x02 | ||
| 146 | #define SUBLANG_ITALIAN 0x01 | 266 | #define SUBLANG_ITALIAN 0x01 |
| 147 | #define SUBLANG_ITALIAN_SWISS 0x02 | 267 | #define SUBLANG_ITALIAN_SWISS 0x02 |
| 268 | #define SUBLANG_JAPANESE_JAPAN 0x01 | ||
| 269 | #define SUBLANG_KANNADA_INDIA 0x01 | ||
| 148 | #define SUBLANG_KASHMIRI_SASIA 0x02 | 270 | #define SUBLANG_KASHMIRI_SASIA 0x02 |
| 149 | #define SUBLANG_KASHMIRI_INDIA 0x02 | 271 | #define SUBLANG_KASHMIRI_INDIA 0x02 |
| 272 | #define SUBLANG_KAZAK_KAZAKHSTAN 0x01 | ||
| 273 | #define SUBLANG_KHMER_CAMBODIA 0x01 | ||
| 274 | #define SUBLANG_KICHE_GUATEMALA 0x01 | ||
| 275 | #define SUBLANG_KINYARWANDA_RWANDA 0x01 | ||
| 276 | #define SUBLANG_KONKANI_INDIA 0x01 | ||
| 150 | #define SUBLANG_KOREAN 0x01 | 277 | #define SUBLANG_KOREAN 0x01 |
| 278 | #define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 | ||
| 279 | #define SUBLANG_LAO_LAO 0x01 | ||
| 280 | #define SUBLANG_LATVIAN_LATVIA 0x01 | ||
| 151 | #define SUBLANG_LITHUANIAN 0x01 | 281 | #define SUBLANG_LITHUANIAN 0x01 |
| 282 | #define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 | ||
| 283 | #define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 | ||
| 284 | #define SUBLANG_MACEDONIAN_MACEDONIA 0x01 | ||
| 152 | #define SUBLANG_MALAY_MALAYSIA 0x01 | 285 | #define SUBLANG_MALAY_MALAYSIA 0x01 |
| 153 | #define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 | 286 | #define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 |
| 287 | #define SUBLANG_MALAYALAM_INDIA 0x01 | ||
| 288 | #define SUBLANG_MALTESE_MALTA 0x01 | ||
| 289 | #define SUBLANG_MAORI_NEW_ZEALAND 0x01 | ||
| 290 | #define SUBLANG_MAPUDUNGUN_CHILE 0x01 | ||
| 291 | #define SUBLANG_MARATHI_INDIA 0x01 | ||
| 292 | #define SUBLANG_MOHAWK_MOHAWK 0x01 | ||
| 293 | #define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 | ||
| 294 | #define SUBLANG_MONGOLIAN_PRC 0x02 | ||
| 154 | #define SUBLANG_NEPALI_INDIA 0x02 | 295 | #define SUBLANG_NEPALI_INDIA 0x02 |
| 296 | #define SUBLANG_NEPALI_NEPAL 0x01 | ||
| 155 | #define SUBLANG_NORWEGIAN_BOKMAL 0x01 | 297 | #define SUBLANG_NORWEGIAN_BOKMAL 0x01 |
| 156 | #define SUBLANG_NORWEGIAN_NYNORSK 0x02 | 298 | #define SUBLANG_NORWEGIAN_NYNORSK 0x02 |
| 299 | #define SUBLANG_OCCITAN_FRANCE 0x01 | ||
| 300 | #define SUBLANG_ODIA_INDIA 0x01 | ||
| 301 | #define SUBLANG_ORIYA_INDIA 0x01 | ||
| 302 | #define SUBLANG_PASHTO_AFGHANISTAN 0x01 | ||
| 303 | #define SUBLANG_PERSIAN_IRAN 0x01 | ||
| 304 | #define SUBLANG_POLISH_POLAND 0x01 | ||
| 157 | #define SUBLANG_PORTUGUESE 0x02 | 305 | #define SUBLANG_PORTUGUESE 0x02 |
| 158 | #define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 | 306 | #define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 |
| 307 | #define SUBLANG_PULAR_SENEGAL 0x02 | ||
| 308 | #define SUBLANG_PUNJABI_INDIA 0x01 | ||
| 309 | #define SUBLANG_PUNJABI_PAKISTAN 0x02 | ||
| 310 | #define SUBLANG_QUECHUA_BOLIVIA 0x01 | ||
| 311 | #define SUBLANG_QUECHUA_ECUADOR 0x02 | ||
| 312 | #define SUBLANG_QUECHUA_PERU 0x03 | ||
| 313 | #define SUBLANG_ROMANIAN_ROMANIA 0x01 | ||
| 314 | #define SUBLANG_ROMANSH_SWITZERLAND 0x01 | ||
| 315 | #define SUBLANG_RUSSIAN_RUSSIA 0x01 | ||
| 316 | #define SUBLANG_SAKHA_RUSSIA 0x01 | ||
| 317 | #define SUBLANG_SAMI_NORTHERN_NORWAY 0x01 | ||
| 318 | #define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 | ||
| 319 | #define SUBLANG_SAMI_NORTHERN_FINLAND 0x03 | ||
| 320 | #define SUBLANG_SAMI_LULE_NORWAY 0x04 | ||
| 321 | #define SUBLANG_SAMI_LULE_SWEDEN 0x05 | ||
| 322 | #define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 | ||
| 323 | #define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 | ||
| 324 | #define SUBLANG_SAMI_SKOLT_FINLAND 0x08 | ||
| 325 | #define SUBLANG_SAMI_INARI_FINLAND 0x09 | ||
| 326 | #define SUBLANG_SANSKRIT_INDIA 0x01 | ||
| 327 | #define SUBLANG_SCOTTISH_GAELIC 0x01 | ||
| 328 | #define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 | ||
| 329 | #define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 | ||
| 330 | #define SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b | ||
| 331 | #define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c | ||
| 332 | #define SUBLANG_SERBIAN_SERBIA_LATIN 0x09 | ||
| 333 | #define SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a | ||
| 334 | #define SUBLANG_SERBIAN_CROATIA 0x01 | ||
| 159 | #define SUBLANG_SERBIAN_LATIN 0x02 | 335 | #define SUBLANG_SERBIAN_LATIN 0x02 |
| 160 | #define SUBLANG_SERBIAN_CYRILLIC 0x03 | 336 | #define SUBLANG_SERBIAN_CYRILLIC 0x03 |
| 337 | #define SUBLANG_SINDHI_INDIA 0x01 | ||
| 338 | #define SUBLANG_SINDHI_PAKISTAN 0x02 | ||
| 339 | #define SUBLANG_SINDHI_AFGHANISTAN 0x02 | ||
| 340 | #define SUBLANG_SINHALESE_SRI_LANKA 0x01 | ||
| 341 | #define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01 | ||
| 342 | #define SUBLANG_SLOVAK_SLOVAKIA 0x01 | ||
| 343 | #define SUBLANG_SLOVENIAN_SLOVENIA 0x01 | ||
| 161 | #define SUBLANG_SPANISH 0x01 | 344 | #define SUBLANG_SPANISH 0x01 |
| 162 | #define SUBLANG_SPANISH_MEXICAN 0x02 | 345 | #define SUBLANG_SPANISH_MEXICAN 0x02 |
| 163 | #define SUBLANG_SPANISH_MODERN 0x03 | 346 | #define SUBLANG_SPANISH_MODERN 0x03 |
| ... | @@ -178,23 +361,58 @@ | ... | @@ -178,23 +361,58 @@ |
| 178 | #define SUBLANG_SPANISH_HONDURAS 0x12 | 361 | #define SUBLANG_SPANISH_HONDURAS 0x12 |
| 179 | #define SUBLANG_SPANISH_NICARAGUA 0x13 | 362 | #define SUBLANG_SPANISH_NICARAGUA 0x13 |
| 180 | #define SUBLANG_SPANISH_PUERTO_RICO 0x14 | 363 | #define SUBLANG_SPANISH_PUERTO_RICO 0x14 |
| 364 | #define SUBLANG_SPANISH_US 0x15 | ||
| 365 | #define SUBLANG_SWAHILI_KENYA 0x01 | ||
| 181 | #define SUBLANG_SWEDISH 0x01 | 366 | #define SUBLANG_SWEDISH 0x01 |
| 182 | #define SUBLANG_SWEDISH_FINLAND 0x02 | 367 | #define SUBLANG_SWEDISH_FINLAND 0x02 |
| 368 | #define SUBLANG_SYRIAC_SYRIA 0x01 | ||
| 369 | #define SUBLANG_TAJIK_TAJIKISTAN 0x01 | ||
| 370 | #define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 | ||
| 371 | #define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 | ||
| 372 | #define SUBLANG_TAMIL_INDIA 0x01 | ||
| 373 | #define SUBLANG_TAMIL_SRI_LANKA 0x02 | ||
| 374 | #define SUBLANG_TATAR_RUSSIA 0x01 | ||
| 375 | #define SUBLANG_TELUGU_INDIA 0x01 | ||
| 376 | #define SUBLANG_THAI_THAILAND 0x01 | ||
| 377 | #define SUBLANG_TIBETAN_PRC 0x01 | ||
| 378 | #define SUBLANG_TIGRIGNA_ERITREA 0x02 | ||
| 379 | #define SUBLANG_TIGRINYA_ERITREA 0x02 | ||
| 380 | #define SUBLANG_TIGRINYA_ETHIOPIA 0x01 | ||
| 381 | #define SUBLANG_TSWANA_BOTSWANA 0x02 | ||
| 382 | #define SUBLANG_TSWANA_SOUTH_AFRICA 0x01 | ||
| 383 | #define SUBLANG_TURKISH_TURKEY 0x01 | ||
| 384 | #define SUBLANG_TURKMEN_TURKMENISTAN 0x01 | ||
| 385 | #define SUBLANG_UIGHUR_PRC 0x01 | ||
| 386 | #define SUBLANG_UKRAINIAN_UKRAINE 0x01 | ||
| 387 | #define SUBLANG_UPPER_SORBIAN_GERMANY 0x01 | ||
| 183 | #define SUBLANG_URDU_PAKISTAN 0x01 | 388 | #define SUBLANG_URDU_PAKISTAN 0x01 |
| 184 | #define SUBLANG_URDU_INDIA 0x02 | 389 | #define SUBLANG_URDU_INDIA 0x02 |
| 185 | #define SUBLANG_UZBEK_LATIN 0x01 | 390 | #define SUBLANG_UZBEK_LATIN 0x01 |
| 186 | #define SUBLANG_UZBEK_CYRILLIC 0x02 | 391 | #define SUBLANG_UZBEK_CYRILLIC 0x02 |
| 392 | #define SUBLANG_VALENCIAN_VALENCIA 0x02 | ||
| 393 | #define SUBLANG_VIETNAMESE_VIETNAM 0x01 | ||
| 394 | #define SUBLANG_WELSH_UNITED_KINGDOM 0x01 | ||
| 395 | #define SUBLANG_WOLOF_SENEGAL 0x01 | ||
| 396 | #define SUBLANG_XHOSA_SOUTH_AFRICA 0x01 | ||
| 397 | #define SUBLANG_YAKUT_RUSSIA 0x01 | ||
| 398 | #define SUBLANG_YI_PRC 0x01 | ||
| 399 | #define SUBLANG_YORUBA_NIGERIA 0x01 | ||
| 400 | #define SUBLANG_ZULU_SOUTH_AFRICA 0x01 | ||
| 187 | 401 | ||
| 188 | #define SORT_DEFAULT 0x0 | 402 | #define SORT_DEFAULT 0x0 |
| 189 | 403 | ||
| 404 | #define SORT_INVARIANT_MATH 0x1 | ||
| 405 | |||
| 190 | #define SORT_JAPANESE_XJIS 0x0 | 406 | #define SORT_JAPANESE_XJIS 0x0 |
| 191 | #define SORT_JAPANESE_UNICODE 0x1 | 407 | #define SORT_JAPANESE_UNICODE 0x1 |
| 408 | #define SORT_JAPANESE_RADICALSTROKE 0x4 | ||
| 192 | 409 | ||
| 193 | #define SORT_CHINESE_BIG5 0x0 | 410 | #define SORT_CHINESE_BIG5 0x0 |
| 194 | #define SORT_CHINESE_PRCP 0x0 | 411 | #define SORT_CHINESE_PRCP 0x0 |
| 195 | #define SORT_CHINESE_UNICODE 0x1 | 412 | #define SORT_CHINESE_UNICODE 0x1 |
| 196 | #define SORT_CHINESE_PRC 0x2 | 413 | #define SORT_CHINESE_PRC 0x2 |
| 197 | #define SORT_CHINESE_BOPOMOFO 0x3 | 414 | #define SORT_CHINESE_BOPOMOFO 0x3 |
| 415 | #define SORT_CHINESE_RADICALSTROKE 0x4 | ||
| 198 | 416 | ||
| 199 | #define SORT_KOREAN_KSC 0x0 | 417 | #define SORT_KOREAN_KSC 0x0 |
| 200 | #define SORT_KOREAN_UNICODE 0x1 | 418 | #define SORT_KOREAN_UNICODE 0x1 |
lib/libc/include/any-windows-any/wmcodecdsp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmcodecdsp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmcodecdsp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmcontainer.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmcontainer.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmcontainer.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmdrmsdk.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmdrmsdk.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmdrmsdk.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmprealestate.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmprealestate.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmprealestate.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmpservices.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmpservices.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmpservices.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmsbuffer.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmsbuffer.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmsbuffer.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmsdkidl.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmsdkidl.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmsdkidl.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wmsecure.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wmsecure.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wmsecure.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wpcapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wpcapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wpcapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsdattachment.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsdattachment.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsdattachment.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsdbase.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsdbase.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsdbase.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsdclient.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsdclient.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsdclient.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsddisco.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsddisco.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsddisco.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsdhost.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsdhost.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsdhost.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsdxml.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsdxml.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsdxml.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wsmandisp.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wsmandisp.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wsmandisp.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wtypes.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wtypes.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wtypes.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wtypesbase.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wtypesbase.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wtypesbase.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/wuapi.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/wuapi.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/wuapi.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xamlom.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xamlom.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xamlom.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xapo.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xapo.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xapo.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xaudio2.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xaudio2.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xaudio2fx.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xaudio2fx.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2fx.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xmllite.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xmllite.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xmllite.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xpsdigitalsignature.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xpsdigitalsignature.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xpsdigitalsignature.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xpsobjectmodel.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xpsobjectmodel.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xpsobjectmodel_1.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xpsobjectmodel_1.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel_1.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xpsprint.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xpsprint.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xpsprint.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/include/any-windows-any/xpsrassvc.h+1-1| ... | @@ -1,4 +1,4 @@ | ... | @@ -1,4 +1,4 @@ |
| 1 | /*** Autogenerated by WIDL 9.20 from include/xpsrassvc.idl - Do not edit ***/ | 1 | /*** Autogenerated by WIDL 10.0-rc1 from include/xpsrassvc.idl - Do not edit ***/ |
| 2 | 2 | ||
| 3 | #ifdef _WIN32 | 3 | #ifdef _WIN32 |
| 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 4 | #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
lib/libc/mingw/crt/cinitexe.c+3-4| ... | @@ -1,13 +1,12 @@ | ... | @@ -1,13 +1,12 @@ |
| 1 | #include <stdio.h> | 1 | #include <stdio.h> |
| 2 | #include <sect_attribs.h> | 2 | #include <sect_attribs.h> |
| 3 | #include <corecrt_startup.h> | ||
| 3 | 4 | ||
| 4 | #ifdef _MSC_VER | 5 | #ifdef _MSC_VER |
| 5 | #pragma comment(linker, "/merge:.CRT=.rdata") | 6 | #pragma comment(linker, "/merge:.CRT=.rdata") |
| 6 | #endif | 7 | #endif |
| 7 | 8 | ||
| 8 | typedef void (__cdecl *_PVFV)(void); | 9 | _CRTALLOC(".CRT$XIA") _PIFV __xi_a[] = { NULL }; |
| 9 | 10 | _CRTALLOC(".CRT$XIZ") _PIFV __xi_z[] = { NULL }; | |
| 10 | _CRTALLOC(".CRT$XIA") _PVFV __xi_a[] = { NULL }; | ||
| 11 | _CRTALLOC(".CRT$XIZ") _PVFV __xi_z[] = { NULL }; | ||
| 12 | _CRTALLOC(".CRT$XCA") _PVFV __xc_a[] = { NULL }; | 11 | _CRTALLOC(".CRT$XCA") _PVFV __xc_a[] = { NULL }; |
| 13 | _CRTALLOC(".CRT$XCZ") _PVFV __xc_z[] = { NULL }; | 12 | _CRTALLOC(".CRT$XCZ") _PVFV __xc_z[] = { NULL }; |
lib/libc/mingw/crt/crt_handler.c-4| ... | @@ -51,10 +51,6 @@ __mingw_init_ehandler (void) | ... | @@ -51,10 +51,6 @@ __mingw_init_ehandler (void) |
| 51 | if (_FindPESectionByName (".pdata") != NULL) | 51 | if (_FindPESectionByName (".pdata") != NULL) |
| 52 | return 1; | 52 | return 1; |
| 53 | 53 | ||
| 54 | /* Allocate # of e tables and entries. */ | ||
| 55 | memset (emu_pdata, 0, sizeof (RUNTIME_FUNCTION) * MAX_PDATA_ENTRIES); | ||
| 56 | memset (emu_xdata, 0, sizeof (UNWIND_INFO) * MAX_PDATA_ENTRIES); | ||
| 57 | |||
| 58 | e = 0; | 54 | e = 0; |
| 59 | /* Fill tables and entries. */ | 55 | /* Fill tables and entries. */ |
| 60 | while (e < MAX_PDATA_ENTRIES && (pSec = _FindPESectionExec (e)) != NULL) | 56 | while (e < MAX_PDATA_ENTRIES && (pSec = _FindPESectionExec (e)) != NULL) |
lib/libc/mingw/crt/crtdll.c+14-7| ... | @@ -97,7 +97,8 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) | ... | @@ -97,7 +97,8 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) |
| 97 | 	{ | 97 | 	{ |
| 98 | 	 __native_startup_state = __initializing; | 98 | 	 __native_startup_state = __initializing; |
| 99 | 	 | 99 | 	 |
| 100 | 	 _initterm ((_PVFV *) (void *) __xi_a, (_PVFV *) (void *) __xi_z); | 100 | 	 if (_initterm_e (__xi_a, __xi_z) != 0) |
| 101 | 	 return FALSE; | ||
| 101 | 	} | 102 | 	} |
| 102 | if (__native_startup_state == __initializing) | 103 | if (__native_startup_state == __initializing) |
| 103 | 	{ | 104 | 	{ |
| ... | @@ -147,15 +148,15 @@ WINBOOL WINAPI | ... | @@ -147,15 +148,15 @@ WINBOOL WINAPI |
| 147 | DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) | 148 | DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) |
| 148 | { | 149 | { |
| 149 | __mingw_app_type = 0; | 150 | __mingw_app_type = 0; |
| 150 | if (dwReason == DLL_PROCESS_ATTACH) | ||
| 151 | { | ||
| 152 | #if defined(__x86_64__) && !defined(__SEH__) | ||
| 153 | __mingw_init_ehandler (); | ||
| 154 | #endif | ||
| 155 | } | ||
| 156 | return __DllMainCRTStartup (hDllHandle, dwReason, lpreserved); | 151 | return __DllMainCRTStartup (hDllHandle, dwReason, lpreserved); |
| 157 | } | 152 | } |
| 158 | 153 | ||
| 154 | static | ||
| 155 | #if defined(__i386__) || defined(_X86_) | ||
| 156 | /* We need to make sure that we align the stack to 16 bytes for the sake of SSE | ||
| 157 | opts in DllMain/DllEntryPoint or in functions called from DllMain/DllEntryPoint. */ | ||
| 158 | __attribute__((force_align_arg_pointer)) | ||
| 159 | #endif | ||
| 159 | __declspec(noinline) WINBOOL | 160 | __declspec(noinline) WINBOOL |
| 160 | __DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) | 161 | __DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) |
| 161 | { | 162 | { |
| ... | @@ -168,6 +169,12 @@ __DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) | ... | @@ -168,6 +169,12 @@ __DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) |
| 168 | 	goto i__leave; | 169 | 	goto i__leave; |
| 169 | } | 170 | } |
| 170 | _pei386_runtime_relocator (); | 171 | _pei386_runtime_relocator (); |
| 172 | |||
| 173 | #if defined(__x86_64__) && !defined(__SEH__) | ||
| 174 | if (dwReason == DLL_PROCESS_ATTACH) | ||
| 175 | __mingw_init_ehandler (); | ||
| 176 | #endif | ||
| 177 | |||
| 171 | if (dwReason == DLL_PROCESS_ATTACH || dwReason == DLL_THREAD_ATTACH) | 178 | if (dwReason == DLL_PROCESS_ATTACH || dwReason == DLL_THREAD_ATTACH) |
| 172 | { | 179 | { |
| 173 | retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved); | 180 | retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved); |
lib/libc/mingw/crt/crtexe.c+13-6| ... | @@ -58,11 +58,9 @@ extern void __main(void); | ... | @@ -58,11 +58,9 @@ extern void __main(void); |
| 58 | static _TCHAR **argv; | 58 | static _TCHAR **argv; |
| 59 | static _TCHAR **envp; | 59 | static _TCHAR **envp; |
| 60 | 60 | ||
| 61 | static int argret; | ||
| 62 | static int mainret=0; | 61 | static int mainret=0; |
| 63 | static int managedapp; | 62 | static int managedapp; |
| 64 | static int has_cctor = 0; | 63 | static int has_cctor = 0; |
| 65 | static _startupinfo startinfo; | ||
| 66 | extern LPTOP_LEVEL_EXCEPTION_FILTER __mingw_oldexcpt_handler; | 64 | extern LPTOP_LEVEL_EXCEPTION_FILTER __mingw_oldexcpt_handler; |
| 67 | 65 | ||
| 68 | extern void _pei386_runtime_relocator (void); | 66 | extern void _pei386_runtime_relocator (void); |
| ... | @@ -97,6 +95,7 @@ __mingw_invalidParameterHandler (const wchar_t * __UNUSED_PARAM_1(expression), | ... | @@ -97,6 +95,7 @@ __mingw_invalidParameterHandler (const wchar_t * __UNUSED_PARAM_1(expression), |
| 97 | static int __cdecl | 95 | static int __cdecl |
| 98 | pre_c_init (void) | 96 | pre_c_init (void) |
| 99 | { | 97 | { |
| 98 | int ret; | ||
| 100 | managedapp = check_managed_app (); | 99 | managedapp = check_managed_app (); |
| 101 | if (__mingw_app_type) | 100 | if (__mingw_app_type) |
| 102 | __set_app_type(_GUI_APP); | 101 | __set_app_type(_GUI_APP); |
| ... | @@ -107,10 +106,12 @@ pre_c_init (void) | ... | @@ -107,10 +106,12 @@ pre_c_init (void) |
| 107 | * __p__commode() = _commode; | 106 | * __p__commode() = _commode; |
| 108 | 107 | ||
| 109 | #ifdef _UNICODE | 108 | #ifdef _UNICODE |
| 110 | _wsetargv(); | 109 | ret = _wsetargv(); |
| 111 | #else | 110 | #else |
| 112 | _setargv(); | 111 | ret = _setargv(); |
| 113 | #endif | 112 | #endif |
| 113 | if (ret < 0) | ||
| 114 | _amsg_exit(8); /* _RT_SPACEARG */ | ||
| 114 | if (_MINGW_INSTALL_DEBUG_MATHERR == 1) | 115 | if (_MINGW_INSTALL_DEBUG_MATHERR == 1) |
| 115 | { | 116 | { |
| 116 | __setusermatherr (_matherr); | 117 | __setusermatherr (_matherr); |
| ... | @@ -125,6 +126,9 @@ pre_c_init (void) | ... | @@ -125,6 +126,9 @@ pre_c_init (void) |
| 125 | static void __cdecl | 126 | static void __cdecl |
| 126 | pre_cpp_init (void) | 127 | pre_cpp_init (void) |
| 127 | { | 128 | { |
| 129 | _startupinfo startinfo; | ||
| 130 | int argret; | ||
| 131 | |||
| 128 | startinfo.newmode = _newmode; | 132 | startinfo.newmode = _newmode; |
| 129 | 133 | ||
| 130 | #ifdef _UNICODE | 134 | #ifdef _UNICODE |
| ... | @@ -132,6 +136,8 @@ pre_cpp_init (void) | ... | @@ -132,6 +136,8 @@ pre_cpp_init (void) |
| 132 | #else | 136 | #else |
| 133 | argret = __getmainargs(&argc,&argv,&envp,_dowildcard,&startinfo); | 137 | argret = __getmainargs(&argc,&argv,&envp,_dowildcard,&startinfo); |
| 134 | #endif | 138 | #endif |
| 139 | if (argret < 0) | ||
| 140 | _amsg_exit(8); /* _RT_SPACEARG */ | ||
| 135 | } | 141 | } |
| 136 | 142 | ||
| 137 | static int __tmainCRTStartup (void); | 143 | static int __tmainCRTStartup (void); |
| ... | @@ -197,7 +203,7 @@ int mainCRTStartup (void) | ... | @@ -197,7 +203,7 @@ int mainCRTStartup (void) |
| 197 | static | 203 | static |
| 198 | #if defined(__i386__) || defined(_X86_) | 204 | #if defined(__i386__) || defined(_X86_) |
| 199 | /* We need to make sure that we align the stack to 16 bytes for the sake of SSE | 205 | /* We need to make sure that we align the stack to 16 bytes for the sake of SSE |
| 200 | opts in main or in functions called main. */ | 206 | opts in main or in functions called from main. */ |
| 201 | __attribute__((force_align_arg_pointer)) | 207 | __attribute__((force_align_arg_pointer)) |
| 202 | #endif | 208 | #endif |
| 203 | __declspec(noinline) int | 209 | __declspec(noinline) int |
| ... | @@ -223,7 +229,8 @@ __tmainCRTStartup (void) | ... | @@ -223,7 +229,8 @@ __tmainCRTStartup (void) |
| 223 | else if (__native_startup_state == __uninitialized) | 229 | else if (__native_startup_state == __uninitialized) |
| 224 | { | 230 | { |
| 225 | 	__native_startup_state = __initializing; | 231 | 	__native_startup_state = __initializing; |
| 226 | 	_initterm ((_PVFV *)(void *)__xi_a, (_PVFV *)(void *) __xi_z); | 232 | 	if (_initterm_e (__xi_a, __xi_z) != 0) |
| 233 | 	 return 255; | ||
| 227 | } | 234 | } |
| 228 | else | 235 | else |
| 229 | has_cctor = 1; | 236 | has_cctor = 1; |
lib/libc/mingw/crt/intrincs/RtlSecureZeroMemory.c deleted-17| ... | @@ -1,17 +0,0 @@ | ||
| 1 | #define __CRT__NO_INLINE 1 | ||
| 2 | #include <windows.h> | ||
| 3 | |||
| 4 | PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) | ||
| 5 | { | ||
| 6 | volatile char *vptr = (volatile char *)ptr; | ||
| 7 | #ifdef __x86_64 | ||
| 8 | __stosb ((PBYTE)((DWORD64)vptr),0,cnt); | ||
| 9 | #else | ||
| 10 | while (cnt != 0) | ||
| 11 | { | ||
| 12 | *vptr++ = 0; | ||
| 13 | cnt--; | ||
| 14 | } | ||
| 15 | #endif /* __x86_64 */ | ||
| 16 | return ptr; | ||
| 17 | } | ||
lib/libc/mingw/crt/tlssup.c+1| ... | @@ -32,6 +32,7 @@ typedef struct TlsDtorNode { | ... | @@ -32,6 +32,7 @@ typedef struct TlsDtorNode { |
| 32 | _PVFV funcs[FUNCS_PER_NODE]; | 32 | _PVFV funcs[FUNCS_PER_NODE]; |
| 33 | } TlsDtorNode; | 33 | } TlsDtorNode; |
| 34 | 34 | ||
| 35 | __attribute__((used)) | ||
| 35 | ULONG _tls_index = 0; | 36 | ULONG _tls_index = 0; |
| 36 | 37 | ||
| 37 | /* TLS raw template data start and end. | 38 | /* TLS raw template data start and end. |
lib/libc/mingw/def-include/crt-aliases.def.in+14-10| ... | @@ -231,6 +231,12 @@ ADD_UNDERSCORE(y1) | ... | @@ -231,6 +231,12 @@ ADD_UNDERSCORE(y1) |
| 231 | ADD_UNDERSCORE(yn) | 231 | ADD_UNDERSCORE(yn) |
| 232 | 232 | ||
| 233 | ; This is list of symbol aliases for C95 functions | 233 | ; This is list of symbol aliases for C95 functions |
| 234 | #ifdef WITH_GET_PUT_WCHAR_ALIASES | ||
| 235 | getwc == fgetwc | ||
| 236 | getwchar == _fgetwchar | ||
| 237 | putwc == fputwc | ||
| 238 | putwchar == _fputwchar | ||
| 239 | #endif | ||
| 234 | #ifdef USE_WCSTOK_S_FOR_WCSTOK | 240 | #ifdef USE_WCSTOK_S_FOR_WCSTOK |
| 235 | wcstok == wcstok_s | 241 | wcstok == wcstok_s |
| 236 | #endif | 242 | #endif |
| ... | @@ -531,24 +537,22 @@ __ms_printf == printf | ... | @@ -531,24 +537,22 @@ __ms_printf == printf |
| 531 | __ms_scanf == scanf | 537 | __ms_scanf == scanf |
| 532 | __ms_sprintf == sprintf | 538 | __ms_sprintf == sprintf |
| 533 | __ms_sscanf == sscanf | 539 | __ms_sscanf == sscanf |
| 534 | #ifdef PRE_C95_SWPRINTF | ||
| 535 | __ms_swprintf == swprintf | ||
| 536 | #else | ||
| 537 | __ms_swprintf == _swprintf | ||
| 538 | #endif | ||
| 539 | __ms_swscanf == swscanf | 540 | __ms_swscanf == swscanf |
| 540 | __ms_vfprintf == vfprintf | 541 | __ms_vfprintf == vfprintf |
| 541 | __ms_vfwprintf == vfwprintf | 542 | __ms_vfwprintf == vfwprintf |
| 542 | __ms_vprintf == vprintf | 543 | __ms_vprintf == vprintf |
| 543 | __ms_vsprintf == vsprintf | 544 | __ms_vsprintf == vsprintf |
| 544 | #ifdef PRE_C95_SWPRINTF | ||
| 545 | __ms_vswprintf == vswprintf | ||
| 546 | #else | ||
| 547 | __ms_vswprintf == _vswprintf | ||
| 548 | #endif | ||
| 549 | __ms_vwprintf == vwprintf | 545 | __ms_vwprintf == vwprintf |
| 550 | __ms_wprintf == wprintf | 546 | __ms_wprintf == wprintf |
| 551 | __ms_wscanf == wscanf | 547 | __ms_wscanf == wscanf |
| 548 | #ifdef WITH_MS_VSCANF_ALIASES | ||
| 549 | __ms_vfscanf == vfscanf | ||
| 550 | __ms_vfwscanf == vfwscanf | ||
| 551 | __ms_vscanf == vscanf | ||
| 552 | __ms_vsscanf == vsscanf | ||
| 553 | __ms_vswscanf == vswscanf | ||
| 554 | __ms_vwscanf == vwscanf | ||
| 555 | #endif | ||
| 552 | #endif | 556 | #endif |
| 553 | 557 | ||
| 554 | ; This is list of additional symbol aliases not available in any library as neither native symbols nor aliases | 558 | ; This is list of additional symbol aliases not available in any library as neither native symbols nor aliases |
lib/libc/mingw/include/msvcrt.h+9-4| ... | @@ -1,10 +1,15 @@ | ... | @@ -1,10 +1,15 @@ |
| 1 | #include <winbase.h> | ||
| 2 | |||
| 3 | #ifndef __LIBMSVCRT_OS__ | 1 | #ifndef __LIBMSVCRT_OS__ |
| 4 | #error "This file should only be used in libmsvcrt-os.a" | 2 | #error "This file should only be used in libmsvcrt-os.a" |
| 5 | #endif | 3 | #endif |
| 6 | 4 | ||
| 7 | static inline HANDLE __mingw_get_msvcrt_handle(void) | 5 | #ifndef MSVCRT_H |
| 6 | #define MSVCRT_H | ||
| 7 | |||
| 8 | #include <winbase.h> | ||
| 9 | |||
| 10 | static inline HMODULE __mingw_get_msvcrt_handle(void) | ||
| 8 | { | 11 | { |
| 9 | return GetModuleHandleW(L"msvcrt.dll"); | 12 | return GetModuleHandleA("msvcrt.dll"); |
| 10 | } | 13 | } |
| 14 | |||
| 15 | #endif |
lib/libc/mingw/intrincs/RtlSecureZeroMemory.c created+17| ... | @@ -0,0 +1,17 @@ | ||
| 1 | #define __CRT__NO_INLINE 1 | ||
| 2 | #include <windows.h> | ||
| 3 | |||
| 4 | PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) | ||
| 5 | { | ||
| 6 | volatile char *vptr = (volatile char *)ptr; | ||
| 7 | #ifdef __x86_64 | ||
| 8 | __stosb ((PBYTE)((DWORD64)vptr),0,cnt); | ||
| 9 | #else | ||
| 10 | while (cnt != 0) | ||
| 11 | { | ||
| 12 | *vptr++ = 0; | ||
| 13 | cnt--; | ||
| 14 | } | ||
| 15 | #endif /* __x86_64 */ | ||
| 16 | return ptr; | ||
| 17 | } | ||
lib/libc/mingw/lib-common/kernel32.def.in+5| ... | @@ -25,6 +25,7 @@ AddVectoredContinueHandler | ... | @@ -25,6 +25,7 @@ AddVectoredContinueHandler |
| 25 | AddVectoredExceptionHandler | 25 | AddVectoredExceptionHandler |
| 26 | AdjustCalendarDate | 26 | AdjustCalendarDate |
| 27 | AllocConsole | 27 | AllocConsole |
| 28 | AllocConsoleWithOptions | ||
| 28 | AllocateUserPhysicalPages | 29 | AllocateUserPhysicalPages |
| 29 | AllocateUserPhysicalPagesNuma | 30 | AllocateUserPhysicalPagesNuma |
| 30 | AppPolicyGetClrCompat | 31 | AppPolicyGetClrCompat |
| ... | @@ -447,6 +448,7 @@ FindVolumeMountPointClose | ... | @@ -447,6 +448,7 @@ FindVolumeMountPointClose |
| 447 | FlsAlloc | 448 | FlsAlloc |
| 448 | FlsFree | 449 | FlsFree |
| 449 | FlsGetValue | 450 | FlsGetValue |
| 451 | FlsGetValue2 | ||
| 450 | FlsSetValue | 452 | FlsSetValue |
| 451 | FlushConsoleInputBuffer | 453 | FlushConsoleInputBuffer |
| 452 | FlushFileBuffers | 454 | FlushFileBuffers |
| ... | @@ -626,6 +628,7 @@ GetFileAttributesW | ... | @@ -626,6 +628,7 @@ GetFileAttributesW |
| 626 | GetFileBandwidthReservation | 628 | GetFileBandwidthReservation |
| 627 | GetFileInformationByHandle | 629 | GetFileInformationByHandle |
| 628 | GetFileInformationByHandleEx | 630 | GetFileInformationByHandleEx |
| 631 | GetFileInformationByName | ||
| 629 | GetFileMUIInfo | 632 | GetFileMUIInfo |
| 630 | GetFileMUIPath | 633 | GetFileMUIPath |
| 631 | GetFileSize | 634 | GetFileSize |
| ... | @@ -1282,6 +1285,7 @@ ReleaseActCtxWorker | ... | @@ -1282,6 +1285,7 @@ ReleaseActCtxWorker |
| 1282 | ReleaseMutex | 1285 | ReleaseMutex |
| 1283 | ReleaseMutexWhenCallbackReturns | 1286 | ReleaseMutexWhenCallbackReturns |
| 1284 | ReleasePackageVirtualizationContext | 1287 | ReleasePackageVirtualizationContext |
| 1288 | ReleasePseudoConsole | ||
| 1285 | ReleaseSRWLockExclusive | 1289 | ReleaseSRWLockExclusive |
| 1286 | ReleaseSRWLockShared | 1290 | ReleaseSRWLockShared |
| 1287 | ReleaseSemaphore | 1291 | ReleaseSemaphore |
| ... | @@ -1543,6 +1547,7 @@ Thread32Next | ... | @@ -1543,6 +1547,7 @@ Thread32Next |
| 1543 | TlsAlloc | 1547 | TlsAlloc |
| 1544 | TlsFree | 1548 | TlsFree |
| 1545 | TlsGetValue | 1549 | TlsGetValue |
| 1550 | TlsGetValue2 | ||
| 1546 | TlsSetValue | 1551 | TlsSetValue |
| 1547 | Toolhelp32ReadProcessMemory | 1552 | Toolhelp32ReadProcessMemory |
| 1548 | TransactNamedPipe | 1553 | TransactNamedPipe |
lib/libc/mingw/lib-common/vcruntime140-common.def.in created+89| ... | @@ -0,0 +1,89 @@ | ||
| 1 | _CreateFrameInfo | ||
| 2 | F_I386(_CxxThrowException@8) | ||
| 3 | F_NON_I386(_CxxThrowException) | ||
| 4 | F_I386(_EH_prolog) | ||
| 5 | _FindAndUnlinkFrame | ||
| 6 | _IsExceptionObjectToBeDestroyed | ||
| 7 | F_I386(_NLG_Dispatch2@4) | ||
| 8 | F_I386(_NLG_Return@12) | ||
| 9 | F_I386(_NLG_Return2) | ||
| 10 | _SetWinRTOutOfMemoryExceptionCallback | ||
| 11 | __AdjustPointer | ||
| 12 | __BuildCatchObject | ||
| 13 | __BuildCatchObjectHelper | ||
| 14 | F_NON_I386(__C_specific_handler) | ||
| 15 | F_NON_I386(__C_specific_handler_noexcept) | ||
| 16 | __CxxDetectRethrow | ||
| 17 | __CxxExceptionFilter | ||
| 18 | __CxxFrameHandler | ||
| 19 | __CxxFrameHandler2 | ||
| 20 | __CxxFrameHandler3 | ||
| 21 | F_I386(__CxxLongjmpUnwind@4) | ||
| 22 | __CxxQueryExceptionSize | ||
| 23 | __CxxRegisterExceptionObject | ||
| 24 | __CxxUnregisterExceptionObject | ||
| 25 | __DestructExceptionObject | ||
| 26 | __FrameUnwindFilter | ||
| 27 | __GetPlatformExceptionInfo | ||
| 28 | F_NON_I386(__NLG_Dispatch2) | ||
| 29 | F_NON_I386(__NLG_Return2) | ||
| 30 | __RTCastToVoid | ||
| 31 | __RTDynamicCast | ||
| 32 | __RTtypeid | ||
| 33 | __TypeMatch | ||
| 34 | __current_exception | ||
| 35 | __current_exception_context | ||
| 36 | F_NON_ARM64(__intrinsic_setjmp) | ||
| 37 | F_NON_I386(__intrinsic_setjmpex) | ||
| 38 | F_ARM32(__jump_unwind) | ||
| 39 | __processing_throw | ||
| 40 | __report_gsfailure | ||
| 41 | __std_exception_copy | ||
| 42 | __std_exception_destroy | ||
| 43 | __std_terminate | ||
| 44 | __std_type_info_compare | ||
| 45 | __std_type_info_destroy_list | ||
| 46 | __std_type_info_hash | ||
| 47 | __std_type_info_name | ||
| 48 | __telemetry_main_invoke_trigger | ||
| 49 | __telemetry_main_return_trigger | ||
| 50 | __unDName | ||
| 51 | __unDNameEx | ||
| 52 | __uncaught_exception | ||
| 53 | __uncaught_exceptions | ||
| 54 | __vcrt_GetModuleFileNameW | ||
| 55 | __vcrt_GetModuleHandleW | ||
| 56 | __vcrt_InitializeCriticalSectionEx | ||
| 57 | __vcrt_LoadLibraryExW | ||
| 58 | F_I386(_chkesp) | ||
| 59 | F_I386(_except_handler2) | ||
| 60 | F_I386(_except_handler3) | ||
| 61 | F_I386(_except_handler4_common) | ||
| 62 | _get_purecall_handler | ||
| 63 | _get_unexpected | ||
| 64 | F_I386(_global_unwind2) | ||
| 65 | _is_exception_typeof | ||
| 66 | F64(_local_unwind) | ||
| 67 | F_I386(_local_unwind2) | ||
| 68 | F_I386(_local_unwind4) | ||
| 69 | F_I386(_longjmpex) | ||
| 70 | _purecall | ||
| 71 | F_I386(_seh_longjmp_unwind4@4) | ||
| 72 | F_I386(_seh_longjmp_unwind@4) | ||
| 73 | _set_purecall_handler | ||
| 74 | _set_se_translator | ||
| 75 | F_I386(_setjmp3) | ||
| 76 | longjmp | ||
| 77 | memchr | ||
| 78 | memcmp | ||
| 79 | memcpy | ||
| 80 | memmove | ||
| 81 | memset | ||
| 82 | set_unexpected | ||
| 83 | strchr | ||
| 84 | strrchr | ||
| 85 | strstr | ||
| 86 | unexpected | ||
| 87 | wcschr | ||
| 88 | wcsrchr | ||
| 89 | wcsstr | ||
lib/libc/mingw/lib-common/vcruntime140.def.in+1-90| ... | @@ -2,93 +2,4 @@ LIBRARY "VCRUNTIME140.dll" | ... | @@ -2,93 +2,4 @@ LIBRARY "VCRUNTIME140.dll" |
| 2 | EXPORTS | 2 | EXPORTS |
| 3 | 3 | ||
| 4 | #include "func.def.in" | 4 | #include "func.def.in" |
| 5 | 5 | #include "vcruntime140-common.def.in" | |
| 6 | _CreateFrameInfo | ||
| 7 | F_I386(_CxxThrowException@8) | ||
| 8 | F_NON_I386(_CxxThrowException) | ||
| 9 | F_I386(_EH_prolog) | ||
| 10 | _FindAndUnlinkFrame | ||
| 11 | _IsExceptionObjectToBeDestroyed | ||
| 12 | F_I386(_NLG_Dispatch2@4) | ||
| 13 | F_I386(_NLG_Return@12) | ||
| 14 | F_I386(_NLG_Return2) | ||
| 15 | _SetWinRTOutOfMemoryExceptionCallback | ||
| 16 | __AdjustPointer | ||
| 17 | __BuildCatchObject | ||
| 18 | __BuildCatchObjectHelper | ||
| 19 | F_NON_I386(__C_specific_handler) | ||
| 20 | F_NON_I386(__C_specific_handler_noexcept) | ||
| 21 | __CxxDetectRethrow | ||
| 22 | __CxxExceptionFilter | ||
| 23 | __CxxFrameHandler | ||
| 24 | __CxxFrameHandler2 | ||
| 25 | __CxxFrameHandler3 | ||
| 26 | F_I386(__CxxLongjmpUnwind@4) | ||
| 27 | __CxxQueryExceptionSize | ||
| 28 | __CxxRegisterExceptionObject | ||
| 29 | __CxxUnregisterExceptionObject | ||
| 30 | __DestructExceptionObject | ||
| 31 | __FrameUnwindFilter | ||
| 32 | __GetPlatformExceptionInfo | ||
| 33 | F_NON_I386(__NLG_Dispatch2) | ||
| 34 | F_NON_I386(__NLG_Return2) | ||
| 35 | __RTCastToVoid | ||
| 36 | __RTDynamicCast | ||
| 37 | __RTtypeid | ||
| 38 | __TypeMatch | ||
| 39 | __current_exception | ||
| 40 | __current_exception_context | ||
| 41 | F_NON_ARM64(__intrinsic_setjmp) | ||
| 42 | F_NON_I386(__intrinsic_setjmpex) | ||
| 43 | F_ARM32(__jump_unwind) | ||
| 44 | __processing_throw | ||
| 45 | __report_gsfailure | ||
| 46 | __std_exception_copy | ||
| 47 | __std_exception_destroy | ||
| 48 | __std_terminate | ||
| 49 | __std_type_info_compare | ||
| 50 | __std_type_info_destroy_list | ||
| 51 | __std_type_info_hash | ||
| 52 | __std_type_info_name | ||
| 53 | __telemetry_main_invoke_trigger | ||
| 54 | __telemetry_main_return_trigger | ||
| 55 | __unDName | ||
| 56 | __unDNameEx | ||
| 57 | __uncaught_exception | ||
| 58 | __uncaught_exceptions | ||
| 59 | __vcrt_GetModuleFileNameW | ||
| 60 | __vcrt_GetModuleHandleW | ||
| 61 | __vcrt_InitializeCriticalSectionEx | ||
| 62 | __vcrt_LoadLibraryExW | ||
| 63 | F_I386(_chkesp) | ||
| 64 | F_I386(_except_handler2) | ||
| 65 | F_I386(_except_handler3) | ||
| 66 | F_I386(_except_handler4_common) | ||
| 67 | _get_purecall_handler | ||
| 68 | _get_unexpected | ||
| 69 | F_I386(_global_unwind2) | ||
| 70 | _is_exception_typeof | ||
| 71 | F64(_local_unwind) | ||
| 72 | F_I386(_local_unwind2) | ||
| 73 | F_I386(_local_unwind4) | ||
| 74 | F_I386(_longjmpex) | ||
| 75 | _purecall | ||
| 76 | F_I386(_seh_longjmp_unwind4@4) | ||
| 77 | F_I386(_seh_longjmp_unwind@4) | ||
| 78 | _set_purecall_handler | ||
| 79 | _set_se_translator | ||
| 80 | F_I386(_setjmp3) | ||
| 81 | longjmp | ||
| 82 | memchr | ||
| 83 | memcmp | ||
| 84 | memcpy | ||
| 85 | memmove | ||
| 86 | memset | ||
| 87 | set_unexpected | ||
| 88 | strchr | ||
| 89 | strrchr | ||
| 90 | strstr | ||
| 91 | unexpected | ||
| 92 | wcschr | ||
| 93 | wcsrchr | ||
| 94 | wcsstr |
lib/libc/mingw/lib-common/vcruntime140_app.def.in+2-92| ... | @@ -1,95 +1,5 @@ | ... | @@ -1,95 +1,5 @@ |
| 1 | LIBRARY vcruntime140_app | 1 | LIBRARY "VCRUNTIME140_APP.dll" |
| 2 | |||
| 3 | EXPORTS | 2 | EXPORTS |
| 4 | 3 | ||
| 5 | #include "func.def.in" | 4 | #include "func.def.in" |
| 6 | 5 | #include "vcruntime140-common.def.in" | |
| 7 | _CreateFrameInfo | ||
| 8 | F_I386(_CxxThrowException@8) | ||
| 9 | F_NON_I386(_CxxThrowException) | ||
| 10 | F_I386(_EH_prolog) | ||
| 11 | _FindAndUnlinkFrame | ||
| 12 | _IsExceptionObjectToBeDestroyed | ||
| 13 | F_I386(_NLG_Dispatch2) | ||
| 14 | F_I386(_NLG_Return) | ||
| 15 | F_I386(_NLG_Return2) | ||
| 16 | _SetWinRTOutOfMemoryExceptionCallback | ||
| 17 | __AdjustPointer | ||
| 18 | __BuildCatchObject | ||
| 19 | __BuildCatchObjectHelper | ||
| 20 | F_NON_I386(__C_specific_handler) | ||
| 21 | F_NON_I386(__C_specific_handler_noexcept) | ||
| 22 | __CxxDetectRethrow | ||
| 23 | __CxxExceptionFilter | ||
| 24 | __CxxFrameHandler | ||
| 25 | __CxxFrameHandler2 | ||
| 26 | __CxxFrameHandler3 | ||
| 27 | F_I386(__CxxLongjmpUnwind@4) | ||
| 28 | __CxxQueryExceptionSize | ||
| 29 | __CxxRegisterExceptionObject | ||
| 30 | __CxxUnregisterExceptionObject | ||
| 31 | __DestructExceptionObject | ||
| 32 | __FrameUnwindFilter | ||
| 33 | __GetPlatformExceptionInfo | ||
| 34 | F_NON_I386(__NLG_Dispatch2) | ||
| 35 | F_NON_I386(__NLG_Return2) | ||
| 36 | __RTCastToVoid | ||
| 37 | __RTDynamicCast | ||
| 38 | __RTtypeid | ||
| 39 | __TypeMatch | ||
| 40 | __current_exception | ||
| 41 | __current_exception_context | ||
| 42 | F_NON_ARM64(__intrinsic_setjmp) | ||
| 43 | F_NON_I386(__intrinsic_setjmpex) | ||
| 44 | F_ARM32(__jump_unwind) | ||
| 45 | __processing_throw | ||
| 46 | __report_gsfailure | ||
| 47 | __std_exception_copy | ||
| 48 | __std_exception_destroy | ||
| 49 | __std_terminate | ||
| 50 | __std_type_info_compare | ||
| 51 | __std_type_info_destroy_list | ||
| 52 | __std_type_info_hash | ||
| 53 | __std_type_info_name | ||
| 54 | __telemetry_main_invoke_trigger | ||
| 55 | __telemetry_main_return_trigger | ||
| 56 | __unDName | ||
| 57 | __unDNameEx | ||
| 58 | __uncaught_exception | ||
| 59 | __uncaught_exceptions | ||
| 60 | __vcrt_GetModuleFileNameW | ||
| 61 | __vcrt_GetModuleHandleW | ||
| 62 | __vcrt_InitializeCriticalSectionEx | ||
| 63 | __vcrt_LoadLibraryExW | ||
| 64 | F_I386(_chkesp) | ||
| 65 | F_I386(_except_handler2) | ||
| 66 | F_I386(_except_handler3) | ||
| 67 | F_I386(_except_handler4_common) | ||
| 68 | _get_purecall_handler | ||
| 69 | _get_unexpected | ||
| 70 | F_I386(_global_unwind2) | ||
| 71 | _is_exception_typeof | ||
| 72 | F_I386(_local_unwind2) | ||
| 73 | F_I386(_local_unwind4) | ||
| 74 | F_I386(_longjmpex) | ||
| 75 | F64(_local_unwind) | ||
| 76 | _purecall | ||
| 77 | F_I386(_seh_longjmp_unwind4@4) | ||
| 78 | F_I386(_seh_longjmp_unwind@4) | ||
| 79 | _set_purecall_handler | ||
| 80 | _set_se_translator | ||
| 81 | F_I386(_setjmp3) | ||
| 82 | longjmp | ||
| 83 | memchr | ||
| 84 | memcmp | ||
| 85 | memcpy | ||
| 86 | memmove | ||
| 87 | memset | ||
| 88 | set_unexpected | ||
| 89 | strchr | ||
| 90 | strrchr | ||
| 91 | strstr | ||
| 92 | unexpected | ||
| 93 | wcschr | ||
| 94 | wcsrchr | ||
| 95 | wcsstr |
lib/libc/mingw/lib-common/vcruntime140d.def.in+1-90| ... | @@ -2,93 +2,4 @@ LIBRARY "VCRUNTIME140D.dll" | ... | @@ -2,93 +2,4 @@ LIBRARY "VCRUNTIME140D.dll" |
| 2 | EXPORTS | 2 | EXPORTS |
| 3 | 3 | ||
| 4 | #include "func.def.in" | 4 | #include "func.def.in" |
| 5 | 5 | #include "vcruntime140-common.def.in" | |
| 6 | _CreateFrameInfo | ||
| 7 | F_I386(_CxxThrowException@8) | ||
| 8 | F_NON_I386(_CxxThrowException) | ||
| 9 | F_I386(_EH_prolog) | ||
| 10 | _FindAndUnlinkFrame | ||
| 11 | _IsExceptionObjectToBeDestroyed | ||
| 12 | F_I386(_NLG_Dispatch2@4) | ||
| 13 | F_I386(_NLG_Return@12) | ||
| 14 | F_I386(_NLG_Return2) | ||
| 15 | _SetWinRTOutOfMemoryExceptionCallback | ||
| 16 | __AdjustPointer | ||
| 17 | __BuildCatchObject | ||
| 18 | __BuildCatchObjectHelper | ||
| 19 | F_NON_I386(__C_specific_handler) | ||
| 20 | F_NON_I386(__C_specific_handler_noexcept) | ||
| 21 | __CxxDetectRethrow | ||
| 22 | __CxxExceptionFilter | ||
| 23 | __CxxFrameHandler | ||
| 24 | __CxxFrameHandler2 | ||
| 25 | __CxxFrameHandler3 | ||
| 26 | F_I386(__CxxLongjmpUnwind@4) | ||
| 27 | __CxxQueryExceptionSize | ||
| 28 | __CxxRegisterExceptionObject | ||
| 29 | __CxxUnregisterExceptionObject | ||
| 30 | __DestructExceptionObject | ||
| 31 | __FrameUnwindFilter | ||
| 32 | __GetPlatformExceptionInfo | ||
| 33 | F_NON_I386(__NLG_Dispatch2) | ||
| 34 | F_NON_I386(__NLG_Return2) | ||
| 35 | __RTCastToVoid | ||
| 36 | __RTDynamicCast | ||
| 37 | __RTtypeid | ||
| 38 | __TypeMatch | ||
| 39 | __current_exception | ||
| 40 | __current_exception_context | ||
| 41 | F_NON_ARM64(__intrinsic_setjmp) | ||
| 42 | F_NON_I386(__intrinsic_setjmpex) | ||
| 43 | F_ARM32(__jump_unwind) | ||
| 44 | __processing_throw | ||
| 45 | __report_gsfailure | ||
| 46 | __std_exception_copy | ||
| 47 | __std_exception_destroy | ||
| 48 | __std_terminate | ||
| 49 | __std_type_info_compare | ||
| 50 | __std_type_info_destroy_list | ||
| 51 | __std_type_info_hash | ||
| 52 | __std_type_info_name | ||
| 53 | __telemetry_main_invoke_trigger | ||
| 54 | __telemetry_main_return_trigger | ||
| 55 | __unDName | ||
| 56 | __unDNameEx | ||
| 57 | __uncaught_exception | ||
| 58 | __uncaught_exceptions | ||
| 59 | __vcrt_GetModuleFileNameW | ||
| 60 | __vcrt_GetModuleHandleW | ||
| 61 | __vcrt_InitializeCriticalSectionEx | ||
| 62 | __vcrt_LoadLibraryExW | ||
| 63 | F_I386(_chkesp) | ||
| 64 | F_I386(_except_handler2) | ||
| 65 | F_I386(_except_handler3) | ||
| 66 | F_I386(_except_handler4_common) | ||
| 67 | _get_purecall_handler | ||
| 68 | _get_unexpected | ||
| 69 | F_I386(_global_unwind2) | ||
| 70 | _is_exception_typeof | ||
| 71 | F64(_local_unwind) | ||
| 72 | F_I386(_local_unwind2) | ||
| 73 | F_I386(_local_unwind4) | ||
| 74 | F_I386(_longjmpex) | ||
| 75 | _purecall | ||
| 76 | F_I386(_seh_longjmp_unwind4@4) | ||
| 77 | F_I386(_seh_longjmp_unwind@4) | ||
| 78 | _set_purecall_handler | ||
| 79 | _set_se_translator | ||
| 80 | F_I386(_setjmp3) | ||
| 81 | longjmp | ||
| 82 | memchr | ||
| 83 | memcmp | ||
| 84 | memcpy | ||
| 85 | memmove | ||
| 86 | memset | ||
| 87 | set_unexpected | ||
| 88 | strchr | ||
| 89 | strrchr | ||
| 90 | strstr | ||
| 91 | unexpected | ||
| 92 | wcschr | ||
| 93 | wcsrchr | ||
| 94 | wcsstr |
lib/libc/mingw/lib32/dxva2.def+1| ... | @@ -8,6 +8,7 @@ EXPORTS | ... | @@ -8,6 +8,7 @@ EXPORTS |
| 8 | CapabilitiesRequestAndCapabilitiesReply@12 | 8 | CapabilitiesRequestAndCapabilitiesReply@12 |
| 9 | DXVA2CreateDirect3DDeviceManager9@8 | 9 | DXVA2CreateDirect3DDeviceManager9@8 |
| 10 | DXVA2CreateVideoService@12 | 10 | DXVA2CreateVideoService@12 |
| 11 | DXVAHD_CreateDevice@20 | ||
| 11 | DegaussMonitor@4 | 12 | DegaussMonitor@4 |
| 12 | DestroyPhysicalMonitor@4 | 13 | DestroyPhysicalMonitor@4 |
| 13 | DestroyPhysicalMonitors@8 | 14 | DestroyPhysicalMonitors@8 |
lib/libc/mingw/lib32/kernel32.def+6-1| ... | @@ -30,6 +30,7 @@ AddVectoredContinueHandler@8 | ... | @@ -30,6 +30,7 @@ AddVectoredContinueHandler@8 |
| 30 | AddVectoredExceptionHandler@8 | 30 | AddVectoredExceptionHandler@8 |
| 31 | AdjustCalendarDate@12 | 31 | AdjustCalendarDate@12 |
| 32 | AllocConsole@0 | 32 | AllocConsole@0 |
| 33 | AllocConsoleWithOptions@8 | ||
| 33 | AllocateUserPhysicalPages@12 | 34 | AllocateUserPhysicalPages@12 |
| 34 | AllocateUserPhysicalPagesNuma@16 | 35 | AllocateUserPhysicalPagesNuma@16 |
| 35 | AppPolicyGetClrCompat@8 | 36 | AppPolicyGetClrCompat@8 |
| ... | @@ -440,6 +441,7 @@ FindVolumeClose@4 | ... | @@ -440,6 +441,7 @@ FindVolumeClose@4 |
| 440 | FindVolumeMountPointClose@4 | 441 | FindVolumeMountPointClose@4 |
| 441 | FlsAlloc@4 | 442 | FlsAlloc@4 |
| 442 | FlsFree@4 | 443 | FlsFree@4 |
| 444 | FlsGetValue2@4 | ||
| 443 | FlsGetValue@4 | 445 | FlsGetValue@4 |
| 444 | FlsSetValue@8 | 446 | FlsSetValue@8 |
| 445 | FlushConsoleInputBuffer@4 | 447 | FlushConsoleInputBuffer@4 |
| ... | @@ -616,6 +618,7 @@ GetFileAttributesW@4 | ... | @@ -616,6 +618,7 @@ GetFileAttributesW@4 |
| 616 | GetFileBandwidthReservation@24 | 618 | GetFileBandwidthReservation@24 |
| 617 | GetFileInformationByHandle@8 | 619 | GetFileInformationByHandle@8 |
| 618 | GetFileInformationByHandleEx@16 | 620 | GetFileInformationByHandleEx@16 |
| 621 | GetFileInformationByName@16 | ||
| 619 | GetFileMUIInfo@16 | 622 | GetFileMUIInfo@16 |
| 620 | GetFileMUIPath@28 | 623 | GetFileMUIPath@28 |
| 621 | GetFileSize@8 | 624 | GetFileSize@8 |
| ... | @@ -1270,6 +1273,7 @@ ReleaseActCtxWorker@4 | ... | @@ -1270,6 +1273,7 @@ ReleaseActCtxWorker@4 |
| 1270 | ReleaseMutex@4 | 1273 | ReleaseMutex@4 |
| 1271 | ReleaseMutexWhenCallbackReturns@8 | 1274 | ReleaseMutexWhenCallbackReturns@8 |
| 1272 | ReleasePackageVirtualizationContext@4 | 1275 | ReleasePackageVirtualizationContext@4 |
| 1276 | ReleasePseudoConsole@4 | ||
| 1273 | ReleaseSRWLockExclusive@4 | 1277 | ReleaseSRWLockExclusive@4 |
| 1274 | ReleaseSRWLockShared@4 | 1278 | ReleaseSRWLockShared@4 |
| 1275 | ReleaseSemaphore@12 | 1279 | ReleaseSemaphore@12 |
| ... | @@ -1518,6 +1522,7 @@ Thread32First@8 | ... | @@ -1518,6 +1522,7 @@ Thread32First@8 |
| 1518 | Thread32Next@8 | 1522 | Thread32Next@8 |
| 1519 | TlsAlloc@0 | 1523 | TlsAlloc@0 |
| 1520 | TlsFree@4 | 1524 | TlsFree@4 |
| 1525 | TlsGetValue2@4 | ||
| 1521 | TlsGetValue@4 | 1526 | TlsGetValue@4 |
| 1522 | TlsSetValue@8 | 1527 | TlsSetValue@8 |
| 1523 | Toolhelp32ReadProcessMemory@20 | 1528 | Toolhelp32ReadProcessMemory@20 |
| ... | @@ -1605,7 +1610,7 @@ WerRegisterRuntimeExceptionModuleWorker@8 | ... | @@ -1605,7 +1610,7 @@ WerRegisterRuntimeExceptionModuleWorker@8 |
| 1605 | WerSetFlags@4 | 1610 | WerSetFlags@4 |
| 1606 | WerSetFlagsWorker@4 | 1611 | WerSetFlagsWorker@4 |
| 1607 | WerUnregisterAdditionalProcess@4 | 1612 | WerUnregisterAdditionalProcess@4 |
| 1608 | WerUnregisterAppLocalDump | 1613 | WerUnregisterAppLocalDump@0 |
| 1609 | WerUnregisterCustomMetadata@4 | 1614 | WerUnregisterCustomMetadata@4 |
| 1610 | WerUnregisterExcludedMemoryBlock@4 | 1615 | WerUnregisterExcludedMemoryBlock@4 |
| 1611 | WerUnregisterFile@4 | 1616 | WerUnregisterFile@4 |
lib/libc/mingw/lib64/kernel32.def+5| ... | @@ -24,6 +24,7 @@ AddVectoredContinueHandler | ... | @@ -24,6 +24,7 @@ AddVectoredContinueHandler |
| 24 | AddVectoredExceptionHandler | 24 | AddVectoredExceptionHandler |
| 25 | AdjustCalendarDate | 25 | AdjustCalendarDate |
| 26 | AllocConsole | 26 | AllocConsole |
| 27 | AllocConsoleWithOptions | ||
| 27 | AllocateUserPhysicalPages | 28 | AllocateUserPhysicalPages |
| 28 | AllocateUserPhysicalPagesNuma | 29 | AllocateUserPhysicalPagesNuma |
| 29 | AppPolicyGetClrCompat | 30 | AppPolicyGetClrCompat |
| ... | @@ -446,6 +447,7 @@ FindVolumeMountPointClose | ... | @@ -446,6 +447,7 @@ FindVolumeMountPointClose |
| 446 | FlsAlloc | 447 | FlsAlloc |
| 447 | FlsFree | 448 | FlsFree |
| 448 | FlsGetValue | 449 | FlsGetValue |
| 450 | FlsGetValue2 | ||
| 449 | FlsSetValue | 451 | FlsSetValue |
| 450 | FlushConsoleInputBuffer | 452 | FlushConsoleInputBuffer |
| 451 | FlushFileBuffers | 453 | FlushFileBuffers |
| ... | @@ -625,6 +627,7 @@ GetFileAttributesW | ... | @@ -625,6 +627,7 @@ GetFileAttributesW |
| 625 | GetFileBandwidthReservation | 627 | GetFileBandwidthReservation |
| 626 | GetFileInformationByHandle | 628 | GetFileInformationByHandle |
| 627 | GetFileInformationByHandleEx | 629 | GetFileInformationByHandleEx |
| 630 | GetFileInformationByName | ||
| 628 | GetFileMUIInfo | 631 | GetFileMUIInfo |
| 629 | GetFileMUIPath | 632 | GetFileMUIPath |
| 630 | GetFileSize | 633 | GetFileSize |
| ... | @@ -1281,6 +1284,7 @@ ReleaseActCtxWorker | ... | @@ -1281,6 +1284,7 @@ ReleaseActCtxWorker |
| 1281 | ReleaseMutex | 1284 | ReleaseMutex |
| 1282 | ReleaseMutexWhenCallbackReturns | 1285 | ReleaseMutexWhenCallbackReturns |
| 1283 | ReleasePackageVirtualizationContext | 1286 | ReleasePackageVirtualizationContext |
| 1287 | ReleasePseudoConsole | ||
| 1284 | ReleaseSRWLockExclusive | 1288 | ReleaseSRWLockExclusive |
| 1285 | ReleaseSRWLockShared | 1289 | ReleaseSRWLockShared |
| 1286 | ReleaseSemaphore | 1290 | ReleaseSemaphore |
| ... | @@ -1542,6 +1546,7 @@ Thread32Next | ... | @@ -1542,6 +1546,7 @@ Thread32Next |
| 1542 | TlsAlloc | 1546 | TlsAlloc |
| 1543 | TlsFree | 1547 | TlsFree |
| 1544 | TlsGetValue | 1548 | TlsGetValue |
| 1549 | TlsGetValue2 | ||
| 1545 | TlsSetValue | 1550 | TlsSetValue |
| 1546 | Toolhelp32ReadProcessMemory | 1551 | Toolhelp32ReadProcessMemory |
| 1547 | TransactNamedPipe | 1552 | TransactNamedPipe |
lib/libc/mingw/libsrc/wia-uuid.c+1-101| ... | @@ -1,106 +1,6 @@ | ... | @@ -1,106 +1,6 @@ |
| 1 | /* unknwn-uuid.c */ | 1 | /* unknwn-uuid.c */ |
| 2 | /* Generate GUIDs for WIA interfaces */ | 2 | /* Generate GUIDs for WIA interfaces */ |
| 3 | 3 | ||
| 4 | /* All IIDs defined in this file were extracted from | ||
| 5 | * HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\ */ | ||
| 6 | |||
| 7 | #define INITGUID | 4 | #define INITGUID |
| 8 | #include <basetyps.h> | 5 | #include <basetyps.h> |
| 9 | 6 | #include <wia.h> | |
| 10 | // Image types | ||
| 11 | DEFINE_GUID(WiaImgFmt_UNDEFINED,0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 12 | DEFINE_GUID(WiaImgFmt_RAWRGB,0xbca48b55,0xf272,0x4371,0xb0,0xf1,0x4a,0x15,0x0d,0x05,0x7b,0xb4); | ||
| 13 | DEFINE_GUID(WiaImgFmt_MEMORYBMP,0xb96b3caa,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 14 | DEFINE_GUID(WiaImgFmt_BMP,0xb96b3cab,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 15 | DEFINE_GUID(WiaImgFmt_EMF,0xb96b3cac,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 16 | DEFINE_GUID(WiaImgFmt_WMF,0xb96b3cad,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 17 | DEFINE_GUID(WiaImgFmt_JPEG,0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 18 | DEFINE_GUID(WiaImgFmt_PNG,0xb96b3caf,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 19 | DEFINE_GUID(WiaImgFmt_GIF,0xb96b3cb0,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 20 | DEFINE_GUID(WiaImgFmt_TIFF,0xb96b3cb1,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 21 | DEFINE_GUID(WiaImgFmt_EXIF,0xb96b3cb2,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 22 | DEFINE_GUID(WiaImgFmt_PHOTOCD,0xb96b3cb3,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 23 | DEFINE_GUID(WiaImgFmt_FLASHPIX,0xb96b3cb4,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 24 | DEFINE_GUID(WiaImgFmt_ICO,0xb96b3cb5,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); | ||
| 25 | DEFINE_GUID(WiaImgFmt_CIFF,0x9821a8ab,0x3a7e,0x4215,0x94,0xe0,0xd2,0x7a,0x46,0x0c,0x03,0xb2); | ||
| 26 | DEFINE_GUID(WiaImgFmt_PICT,0xa6bc85d8,0x6b3e,0x40ee,0xa9,0x5c,0x25,0xd4,0x82,0xe4,0x1a,0xdc); | ||
| 27 | DEFINE_GUID(WiaImgFmt_JPEG2K,0x344ee2b2,0x39db,0x4dde,0x81,0x73,0xc4,0xb7,0x5f,0x8f,0x1e,0x49); | ||
| 28 | DEFINE_GUID(WiaImgFmt_JPEG2KX,0x43e14614,0xc80a,0x4850,0xba,0xf3,0x4b,0x15,0x2d,0xc8,0xda,0x27); | ||
| 29 | |||
| 30 | // Document and other types | ||
| 31 | DEFINE_GUID(WiaImgFmt_RTF,0x573dd6a3,0x4834,0x432d,0xa9,0xb5,0xe1,0x98,0xdd,0x9e,0x89,0x0d); | ||
| 32 | DEFINE_GUID(WiaImgFmt_XML,0xb9171457,0xdac8,0x4884,0xb3,0x93,0x15,0xb4,0x71,0xd5,0xf0,0x7e); | ||
| 33 | DEFINE_GUID(WiaImgFmt_HTML,0xc99a4e62,0x99de,0x4a94,0xac,0xca,0x71,0x95,0x6a,0xc2,0x97,0x7d); | ||
| 34 | DEFINE_GUID(WiaImgFmt_TXT,0xfafd4d82,0x723f,0x421f,0x93,0x18,0x30,0x50,0x1a,0xc4,0x4b,0x59); | ||
| 35 | DEFINE_GUID(WiaImgFmt_MPG,0xecd757e4,0xd2ec,0x4f57,0x95,0x5d,0xbc,0xf8,0xa9,0x7c,0x4e,0x52); | ||
| 36 | DEFINE_GUID(WiaImgFmt_AVI,0x32f8ca14,0x087c,0x4908,0xb7,0xc4,0x67,0x57,0xfe,0x7e,0x90,0xab); | ||
| 37 | DEFINE_GUID(WiaImgFmt_ASF,0x8d948ee9,0xd0aa,0x4a12,0x9d,0x9a,0x9c,0xc5,0xde,0x36,0x19,0x9b); | ||
| 38 | DEFINE_GUID(WiaImgFmt_SCRIPT,0xfe7d6c53,0x2dac,0x446a,0xb0,0xbd,0xd7,0x3e,0x21,0xe9,0x24,0xc9); | ||
| 39 | DEFINE_GUID(WiaImgFmt_EXEC,0x485da097,0x141e,0x4aa5,0xbb,0x3b,0xa5,0x61,0x8d,0x95,0xd0,0x2b); | ||
| 40 | DEFINE_GUID(WiaImgFmt_UNICODE16,0x1b7639b6,0x6357,0x47d1,0x9a,0x07,0x12,0x45,0x2d,0xc0,0x73,0xe9); | ||
| 41 | DEFINE_GUID(WiaImgFmt_DPOF,0x369eeeab,0xa0e8,0x45ca,0x86,0xa6,0xa8,0x3c,0xe5,0x69,0x7e,0x28); | ||
| 42 | |||
| 43 | // Audio types | ||
| 44 | DEFINE_GUID(WiaAudFmt_WAV,0xf818e146,0x07af,0x40ff,0xae,0x55,0xbe,0x8f,0x2c,0x06,0x5d,0xbe); | ||
| 45 | DEFINE_GUID(WiaAudFmt_MP3,0x0fbc71fb,0x43bf,0x49f2,0x91,0x90,0xe6,0xfe,0xcf,0xf3,0x7e,0x54); | ||
| 46 | DEFINE_GUID(WiaAudFmt_AIFF,0x66e2bf4f,0xb6fc,0x443f,0x94,0xc8,0x2f,0x33,0xc8,0xa6,0x5a,0xaf); | ||
| 47 | DEFINE_GUID(WiaAudFmt_WMA,0xd61d6413,0x8bc2,0x438f,0x93,0xad,0x21,0xbd,0x48,0x4d,0xb6,0xa1); | ||
| 48 | |||
| 49 | // Event GUIDs | ||
| 50 | DEFINE_GUID(WIA_EVENT_DEVICE_DISCONNECTED,0x143e4e83,0x6497,0x11d2,0xa2,0x31,0x00,0xc0,0x4f,0xa3,0x18,0x09); | ||
| 51 | DEFINE_GUID(WIA_EVENT_DEVICE_CONNECTED,0xa28bbade,0x64b6,0x11d2,0xa2,0x31,0x00,0xc0,0x4f,0xa3,0x18,0x09); | ||
| 52 | DEFINE_GUID(WIA_EVENT_ITEM_DELETED,0x1d22a559,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61); | ||
| 53 | DEFINE_GUID(WIA_EVENT_ITEM_CREATED,0x4c8f4ef5,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61); | ||
| 54 | DEFINE_GUID(WIA_EVENT_TREE_UPDATED,0xc9859b91,0x4ab2,0x4cd6,0xa1,0xfc,0x58,0x2e,0xec,0x55,0xe5,0x85); | ||
| 55 | DEFINE_GUID(WIA_EVENT_VOLUME_INSERT,0x9638bbfd,0xd1bd,0x11d2,0xb3,0x1f,0x00,0xc0,0x4f,0x68,0xce,0x61); | ||
| 56 | DEFINE_GUID(WIA_EVENT_SCAN_IMAGE,0xa6c5a715,0x8c6e,0x11d2,0x97,0x7a,0x00,0x00,0xf8,0x7a,0x92,0x6f); | ||
| 57 | DEFINE_GUID(WIA_EVENT_SCAN_PRINT_IMAGE,0xb441f425,0x8c6e,0x11d2,0x97,0x7a,0x00,0x00,0xf8,0x7a,0x92,0x6f); | ||
| 58 | DEFINE_GUID(WIA_EVENT_SCAN_FAX_IMAGE,0xc00eb793,0x8c6e,0x11d2,0x97,0x7a,0x00,0x00,0xf8,0x7a,0x92,0x6f); | ||
| 59 | DEFINE_GUID(WIA_EVENT_SCAN_OCR_IMAGE,0x9d095b89,0x37d6,0x4877,0xaf,0xed,0x62,0xa2,0x97,0xdc,0x6d,0xbe); | ||
| 60 | DEFINE_GUID(WIA_EVENT_SCAN_EMAIL_IMAGE,0xc686dcee,0x54f2,0x419e,0x9a,0x27,0x2f,0xc7,0xf2,0xe9,0x8f,0x9e); | ||
| 61 | DEFINE_GUID(WIA_EVENT_SCAN_FILM_IMAGE,0x9b2b662c,0x6185,0x438c,0xb6,0x8b,0xe3,0x9e,0xe2,0x5e,0x71,0xcb); | ||
| 62 | DEFINE_GUID(WIA_EVENT_SCAN_IMAGE2,0xfc4767c1,0xc8b3,0x48a2,0x9c,0xfa,0x2e,0x90,0xcb,0x3d,0x35,0x90); | ||
| 63 | DEFINE_GUID(WIA_EVENT_SCAN_IMAGE3,0x154e27be,0xb617,0x4653,0xac,0xc5,0x0f,0xd7,0xbd,0x4c,0x65,0xce); | ||
| 64 | DEFINE_GUID(WIA_EVENT_SCAN_IMAGE4,0xa65b704a,0x7f3c,0x4447,0xa7,0x5d,0x8a,0x26,0xdf,0xca,0x1f,0xdf); | ||
| 65 | DEFINE_GUID(WIA_EVENT_STORAGE_CREATED,0x353308b2,0xfe73,0x46c8,0x89,0x5e,0xfa,0x45,0x51,0xcc,0xc8,0x5a); | ||
| 66 | DEFINE_GUID(WIA_EVENT_STORAGE_DELETED,0x5e41e75e,0x9390,0x44c5,0x9a,0x51,0xe4,0x70,0x19,0xe3,0x90,0xcf); | ||
| 67 | DEFINE_GUID(WIA_EVENT_STI_PROXY,0xd711f81f,0x1f0d,0x422d,0x86,0x41,0x92,0x7d,0x1b,0x93,0xe5,0xe5); | ||
| 68 | DEFINE_GUID(WIA_EVENT_CANCEL_IO,0xc860f7b8,0x9ccd,0x41ea,0xbb,0xbf,0x4d,0xd0,0x9c,0x5b,0x17,0x95); | ||
| 69 | |||
| 70 | // Power management event GUIDs,sent by the WIA service to drivers | ||
| 71 | DEFINE_GUID(WIA_EVENT_POWER_SUSPEND,0xa0922ff9,0xc3b4,0x411c,0x9e,0x29,0x03,0xa6,0x69,0x93,0xd2,0xbe); | ||
| 72 | DEFINE_GUID(WIA_EVENT_POWER_RESUME,0x618f153e,0xf686,0x4350,0x96,0x34,0x41,0x15,0xa3,0x04,0x83,0x0c); | ||
| 73 | |||
| 74 | // No action handler and prompt handler | ||
| 75 | DEFINE_GUID(WIA_EVENT_HANDLER_NO_ACTION,0xe0372b7d,0xe115,0x4525,0xbc,0x55,0xb6,0x29,0xe6,0x8c,0x74,0x5a); | ||
| 76 | DEFINE_GUID(WIA_EVENT_HANDLER_PROMPT,0x5f4baad0,0x4d59,0x4fcd,0xb2,0x13,0x78,0x3c,0xe7,0xa9,0x2f,0x22); | ||
| 77 | |||
| 78 | // WIA Commands | ||
| 79 | DEFINE_GUID(WIA_CMD_SYNCHRONIZE,0x9b26b7b2,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 80 | DEFINE_GUID(WIA_CMD_TAKE_PICTURE,0xaf933cac,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 81 | DEFINE_GUID(WIA_CMD_DELETE_ALL_ITEMS,0xe208c170,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 82 | DEFINE_GUID(WIA_CMD_CHANGE_DOCUMENT,0x04e725b0,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 83 | DEFINE_GUID(WIA_CMD_UNLOAD_DOCUMENT,0x1f3b3d8e,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 84 | DEFINE_GUID(WIA_CMD_DIAGNOSTIC,0x10ff52f5,0xde04,0x4cf0,0xa5,0xad,0x69,0x1f,0x8d,0xce,0x01,0x41); | ||
| 85 | |||
| 86 | DEFINE_GUID(WIA_CMD_DELETE_DEVICE_TREE,0x73815942,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 87 | DEFINE_GUID(WIA_CMD_BUILD_DEVICE_TREE,0x9cba5ce0,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 88 | |||
| 89 | DEFINE_GUID(IID_IWiaUIExtension,0xDA319113,0x50EE,0x4C80,0xB4,0x60,0x57,0xD0,0x05,0xD4,0x4A,0x2C); | ||
| 90 | |||
| 91 | DEFINE_GUID(IID_IWiaDevMgr,0x5eb2502a,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 92 | DEFINE_GUID(IID_IEnumWIA_DEV_INFO,0x5e38b83c,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 93 | DEFINE_GUID(IID_IWiaEventCallback,0xae6287b0,0x0084,0x11d2,0x97,0x3b,0x00,0xa0,0xc9,0x06,0x8f,0x2e); | ||
| 94 | DEFINE_GUID(IID_IWiaDataCallback,0xa558a866,0xa5b0,0x11d2,0xa0,0x8f,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 95 | DEFINE_GUID(IID_IWiaDataTransfer,0xa6cef998,0xa5b0,0x11d2,0xa0,0x8f,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 96 | DEFINE_GUID(IID_IWiaItem,0x4db1ad10,0x3391,0x11d2,0x9a,0x33,0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 97 | DEFINE_GUID(IID_IWiaPropertyStorage,0x98B5E8A0,0x29CC,0x491a,0xAA,0xC0,0xE6,0xDB,0x4F,0xDC,0xCE,0xB6); | ||
| 98 | DEFINE_GUID(IID_IEnumWiaItem,0x5e8383fc,0x3391,0x11d2,0x9a,0x33,0x00,0xc0,0x4f,0xa3,0x61,0x45); | ||
| 99 | DEFINE_GUID(IID_IEnumWIA_DEV_CAPS,0x1fcc4287,0xaca6,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); | ||
| 100 | DEFINE_GUID(IID_IEnumWIA_FORMAT_INFO,0x81BEFC5B,0x656D,0x44f1,0xB2,0x4C,0xD4,0x1D,0x51,0xB4,0xDC,0x81); | ||
| 101 | DEFINE_GUID(IID_IWiaLog,0xA00C10B6,0x82A1,0x452f,0x8B,0x6C,0x86,0x06,0x2A,0xAD,0x68,0x90); | ||
| 102 | DEFINE_GUID(IID_IWiaLogEx,0xAF1F22AC,0x7A40,0x4787,0xB4,0x21,0xAE,0xb4,0x7A,0x1F,0xBD,0x0B); | ||
| 103 | DEFINE_GUID(IID_IWiaNotifyDevMgr,0x70681EA0,0xE7BF,0x4291,0x9F,0xB1,0x4E,0x88,0x13,0xA3,0xF7,0x8E); | ||
| 104 | DEFINE_GUID(IID_IWiaItemExtras,0x6291ef2c,0x36ef,0x4532,0x87,0x6a,0x8e,0x13,0x25,0x93,0x77,0x8d); | ||
| 105 | DEFINE_GUID(CLSID_WiaDevMgr,0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); | ||
| 106 | DEFINE_GUID(CLSID_WiaLog,0xA1E75357,0x881A,0x419e,0x83,0xE2,0xBB,0x16,0xDB,0x19,0x7C,0x68); |
lib/libc/mingw/math/x86/cossin.c-23| ... | @@ -5,7 +5,6 @@ | ... | @@ -5,7 +5,6 @@ |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | void sincos (double __x, double *p_sin, double *p_cos); | 7 | void sincos (double __x, double *p_sin, double *p_cos); |
| 8 | void sincosl (long double __x, long double *p_sin, long double *p_cos); | ||
| 9 | void sincosf (float __x, float *p_sin, float *p_cos); | 8 | void sincosf (float __x, float *p_sin, float *p_cos); |
| 10 | 9 | ||
| 11 | void sincos (double __x, double *p_sin, double *p_cos) | 10 | void sincos (double __x, double *p_sin, double *p_cos) |
| ... | @@ -51,25 +50,3 @@ void sincosf (float __x, float *p_sin, float *p_cos) | ... | @@ -51,25 +50,3 @@ void sincosf (float __x, float *p_sin, float *p_cos) |
| 51 | *p_sin = (float) s; | 50 | *p_sin = (float) s; |
| 52 | *p_cos = (float) c; | 51 | *p_cos = (float) c; |
| 53 | } | 52 | } |
| 54 | |||
| 55 | void sincosl (long double __x, long double *p_sin, long double *p_cos) | ||
| 56 | { | ||
| 57 | long double c, s; | ||
| 58 | |||
| 59 | __asm__ __volatile__ ("fsincos\n\t" | ||
| 60 | "fnstsw %%ax\n\t" | ||
| 61 | "testl $0x400, %%eax\n\t" | ||
| 62 | "jz 1f\n\t" | ||
| 63 | "fldpi\n\t" | ||
| 64 | "fadd %%st(0)\n\t" | ||
| 65 | "fxch %%st(1)\n\t" | ||
| 66 | "2: fprem1\n\t" | ||
| 67 | "fnstsw %%ax\n\t" | ||
| 68 | "testl $0x400, %%eax\n\t" | ||
| 69 | "jnz 2b\n\t" | ||
| 70 | "fstp %%st(1)\n\t" | ||
| 71 | "fsincos\n\t" | ||
| 72 | "1:" : "=t" (c), "=u" (s) : "0" (__x) : "eax"); | ||
| 73 | *p_sin = s; | ||
| 74 | *p_cos = c; | ||
| 75 | } |
lib/libc/mingw/math/x86/cossinl.c created+29| ... | @@ -0,0 +1,29 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | void sincosl (long double __x, long double *p_sin, long double *p_cos); | ||
| 8 | |||
| 9 | void sincosl (long double __x, long double *p_sin, long double *p_cos) | ||
| 10 | { | ||
| 11 | long double c, s; | ||
| 12 | |||
| 13 | __asm__ __volatile__ ("fsincos\n\t" | ||
| 14 | "fnstsw %%ax\n\t" | ||
| 15 | "testl $0x400, %%eax\n\t" | ||
| 16 | "jz 1f\n\t" | ||
| 17 | "fldpi\n\t" | ||
| 18 | "fadd %%st(0)\n\t" | ||
| 19 | "fxch %%st(1)\n\t" | ||
| 20 | "2: fprem1\n\t" | ||
| 21 | "fnstsw %%ax\n\t" | ||
| 22 | "testl $0x400, %%eax\n\t" | ||
| 23 | "jnz 2b\n\t" | ||
| 24 | "fstp %%st(1)\n\t" | ||
| 25 | "fsincos\n\t" | ||
| 26 | "1:" : "=t" (c), "=u" (s) : "0" (__x) : "eax"); | ||
| 27 | *p_sin = s; | ||
| 28 | *p_cos = c; | ||
| 29 | } | ||
lib/libc/mingw/misc/isblank.c deleted-7| ... | @@ -1,7 +0,0 @@ | ||
| 1 | #define __NO_CTYPE_LINES | ||
| 2 | #include <ctype.h> | ||
| 3 | |||
| 4 | int __cdecl isblank (int _C) | ||
| 5 | { | ||
| 6 | return (_isctype(_C, _BLANK) || _C == '\t'); | ||
| 7 | } | ||
lib/libc/mingw/misc/iswblank.c deleted-7| ... | @@ -1,7 +0,0 @@ | ||
| 1 | #define _CRT_WCTYPE_NOINLINE | ||
| 2 | #include <ctype.h> | ||
| 3 | |||
| 4 | int __cdecl iswblank (wint_t _C) | ||
| 5 | { | ||
| 6 | return (iswctype(_C, _BLANK) || _C == '\t'); | ||
| 7 | } | ||
lib/libc/mingw/misc/wctob.c+1-1| ... | @@ -25,5 +25,5 @@ int wctob (wint_t wc ) | ... | @@ -25,5 +25,5 @@ int wctob (wint_t wc ) |
| 25 | 	 || invalid_char) | 25 | 	 || invalid_char) |
| 26 | return EOF; | 26 | return EOF; |
| 27 | 27 | ||
| 28 | return (int) c; | 28 | return (unsigned char) c; |
| 29 | } | 29 | } |
lib/libc/mingw/misc/wctrans.c deleted-65| ... | @@ -1,65 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | /* | ||
| 7 | wctrans.c | ||
| 8 | 7.25.3.2 Extensible wide-character case mapping functions | ||
| 9 | |||
| 10 | Contributed by: Danny Smith <dannysmith@usesr.sourcefoge.net> | ||
| 11 | 		 2005-02-24 | ||
| 12 | |||
| 13 | This source code is placed in the PUBLIC DOMAIN. It is modified | ||
| 14 | from the Q8 package created by Doug Gwyn <gwyn@arl.mil> | ||
| 15 | |||
| 16 | */ | ||
| 17 | |||
| 18 | #include <string.h> | ||
| 19 | #include <wctype.h> | ||
| 20 | |||
| 21 | /* | ||
| 22 | This differs from the MS implementation of wctrans which | ||
| 23 | returns 0 for tolower and 1 for toupper. According to | ||
| 24 | C99, a 0 return value indicates invalid input. | ||
| 25 | |||
| 26 | These two function go in the same translation unit so that we | ||
| 27 | can ensure that | ||
| 28 | towctrans(wc, wctrans("tolower")) == towlower(wc) | ||
| 29 | towctrans(wc, wctrans("toupper")) == towupper(wc) | ||
| 30 | It also ensures that | ||
| 31 | towctrans(wc, wctrans("")) == wc | ||
| 32 | which is not required by standard. | ||
| 33 | */ | ||
| 34 | |||
| 35 | static const struct { | ||
| 36 | const char *name; | ||
| 37 | wctrans_t val; } tmap[] = { | ||
| 38 | {"tolower", _LOWER}, | ||
| 39 | {"toupper", _UPPER} | ||
| 40 | }; | ||
| 41 | |||
| 42 | #define	NTMAP	(sizeof tmap / sizeof tmap[0]) | ||
| 43 | |||
| 44 | wctrans_t | ||
| 45 | wctrans (const char* property) | ||
| 46 | { | ||
| 47 | int i; | ||
| 48 | for ( i = 0; i < (int) NTMAP; ++i ) | ||
| 49 | if (strcmp (property, tmap[i].name) == 0) | ||
| 50 | return tmap[i].val; | ||
| 51 | return 0; | ||
| 52 | } | ||
| 53 | |||
| 54 | wint_t towctrans (wint_t wc, wctrans_t desc) | ||
| 55 | { | ||
| 56 | switch (desc) | ||
| 57 | { | ||
| 58 | case _LOWER: | ||
| 59 | return towlower (wc); | ||
| 60 | case _UPPER: | ||
| 61 | return towupper (wc); | ||
| 62 | default: | ||
| 63 | return wc; | ||
| 64 | } | ||
| 65 | } | ||
lib/libc/mingw/misc/wctype.c deleted-65| ... | @@ -1,65 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | /* | ||
| 7 | wctype.c | ||
| 8 | 7.25.2.2.2 The wctype function | ||
| 9 | |||
| 10 | Contributed by: Danny Smith <dannysmith@usesr.sourcefoge.net> | ||
| 11 | 		 2005-02-24 | ||
| 12 | |||
| 13 | This source code is placed in the PUBLIC DOMAIN. It is modified | ||
| 14 | from the Q8 package created by Doug Gwyn <gwyn@arl.mil> | ||
| 15 | |||
| 16 | The wctype function constructs a value with type wctype_t that | ||
| 17 | describes a class of wide characters identified by the string | ||
| 18 | argument property. | ||
| 19 | |||
| 20 | In particular, we map the property strings so that: | ||
| 21 | |||
| 22 | iswctype(wc, wctype("alnum")) == iswalnum(wc) | ||
| 23 | iswctype(wc, wctype("alpha")) == iswalpha(wc) | ||
| 24 | iswctype(wc, wctype("cntrl")) == iswcntrl(wc) | ||
| 25 | iswctype(wc, wctype("digit")) == iswdigit(wc) | ||
| 26 | iswctype(wc, wctype("graph")) == iswgraph(wc) | ||
| 27 | iswctype(wc, wctype("lower")) == iswlower(wc) | ||
| 28 | iswctype(wc, wctype("print")) == iswprint(wc) | ||
| 29 | iswctype(wc, wctype("punct")) == iswpunct(wc) | ||
| 30 | iswctype(wc, wctype("space")) == iswspace(wc) | ||
| 31 | iswctype(wc, wctype("upper")) == iswupper(wc) | ||
| 32 | iswctype(wc, wctype("xdigit")) == iswxdigit(wc) | ||
| 33 | |||
| 34 | */ | ||
| 35 | |||
| 36 | #include	<string.h> | ||
| 37 | #include	<wctype.h> | ||
| 38 | |||
| 39 | /* Using the bit-OR'd ctype character classification flags as return | ||
| 40 | values achieves compatibility with MS iswctype(). */ | ||
| 41 | static const struct { | ||
| 42 | const char *name; | ||
| 43 | wctype_t flags;} cmap[] = { | ||
| 44 | {"alnum", _ALPHA|_DIGIT}, | ||
| 45 | {"alpha", _ALPHA}, | ||
| 46 | {"cntrl", _CONTROL}, | ||
| 47 | {"digit", _DIGIT}, | ||
| 48 | {"graph", _PUNCT|_ALPHA|_DIGIT}, | ||
| 49 | {"lower", _LOWER}, | ||
| 50 | {"print", _BLANK|_PUNCT|_ALPHA|_DIGIT}, | ||
| 51 | {"punct", _PUNCT}, | ||
| 52 | {"space", _SPACE}, | ||
| 53 | {"upper", _UPPER}, | ||
| 54 | {"xdigit", _HEX} | ||
| 55 | }; | ||
| 56 | |||
| 57 | #define NCMAP	(sizeof cmap / sizeof cmap[0]) | ||
| 58 | wctype_t wctype (const char *property) | ||
| 59 | { | ||
| 60 | int i; | ||
| 61 | for (i = 0; i < (int) NCMAP; ++i) | ||
| 62 | if (strcmp (property, cmap[i].name) == 0) | ||
| 63 | return cmap[i].flags; | ||
| 64 | return 0; | ||
| 65 | } | ||
lib/libc/mingw/stdio/mingw_fprintfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_fprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_fwprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_fprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_pformat.h+9-2| ... | @@ -72,13 +72,20 @@ | ... | @@ -72,13 +72,20 @@ |
| 72 | 72 | ||
| 73 | # define __printf __mingw_wprintf | 73 | # define __printf __mingw_wprintf |
| 74 | # define __fprintf __mingw_fwprintf | 74 | # define __fprintf __mingw_fwprintf |
| 75 | # define __sprintf __mingw_swprintf | 75 | #ifdef __BUILD_WIDEAPI_ISO |
| 76 | # define __snprintf __mingw_swprintf | ||
| 77 | #else | ||
| 76 | # define __snprintf __mingw_snwprintf | 78 | # define __snprintf __mingw_snwprintf |
| 79 | #endif | ||
| 77 | 80 | ||
| 78 | # define __vprintf __mingw_vwprintf | 81 | # define __vprintf __mingw_vwprintf |
| 79 | # define __vfprintf __mingw_vfwprintf | 82 | # define __vfprintf __mingw_vfwprintf |
| 80 | # define __vsprintf __mingw_vswprintf | 83 | #ifdef __BUILD_WIDEAPI_ISO |
| 84 | # define __vsnprintf __mingw_vswprintf | ||
| 85 | #else | ||
| 81 | # define __vsnprintf __mingw_vsnwprintf | 86 | # define __vsnprintf __mingw_vsnwprintf |
| 87 | #endif | ||
| 88 | |||
| 82 | #else | 89 | #else |
| 83 | # define __pformat __mingw_pformat | 90 | # define __pformat __mingw_pformat |
| 84 | #define __fputc(X,STR) fputc((X), (STR)) | 91 | #define __fputc(X,STR) fputc((X), (STR)) |
lib/libc/mingw/stdio/mingw_pformatw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_pformat.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_printfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_printf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_sformat.c created+1602| ... | @@ -0,0 +1,1602 @@ | ||
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #define __LARGE_MBSTATE_T | ||
| 46 | |||
| 47 | #include <limits.h> | ||
| 48 | #include <stddef.h> | ||
| 49 | #include <stdarg.h> | ||
| 50 | #include <stdio.h> | ||
| 51 | #include <stdint.h> | ||
| 52 | #include <stdlib.h> | ||
| 53 | #include <string.h> | ||
| 54 | #include <wchar.h> | ||
| 55 | #include <ctype.h> | ||
| 56 | #include <wctype.h> | ||
| 57 | #include <locale.h> | ||
| 58 | #include <errno.h> | ||
| 59 | |||
| 60 | #include "mingw_sformat.h" | ||
| 61 | |||
| 62 | /* Helper flags for conversion. */ | ||
| 63 | #define IS_C		0x0001 | ||
| 64 | #define IS_S		0x0002 | ||
| 65 | #define IS_L		0x0004 | ||
| 66 | #define IS_LL		0x0008 | ||
| 67 | #define IS_SIGNED_NUM	0x0010 | ||
| 68 | #define IS_POINTER	0x0020 | ||
| 69 | #define IS_HEX_FLOAT	0x0040 | ||
| 70 | #define IS_SUPPRESSED	0x0080 | ||
| 71 | #define USE_GROUP	0x0100 | ||
| 72 | #define USE_GNU_ALLOC	0x0200 | ||
| 73 | #define USE_POSIX_ALLOC	0x0400 | ||
| 74 | |||
| 75 | #define IS_ALLOC_USED	(USE_GNU_ALLOC | USE_POSIX_ALLOC) | ||
| 76 | |||
| 77 | static void * | ||
| 78 | get_va_nth (va_list argp, unsigned int n) | ||
| 79 | { | ||
| 80 | va_list ap; | ||
| 81 | if (!n) abort (); | ||
| 82 | va_copy (ap, argp); | ||
| 83 | while (--n > 0) | ||
| 84 | (void) va_arg(ap, void *); | ||
| 85 | return va_arg (ap, void *); | ||
| 86 | } | ||
| 87 | |||
| 88 | static void | ||
| 89 | optimize_alloc (char **p, char *end, size_t alloc_sz) | ||
| 90 | { | ||
| 91 | size_t need_sz; | ||
| 92 | char *h; | ||
| 93 | |||
| 94 | if (!p || !*p) | ||
| 95 | return; | ||
| 96 | |||
| 97 | need_sz = end - *p; | ||
| 98 | if (need_sz == alloc_sz) | ||
| 99 | return; | ||
| 100 | |||
| 101 | if ((h = (char *) realloc (*p, need_sz)) != NULL) | ||
| 102 | *p = h; | ||
| 103 | } | ||
| 104 | |||
| 105 | static void | ||
| 106 | back_ch (int c, _IFP *s, size_t *rin, int not_eof) | ||
| 107 | { | ||
| 108 | if (!not_eof && c == EOF) | ||
| 109 | return; | ||
| 110 | if (s->is_string == 0) | ||
| 111 | { | ||
| 112 | FILE *fp = s->fp; | ||
| 113 | ungetc (c, fp); | ||
| 114 | rin[0] -= 1; | ||
| 115 | return; | ||
| 116 | } | ||
| 117 | rin[0] -= 1; | ||
| 118 | s->bch[s->back_top] = c; | ||
| 119 | s->back_top += 1; | ||
| 120 | } | ||
| 121 | |||
| 122 | static int | ||
| 123 | in_ch (_IFP *s, size_t *rin) | ||
| 124 | { | ||
| 125 | int r; | ||
| 126 | if (s->back_top) | ||
| 127 | { | ||
| 128 | s->back_top -= 1; | ||
| 129 | r = s->bch[s->back_top]; | ||
| 130 | rin[0] += 1; | ||
| 131 | } | ||
| 132 | else if (s->seen_eof) | ||
| 133 | { | ||
| 134 | return EOF; | ||
| 135 | } | ||
| 136 | else if (s->is_string) | ||
| 137 | { | ||
| 138 | const char *ps = s->str; | ||
| 139 | r = ((int) *ps) & 0xff; | ||
| 140 | ps++; | ||
| 141 | if (r != 0) | ||
| 142 | { | ||
| 143 | rin[0] += 1; | ||
| 144 | s->str = ps; | ||
| 145 | return r; | ||
| 146 | } | ||
| 147 | s->seen_eof = 1; | ||
| 148 | return EOF; | ||
| 149 | } | ||
| 150 | else | ||
| 151 | { | ||
| 152 | FILE *fp = (FILE *) s->fp; | ||
| 153 | r = getc (fp); | ||
| 154 | if (r != EOF) | ||
| 155 | rin[0] += 1; | ||
| 156 | else s->seen_eof = 1; | ||
| 157 | } | ||
| 158 | return r; | ||
| 159 | } | ||
| 160 | |||
| 161 | static int | ||
| 162 | match_string (_IFP *s, size_t *rin, int *c, const char *str) | ||
| 163 | { | ||
| 164 | int ch = *c; | ||
| 165 | |||
| 166 | if (*str == 0) | ||
| 167 | return 1; | ||
| 168 | |||
| 169 | if (*str != (char) tolower (ch)) | ||
| 170 | return 0; | ||
| 171 | ++str; | ||
| 172 | while (*str != 0) | ||
| 173 | { | ||
| 174 | if ((ch = in_ch (s, rin)) == EOF) | ||
| 175 | { | ||
| 176 | c[0] = ch; | ||
| 177 | return 0; | ||
| 178 | } | ||
| 179 | |||
| 180 | if (*str != (char) tolower (ch)) | ||
| 181 | { | ||
| 182 | c[0] = ch; | ||
| 183 | return 0; | ||
| 184 | } | ||
| 185 | ++str; | ||
| 186 | } | ||
| 187 | c[0] = ch; | ||
| 188 | return 1; | ||
| 189 | } | ||
| 190 | |||
| 191 | struct gcollect | ||
| 192 | { | ||
| 193 | size_t count; | ||
| 194 | struct gcollect *next; | ||
| 195 | char **ptrs[32]; | ||
| 196 | }; | ||
| 197 | |||
| 198 | static void | ||
| 199 | release_ptrs (struct gcollect **pt, char **wbuf) | ||
| 200 | { | ||
| 201 | struct gcollect *pf; | ||
| 202 | size_t cnt; | ||
| 203 | |||
| 204 | if (wbuf) | ||
| 205 | { | ||
| 206 | free (*wbuf); | ||
| 207 | *wbuf = NULL; | ||
| 208 | } | ||
| 209 | if (!pt || (pf = *pt) == NULL) | ||
| 210 | return; | ||
| 211 | while (pf != NULL) | ||
| 212 | { | ||
| 213 | struct gcollect *pf_sv = pf; | ||
| 214 | for (cnt = 0; cnt < pf->count; ++cnt) | ||
| 215 | 	{ | ||
| 216 | 	 free (*pf->ptrs[cnt]); | ||
| 217 | 	 *pf->ptrs[cnt] = NULL; | ||
| 218 | 	} | ||
| 219 | pf = pf->next; | ||
| 220 | free (pf_sv); | ||
| 221 | } | ||
| 222 | *pt = NULL; | ||
| 223 | } | ||
| 224 | |||
| 225 | static int | ||
| 226 | cleanup_return (int rval, struct gcollect **pfree, char **strp, char **wbuf) | ||
| 227 | { | ||
| 228 | if (rval == EOF) | ||
| 229 | release_ptrs (pfree, wbuf); | ||
| 230 | else | ||
| 231 | { | ||
| 232 | if (pfree) | ||
| 233 | { | ||
| 234 | struct gcollect *pf = *pfree, *pf_sv; | ||
| 235 | while (pf != NULL) | ||
| 236 | { | ||
| 237 | pf_sv = pf; | ||
| 238 | pf = pf->next; | ||
| 239 | free (pf_sv); | ||
| 240 | } | ||
| 241 | *pfree = NULL; | ||
| 242 | } | ||
| 243 | if (strp != NULL) | ||
| 244 | 	{ | ||
| 245 | 	 free (*strp); | ||
| 246 | 	 *strp = NULL; | ||
| 247 | 	} | ||
| 248 | if (wbuf) | ||
| 249 | 	{ | ||
| 250 | 	 free (*wbuf); | ||
| 251 | 	 *wbuf = NULL; | ||
| 252 | 	} | ||
| 253 | } | ||
| 254 | return rval; | ||
| 255 | } | ||
| 256 | |||
| 257 | static struct gcollect * | ||
| 258 | resize_gcollect (struct gcollect *pf) | ||
| 259 | { | ||
| 260 | struct gcollect *np; | ||
| 261 | if (pf && pf->count < 32) | ||
| 262 | return pf; | ||
| 263 | np = malloc (sizeof (struct gcollect)); | ||
| 264 | np->count = 0; | ||
| 265 | np->next = pf; | ||
| 266 | return np; | ||
| 267 | } | ||
| 268 | |||
| 269 | static char * | ||
| 270 | resize_wbuf (size_t wpsz, size_t *wbuf_max_sz, char *old) | ||
| 271 | { | ||
| 272 | char *wbuf; | ||
| 273 | size_t nsz; | ||
| 274 | if (*wbuf_max_sz != wpsz) | ||
| 275 | return old; | ||
| 276 | nsz = (256 > (2 * wbuf_max_sz[0]) ? 256 : (2 * wbuf_max_sz[0])); | ||
| 277 | if (!old) | ||
| 278 | wbuf = (char *) malloc (nsz); | ||
| 279 | else | ||
| 280 | wbuf = (char *) realloc (old, nsz); | ||
| 281 | if (!wbuf) | ||
| 282 | { | ||
| 283 | if (old) | ||
| 284 | free (old); | ||
| 285 | } | ||
| 286 | else | ||
| 287 | *wbuf_max_sz = nsz; | ||
| 288 | return wbuf; | ||
| 289 | } | ||
| 290 | |||
| 291 | int | ||
| 292 | __cdecl | ||
| 293 | __mingw_sformat (_IFP *s, const char *format, va_list argp) | ||
| 294 | { | ||
| 295 | const char *f = format; | ||
| 296 | struct gcollect *gcollect = NULL; | ||
| 297 | size_t read_in = 0, wbuf_max_sz = 0, cnt; | ||
| 298 | ssize_t str_sz = 0; | ||
| 299 | char *str = NULL, **pstr = NULL, *wbuf = NULL; | ||
| 300 | wchar_t *wstr = NULL; | ||
| 301 | int rval = 0, c = 0, ignore_ws = 0; | ||
| 302 | va_list arg; | ||
| 303 | unsigned char fc; | ||
| 304 | unsigned int npos; | ||
| 305 | int width, flags, base = 0, errno_sv; | ||
| 306 | size_t wbuf_cur_sz, read_in_sv, new_sz, n; | ||
| 307 | char seen_dot, seen_exp, is_neg, not_in; | ||
| 308 | char *tmp_wbuf_ptr, buf[MB_LEN_MAX]; | ||
| 309 | const char *lc_decimal_point, *lc_thousands_sep; | ||
| 310 | mbstate_t state, cstate; | ||
| 311 | union { | ||
| 312 | unsigned long long ull; | ||
| 313 | unsigned long ul; | ||
| 314 | long long ll; | ||
| 315 | long l; | ||
| 316 | } cv_val; | ||
| 317 | |||
| 318 | arg = argp; | ||
| 319 | |||
| 320 | if (!s || s->fp == NULL || !format) | ||
| 321 | { | ||
| 322 | errno = EINVAL; | ||
| 323 | return EOF; | ||
| 324 | } | ||
| 325 | |||
| 326 | memset (&state, 0, sizeof (state)); | ||
| 327 | |||
| 328 | lc_decimal_point = localeconv()->decimal_point; | ||
| 329 | lc_thousands_sep = localeconv()->thousands_sep; | ||
| 330 | if (lc_thousands_sep != NULL && *lc_thousands_sep == 0) | ||
| 331 | lc_thousands_sep = NULL; | ||
| 332 | |||
| 333 | while (*f != 0) | ||
| 334 | { | ||
| 335 | if (!isascii ((unsigned char) *f)) | ||
| 336 | 	{ | ||
| 337 | 	 int len; | ||
| 338 | |||
| 339 | 	 if ((len = mbrlen (f, strlen (f), &state)) > 0) | ||
| 340 | 	 { | ||
| 341 | 	 do | ||
| 342 | 		{ | ||
| 343 | 		 if ((c = in_ch (s, &read_in)) == EOF || c != (unsigned char) *f++) | ||
| 344 | 		 { | ||
| 345 | 		 back_ch (c, s, &read_in, 1); | ||
| 346 | 		 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 347 | 		 } | ||
| 348 | 		} | ||
| 349 | 	 while (--len > 0); | ||
| 350 | |||
| 351 | 	 continue; | ||
| 352 | 	 } | ||
| 353 | 	} | ||
| 354 | |||
| 355 | fc = *f++; | ||
| 356 | if (fc != '%') | ||
| 357 | { | ||
| 358 | if (isspace (fc)) | ||
| 359 | ignore_ws = 1; | ||
| 360 | else | ||
| 361 | 	 { | ||
| 362 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 363 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 364 | |||
| 365 | 	 if (ignore_ws) | ||
| 366 | 		{ | ||
| 367 | 		 ignore_ws = 0; | ||
| 368 | 		 if (isspace (c)) | ||
| 369 | 		 { | ||
| 370 | 		 do | ||
| 371 | 			{ | ||
| 372 | 			 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 373 | 			 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 374 | 			} | ||
| 375 | 		 while (isspace (c)); | ||
| 376 | 		 } | ||
| 377 | 		} | ||
| 378 | |||
| 379 | 	 if (c != fc) | ||
| 380 | 		{ | ||
| 381 | 		 back_ch (c, s, &read_in, 0); | ||
| 382 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 383 | 		} | ||
| 384 | 	 } | ||
| 385 | |||
| 386 | 	 continue; | ||
| 387 | 	} | ||
| 388 | |||
| 389 | width = flags = 0; | ||
| 390 | npos = 0; | ||
| 391 | wbuf_cur_sz = 0; | ||
| 392 | |||
| 393 | if (isdigit ((unsigned char) *f)) | ||
| 394 | 	{ | ||
| 395 | 	 const char *svf = f; | ||
| 396 | 	 npos = (unsigned char) *f++ - '0'; | ||
| 397 | 	 while (isdigit ((unsigned char) *f)) | ||
| 398 | 	 npos = npos * 10 + ((unsigned char) *f++ - '0'); | ||
| 399 | 	 if (*f != '$') | ||
| 400 | 	 { | ||
| 401 | 	 npos = 0; | ||
| 402 | 	 f = svf; | ||
| 403 | 	 } | ||
| 404 | 	 else | ||
| 405 | 	 f++; | ||
| 406 | 	} | ||
| 407 | |||
| 408 | do | ||
| 409 | 	{ | ||
| 410 | 	 if (*f == '*') | ||
| 411 | 	 flags |= IS_SUPPRESSED; | ||
| 412 | 	 else if (*f == '\'') | ||
| 413 | 	 { | ||
| 414 | 	 if (lc_thousands_sep) | ||
| 415 | 		flags |= USE_GROUP; | ||
| 416 | 	 } | ||
| 417 | 	 else if (*f == 'I') | ||
| 418 | 	 { | ||
| 419 | 	 /* we don't support locale's digits (i18N), but ignore it for now silently. */ | ||
| 420 | 	 ; | ||
| 421 | #ifdef _WIN32 | ||
| 422 | if (f[1] == '6' && f[2] == '4') | ||
| 423 | { | ||
| 424 | 		 flags |= IS_LL | IS_L; | ||
| 425 | 		 f += 2; | ||
| 426 | 		} | ||
| 427 | 	 else if (f[1] == '3' && f[2] == '2') | ||
| 428 | 		{ | ||
| 429 | 		 flags |= IS_L; | ||
| 430 | 		 f += 2; | ||
| 431 | 		} | ||
| 432 | 	 else | ||
| 433 | 	 { | ||
| 434 | #ifdef _WIN64 | ||
| 435 | 		 flags |= IS_LL | IS_L; | ||
| 436 | #else | ||
| 437 | 		 flags |= IS_L; | ||
| 438 | #endif | ||
| 439 | 		} | ||
| 440 | #endif | ||
| 441 | 	 } | ||
| 442 | 	 else | ||
| 443 | 	 break; | ||
| 444 | 	 ++f; | ||
| 445 | } | ||
| 446 | while (1); | ||
| 447 | |||
| 448 | while (isdigit ((unsigned char) *f)) | ||
| 449 | 	width = width * 10 + ((unsigned char) *f++ - '0'); | ||
| 450 | |||
| 451 | if (!width) | ||
| 452 | 	width = -1; | ||
| 453 | |||
| 454 | switch (*f) | ||
| 455 | 	{ | ||
| 456 | 	case 'h': | ||
| 457 | 	 ++f; | ||
| 458 | 	 flags |= (*f == 'h' ? IS_C : IS_S); | ||
| 459 | 	 if (*f == 'h') | ||
| 460 | 	 ++f; | ||
| 461 | 	 break; | ||
| 462 | 	case 'l': | ||
| 463 | 	 ++f; | ||
| 464 | 	 flags |= (*f == 'l' ? IS_LL : 0) | IS_L; | ||
| 465 | 	 if (*f == 'l') | ||
| 466 | 	 ++f; | ||
| 467 | 	 break; | ||
| 468 | 	case 'q': case 'L': | ||
| 469 | 	 ++f; | ||
| 470 | 	 flags |= IS_LL | IS_L; | ||
| 471 | 	 break; | ||
| 472 | 	case 'a': | ||
| 473 | 	 if (f[1] != 's' && f[1] != 'S' && f[1] != '[') | ||
| 474 | 	 break; | ||
| 475 | 	 ++f; | ||
| 476 | 	 flags |= USE_GNU_ALLOC; | ||
| 477 | 	 break; | ||
| 478 | 	case 'm': | ||
| 479 | 	 flags |= USE_POSIX_ALLOC; | ||
| 480 | 	 ++f; | ||
| 481 | 	 if (*f == 'l') | ||
| 482 | 	 { | ||
| 483 | 	 flags |= IS_L; | ||
| 484 | 	 f++; | ||
| 485 | 	 } | ||
| 486 | 	 break; | ||
| 487 | 	case 'z': | ||
| 488 | #ifdef _WIN64 | ||
| 489 | 	 flags |= IS_LL | IS_L; | ||
| 490 | #else | ||
| 491 | 	 flags |= IS_L; | ||
| 492 | #endif | ||
| 493 | 	 ++f; | ||
| 494 | 	 break; | ||
| 495 | 	case 'j': | ||
| 496 | 	 if (sizeof (uintmax_t) > sizeof (unsigned long)) | ||
| 497 | 	 flags |= IS_LL; | ||
| 498 | 	 else if (sizeof (uintmax_t) > sizeof (unsigned int)) | ||
| 499 | 	 flags |= IS_L; | ||
| 500 | 	 ++f; | ||
| 501 | 	 break; | ||
| 502 | 	case 't': | ||
| 503 | #ifdef _WIN64 | ||
| 504 | 	 flags |= IS_LL; | ||
| 505 | #else | ||
| 506 | 	 flags |= IS_L; | ||
| 507 | #endif | ||
| 508 | 	 ++f; | ||
| 509 | 	 break; | ||
| 510 | 	case 0: | ||
| 511 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 512 | 	default: | ||
| 513 | 	 break; | ||
| 514 | 	} | ||
| 515 | |||
| 516 | if (*f == 0) | ||
| 517 | 	return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 518 | |||
| 519 | fc = *f++; | ||
| 520 | if (ignore_ws || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n')) | ||
| 521 | 	{ | ||
| 522 | 	 errno_sv = errno; | ||
| 523 | 	 errno = 0; | ||
| 524 | 	 do | ||
| 525 | 	 { | ||
| 526 | 	 if ((c == EOF || (c = in_ch (s, &read_in)) == EOF) | ||
| 527 | 	 && errno == EINTR) | ||
| 528 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 529 | 	 } | ||
| 530 | 	 while (isspace (c)); | ||
| 531 | |||
| 532 | 	 ignore_ws = 0; | ||
| 533 | 	 errno = errno_sv; | ||
| 534 | 	 back_ch (c, s, &read_in, 0); | ||
| 535 | 	} | ||
| 536 | |||
| 537 | switch (fc) | ||
| 538 | { | ||
| 539 | case 'c': | ||
| 540 | if ((flags & IS_L) != 0) | ||
| 541 | fc = 'C'; | ||
| 542 | break; | ||
| 543 | case 's': | ||
| 544 | if ((flags & IS_L) != 0) | ||
| 545 | fc = 'S'; | ||
| 546 | break; | ||
| 547 | } | ||
| 548 | |||
| 549 | switch (fc) | ||
| 550 | 	{ | ||
| 551 | 	case '%': | ||
| 552 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 553 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 554 | 	 if (c != fc) | ||
| 555 | 	 { | ||
| 556 | 	 back_ch (c, s, &read_in, 1); | ||
| 557 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 558 | 	 } | ||
| 559 | 	 break; | ||
| 560 | |||
| 561 | 	case 'n': | ||
| 562 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 563 | 	 { | ||
| 564 | 	 if ((flags & IS_LL) != 0) | ||
| 565 | 		*(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = read_in; | ||
| 566 | 	 else if ((flags & IS_L) != 0) | ||
| 567 | 		*(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = read_in; | ||
| 568 | 	 else if ((flags & IS_S) != 0) | ||
| 569 | 		*(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = read_in; | ||
| 570 | 	 else if ((flags & IS_C) != 0) | ||
| 571 | 	 *(npos != 0 ? (char *) get_va_nth (argp, npos) : va_arg (arg, char *)) = read_in; | ||
| 572 | 	 else | ||
| 573 | 		*(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = read_in; | ||
| 574 | 	 } | ||
| 575 | 	 break; | ||
| 576 | |||
| 577 | 	case 'c': | ||
| 578 | 	 if (width == -1) | ||
| 579 | 	 width = 1; | ||
| 580 | |||
| 581 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 582 | 	 { | ||
| 583 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 584 | 		{ | ||
| 585 | 		 if (npos != 0) | ||
| 586 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 587 | 		 else | ||
| 588 | 		 pstr = va_arg (arg, char **); | ||
| 589 | |||
| 590 | 		 if (!pstr) | ||
| 591 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 592 | |||
| 593 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 594 | 		 if ((str = *pstr = (char *) malloc (str_sz)) == NULL) | ||
| 595 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 596 | |||
| 597 | 		 gcollect = resize_gcollect (gcollect); | ||
| 598 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 599 | 		} | ||
| 600 | 	 else | ||
| 601 | 		{ | ||
| 602 | 		 if (npos != 0) | ||
| 603 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 604 | 		 else | ||
| 605 | 		 str = va_arg (arg, char *); | ||
| 606 | 		 if (!str) | ||
| 607 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 608 | 		} | ||
| 609 | 	 } | ||
| 610 | |||
| 611 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 612 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 613 | |||
| 614 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 615 | 	 { | ||
| 616 | 	 do | ||
| 617 | 		{ | ||
| 618 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 619 | 		 { | ||
| 620 | 		 new_sz = str_sz + (str_sz >= width ? width - 1 : str_sz); | ||
| 621 | 		 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 622 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 623 | 			new_sz = str_sz + 1; | ||
| 624 | 		 if (!str) | ||
| 625 | 			{ | ||
| 626 | 			 release_ptrs (&gcollect, &wbuf); | ||
| 627 | 			 return EOF; | ||
| 628 | 			} | ||
| 629 | 		 *pstr = str; | ||
| 630 | 		 str += str_sz; | ||
| 631 | 		 str_sz = new_sz; | ||
| 632 | 		 } | ||
| 633 | 		 *str++ = c; | ||
| 634 | 		} | ||
| 635 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 636 | 	 } | ||
| 637 | 	 else | ||
| 638 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 639 | |||
| 640 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 641 | 	 { | ||
| 642 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 643 | 	 pstr = NULL; | ||
| 644 | 	 ++rval; | ||
| 645 | 	 } | ||
| 646 | |||
| 647 | 	 break; | ||
| 648 | |||
| 649 | 	case 'C': | ||
| 650 | 	 if (width == -1) | ||
| 651 | 	 width = 1; | ||
| 652 | |||
| 653 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 654 | 	 { | ||
| 655 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 656 | 		{ | ||
| 657 | 		 if (npos != 0) | ||
| 658 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 659 | 		 else | ||
| 660 | 		 pstr = va_arg (arg, char **); | ||
| 661 | |||
| 662 | 		 if (!pstr) | ||
| 663 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 664 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 665 | 		 *pstr = (char *) malloc (str_sz * sizeof (wchar_t)); | ||
| 666 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 667 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 668 | 		 gcollect = resize_gcollect (gcollect); | ||
| 669 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 670 | 		} | ||
| 671 | 	 else | ||
| 672 | 		{ | ||
| 673 | 		 if (npos != 0) | ||
| 674 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 675 | 		 else | ||
| 676 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 677 | 		 if (!wstr) | ||
| 678 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 679 | 		} | ||
| 680 | 	 } | ||
| 681 | |||
| 682 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 683 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 684 | |||
| 685 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 686 | |||
| 687 | 	 do | ||
| 688 | 	 { | ||
| 689 | 	 buf[0] = c; | ||
| 690 | |||
| 691 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 692 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 693 | 		{ | ||
| 694 | 		 new_sz = str_sz + (str_sz > width ? width - 1 : str_sz); | ||
| 695 | |||
| 696 | 		 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 697 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 698 | 		 new_sz = str_sz + 1; | ||
| 699 | 		 if (!wstr) | ||
| 700 | 		 { | ||
| 701 | 		 release_ptrs (&gcollect, &wbuf); | ||
| 702 | 		 return EOF; | ||
| 703 | 		 } | ||
| 704 | 		 *pstr = (char *) wstr; | ||
| 705 | 		 wstr += str_sz; | ||
| 706 | 		 str_sz = new_sz; | ||
| 707 | 		} | ||
| 708 | |||
| 709 | 	 while (1) | ||
| 710 | 		{ | ||
| 711 | 		 n = mbrtowc ((flags & IS_SUPPRESSED) == 0 ? wstr : NULL, buf, 1, &cstate); | ||
| 712 | |||
| 713 | 		 if (n == (size_t) -2) | ||
| 714 | 		 { | ||
| 715 | 		 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 716 | 			{ | ||
| 717 | 			 errno = EILSEQ; | ||
| 718 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 719 | 			} | ||
| 720 | |||
| 721 | 		 buf[0] = c; | ||
| 722 | 		 continue; | ||
| 723 | 		 } | ||
| 724 | |||
| 725 | 		 if (n != 1) | ||
| 726 | 		 { | ||
| 727 | 			errno = EILSEQ; | ||
| 728 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 729 | 		 } | ||
| 730 | 		 break; | ||
| 731 | 		} | ||
| 732 | |||
| 733 | 	 ++wstr; | ||
| 734 | 	 } | ||
| 735 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 736 | |||
| 737 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 738 | 	 { | ||
| 739 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 740 | 	 pstr = NULL; | ||
| 741 | 	 ++rval; | ||
| 742 | 	 } | ||
| 743 | 	 break; | ||
| 744 | |||
| 745 | 	case 's': | ||
| 746 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 747 | 	 { | ||
| 748 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 749 | 		{ | ||
| 750 | 		 if (npos != 0) | ||
| 751 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 752 | 		 else | ||
| 753 | 		 pstr = va_arg (arg, char **); | ||
| 754 | |||
| 755 | 		 if (!pstr) | ||
| 756 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 757 | |||
| 758 | 		 str_sz = 100; | ||
| 759 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 760 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 761 | 		 gcollect = resize_gcollect (gcollect); | ||
| 762 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 763 | 		} | ||
| 764 | 	 else | ||
| 765 | 		{ | ||
| 766 | 		 if (npos != 0) | ||
| 767 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 768 | 		 else | ||
| 769 | 		 str = va_arg (arg, char *); | ||
| 770 | 		 if (!str) | ||
| 771 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 772 | 		} | ||
| 773 | 	 } | ||
| 774 | |||
| 775 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 776 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 777 | |||
| 778 | 	 do | ||
| 779 | 	 { | ||
| 780 | 	 if (isspace (c)) | ||
| 781 | 		{ | ||
| 782 | 		 back_ch (c, s, &read_in, 1); | ||
| 783 | 		 break; | ||
| 784 | 		} | ||
| 785 | |||
| 786 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 787 | 		{ | ||
| 788 | 		 *str++ = c; | ||
| 789 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 790 | 		 { | ||
| 791 | 		 new_sz = str_sz * 2; | ||
| 792 | |||
| 793 | 		 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 794 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 795 | 			new_sz = str_sz + 1; | ||
| 796 | 		 if (!str) | ||
| 797 | 			{ | ||
| 798 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 799 | 			 { | ||
| 800 | 			 (*pstr)[str_sz - 1] = 0; | ||
| 801 | 			 pstr = NULL; | ||
| 802 | 			 ++rval; | ||
| 803 | 			 } | ||
| 804 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 805 | 			} | ||
| 806 | 		 *pstr = str; | ||
| 807 | 		 str += str_sz; | ||
| 808 | 		 str_sz = new_sz; | ||
| 809 | 		 } | ||
| 810 | 		} | ||
| 811 | 	 } | ||
| 812 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != EOF); | ||
| 813 | |||
| 814 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 815 | 	 { | ||
| 816 | 	 *str++ = 0; | ||
| 817 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 818 | 	 pstr = NULL; | ||
| 819 | 	 ++rval; | ||
| 820 | 	 } | ||
| 821 | 	 break; | ||
| 822 | |||
| 823 | 	case 'S': | ||
| 824 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 825 | 	 { | ||
| 826 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 827 | 		{ | ||
| 828 | 		 if (npos != 0) | ||
| 829 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 830 | 		 else | ||
| 831 | 		 pstr = va_arg (arg, char **); | ||
| 832 | |||
| 833 | 		 if (!pstr) | ||
| 834 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 835 | |||
| 836 | 		 str_sz = 100; | ||
| 837 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 838 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 839 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 840 | 		 gcollect = resize_gcollect (gcollect); | ||
| 841 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 842 | 		} | ||
| 843 | 	 else | ||
| 844 | 		{ | ||
| 845 | 		 if (npos != 0) | ||
| 846 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 847 | 		 else | ||
| 848 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 849 | 		 if (!wstr) | ||
| 850 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 851 | 		} | ||
| 852 | 	 } | ||
| 853 | |||
| 854 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 855 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 856 | |||
| 857 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 858 | |||
| 859 | 	 do | ||
| 860 | 	 { | ||
| 861 | 	 if (isspace (c)) | ||
| 862 | 		{ | ||
| 863 | 		 back_ch (c, s, &read_in, 1); | ||
| 864 | 		 break; | ||
| 865 | 		} | ||
| 866 | |||
| 867 | 	 buf[0] = c; | ||
| 868 | |||
| 869 | 	 while (1) | ||
| 870 | 		{ | ||
| 871 | 		 n = mbrtowc ((flags & IS_SUPPRESSED) == 0 ? wstr : NULL, buf, 1, &cstate); | ||
| 872 | |||
| 873 | 		 if (n == (size_t) -2) | ||
| 874 | 		 { | ||
| 875 | 		 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 876 | 			{ | ||
| 877 | 			 errno = EILSEQ; | ||
| 878 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 879 | 			} | ||
| 880 | |||
| 881 | 		 buf[0] = c; | ||
| 882 | 		 continue; | ||
| 883 | 		 } | ||
| 884 | |||
| 885 | 		 if (n != 1) | ||
| 886 | 		 { | ||
| 887 | 		 errno = EILSEQ; | ||
| 888 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 889 | 		 } | ||
| 890 | |||
| 891 | 		 ++wstr; | ||
| 892 | 		 break; | ||
| 893 | 		} | ||
| 894 | |||
| 895 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 896 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 897 | 		{ | ||
| 898 | 		 new_sz = str_sz * 2; | ||
| 899 | 		 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 900 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 901 | 		 new_sz = str_sz + 1; | ||
| 902 | 		 if (!wstr) | ||
| 903 | 		 { | ||
| 904 | 		 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 905 | 			{ | ||
| 906 | 			 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 907 | 			 pstr = NULL; | ||
| 908 | 			 ++rval; | ||
| 909 | 			} | ||
| 910 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 911 | 		 } | ||
| 912 | 		 *pstr = (char *) wstr; | ||
| 913 | 		 wstr += str_sz; | ||
| 914 | 		 str_sz = new_sz; | ||
| 915 | 		} | ||
| 916 | 	 } | ||
| 917 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != EOF); | ||
| 918 | |||
| 919 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 920 | 	 { | ||
| 921 | 	 *wstr++ = 0; | ||
| 922 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 923 | 	 pstr = NULL; | ||
| 924 | 	 ++rval; | ||
| 925 | 	 } | ||
| 926 | 	 break; | ||
| 927 | |||
| 928 | 	case 'd': case 'i': | ||
| 929 | 	case 'o': case 'p': | ||
| 930 | 	case 'u': | ||
| 931 | 	case 'x': case 'X': | ||
| 932 | 	 switch (fc) | ||
| 933 | 	 { | ||
| 934 | 	 case 'd': | ||
| 935 | 	 flags |= IS_SIGNED_NUM; | ||
| 936 | 	 base = 10; | ||
| 937 | 	 break; | ||
| 938 | 	 case 'i': | ||
| 939 | 	 flags |= IS_SIGNED_NUM; | ||
| 940 | 	 base = 0; | ||
| 941 | 	 break; | ||
| 942 | 	 case 'o': | ||
| 943 | 	 base = 8; | ||
| 944 | 	 break; | ||
| 945 | 	 case 'p': | ||
| 946 | 	 base = 16; | ||
| 947 | 	 flags &= ~(IS_S | IS_LL | IS_L); | ||
| 948 | #ifdef _WIN64 | ||
| 949 | 	 flags |= IS_LL; | ||
| 950 | #endif | ||
| 951 | 	 flags |= IS_L | IS_POINTER; | ||
| 952 | 	 break; | ||
| 953 | 	 case 'u': | ||
| 954 | 	 base = 10; | ||
| 955 | 	 break; | ||
| 956 | 	 case 'x': case 'X': | ||
| 957 | 	 base = 16; | ||
| 958 | 	 break; | ||
| 959 | 	 } | ||
| 960 | |||
| 961 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 962 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 963 | 	 if (c == '+' || c == '-') | ||
| 964 | 	 { | ||
| 965 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 966 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 967 | 	 if (width > 0) | ||
| 968 | 		--width; | ||
| 969 | 	 c = in_ch (s, &read_in); | ||
| 970 | 	 } | ||
| 971 | 	 if (width != 0 && c == '0') | ||
| 972 | 	 { | ||
| 973 | 	 if (width > 0) | ||
| 974 | 		--width; | ||
| 975 | |||
| 976 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 977 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 978 | 	 c = in_ch (s, &read_in); | ||
| 979 | |||
| 980 | 	 if (width != 0 && tolower (c) == 'x') | ||
| 981 | 		{ | ||
| 982 | 		 if (!base) | ||
| 983 | 		 base = 16; | ||
| 984 | 		 if (base == 16) | ||
| 985 | 		 { | ||
| 986 | 		 if (width > 0) | ||
| 987 | 			--width; | ||
| 988 | 		 c = in_ch (s, &read_in); | ||
| 989 | 		 } | ||
| 990 | 		} | ||
| 991 | 	 else if (!base) | ||
| 992 | 		base = 8; | ||
| 993 | 	 } | ||
| 994 | |||
| 995 | 	 if (!base) | ||
| 996 | 	 base = 10; | ||
| 997 | |||
| 998 | 	 while (c != EOF && width != 0) | ||
| 999 | 	 { | ||
| 1000 | 	 if (base == 16) | ||
| 1001 | 		{ | ||
| 1002 | 		 if (!isxdigit (c)) | ||
| 1003 | 		 break; | ||
| 1004 | 		} | ||
| 1005 | 	 else if (!isdigit (c) || (int) (c - '0') >= base) | ||
| 1006 | 		{ | ||
| 1007 | 		 const char *p = lc_thousands_sep; | ||
| 1008 | 		 int remain; | ||
| 1009 | |||
| 1010 | 		 if (base != 10 || (flags & USE_GROUP) == 0) | ||
| 1011 | 		 break; | ||
| 1012 | 		 remain = width > 0 ? width : INT_MAX; | ||
| 1013 | 		 while ((unsigned char) *p == c && remain >= 0) | ||
| 1014 | 		 { | ||
| 1015 | 		 /* As our conversion routines aren't supporting thousands | ||
| 1016 | 			 separators, we are filtering them here. */ | ||
| 1017 | |||
| 1018 | 		 ++p; | ||
| 1019 | 		 if (*p == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1020 | 			break; | ||
| 1021 | 		 --remain; | ||
| 1022 | 		 } | ||
| 1023 | |||
| 1024 | 		 if (*p != 0) | ||
| 1025 | 		 { | ||
| 1026 | 		 if (p > lc_thousands_sep) | ||
| 1027 | 			{ | ||
| 1028 | 			 back_ch (c, s, &read_in, 0); | ||
| 1029 | 			 while (--p > lc_thousands_sep) | ||
| 1030 | 			 back_ch ((unsigned char) *p, s, &read_in, 1); | ||
| 1031 | 			 c = (unsigned char) *p; | ||
| 1032 | 			} | ||
| 1033 | 		 break; | ||
| 1034 | 		 } | ||
| 1035 | |||
| 1036 | 		 if (width > 0) | ||
| 1037 | 		 width = remain; | ||
| 1038 | 		 --wbuf_cur_sz; | ||
| 1039 | 		} | ||
| 1040 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1041 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1042 | 	 if (width > 0) | ||
| 1043 | 		--width; | ||
| 1044 | |||
| 1045 | 	 c = in_ch (s, &read_in); | ||
| 1046 | 	 } | ||
| 1047 | |||
| 1048 | 	 if (!wbuf_cur_sz || (wbuf_cur_sz == 1 && (wbuf[0] == '+' || wbuf[0] == '-'))) | ||
| 1049 | 	 { | ||
| 1050 | 	 if (!wbuf_cur_sz && (flags & IS_POINTER) != 0 | ||
| 1051 | 	 && match_string (s, &read_in, &c, "(nil)")) | ||
| 1052 | 		{ | ||
| 1053 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1054 | 		 wbuf[wbuf_cur_sz++] = '0'; | ||
| 1055 | 		} | ||
| 1056 | 	 else | ||
| 1057 | 		{ | ||
| 1058 | 		 back_ch (c, s, &read_in, 0); | ||
| 1059 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1060 | 		} | ||
| 1061 | 	 } | ||
| 1062 | 	 else | ||
| 1063 | 	 back_ch (c, s, &read_in, 0); | ||
| 1064 | |||
| 1065 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1066 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1067 | |||
| 1068 | 	 if ((flags & IS_LL)) | ||
| 1069 | 	 { | ||
| 1070 | 	 if (flags & IS_SIGNED_NUM) | ||
| 1071 | 		cv_val.ll = strtoll (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1072 | 	 else | ||
| 1073 | 		cv_val.ull = strtoull (wbuf, &tmp_wbuf_ptr, base); | ||
| 1074 | 	 } | ||
| 1075 | 	 else | ||
| 1076 | 	 { | ||
| 1077 | 	 if (flags & IS_SIGNED_NUM) | ||
| 1078 | 		cv_val.l = strtol (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1079 | 	 else | ||
| 1080 | 		cv_val.ul = strtoul (wbuf, &tmp_wbuf_ptr, base); | ||
| 1081 | 	 } | ||
| 1082 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1083 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1084 | |||
| 1085 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1086 | 	 { | ||
| 1087 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1088 | 		{ | ||
| 1089 | 		 if ((flags & IS_LL) != 0) | ||
| 1090 | 		 *(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = cv_val.ll; | ||
| 1091 | 		 else if ((flags & IS_L) != 0) | ||
| 1092 | 		 *(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = cv_val.l; | ||
| 1093 | 		 else if ((flags & IS_S) != 0) | ||
| 1094 | 		 *(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = (short) cv_val.l; | ||
| 1095 | 		 else if ((flags & IS_C) != 0) | ||
| 1096 | 		 *(npos != 0 ? (signed char *) get_va_nth (argp, npos) : va_arg (arg, signed char *)) = (signed char) cv_val.ul; | ||
| 1097 | 		 else | ||
| 1098 | 		 *(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = (int) cv_val.l; | ||
| 1099 | 		} | ||
| 1100 | 	 else | ||
| 1101 | 		{ | ||
| 1102 | 		 if ((flags & IS_LL) != 0) | ||
| 1103 | 		 *(npos != 0 ? (unsigned long long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long long *)) = cv_val.ull; | ||
| 1104 | 		 else if ((flags & IS_L) != 0) | ||
| 1105 | 		 *(npos != 0 ? (unsigned long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long *)) = cv_val.ul; | ||
| 1106 | 		 else if ((flags & IS_S) != 0) | ||
| 1107 | 		 *(npos != 0 ? (unsigned short *) get_va_nth (argp, npos) : va_arg (arg, unsigned short *)) | ||
| 1108 | 		 = (unsigned short) cv_val.ul; | ||
| 1109 | 		 else if ((flags & IS_C) != 0) | ||
| 1110 | 		 *(npos != 0 ? (unsigned char *) get_va_nth (argp, npos) : va_arg (arg, unsigned char *)) = (unsigned char) cv_val.ul; | ||
| 1111 | 		 else | ||
| 1112 | 		 *(npos != 0 ? (unsigned int *) get_va_nth (argp, npos) : va_arg (arg, unsigned int *)) = (unsigned int) cv_val.ul; | ||
| 1113 | 		} | ||
| 1114 | 	 ++rval; | ||
| 1115 | 	 } | ||
| 1116 | 	 break; | ||
| 1117 | |||
| 1118 | 	case 'e': case 'E': | ||
| 1119 | 	case 'f': case 'F': | ||
| 1120 | 	case 'g': case 'G': | ||
| 1121 | 	case 'a': case 'A': | ||
| 1122 | 	 if (width > 0) | ||
| 1123 | 	 --width; | ||
| 1124 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1125 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1126 | |||
| 1127 | 	 seen_dot = seen_exp = 0; | ||
| 1128 | 	 is_neg = (c == '-' ? 1 : 0); | ||
| 1129 | |||
| 1130 | 	 if (c == '-' || c == '+') | ||
| 1131 | 	 { | ||
| 1132 | 	 if (width == 0 || (c = in_ch (s, &read_in)) == EOF) | ||
| 1133 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1134 | 	 if (width > 0) | ||
| 1135 | 		--width; | ||
| 1136 | 	 } | ||
| 1137 | |||
| 1138 | 	 if (tolower (c) == 'n') | ||
| 1139 | 	 { | ||
| 1140 | 	 const char *match_txt = "nan"; | ||
| 1141 | |||
| 1142 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1143 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1144 | |||
| 1145 | 	 ++match_txt; | ||
| 1146 | 	 do | ||
| 1147 | 		{ | ||
| 1148 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1149 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1150 | |||
| 1151 | 		 if (width > 0) | ||
| 1152 | 		 --width; | ||
| 1153 | |||
| 1154 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1155 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1156 | 		 ++match_txt; | ||
| 1157 | 		} | ||
| 1158 | 	 while (*match_txt != 0); | ||
| 1159 | 	 } | ||
| 1160 | 	 else if (tolower (c) == 'i') | ||
| 1161 | 	 { | ||
| 1162 | 	 const char *match_txt = "inf"; | ||
| 1163 | |||
| 1164 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1165 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1166 | |||
| 1167 | 	 ++match_txt; | ||
| 1168 | 	 do | ||
| 1169 | 		{ | ||
| 1170 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1171 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1172 | 		 if (width > 0) | ||
| 1173 | 		 --width; | ||
| 1174 | |||
| 1175 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1176 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1177 | 		 ++match_txt; | ||
| 1178 | 		} | ||
| 1179 | 	 while (*match_txt != 0); | ||
| 1180 | |||
| 1181 | 	 if (width != 0 && (c = in_ch (s, &read_in)) != EOF && tolower (c) == 'i') | ||
| 1182 | 		{ | ||
| 1183 | 		 match_txt = "inity"; | ||
| 1184 | |||
| 1185 | 		 if (width > 0) | ||
| 1186 | 		 --width; | ||
| 1187 | |||
| 1188 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1189 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1190 | 		 ++match_txt; | ||
| 1191 | |||
| 1192 | 		 do | ||
| 1193 | 		 { | ||
| 1194 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1195 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1196 | 		 if (width > 0) | ||
| 1197 | 			--width; | ||
| 1198 | |||
| 1199 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1200 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1201 | 		 ++match_txt; | ||
| 1202 | 		 } | ||
| 1203 | 		 while (*match_txt != 0); | ||
| 1204 | 		} | ||
| 1205 | 	 else if (width != 0 && c != EOF) | ||
| 1206 | 	 back_ch (c, s, &read_in, 0); | ||
| 1207 | 	 } | ||
| 1208 | 	 else | ||
| 1209 | 	 { | ||
| 1210 | 	 not_in = 'e'; | ||
| 1211 | 	 if (width != 0 && c == '0') | ||
| 1212 | 		{ | ||
| 1213 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1214 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1215 | |||
| 1216 | 		 c = in_ch (s, &read_in); | ||
| 1217 | 		 if (width > 0) | ||
| 1218 | 		 --width; | ||
| 1219 | 		 if (width != 0 && tolower (c) == 'x') | ||
| 1220 | 		 { | ||
| 1221 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1222 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1223 | |||
| 1224 | 		 flags |= IS_HEX_FLOAT; | ||
| 1225 | 		 not_in = 'p'; | ||
| 1226 | |||
| 1227 | 		 flags &= ~USE_GROUP; | ||
| 1228 | 		 c = in_ch (s, &read_in); | ||
| 1229 | 		 if (width > 0) | ||
| 1230 | 			--width; | ||
| 1231 | 		 } | ||
| 1232 | 		} | ||
| 1233 | |||
| 1234 | 	 while (1) | ||
| 1235 | 		{ | ||
| 1236 | 		 if (isdigit (c) || (!seen_exp && (flags & IS_HEX_FLOAT) != 0 && isxdigit (c)) | ||
| 1237 | 		 || (seen_exp && wbuf[wbuf_cur_sz - 1] == not_in && (c == '-' || c == '+'))) | ||
| 1238 | 		 { | ||
| 1239 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1240 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1241 | 		 } | ||
| 1242 | 		 else if (wbuf_cur_sz > 0 && !seen_exp && (char) tolower (c) == not_in) | ||
| 1243 | 		 { | ||
| 1244 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1245 | 		 wbuf[wbuf_cur_sz++] = not_in; | ||
| 1246 | 		 seen_exp = seen_dot = 1; | ||
| 1247 | 		 } | ||
| 1248 | 		 else | ||
| 1249 | 		 { | ||
| 1250 | 		 const char *p = lc_decimal_point; | ||
| 1251 | 		 int remain = width > 0 ? width : INT_MAX; | ||
| 1252 | |||
| 1253 | 		 if (! seen_dot) | ||
| 1254 | 			{ | ||
| 1255 | 			 while ((unsigned char) *p == c && remain >= 0) | ||
| 1256 | 			 { | ||
| 1257 | 			 ++p; | ||
| 1258 | 			 if (*p == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1259 | 				break; | ||
| 1260 | 			 --remain; | ||
| 1261 | 			 } | ||
| 1262 | 			} | ||
| 1263 | |||
| 1264 | 		 if (*p == 0) | ||
| 1265 | 			{ | ||
| 1266 | 			 for (p = lc_decimal_point; *p != 0; ++p) | ||
| 1267 | 			 { | ||
| 1268 | 			 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1269 | 			 wbuf[wbuf_cur_sz++] = (unsigned char) *p; | ||
| 1270 | 			 } | ||
| 1271 | 			 if (width > 0) | ||
| 1272 | 			 width = remain; | ||
| 1273 | 			 seen_dot = 1; | ||
| 1274 | 			} | ||
| 1275 | 		 else | ||
| 1276 | 			{ | ||
| 1277 | 			 const char *pp = lc_thousands_sep; | ||
| 1278 | |||
| 1279 | 			 if (!seen_dot && (flags & USE_GROUP) != 0) | ||
| 1280 | 			 { | ||
| 1281 | 			 while ((pp - lc_thousands_sep) < (p - lc_decimal_point) | ||
| 1282 | 				 && *pp == lc_decimal_point[(pp - lc_thousands_sep)]) | ||
| 1283 | 				++pp; | ||
| 1284 | 			 if ((pp - lc_thousands_sep) == (p - lc_decimal_point)) | ||
| 1285 | 				{ | ||
| 1286 | 				 while ((unsigned char) *pp == c && remain >= 0) | ||
| 1287 | 				 { | ||
| 1288 | 				 ++pp; | ||
| 1289 | 				 if (*pp == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1290 | 					break; | ||
| 1291 | 				 --remain; | ||
| 1292 | 				 } | ||
| 1293 | 				} | ||
| 1294 | 			 } | ||
| 1295 | |||
| 1296 | 			 if (pp != NULL && *pp == 0) | ||
| 1297 | 			 { | ||
| 1298 | 			 /* As our conversion routines aren't supporting thousands | ||
| 1299 | 				 separators, we are filtering them here. */ | ||
| 1300 | 			 if (width > 0) | ||
| 1301 | 				width = remain; | ||
| 1302 | 			 } | ||
| 1303 | 			 else | ||
| 1304 | 			 { | ||
| 1305 | 			 back_ch (c, s, &read_in, 0); | ||
| 1306 | 			 break; | ||
| 1307 | 			 } | ||
| 1308 | 			} | ||
| 1309 | 		 } | ||
| 1310 | |||
| 1311 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF) | ||
| 1312 | 		 break; | ||
| 1313 | |||
| 1314 | 		 if (width > 0) | ||
| 1315 | 		 --width; | ||
| 1316 | 		} | ||
| 1317 | |||
| 1318 | 	 if (!wbuf_cur_sz || ((flags & IS_HEX_FLOAT) != 0 && wbuf_cur_sz == 2)) | ||
| 1319 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1320 | 	 } | ||
| 1321 | |||
| 1322 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1323 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1324 | |||
| 1325 | 	 if ((flags & IS_LL) != 0) | ||
| 1326 | 	 { | ||
| 1327 | 	 long double ld; | ||
| 1328 | 	 ld = __mingw_strtold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1329 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1330 | 	 *(npos != 0 ? (long double *) get_va_nth (argp, npos) : va_arg (arg, long double *)) = is_neg ? -ld : ld; | ||
| 1331 | 	 } | ||
| 1332 | 	 else if ((flags & IS_L) != 0) | ||
| 1333 | 	 { | ||
| 1334 | 	 double d; | ||
| 1335 | 	 d = (double) __mingw_strtold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1336 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1337 | 		*(npos != 0 ? (double *) get_va_nth (argp, npos) : va_arg (arg, double *)) = is_neg ? -d : d; | ||
| 1338 | 	 } | ||
| 1339 | 	 else | ||
| 1340 | 	 { | ||
| 1341 | 	 float d = __mingw_strtof (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1342 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1343 | 		*(npos != 0 ? (float *) get_va_nth (argp, npos) : va_arg (arg, float *)) = is_neg ? -d : d; | ||
| 1344 | 	 } | ||
| 1345 | |||
| 1346 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1347 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1348 | |||
| 1349 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1350 | 	 ++rval; | ||
| 1351 | 	 break; | ||
| 1352 | |||
| 1353 | 	case '[': | ||
| 1354 | 	 if ((flags & IS_L) != 0) | ||
| 1355 | 	 { | ||
| 1356 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1357 | 		{ | ||
| 1358 | 		 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1359 | 		 { | ||
| 1360 | 		 if (npos != 0) | ||
| 1361 | 			pstr = (char **) get_va_nth (argp, npos); | ||
| 1362 | 		 else | ||
| 1363 | 			pstr = va_arg (arg, char **); | ||
| 1364 | |||
| 1365 | 		 if (!pstr) | ||
| 1366 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1367 | |||
| 1368 | 		 str_sz = 100; | ||
| 1369 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 1370 | |||
| 1371 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 1372 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1373 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1374 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1375 | 		 } | ||
| 1376 | 		 else | ||
| 1377 | 		 { | ||
| 1378 | 		 if (npos != 0) | ||
| 1379 | 			wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 1380 | 		 else | ||
| 1381 | 			wstr = va_arg (arg, wchar_t *); | ||
| 1382 | 		 if (!wstr) | ||
| 1383 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1384 | 		 } | ||
| 1385 | 		} | ||
| 1386 | 	 } | ||
| 1387 | 	 else if ((flags & IS_SUPPRESSED) == 0) | ||
| 1388 | 	 { | ||
| 1389 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1390 | 		{ | ||
| 1391 | 		 if (npos != 0) | ||
| 1392 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1393 | 		 else | ||
| 1394 | 		 pstr = va_arg (arg, char **); | ||
| 1395 | |||
| 1396 | 		 if (!pstr) | ||
| 1397 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1398 | |||
| 1399 | 		 str_sz = 100; | ||
| 1400 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 1401 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1402 | |||
| 1403 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1404 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1405 | 		} | ||
| 1406 | 	 else | ||
| 1407 | 		{ | ||
| 1408 | 		 if (npos != 0) | ||
| 1409 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 1410 | 		 else | ||
| 1411 | 		 str = va_arg (arg, char *); | ||
| 1412 | 		 if (!str) | ||
| 1413 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1414 | 		} | ||
| 1415 | 	 } | ||
| 1416 | |||
| 1417 | 	 not_in = (*f == '^' ? 1 : 0); | ||
| 1418 | 	 if (*f == '^') | ||
| 1419 | 	 f++; | ||
| 1420 | |||
| 1421 | 	 if (width < 0) | ||
| 1422 | 	 width = INT_MAX; | ||
| 1423 | |||
| 1424 | 	 if (wbuf_max_sz < 256) | ||
| 1425 | 	 { | ||
| 1426 | 	 wbuf_max_sz = 256; | ||
| 1427 | 	 if (wbuf) | ||
| 1428 | 	 free (wbuf); | ||
| 1429 | 	 wbuf = (char *) malloc (wbuf_max_sz); | ||
| 1430 | 	 } | ||
| 1431 | 	 memset (wbuf, 0, 256); | ||
| 1432 | |||
| 1433 | 	 fc = *f; | ||
| 1434 | 	 if (fc == ']' || fc == '-') | ||
| 1435 | 	 { | ||
| 1436 | 	 wbuf[fc] = 1; | ||
| 1437 | 	 ++f; | ||
| 1438 | 	 } | ||
| 1439 | |||
| 1440 | 	 while ((fc = *f++) != 0 && fc != ']') | ||
| 1441 | 	 { | ||
| 1442 | 	 if (fc == '-' && *f != 0 && *f != ']' && (unsigned char) f[-2] <= (unsigned char) *f) | ||
| 1443 | 		{ | ||
| 1444 | 		 for (fc = (unsigned char) f[-2]; fc < (unsigned char) *f; ++fc) | ||
| 1445 | 		 wbuf[fc] = 1; | ||
| 1446 | 		} | ||
| 1447 | 	 else | ||
| 1448 | 		wbuf[fc] = 1; | ||
| 1449 | 	 } | ||
| 1450 | |||
| 1451 | 	 if (!fc) | ||
| 1452 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1453 | |||
| 1454 | 	 if ((flags & IS_L) != 0) | ||
| 1455 | 	 { | ||
| 1456 | 	 read_in_sv = read_in; | ||
| 1457 | 	 cnt = 0; | ||
| 1458 | |||
| 1459 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1460 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1461 | |||
| 1462 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 1463 | |||
| 1464 | 	 do | ||
| 1465 | 		{ | ||
| 1466 | 		 if (wbuf[c] == not_in) | ||
| 1467 | 		 { | ||
| 1468 | 		 back_ch (c, s, &read_in, 1); | ||
| 1469 | 		 break; | ||
| 1470 | 		 } | ||
| 1471 | |||
| 1472 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1473 | 		 { | ||
| 1474 | 		 buf[0] = c; | ||
| 1475 | 		 n = mbrtowc (wstr, buf, 1, &cstate); | ||
| 1476 | |||
| 1477 | 		 if (n == (size_t) -2) | ||
| 1478 | 			{ | ||
| 1479 | 			 ++cnt; | ||
| 1480 | 			 continue; | ||
| 1481 | 			} | ||
| 1482 | 		 cnt = 0; | ||
| 1483 | |||
| 1484 | 		 ++wstr; | ||
| 1485 | 		 if ((flags & IS_ALLOC_USED) != 0 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 1486 | 			{ | ||
| 1487 | 			 new_sz = str_sz * 2; | ||
| 1488 | 			 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 1489 | 			 	 && new_sz > (size_t) (str_sz + 1)) | ||
| 1490 | 			 new_sz = str_sz + 1; | ||
| 1491 | 			 if (!wstr) | ||
| 1492 | 			 { | ||
| 1493 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1494 | 				{ | ||
| 1495 | 				 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 1496 | 				 pstr = NULL; | ||
| 1497 | 				 ++rval; | ||
| 1498 | 				} | ||
| 1499 | 			 else | ||
| 1500 | 				rval = EOF; | ||
| 1501 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1502 | 			 } | ||
| 1503 | 			 *pstr = (char *) wstr; | ||
| 1504 | 			 wstr += str_sz; | ||
| 1505 | 			 str_sz = new_sz; | ||
| 1506 | 			} | ||
| 1507 | 		 } | ||
| 1508 | |||
| 1509 | 		 if (--width <= 0) | ||
| 1510 | 		 break; | ||
| 1511 | 		} | ||
| 1512 | 	 while ((c = in_ch (s, &read_in)) != EOF); | ||
| 1513 | |||
| 1514 | 	 if (cnt != 0) | ||
| 1515 | 		{ | ||
| 1516 | 		 errno = EILSEQ; | ||
| 1517 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1518 | 		} | ||
| 1519 | |||
| 1520 | 	 if (read_in_sv == read_in) | ||
| 1521 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1522 | |||
| 1523 | |||
| 1524 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1525 | 		{ | ||
| 1526 | 		 *wstr++ = 0; | ||
| 1527 | 		 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 1528 | 		 pstr = NULL; | ||
| 1529 | 		 ++rval; | ||
| 1530 | 		} | ||
| 1531 | 	 } | ||
| 1532 | 	 else | ||
| 1533 | 	 { | ||
| 1534 | 	 read_in_sv = read_in; | ||
| 1535 | |||
| 1536 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1537 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1538 | |||
| 1539 | 	 do | ||
| 1540 | 		{ | ||
| 1541 | 		 if (wbuf[c] == not_in) | ||
| 1542 | 		 { | ||
| 1543 | 		 back_ch (c, s, &read_in, 1); | ||
| 1544 | 		 break; | ||
| 1545 | 		 } | ||
| 1546 | |||
| 1547 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1548 | 		 { | ||
| 1549 | 		 *str++ = c; | ||
| 1550 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 1551 | 			{ | ||
| 1552 | 			 new_sz = str_sz * 2; | ||
| 1553 | |||
| 1554 | 			 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 1555 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 1556 | 			 new_sz = str_sz + 1; | ||
| 1557 | 			 if (!str) | ||
| 1558 | 			 { | ||
| 1559 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1560 | 				{ | ||
| 1561 | 				 (*pstr)[str_sz - 1] = 0; | ||
| 1562 | 				 pstr = NULL; | ||
| 1563 | 				 ++rval; | ||
| 1564 | 				} | ||
| 1565 | 			 else | ||
| 1566 | 			 rval = EOF; | ||
| 1567 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1568 | 			 } | ||
| 1569 | 			 *pstr = str; | ||
| 1570 | 			 str += str_sz; | ||
| 1571 | 			 str_sz = new_sz; | ||
| 1572 | 			} | ||
| 1573 | 		 } | ||
| 1574 | 		} | ||
| 1575 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 1576 | |||
| 1577 | 	 if (read_in_sv == read_in) | ||
| 1578 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1579 | |||
| 1580 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1581 | 		{ | ||
| 1582 | 		 *str++ = 0; | ||
| 1583 | 		 optimize_alloc (pstr, str, str_sz); | ||
| 1584 | 		 pstr = NULL; | ||
| 1585 | 		 ++rval; | ||
| 1586 | 		} | ||
| 1587 | 	 } | ||
| 1588 | 	 break; | ||
| 1589 | |||
| 1590 | 	default: | ||
| 1591 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1592 | 	} | ||
| 1593 | } | ||
| 1594 | |||
| 1595 | if (ignore_ws) | ||
| 1596 | { | ||
| 1597 | while (isspace ((c = in_ch (s, &read_in)))); | ||
| 1598 | back_ch (c, s, &read_in, 0); | ||
| 1599 | } | ||
| 1600 | |||
| 1601 | return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1602 | } | ||
lib/libc/mingw/stdio/mingw_sformat.h created+63| ... | @@ -0,0 +1,63 @@ | ||
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #ifndef SFORMAT_H | ||
| 46 | #define SFORMAT_H | ||
| 47 | |||
| 48 | /* internal stream structure with back-buffer. */ | ||
| 49 | typedef struct _IFP | ||
| 50 | { | ||
| 51 | __extension__ union { | ||
| 52 | void *fp; | ||
| 53 | const char *str; | ||
| 54 | }; | ||
| 55 | int bch[1024]; | ||
| 56 | unsigned int is_string : 1; | ||
| 57 | int back_top; | ||
| 58 | unsigned int seen_eof : 1; | ||
| 59 | } _IFP; | ||
| 60 | |||
| 61 | int __cdecl __mingw_sformat(_IFP *, const char *, va_list) __MINGW_NOTHROW; | ||
| 62 | |||
| 63 | #endif /* !defined SFORMAT_H */ | ||
lib/libc/mingw/stdio/mingw_snprintfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_snprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_snwprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_snprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_sprintfw.c deleted-10| ... | @@ -1,10 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | #define _CRT_NON_CONFORMING_SWPRINTFS 1 | ||
| 8 | |||
| 9 | #include "mingw_sprintf.c" | ||
| 10 | |||
lib/libc/mingw/stdio/mingw_swformat.c created+1601| ... | @@ -0,0 +1,1601 @@ | ||
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #define __LARGE_MBSTATE_T | ||
| 46 | |||
| 47 | #include <limits.h> | ||
| 48 | #include <stddef.h> | ||
| 49 | #include <stdarg.h> | ||
| 50 | #include <stdio.h> | ||
| 51 | #include <stdint.h> | ||
| 52 | #include <stdlib.h> | ||
| 53 | #include <string.h> | ||
| 54 | #include <wchar.h> | ||
| 55 | #include <ctype.h> | ||
| 56 | #include <wctype.h> | ||
| 57 | #include <locale.h> | ||
| 58 | #include <errno.h> | ||
| 59 | |||
| 60 | #include "mingw_swformat.h" | ||
| 61 | |||
| 62 | #ifndef CP_UTF8 | ||
| 63 | #define CP_UTF8 65001 | ||
| 64 | #endif | ||
| 65 | |||
| 66 | #ifndef MB_ERR_INVALID_CHARS | ||
| 67 | #define MB_ERR_INVALID_CHARS 0x00000008 | ||
| 68 | #endif | ||
| 69 | |||
| 70 | /* Helper flags for conversion. */ | ||
| 71 | #define IS_C		0x0001 | ||
| 72 | #define IS_S		0x0002 | ||
| 73 | #define IS_L		0x0004 | ||
| 74 | #define IS_LL		0x0008 | ||
| 75 | #define IS_SIGNED_NUM	0x0010 | ||
| 76 | #define IS_POINTER	0x0020 | ||
| 77 | #define IS_HEX_FLOAT	0x0040 | ||
| 78 | #define IS_SUPPRESSED	0x0080 | ||
| 79 | #define USE_GROUP	0x0100 | ||
| 80 | #define USE_GNU_ALLOC	0x0200 | ||
| 81 | #define USE_POSIX_ALLOC	0x0400 | ||
| 82 | |||
| 83 | #define IS_ALLOC_USED	(USE_GNU_ALLOC | USE_POSIX_ALLOC) | ||
| 84 | |||
| 85 | static void * | ||
| 86 | get_va_nth (va_list argp, unsigned int n) | ||
| 87 | { | ||
| 88 | va_list ap; | ||
| 89 | if (!n) | ||
| 90 | abort (); | ||
| 91 | va_copy (ap, argp); | ||
| 92 | while (--n > 0) | ||
| 93 | (void) va_arg(ap, void *); | ||
| 94 | return va_arg (ap, void *); | ||
| 95 | } | ||
| 96 | |||
| 97 | static void | ||
| 98 | optimize_alloc (char **p, char *end, size_t alloc_sz) | ||
| 99 | { | ||
| 100 | size_t need_sz; | ||
| 101 | char *h; | ||
| 102 | |||
| 103 | if (!p || !*p) | ||
| 104 | return; | ||
| 105 | |||
| 106 | need_sz = end - *p; | ||
| 107 | if (need_sz == alloc_sz) | ||
| 108 | return; | ||
| 109 | |||
| 110 | if ((h = (char *) realloc (*p, need_sz)) != NULL) | ||
| 111 | *p = h; | ||
| 112 | } | ||
| 113 | |||
| 114 | static void | ||
| 115 | back_ch (int c, _IFPW *s, size_t *rin, int not_eof) | ||
| 116 | { | ||
| 117 | if (!not_eof && c == WEOF) | ||
| 118 | return; | ||
| 119 | if (s->is_string == 0) | ||
| 120 | { | ||
| 121 | FILE *fp = s->fp; | ||
| 122 | ungetwc (c, fp); | ||
| 123 | rin[0] -= 1; | ||
| 124 | return; | ||
| 125 | } | ||
| 126 | rin[0] -= 1; | ||
| 127 | s->bch[s->back_top] = c; | ||
| 128 | s->back_top += 1; | ||
| 129 | } | ||
| 130 | |||
| 131 | static int | ||
| 132 | in_ch (_IFPW *s, size_t *rin) | ||
| 133 | { | ||
| 134 | int r; | ||
| 135 | if (s->back_top) | ||
| 136 | { | ||
| 137 | s->back_top -= 1; | ||
| 138 | r = s->bch[s->back_top]; | ||
| 139 | rin[0] += 1; | ||
| 140 | } | ||
| 141 | else if (s->seen_eof) | ||
| 142 | { | ||
| 143 | return WEOF; | ||
| 144 | } | ||
| 145 | else if (s->is_string) | ||
| 146 | { | ||
| 147 | const wchar_t *ps = s->str; | ||
| 148 | r = ((int) *ps) & 0xffff; | ||
| 149 | ps++; | ||
| 150 | if (r != 0) | ||
| 151 | { | ||
| 152 | rin[0] += 1; | ||
| 153 | s->str = ps; | ||
| 154 | return r; | ||
| 155 | } | ||
| 156 | s->seen_eof = 1; | ||
| 157 | return WEOF; | ||
| 158 | } | ||
| 159 | else | ||
| 160 | { | ||
| 161 | FILE *fp = (FILE *) s->fp; | ||
| 162 | r = getwc (fp); | ||
| 163 | if (r != WEOF) | ||
| 164 | rin[0] += 1; | ||
| 165 | else s->seen_eof = 1; | ||
| 166 | } | ||
| 167 | return r; | ||
| 168 | } | ||
| 169 | |||
| 170 | static int | ||
| 171 | match_string (_IFPW *s, size_t *rin, wint_t *c, const wchar_t *str) | ||
| 172 | { | ||
| 173 | int ch = *c; | ||
| 174 | |||
| 175 | if (*str == 0) | ||
| 176 | return 1; | ||
| 177 | |||
| 178 | if (*str != (wchar_t) towlower (ch)) | ||
| 179 | return 0; | ||
| 180 | ++str; | ||
| 181 | while (*str != 0) | ||
| 182 | { | ||
| 183 | if ((ch = in_ch (s, rin)) == WEOF) | ||
| 184 | { | ||
| 185 | c[0] = ch; | ||
| 186 | return 0; | ||
| 187 | } | ||
| 188 | |||
| 189 | if (*str != (wchar_t) towlower (ch)) | ||
| 190 | { | ||
| 191 | c[0] = ch; | ||
| 192 | return 0; | ||
| 193 | } | ||
| 194 | ++str; | ||
| 195 | } | ||
| 196 | c[0] = ch; | ||
| 197 | return 1; | ||
| 198 | } | ||
| 199 | |||
| 200 | struct gcollect | ||
| 201 | { | ||
| 202 | size_t count; | ||
| 203 | struct gcollect *next; | ||
| 204 | char **ptrs[32]; | ||
| 205 | }; | ||
| 206 | |||
| 207 | static void | ||
| 208 | release_ptrs (struct gcollect **pt, wchar_t **wbuf) | ||
| 209 | { | ||
| 210 | struct gcollect *pf; | ||
| 211 | size_t cnt; | ||
| 212 | |||
| 213 | if (wbuf) | ||
| 214 | { | ||
| 215 | free (*wbuf); | ||
| 216 | *wbuf = NULL; | ||
| 217 | } | ||
| 218 | if (!pt || (pf = *pt) == NULL) | ||
| 219 | return; | ||
| 220 | while (pf != NULL) | ||
| 221 | { | ||
| 222 | struct gcollect *pf_sv = pf; | ||
| 223 | for (cnt = 0; cnt < pf->count; ++cnt) | ||
| 224 | 	{ | ||
| 225 | 	 free (*pf->ptrs[cnt]); | ||
| 226 | 	 *pf->ptrs[cnt] = NULL; | ||
| 227 | 	} | ||
| 228 | pf = pf->next; | ||
| 229 | free (pf_sv); | ||
| 230 | } | ||
| 231 | *pt = NULL; | ||
| 232 | } | ||
| 233 | |||
| 234 | static int | ||
| 235 | cleanup_return (int rval, struct gcollect **pfree, char **strp, wchar_t **wbuf) | ||
| 236 | { | ||
| 237 | if (rval == EOF) | ||
| 238 | release_ptrs (pfree, wbuf); | ||
| 239 | else | ||
| 240 | { | ||
| 241 | if (pfree) | ||
| 242 | { | ||
| 243 | struct gcollect *pf = *pfree, *pf_sv; | ||
| 244 | while (pf != NULL) | ||
| 245 | { | ||
| 246 | pf_sv = pf; | ||
| 247 | pf = pf->next; | ||
| 248 | free (pf_sv); | ||
| 249 | } | ||
| 250 | *pfree = NULL; | ||
| 251 | } | ||
| 252 | if (strp != NULL) | ||
| 253 | 	{ | ||
| 254 | 	 free (*strp); | ||
| 255 | 	 *strp = NULL; | ||
| 256 | 	} | ||
| 257 | if (wbuf) | ||
| 258 | 	{ | ||
| 259 | 	 free (*wbuf); | ||
| 260 | 	 *wbuf = NULL; | ||
| 261 | 	} | ||
| 262 | } | ||
| 263 | return rval; | ||
| 264 | } | ||
| 265 | |||
| 266 | static struct gcollect * | ||
| 267 | resize_gcollect (struct gcollect *pf) | ||
| 268 | { | ||
| 269 | struct gcollect *np; | ||
| 270 | if (pf && pf->count < 32) | ||
| 271 | return pf; | ||
| 272 | np = malloc (sizeof (struct gcollect)); | ||
| 273 | np->count = 0; | ||
| 274 | np->next = pf; | ||
| 275 | return np; | ||
| 276 | } | ||
| 277 | |||
| 278 | static wchar_t * | ||
| 279 | resize_wbuf (size_t wpsz, size_t *wbuf_max_sz, wchar_t *old) | ||
| 280 | { | ||
| 281 | wchar_t *wbuf; | ||
| 282 | size_t nsz; | ||
| 283 | if (*wbuf_max_sz != wpsz) | ||
| 284 | return old; | ||
| 285 | nsz = (256 > (2 * wbuf_max_sz[0]) ? 256 : (2 * wbuf_max_sz[0])); | ||
| 286 | if (!old) | ||
| 287 | wbuf = (wchar_t *) malloc (nsz * sizeof (wchar_t)); | ||
| 288 | else | ||
| 289 | wbuf = (wchar_t *) realloc (old, nsz * sizeof (wchar_t)); | ||
| 290 | if (!wbuf) | ||
| 291 | { | ||
| 292 | if (old) | ||
| 293 | free (old); | ||
| 294 | } | ||
| 295 | else | ||
| 296 | *wbuf_max_sz = nsz; | ||
| 297 | return wbuf; | ||
| 298 | } | ||
| 299 | |||
| 300 | int | ||
| 301 | __cdecl | ||
| 302 | __mingw_swformat (_IFPW *s, const wchar_t *format, va_list argp) | ||
| 303 | { | ||
| 304 | const wchar_t *f = format; | ||
| 305 | struct gcollect *gcollect = NULL; | ||
| 306 | size_t read_in = 0, wbuf_max_sz = 0; | ||
| 307 | ssize_t str_sz = 0; | ||
| 308 | char *str = NULL, **pstr = NULL;; | ||
| 309 | wchar_t *wstr = NULL, *wbuf = NULL; | ||
| 310 | wint_t c = 0, rval = 0; | ||
| 311 | int ignore_ws = 0; | ||
| 312 | va_list arg; | ||
| 313 | size_t wbuf_cur_sz, str_len, read_in_sv, new_sz, n; | ||
| 314 | unsigned int fc, npos; | ||
| 315 | int width, flags, base = 0, errno_sv, clen; | ||
| 316 | char seen_dot, seen_exp, is_neg, *nstr, buf[MB_LEN_MAX]; | ||
| 317 | wchar_t wc, not_in, *tmp_wbuf_ptr, *temp_wbuf_end, *wbuf_iter; | ||
| 318 | wint_t lc_decimal_point, lc_thousands_sep; | ||
| 319 | mbstate_t state; | ||
| 320 | union { | ||
| 321 | unsigned long long ull; | ||
| 322 | unsigned long ul; | ||
| 323 | long long ll; | ||
| 324 | long l; | ||
| 325 | } cv_val; | ||
| 326 | |||
| 327 | arg = argp; | ||
| 328 | |||
| 329 | if (!s || s->fp == NULL || !format) | ||
| 330 | { | ||
| 331 | errno = EINVAL; | ||
| 332 | return EOF; | ||
| 333 | } | ||
| 334 | |||
| 335 | memset (&state, 0, sizeof(state)); | ||
| 336 | clen = mbrtowc( &wc, localeconv()->decimal_point, 16, &state); | ||
| 337 | lc_decimal_point = (clen > 0 ? wc : '.'); | ||
| 338 | memset( &state, 0, sizeof( state ) ); | ||
| 339 | clen = mbrtowc( &wc, localeconv()->thousands_sep, 16, &state); | ||
| 340 | lc_thousands_sep = (clen > 0 ? wc : 0); | ||
| 341 | |||
| 342 | while (*f != 0) | ||
| 343 | { | ||
| 344 | fc = *f++; | ||
| 345 | if (fc != '%') | ||
| 346 | { | ||
| 347 | if (iswspace (fc)) | ||
| 348 | 	 ignore_ws = 1; | ||
| 349 | 	 else | ||
| 350 | 	 { | ||
| 351 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 352 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 353 | |||
| 354 | 	 if (ignore_ws) | ||
| 355 | 		{ | ||
| 356 | 		 ignore_ws = 0; | ||
| 357 | 		 if (iswspace (c)) | ||
| 358 | 		 { | ||
| 359 | 		 do | ||
| 360 | 			{ | ||
| 361 | 			 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 362 | 			 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 363 | 			} | ||
| 364 | 		 while (iswspace (c)); | ||
| 365 | 		 } | ||
| 366 | 		} | ||
| 367 | |||
| 368 | 	 if (c != fc) | ||
| 369 | 		{ | ||
| 370 | 		 back_ch (c, s, &read_in, 0); | ||
| 371 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 372 | 		} | ||
| 373 | 	 } | ||
| 374 | |||
| 375 | 	 continue; | ||
| 376 | 	} | ||
| 377 | |||
| 378 | width = flags = 0; | ||
| 379 | npos = 0; | ||
| 380 | wbuf_cur_sz = 0; | ||
| 381 | |||
| 382 | if (iswdigit ((unsigned int) *f)) | ||
| 383 | 	{ | ||
| 384 | 	 const wchar_t *svf = f; | ||
| 385 | 	 npos = (unsigned int) *f++ - '0'; | ||
| 386 | 	 while (iswdigit ((unsigned int) *f)) | ||
| 387 | 	 npos = npos * 10 + ((unsigned int) *f++ - '0'); | ||
| 388 | 	 if (*f != '$') | ||
| 389 | 	 { | ||
| 390 | 	 npos = 0; | ||
| 391 | 	 f = svf; | ||
| 392 | 	 } | ||
| 393 | 	 else | ||
| 394 | 	 f++; | ||
| 395 | 	} | ||
| 396 | |||
| 397 | do | ||
| 398 | 	{ | ||
| 399 | 	 if (*f == '*') | ||
| 400 | 	 flags |= IS_SUPPRESSED; | ||
| 401 | 	 else if (*f == '\'') | ||
| 402 | 	 { | ||
| 403 | 	 if (lc_thousands_sep) | ||
| 404 | 		flags |= USE_GROUP; | ||
| 405 | 	 } | ||
| 406 | 	 else if (*f == 'I') | ||
| 407 | 	 { | ||
| 408 | 	 /* we don't support locale's digits (i18N), but ignore it for now silently. */ | ||
| 409 | 	 ; | ||
| 410 | #ifdef _WIN32 | ||
| 411 | if (f[1] == '6' && f[2] == '4') | ||
| 412 | { | ||
| 413 | 		 flags |= IS_LL | IS_L; | ||
| 414 | 		 f += 2; | ||
| 415 | 		} | ||
| 416 | 	 else if (f[1] == '3' && f[2] == '2') | ||
| 417 | 		{ | ||
| 418 | 		 flags |= IS_L; | ||
| 419 | 		 f += 2; | ||
| 420 | 		} | ||
| 421 | 	 else | ||
| 422 | 	 { | ||
| 423 | #ifdef _WIN64 | ||
| 424 | 		 flags |= IS_LL | IS_L; | ||
| 425 | #else | ||
| 426 | 		 flags |= IS_L; | ||
| 427 | #endif | ||
| 428 | 		} | ||
| 429 | #endif | ||
| 430 | 	 } | ||
| 431 | 	 else | ||
| 432 | 	 break; | ||
| 433 | 	 ++f; | ||
| 434 | } | ||
| 435 | while (1); | ||
| 436 | |||
| 437 | while (iswdigit ((unsigned char) *f)) | ||
| 438 | 	width = width * 10 + ((unsigned char) *f++ - '0'); | ||
| 439 | |||
| 440 | if (!width) | ||
| 441 | 	width = -1; | ||
| 442 | |||
| 443 | switch (*f) | ||
| 444 | 	{ | ||
| 445 | 	case 'h': | ||
| 446 | 	 ++f; | ||
| 447 | 	 flags |= (*f == 'h' ? IS_C : IS_S); | ||
| 448 | 	 if (*f == 'h') | ||
| 449 | 	 ++f; | ||
| 450 | 	 break; | ||
| 451 | 	case 'l': | ||
| 452 | 	 ++f; | ||
| 453 | 	 flags |= (*f == 'l' ? IS_LL : 0) | IS_L; | ||
| 454 | 	 if (*f == 'l') | ||
| 455 | 	 ++f; | ||
| 456 | 	 break; | ||
| 457 | 	case 'q': case 'L': | ||
| 458 | 	 ++f; | ||
| 459 | 	 flags |= IS_LL | IS_L; | ||
| 460 | 	 break; | ||
| 461 | 	case 'a': | ||
| 462 | 	 if (f[1] != 's' && f[1] != 'S' && f[1] != '[') | ||
| 463 | 	 break; | ||
| 464 | 	 ++f; | ||
| 465 | 	 flags |= USE_GNU_ALLOC; | ||
| 466 | 	 break; | ||
| 467 | 	case 'm': | ||
| 468 | 	 flags |= USE_POSIX_ALLOC; | ||
| 469 | 	 ++f; | ||
| 470 | 	 if (*f == 'l') | ||
| 471 | 	 { | ||
| 472 | 	 flags |= IS_L; | ||
| 473 | 	 ++f; | ||
| 474 | 	 } | ||
| 475 | 	 break; | ||
| 476 | 	case 'z': | ||
| 477 | #ifdef _WIN64 | ||
| 478 | 	 flags |= IS_LL | IS_L; | ||
| 479 | #else | ||
| 480 | 	 flags |= IS_L; | ||
| 481 | #endif | ||
| 482 | 	 ++f; | ||
| 483 | 	 break; | ||
| 484 | 	case 'j': | ||
| 485 | 	 if (sizeof (uintmax_t) > sizeof (unsigned long)) | ||
| 486 | 	 flags |= IS_LL; | ||
| 487 | 	 else if (sizeof (uintmax_t) > sizeof (unsigned int)) | ||
| 488 | 	 flags |= IS_L; | ||
| 489 | 	 ++f; | ||
| 490 | 	 break; | ||
| 491 | 	case 't': | ||
| 492 | #ifdef _WIN64 | ||
| 493 | 	 flags |= IS_LL; | ||
| 494 | #else | ||
| 495 | 	 flags |= IS_L; | ||
| 496 | #endif | ||
| 497 | 	 ++f; | ||
| 498 | 	 break; | ||
| 499 | 	case 0: | ||
| 500 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 501 | 	default: | ||
| 502 | 	 break; | ||
| 503 | 	} | ||
| 504 | |||
| 505 | if (*f == 0) | ||
| 506 | 	return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 507 | |||
| 508 | fc = *f++; | ||
| 509 | if (ignore_ws || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n')) | ||
| 510 | 	{ | ||
| 511 | 	 errno_sv = errno; | ||
| 512 | 	 errno = 0; | ||
| 513 | 	 do | ||
| 514 | 	 { | ||
| 515 | 	 if ((c == WEOF || (c = in_ch (s, &read_in)) == WEOF) && errno == EINTR) | ||
| 516 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 517 | 	 } | ||
| 518 | 	 while (iswspace (c)); | ||
| 519 | |||
| 520 | 	 ignore_ws = 0; | ||
| 521 | 	 errno = errno_sv; | ||
| 522 | 	 back_ch (c, s, &read_in, 0); | ||
| 523 | 	} | ||
| 524 | |||
| 525 | switch (fc) | ||
| 526 | { | ||
| 527 | case 'c': | ||
| 528 | if ((flags & IS_L) != 0) | ||
| 529 | fc = 'C'; | ||
| 530 | break; | ||
| 531 | case 's': | ||
| 532 | if ((flags & IS_L) != 0) | ||
| 533 | fc = 'S'; | ||
| 534 | break; | ||
| 535 | } | ||
| 536 | |||
| 537 | switch (fc) | ||
| 538 | 	{ | ||
| 539 | 	case '%': | ||
| 540 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 541 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 542 | 	 if (c != fc) | ||
| 543 | 	 { | ||
| 544 | 	 back_ch (c, s, &read_in, 1); | ||
| 545 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 546 | 	 } | ||
| 547 | 	 break; | ||
| 548 | |||
| 549 | 	case 'n': | ||
| 550 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 551 | 	 { | ||
| 552 | 	 if ((flags & IS_LL) != 0) | ||
| 553 | 		*(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = read_in; | ||
| 554 | 	 else if ((flags & IS_L) != 0) | ||
| 555 | 		*(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = read_in; | ||
| 556 | 	 else if ((flags & IS_S) != 0) | ||
| 557 | 		*(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = read_in; | ||
| 558 | 	 else if ((flags & IS_C) != 0) | ||
| 559 | 	 *(npos != 0 ? (char *) get_va_nth (argp, npos) : va_arg (arg, char *)) = read_in; | ||
| 560 | 	 else | ||
| 561 | 		*(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = read_in; | ||
| 562 | 	 } | ||
| 563 | 	 break; | ||
| 564 | |||
| 565 | 	case 'c': | ||
| 566 | 	 if (width == -1) | ||
| 567 | 	 width = 1; | ||
| 568 | |||
| 569 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 570 | 	 { | ||
| 571 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 572 | 		{ | ||
| 573 | 		 if (npos != 0) | ||
| 574 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 575 | 		 else | ||
| 576 | 		 pstr = va_arg (arg, char **); | ||
| 577 | |||
| 578 | 		 if (!pstr) | ||
| 579 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 580 | 		 str_sz = 100; | ||
| 581 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 582 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 583 | 		 gcollect = resize_gcollect (gcollect); | ||
| 584 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 585 | 		} | ||
| 586 | 	 else | ||
| 587 | 		{ | ||
| 588 | 		 if (npos != 0) | ||
| 589 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 590 | 		 else | ||
| 591 | 		 str = va_arg (arg, char *); | ||
| 592 | 		 if (!str) | ||
| 593 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 594 | 		} | ||
| 595 | 	 } | ||
| 596 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 597 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 598 | |||
| 599 | 	 memset (&state, 0, sizeof (state)); | ||
| 600 | |||
| 601 | 	 do | ||
| 602 | 	 { | ||
| 603 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & USE_POSIX_ALLOC) != 0 | ||
| 604 | 		 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 605 | 		{ | ||
| 606 | 		 new_sz = str_sz * 2; | ||
| 607 | 		 str_len = (str - *pstr); | ||
| 608 | 		 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 609 | 			 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 610 | 		 new_sz = str_len + MB_CUR_MAX; | ||
| 611 | 		 if (!nstr) | ||
| 612 | 		 { | ||
| 613 | 		 release_ptrs (&gcollect, &wbuf); | ||
| 614 | 		 return EOF; | ||
| 615 | 		 } | ||
| 616 | 		 *pstr = nstr; | ||
| 617 | 		 str = nstr + str_len; | ||
| 618 | 		 str_sz = new_sz; | ||
| 619 | 		} | ||
| 620 | |||
| 621 | 	 n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, &state); | ||
| 622 | 	 if (n == (size_t) -1LL) | ||
| 623 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 624 | 	 str += n; | ||
| 625 | 	 } | ||
| 626 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 627 | |||
| 628 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 629 | 	 { | ||
| 630 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 631 | 	 pstr = NULL; | ||
| 632 | 	 ++rval; | ||
| 633 | 	 } | ||
| 634 | |||
| 635 | 	 break; | ||
| 636 | |||
| 637 | 	case 'C': | ||
| 638 | 	 if (width == -1) | ||
| 639 | 	 width = 1; | ||
| 640 | |||
| 641 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 642 | 	 { | ||
| 643 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 644 | 		{ | ||
| 645 | 		 if (npos != 0) | ||
| 646 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 647 | 		 else | ||
| 648 | 		 pstr = va_arg (arg, char **); | ||
| 649 | |||
| 650 | 		 if (!pstr) | ||
| 651 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 652 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 653 | 		 *pstr = (char *) malloc (str_sz * sizeof (wchar_t)); | ||
| 654 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 655 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 656 | |||
| 657 | 		 if ((wstr = (wchar_t *) *pstr) != NULL) | ||
| 658 | 		 { | ||
| 659 | 		 gcollect = resize_gcollect (gcollect); | ||
| 660 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 661 | 		 } | ||
| 662 | 		} | ||
| 663 | 	 else | ||
| 664 | 		{ | ||
| 665 | 		 if (npos != 0) | ||
| 666 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 667 | 		 else | ||
| 668 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 669 | 		 if (!wstr) | ||
| 670 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 671 | 		} | ||
| 672 | 	 } | ||
| 673 | |||
| 674 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 675 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 676 | |||
| 677 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 678 | 	 { | ||
| 679 | 	 do | ||
| 680 | 		{ | ||
| 681 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 682 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 683 | 		 { | ||
| 684 | 		 new_sz = str_sz + (str_sz > width ? width - 1 : str_sz); | ||
| 685 | 		 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 686 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 687 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 688 | 			new_sz = str_sz + 1; | ||
| 689 | 		 if (!wstr) | ||
| 690 | 			{ | ||
| 691 | 			 release_ptrs (&gcollect, &wbuf); | ||
| 692 | 			 return EOF; | ||
| 693 | 			} | ||
| 694 | 		 *pstr = (char *) wstr; | ||
| 695 | 		 wstr += str_sz; | ||
| 696 | 		 str_sz = new_sz; | ||
| 697 | 		 } | ||
| 698 | 		 *wstr++ = c; | ||
| 699 | 		} | ||
| 700 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 701 | 	 } | ||
| 702 | 	 else | ||
| 703 | 	 { | ||
| 704 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 705 | 	 } | ||
| 706 | |||
| 707 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 708 | 	 { | ||
| 709 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 710 | 	 pstr = NULL; | ||
| 711 | 	 ++rval; | ||
| 712 | 	 } | ||
| 713 | 	 break; | ||
| 714 | |||
| 715 | 	case 's': | ||
| 716 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 717 | 	 { | ||
| 718 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 719 | 		{ | ||
| 720 | 		 if (npos != 0) | ||
| 721 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 722 | 		 else | ||
| 723 | 		 pstr = va_arg (arg, char **); | ||
| 724 | |||
| 725 | 		 if (!pstr) | ||
| 726 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 727 | 		 str_sz = 100; | ||
| 728 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 729 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 730 | 		 gcollect = resize_gcollect (gcollect); | ||
| 731 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 732 | 		} | ||
| 733 | 	 else | ||
| 734 | 		{ | ||
| 735 | 		 if (npos != 0) | ||
| 736 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 737 | 		 else | ||
| 738 | 		 str = va_arg (arg, char *); | ||
| 739 | 		 if (!str) | ||
| 740 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 741 | 		} | ||
| 742 | 	 } | ||
| 743 | |||
| 744 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 745 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 746 | |||
| 747 | 	 memset (&state, 0, sizeof (state)); | ||
| 748 | |||
| 749 | 	 do | ||
| 750 | 	 { | ||
| 751 | 	 if (iswspace (c)) | ||
| 752 | 		{ | ||
| 753 | 		 back_ch (c, s, &read_in, 1); | ||
| 754 | 		 break; | ||
| 755 | 		} | ||
| 756 | |||
| 757 | 	 { | ||
| 758 | 		if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 759 | 		 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 760 | 		 { | ||
| 761 | 		 new_sz = str_sz * 2; | ||
| 762 | 		 str_len = (str - *pstr); | ||
| 763 | |||
| 764 | 		 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 765 | 			 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 766 | 		 new_sz = str_len + MB_CUR_MAX; | ||
| 767 | 		 if (!nstr) | ||
| 768 | 		 { | ||
| 769 | 			if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 770 | 			 { | ||
| 771 | 			 (*pstr)[str_len] = 0; | ||
| 772 | 			 pstr = NULL; | ||
| 773 | 			 ++rval; | ||
| 774 | 			 } | ||
| 775 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 776 | 		 } | ||
| 777 | 		 *pstr = nstr; | ||
| 778 | 		 str = nstr + str_len; | ||
| 779 | 		 str_sz = new_sz; | ||
| 780 | 		 } | ||
| 781 | |||
| 782 | 		n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, | ||
| 783 | 			 &state); | ||
| 784 | 		if (n == (size_t) -1LL) | ||
| 785 | 		{ | ||
| 786 | 		 errno = EILSEQ; | ||
| 787 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 788 | 		} | ||
| 789 | |||
| 790 | 		str += n; | ||
| 791 | 	 } | ||
| 792 | 	 } | ||
| 793 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != WEOF); | ||
| 794 | |||
| 795 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 796 | 	 { | ||
| 797 | 	 n = wcrtomb (buf, 0, &state); | ||
| 798 | 	 if (n > 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 799 | 		 && (str + n) >= (*pstr + str_sz)) | ||
| 800 | 		{ | ||
| 801 | 		 str_len = (str - *pstr); | ||
| 802 | |||
| 803 | 		 if ((nstr = (char *) realloc (*pstr, str_len + n + 1)) == NULL) | ||
| 804 | 		 { | ||
| 805 | 		 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 806 | 			{ | ||
| 807 | 			 (*pstr)[str_len] = 0; | ||
| 808 | 			 pstr = NULL; | ||
| 809 | 			 ++rval; | ||
| 810 | 			} | ||
| 811 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 812 | 		 } | ||
| 813 | 		 *pstr = nstr; | ||
| 814 | 		 str = nstr + str_len; | ||
| 815 | 		 str_sz = str_len + n + 1; | ||
| 816 | 		} | ||
| 817 | |||
| 818 | 	 if (n) | ||
| 819 | 	 { | ||
| 820 | 		memcpy (str, buf, n); | ||
| 821 | 		str += n; | ||
| 822 | 	 } | ||
| 823 | 	 *str++ = 0; | ||
| 824 | |||
| 825 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 826 | 	 pstr = NULL; | ||
| 827 | 	 ++rval; | ||
| 828 | 	 } | ||
| 829 | 	 break; | ||
| 830 | |||
| 831 | 	case 'S': | ||
| 832 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 833 | 	 { | ||
| 834 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 835 | 		{ | ||
| 836 | 		 if (npos != 0) | ||
| 837 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 838 | 		 else | ||
| 839 | 		 pstr = va_arg (arg, char **); | ||
| 840 | |||
| 841 | 		 if (!pstr) | ||
| 842 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 843 | 		 str_sz = 100; | ||
| 844 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 845 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 846 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 847 | 		 gcollect = resize_gcollect (gcollect); | ||
| 848 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 849 | 		} | ||
| 850 | 	 else | ||
| 851 | 		{ | ||
| 852 | 		 if (npos != 0) | ||
| 853 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 854 | 		 else | ||
| 855 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 856 | 		 if (!wstr) | ||
| 857 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 858 | 		} | ||
| 859 | 	 } | ||
| 860 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 861 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 862 | |||
| 863 | 	 do | ||
| 864 | 	 { | ||
| 865 | 	 if (iswspace (c)) | ||
| 866 | 		{ | ||
| 867 | 		 back_ch (c, s, &read_in, 1); | ||
| 868 | 		 break; | ||
| 869 | 		} | ||
| 870 | |||
| 871 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 872 | 		{ | ||
| 873 | 		 *wstr++ = c; | ||
| 874 | 		 if ((flags & IS_ALLOC_USED) != 0 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 875 | 		 { | ||
| 876 | 		 new_sz = str_sz * 2; | ||
| 877 | |||
| 878 | 		 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 879 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 880 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 881 | 			new_sz = str_sz + 1; | ||
| 882 | 		 if (!wstr) | ||
| 883 | 			{ | ||
| 884 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 885 | 			 { | ||
| 886 | 			 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 887 | 			 pstr = NULL; | ||
| 888 | 			 ++rval; | ||
| 889 | 			 } | ||
| 890 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 891 | 			} | ||
| 892 | 		 *pstr = (char *) wstr; | ||
| 893 | 		 wstr += str_sz; | ||
| 894 | 		 str_sz = new_sz; | ||
| 895 | 		 } | ||
| 896 | 		} | ||
| 897 | 	 } | ||
| 898 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != WEOF); | ||
| 899 | |||
| 900 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 901 | 	 { | ||
| 902 | 	 *wstr++ = 0; | ||
| 903 | |||
| 904 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 905 | 	 pstr = NULL; | ||
| 906 | 	 ++rval; | ||
| 907 | 	 } | ||
| 908 | 	 break; | ||
| 909 | |||
| 910 | 	case 'd': case 'i': | ||
| 911 | 	case 'o': case 'p': | ||
| 912 | 	case 'u': | ||
| 913 | 	case 'x': case 'X': | ||
| 914 | 	 switch (fc) | ||
| 915 | 	 { | ||
| 916 | 	 case 'd': | ||
| 917 | 	 flags |= IS_SIGNED_NUM; | ||
| 918 | 	 base = 10; | ||
| 919 | 	 break; | ||
| 920 | 	 case 'i': | ||
| 921 | 	 flags |= IS_SIGNED_NUM; | ||
| 922 | 	 base = 0; | ||
| 923 | 	 break; | ||
| 924 | 	 case 'o': | ||
| 925 | 	 base = 8; | ||
| 926 | 	 break; | ||
| 927 | 	 case 'p': | ||
| 928 | 	 base = 16; | ||
| 929 | 	 flags &= ~(IS_S | IS_LL | IS_L); | ||
| 930 | #ifdef _WIN64 | ||
| 931 | 	 flags |= IS_LL; | ||
| 932 | #endif | ||
| 933 | 	 flags |= IS_L | IS_POINTER; | ||
| 934 | 	 break; | ||
| 935 | 	 case 'u': | ||
| 936 | 	 base = 10; | ||
| 937 | 	 break; | ||
| 938 | 	 case 'x': case 'X': | ||
| 939 | 	 base = 16; | ||
| 940 | 	 break; | ||
| 941 | 	 } | ||
| 942 | |||
| 943 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 944 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 945 | |||
| 946 | 	 if (c == '+' || c == '-') | ||
| 947 | 	 { | ||
| 948 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 949 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 950 | |||
| 951 | 	 if (width > 0) | ||
| 952 | 		--width; | ||
| 953 | 	 c = in_ch (s, &read_in); | ||
| 954 | 	 } | ||
| 955 | |||
| 956 | 	 if (width != 0 && c == '0') | ||
| 957 | 	 { | ||
| 958 | 	 if (width > 0) | ||
| 959 | 		--width; | ||
| 960 | |||
| 961 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 962 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 963 | |||
| 964 | 	 c = in_ch (s, &read_in); | ||
| 965 | |||
| 966 | 	 if (width != 0 && towlower (c) == 'x') | ||
| 967 | 		{ | ||
| 968 | 		 if (!base) | ||
| 969 | 		 base = 16; | ||
| 970 | 		 if (base == 16) | ||
| 971 | 		 { | ||
| 972 | 		 if (width > 0) | ||
| 973 | 			--width; | ||
| 974 | 		 c = in_ch (s, &read_in); | ||
| 975 | 		 } | ||
| 976 | 		} | ||
| 977 | 	 else if (!base) | ||
| 978 | 		base = 8; | ||
| 979 | 	 } | ||
| 980 | |||
| 981 | 	 if (!base) | ||
| 982 | 	 base = 10; | ||
| 983 | |||
| 984 | 	 while (c != WEOF && width != 0) | ||
| 985 | 	 { | ||
| 986 | 	 if (base == 16) | ||
| 987 | 		{ | ||
| 988 | 		 if (!iswxdigit (c)) | ||
| 989 | 		 break; | ||
| 990 | 		} | ||
| 991 | 	 else if (!iswdigit (c) || (int) (c - '0') >= base) | ||
| 992 | 		{ | ||
| 993 | 		 if (base != 10 || (flags & USE_GROUP) == 0 || c != lc_thousands_sep) | ||
| 994 | 		 break; | ||
| 995 | 		} | ||
| 996 | 	 if (c != lc_thousands_sep) | ||
| 997 | 	 { | ||
| 998 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 999 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1000 | 		} | ||
| 1001 | |||
| 1002 | 	 if (width > 0) | ||
| 1003 | 		--width; | ||
| 1004 | |||
| 1005 | 	 c = in_ch (s, &read_in); | ||
| 1006 | 	 } | ||
| 1007 | |||
| 1008 | 	 if (!wbuf_cur_sz || (wbuf_cur_sz == 1 && (wbuf[0] == '+' || wbuf[0] == '-'))) | ||
| 1009 | 	 { | ||
| 1010 | 	 if (!wbuf_cur_sz && (flags & IS_POINTER) != 0 | ||
| 1011 | 		 && match_string (s, &read_in, &c, L"(nil)")) | ||
| 1012 | 		{ | ||
| 1013 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1014 | 		 wbuf[wbuf_cur_sz++] = '0'; | ||
| 1015 | 		} | ||
| 1016 | 	 else | ||
| 1017 | 		{ | ||
| 1018 | 		 back_ch (c, s, &read_in, 0); | ||
| 1019 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1020 | 		} | ||
| 1021 | 	 } | ||
| 1022 | 	 else | ||
| 1023 | 	 back_ch (c, s, &read_in, 0); | ||
| 1024 | |||
| 1025 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1026 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1027 | |||
| 1028 | 	 if ((flags & IS_LL) != 0) | ||
| 1029 | 	 { | ||
| 1030 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1031 | 		cv_val.ll = wcstoll (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1032 | 	 else | ||
| 1033 | 		cv_val.ull = wcstoull (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1034 | 	 } | ||
| 1035 | 	 else | ||
| 1036 | 	 { | ||
| 1037 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1038 | 		cv_val.l = wcstol (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1039 | 	 else | ||
| 1040 | 		cv_val.ul = wcstoul (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1041 | 	 } | ||
| 1042 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1043 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1044 | |||
| 1045 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1046 | 	 { | ||
| 1047 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1048 | 		{ | ||
| 1049 | 		 if ((flags & IS_LL) != 0) | ||
| 1050 | 		 *(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = cv_val.ll; | ||
| 1051 | 		 else if ((flags & IS_L) != 0) | ||
| 1052 | 		 *(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = cv_val.l; | ||
| 1053 | 		 else if ((flags & IS_S) != 0) | ||
| 1054 | 		 *(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = (short) cv_val.l; | ||
| 1055 | 		 else if ((flags & IS_C) != 0) | ||
| 1056 | 		 *(npos != 0 ? (signed char *) get_va_nth (argp, npos) : va_arg (arg, signed char *)) = (signed char) cv_val.ul; | ||
| 1057 | 		 else | ||
| 1058 | 		 *(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = (int) cv_val.l; | ||
| 1059 | 		} | ||
| 1060 | 	 else | ||
| 1061 | 		{ | ||
| 1062 | 		 if ((flags & IS_LL) != 0) | ||
| 1063 | 		 *(npos != 0 ? (unsigned long long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long long *)) = cv_val.ull; | ||
| 1064 | 		 else if ((flags & IS_L) != 0) | ||
| 1065 | 		 *(npos != 0 ? (unsigned long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long *)) = cv_val.ul; | ||
| 1066 | 		 else if ((flags & IS_S) != 0) | ||
| 1067 | 		 *(npos != 0 ? (unsigned short *) get_va_nth (argp, npos) : va_arg (arg, unsigned short *)) | ||
| 1068 | 		 = (unsigned short) cv_val.ul; | ||
| 1069 | 		 else if ((flags & IS_C) != 0) | ||
| 1070 | 		 *(npos != 0 ? (unsigned char *) get_va_nth (argp, npos) : va_arg (arg, unsigned char *)) = (unsigned char) cv_val.ul; | ||
| 1071 | 		 else | ||
| 1072 | 		 *(npos != 0 ? (unsigned int *) get_va_nth (argp, npos) : va_arg (arg, unsigned int *)) = (unsigned int) cv_val.ul; | ||
| 1073 | 		} | ||
| 1074 | 	 ++rval; | ||
| 1075 | 	 } | ||
| 1076 | 	 break; | ||
| 1077 | |||
| 1078 | 	case 'e': case 'E': | ||
| 1079 | 	case 'f': case 'F': | ||
| 1080 | 	case 'g': case 'G': | ||
| 1081 | 	case 'a': case 'A': | ||
| 1082 | 	 if (width > 0) | ||
| 1083 | 	 --width; | ||
| 1084 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1085 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1086 | |||
| 1087 | 	 seen_dot = seen_exp = 0; | ||
| 1088 | 	 is_neg = (c == '-' ? 1 : 0); | ||
| 1089 | |||
| 1090 | 	 if (c == '-' || c == '+') | ||
| 1091 | 	 { | ||
| 1092 | 	 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF) | ||
| 1093 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1094 | 	 if (width > 0) | ||
| 1095 | 		--width; | ||
| 1096 | 	 } | ||
| 1097 | |||
| 1098 | 	 if (towlower (c) == 'n') | ||
| 1099 | 	 { | ||
| 1100 | 	 const wchar_t *match_txt = L"nan"; | ||
| 1101 | |||
| 1102 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1103 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1104 | 	 | ||
| 1105 | 	 ++match_txt; | ||
| 1106 | 	 do | ||
| 1107 | 		{ | ||
| 1108 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1109 | 		 || towlower (c) != match_txt[0]) | ||
| 1110 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1111 | 		 if (width > 0) | ||
| 1112 | 		 --width; | ||
| 1113 | |||
| 1114 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1115 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1116 | 		 ++match_txt; | ||
| 1117 | 		} | ||
| 1118 | 	 while (*match_txt != 0); | ||
| 1119 | 	 } | ||
| 1120 | 	 else if (towlower (c) == 'i') | ||
| 1121 | 	 { | ||
| 1122 | 	 const wchar_t *match_txt = L"inf"; | ||
| 1123 | |||
| 1124 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1125 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1126 | |||
| 1127 | 	 ++match_txt; | ||
| 1128 | 	 do | ||
| 1129 | 		{ | ||
| 1130 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1131 | 		 || towlower (c) != match_txt[0]) | ||
| 1132 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1133 | 		 if (width > 0) | ||
| 1134 | 		 --width; | ||
| 1135 | |||
| 1136 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1137 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1138 | 		 ++match_txt; | ||
| 1139 | 		} | ||
| 1140 | 	 while (*match_txt != 0); | ||
| 1141 | |||
| 1142 | 	 if (width != 0 && (c = in_ch (s, &read_in)) != WEOF && towlower (c) == 'i') | ||
| 1143 | 		{ | ||
| 1144 | 		 match_txt = L"inity"; | ||
| 1145 | 		 if (width > 0) | ||
| 1146 | 		 --width; | ||
| 1147 | |||
| 1148 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1149 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1150 | |||
| 1151 | 		 ++match_txt; | ||
| 1152 | 		 do | ||
| 1153 | 		 { | ||
| 1154 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1155 | 			 || towlower (c) != match_txt[0]) | ||
| 1156 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1157 | 		 if (width > 0) | ||
| 1158 | 			--width; | ||
| 1159 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1160 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1161 | 		 ++match_txt; | ||
| 1162 | 		 } | ||
| 1163 | 		 while (*match_txt != 0); | ||
| 1164 | 		} | ||
| 1165 | 	 else if (width != 0 && c != WEOF) | ||
| 1166 | 	 back_ch (c, s, &read_in, 0); | ||
| 1167 | 	 } | ||
| 1168 | 	 else | ||
| 1169 | 	 { | ||
| 1170 | 	 not_in = 'e'; | ||
| 1171 | 	 if (width != 0 && c == '0') | ||
| 1172 | 		{ | ||
| 1173 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1174 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1175 | |||
| 1176 | 		 c = in_ch (s, &read_in); | ||
| 1177 | 		 if (width > 0) | ||
| 1178 | 		 --width; | ||
| 1179 | 		 if (width != 0 && towlower (c) == 'x') | ||
| 1180 | 		 { | ||
| 1181 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1182 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1183 | 		 flags |= IS_HEX_FLOAT; | ||
| 1184 | 		 not_in = 'p'; | ||
| 1185 | |||
| 1186 | 		 flags &= ~USE_GROUP; | ||
| 1187 | 		 c = in_ch (s, &read_in); | ||
| 1188 | 		 if (width > 0) | ||
| 1189 | 			--width; | ||
| 1190 | 		 } | ||
| 1191 | 		} | ||
| 1192 | |||
| 1193 | 	 while (1) | ||
| 1194 | 		{ | ||
| 1195 | 		 if (iswdigit (c)) | ||
| 1196 | 		 { | ||
| 1197 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1198 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1199 | 		 } | ||
| 1200 | 		 else if (!seen_exp && (flags & IS_HEX_FLOAT) != 0 && iswxdigit (c)) | ||
| 1201 | 		 { | ||
| 1202 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1203 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1204 | 		 } | ||
| 1205 | 		 else if (seen_exp && wbuf[wbuf_cur_sz - 1] == not_in | ||
| 1206 | 			 && (c == '-' || c == '+')) | ||
| 1207 | 		 { | ||
| 1208 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1209 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1210 | 		 } | ||
| 1211 | 		 else if (wbuf_cur_sz > 0 && !seen_exp | ||
| 1212 | 			 && (wchar_t) towlower (c) == not_in) | ||
| 1213 | 		 { | ||
| 1214 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1215 | 		 wbuf[wbuf_cur_sz++] = not_in; | ||
| 1216 | |||
| 1217 | 		 seen_exp = seen_dot = 1; | ||
| 1218 | 		 } | ||
| 1219 | 		 else | ||
| 1220 | 		 { | ||
| 1221 | 		 if (!seen_dot && c == lc_decimal_point) | ||
| 1222 | 			{ | ||
| 1223 | 			 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1224 | 			 wbuf[wbuf_cur_sz++] = c; | ||
| 1225 | |||
| 1226 | 			 seen_dot = 1; | ||
| 1227 | 			} | ||
| 1228 | 		 else if ((flags & USE_GROUP) != 0 && !seen_dot && c == lc_thousands_sep) | ||
| 1229 | 			{ | ||
| 1230 | 			 /* As our conversion routines aren't supporting thousands | ||
| 1231 | 			 separators, we are filtering them here. */ | ||
| 1232 | 			} | ||
| 1233 | 		 else | ||
| 1234 | 			{ | ||
| 1235 | 			 back_ch (c, s, &read_in, 0); | ||
| 1236 | 			 break; | ||
| 1237 | 			} | ||
| 1238 | 		 } | ||
| 1239 | |||
| 1240 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF) | ||
| 1241 | 		 break; | ||
| 1242 | |||
| 1243 | 		 if (width > 0) | ||
| 1244 | 		 --width; | ||
| 1245 | 		} | ||
| 1246 | |||
| 1247 | 	 if (wbuf_cur_sz == 0 || ((flags & IS_HEX_FLOAT) != 0 && wbuf_cur_sz == 2)) | ||
| 1248 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1249 | 	 } | ||
| 1250 | |||
| 1251 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1252 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1253 | |||
| 1254 | 	 if ((flags & IS_LL) != 0) | ||
| 1255 | 	 { | ||
| 1256 | 	 long double d = __mingw_wcstold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1257 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1258 | 		*(npos != 0 ? (long double *) get_va_nth (argp, npos) : va_arg (arg, long double *)) = is_neg ? -d : d; | ||
| 1259 | 	 } | ||
| 1260 | 	 else if ((flags & IS_L) != 0) | ||
| 1261 | 	 { | ||
| 1262 | 	 double d = __mingw_wcstod (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1263 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1264 | 		*(npos != 0 ? (double *) get_va_nth (argp, npos) : va_arg (arg, double *)) = is_neg ? -d : d; | ||
| 1265 | 	 } | ||
| 1266 | 	 else | ||
| 1267 | 	 { | ||
| 1268 | 	 float d = __mingw_wcstof (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1269 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1270 | 		*(npos != 0 ? (float *) get_va_nth (argp, npos) : va_arg (arg, float *)) = is_neg ? -d : d; | ||
| 1271 | 	 } | ||
| 1272 | |||
| 1273 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1274 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1275 | |||
| 1276 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1277 | 	 ++rval; | ||
| 1278 | 	 break; | ||
| 1279 | |||
| 1280 | 	case '[': | ||
| 1281 | 	 if ((flags & IS_L) != 0) | ||
| 1282 | 	 { | ||
| 1283 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1284 | 		{ | ||
| 1285 | 		 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1286 | 		 { | ||
| 1287 | 		 if (npos != 0) | ||
| 1288 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1289 | 		 else | ||
| 1290 | 		 pstr = va_arg (arg, char **); | ||
| 1291 | |||
| 1292 | 		 if (!pstr) | ||
| 1293 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1294 | 		 str_sz = 100; | ||
| 1295 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 1296 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 1297 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1298 | |||
| 1299 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1300 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1301 | 		 } | ||
| 1302 | 		 else | ||
| 1303 | 		 { | ||
| 1304 | 		 if (npos != 0) | ||
| 1305 | 			wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 1306 | 		 else | ||
| 1307 | 			wstr = va_arg (arg, wchar_t *); | ||
| 1308 | 		 if (!wstr) | ||
| 1309 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1310 | 		 } | ||
| 1311 | 		} | ||
| 1312 | |||
| 1313 | 	 } | ||
| 1314 | 	 else if ((flags & IS_SUPPRESSED) == 0) | ||
| 1315 | 	 { | ||
| 1316 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1317 | 		{ | ||
| 1318 | 		 if (npos != 0) | ||
| 1319 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1320 | 		 else | ||
| 1321 | 		 pstr = va_arg (arg, char **); | ||
| 1322 | |||
| 1323 | 		 if (!pstr) | ||
| 1324 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1325 | 		 str_sz = 100; | ||
| 1326 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 1327 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1328 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1329 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1330 | 		} | ||
| 1331 | 	 else | ||
| 1332 | 		{ | ||
| 1333 | 		 if (npos != 0) | ||
| 1334 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 1335 | 		 else | ||
| 1336 | 		 str = va_arg (arg, char *); | ||
| 1337 | 		 if (!str) | ||
| 1338 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1339 | 		} | ||
| 1340 | 	 } | ||
| 1341 | |||
| 1342 | 	 not_in = (*f == '^' ? 1 : 0); | ||
| 1343 | 	 if (*f == '^') | ||
| 1344 | 	 f++; | ||
| 1345 | |||
| 1346 | 	 if (width < 0) | ||
| 1347 | 	 width = INT_MAX; | ||
| 1348 | |||
| 1349 | 	 tmp_wbuf_ptr = (wchar_t *) f; | ||
| 1350 | |||
| 1351 | 	 if (*f == L']') | ||
| 1352 | 	 ++f; | ||
| 1353 | |||
| 1354 | 	 while ((fc = *f++) != 0 && fc != L']'); | ||
| 1355 | |||
| 1356 | 	 if (fc == 0) | ||
| 1357 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1358 | 	 temp_wbuf_end = (wchar_t *) f - 1; | ||
| 1359 | |||
| 1360 | 	 if ((flags & IS_L) != 0) | ||
| 1361 | 	 { | ||
| 1362 | 	 read_in_sv = read_in; | ||
| 1363 | |||
| 1364 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1365 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1366 | |||
| 1367 | 	 do | ||
| 1368 | 		{ | ||
| 1369 | 		 int ended = 0; | ||
| 1370 | 		 for (wbuf_iter = tmp_wbuf_ptr; wbuf_iter < temp_wbuf_end;) | ||
| 1371 | 		 { | ||
| 1372 | 		 if (wbuf_iter[0] == '-' && wbuf_iter[1] != 0 | ||
| 1373 | 			 && (wbuf_iter + 1) != temp_wbuf_end | ||
| 1374 | 			 && wbuf_iter != tmp_wbuf_ptr | ||
| 1375 | 			 && (unsigned int) wbuf_iter[-1] <= (unsigned int) wbuf_iter[1]) | ||
| 1376 | 			{ | ||
| 1377 | 			 for (wc = wbuf_iter[-1] + 1; wc <= wbuf_iter[1] && (wint_t) wc != c; ++wc); | ||
| 1378 | |||
| 1379 | 			 if (wc <= wbuf_iter[1] && !not_in) | ||
| 1380 | 			 break; | ||
| 1381 | 			 if (wc <= wbuf_iter[1] && not_in) | ||
| 1382 | 			 { | ||
| 1383 | 			 back_ch (c, s, &read_in, 0); | ||
| 1384 | 			 ended = 1; | ||
| 1385 | 			 break; | ||
| 1386 | 			 } | ||
| 1387 | |||
| 1388 | 			 wbuf_iter += 2; | ||
| 1389 | 			} | ||
| 1390 | 		 else | ||
| 1391 | 			{ | ||
| 1392 | 			 if ((wint_t) *wbuf_iter == c && !not_in) | ||
| 1393 | 			 break; | ||
| 1394 | 			 if ((wint_t) *wbuf_iter == c && not_in) | ||
| 1395 | 			 { | ||
| 1396 | 			 back_ch (c, s, &read_in, 0); | ||
| 1397 | 			 ended = 1; | ||
| 1398 | 			 break; | ||
| 1399 | 			 } | ||
| 1400 | |||
| 1401 | 			 ++wbuf_iter; | ||
| 1402 | 			} | ||
| 1403 | 		 } | ||
| 1404 | 		 if (ended) | ||
| 1405 | 		 break; | ||
| 1406 | |||
| 1407 | 		 if (wbuf_iter == temp_wbuf_end && !not_in) | ||
| 1408 | 		 { | ||
| 1409 | 		 back_ch (c, s, &read_in, 0); | ||
| 1410 | 		 break; | ||
| 1411 | 		 } | ||
| 1412 | |||
| 1413 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1414 | 		 { | ||
| 1415 | 		 *wstr++ = c; | ||
| 1416 | |||
| 1417 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 1418 | 			 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 1419 | 			{ | ||
| 1420 | 			 new_sz = str_sz * 2; | ||
| 1421 | 			 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 1422 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 1423 | 				 && new_sz > (size_t) (str_sz + 1)) | ||
| 1424 | 			 new_sz = str_sz + 1; | ||
| 1425 | 			 if (!wstr) | ||
| 1426 | 			 { | ||
| 1427 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1428 | 				{ | ||
| 1429 | 				 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 1430 | 				 pstr = NULL; | ||
| 1431 | 				 ++rval; | ||
| 1432 | 				} | ||
| 1433 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1434 | 			 } | ||
| 1435 | 			 *pstr = (char *) wstr; | ||
| 1436 | 			 wstr += str_sz; | ||
| 1437 | 			 str_sz = new_sz; | ||
| 1438 | 			} | ||
| 1439 | 		 } | ||
| 1440 | 		} | ||
| 1441 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 1442 | |||
| 1443 | 	 if (read_in_sv == read_in) | ||
| 1444 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1445 | |||
| 1446 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1447 | 		{ | ||
| 1448 | 		 *wstr++ = 0; | ||
| 1449 | |||
| 1450 | 		 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 1451 | 		 pstr = NULL; | ||
| 1452 | 		 ++rval; | ||
| 1453 | 		} | ||
| 1454 | 	 } | ||
| 1455 | 	 else | ||
| 1456 | 	 { | ||
| 1457 | 	 read_in_sv = read_in; | ||
| 1458 | |||
| 1459 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1460 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1461 | |||
| 1462 | 	 memset (&state, 0, sizeof (state)); | ||
| 1463 | |||
| 1464 | 	 do | ||
| 1465 | 		{ | ||
| 1466 | 		 int ended = 0; | ||
| 1467 | 		 wbuf_iter = tmp_wbuf_ptr; | ||
| 1468 | 		 while (wbuf_iter < temp_wbuf_end) | ||
| 1469 | 		 { | ||
| 1470 | 		 if (wbuf_iter[0] == '-' && wbuf_iter[1] != 0 | ||
| 1471 | 			 && (wbuf_iter + 1) != temp_wbuf_end | ||
| 1472 | 			 && wbuf_iter != tmp_wbuf_ptr | ||
| 1473 | 			 && (unsigned int) wbuf_iter[-1] <= (unsigned int) wbuf_iter[1]) | ||
| 1474 | 			{ | ||
| 1475 | 			 for (wc = wbuf_iter[-1] + 1; wc <= wbuf_iter[1] && (wint_t) wc != c; ++wc); | ||
| 1476 | |||
| 1477 | 			 if (wc <= wbuf_iter[1] && !not_in) | ||
| 1478 | 			 break; | ||
| 1479 | 			 if (wc <= wbuf_iter[1] && not_in) | ||
| 1480 | 			 { | ||
| 1481 | 			 back_ch (c, s, &read_in, 0); | ||
| 1482 | 			 ended = 1; | ||
| 1483 | 			 break; | ||
| 1484 | 			 } | ||
| 1485 | |||
| 1486 | 			 wbuf_iter += 2; | ||
| 1487 | 			} | ||
| 1488 | 		 else | ||
| 1489 | 			{ | ||
| 1490 | 			 if ((wint_t) *wbuf_iter == c && !not_in) | ||
| 1491 | 			 break; | ||
| 1492 | 			 if ((wint_t) *wbuf_iter == c && not_in) | ||
| 1493 | 			 { | ||
| 1494 | 			 back_ch (c, s, &read_in, 0); | ||
| 1495 | 			 ended = 1; | ||
| 1496 | 			 break; | ||
| 1497 | 			 } | ||
| 1498 | |||
| 1499 | 			 ++wbuf_iter; | ||
| 1500 | 			} | ||
| 1501 | 		 } | ||
| 1502 | |||
| 1503 | 		 if (ended) | ||
| 1504 | 		 break; | ||
| 1505 | 		 if (wbuf_iter == temp_wbuf_end && !not_in) | ||
| 1506 | 		 { | ||
| 1507 | 		 back_ch (c, s, &read_in, 0); | ||
| 1508 | 		 break; | ||
| 1509 | 		 } | ||
| 1510 | |||
| 1511 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1512 | 		 { | ||
| 1513 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 1514 | 			 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 1515 | 			{ | ||
| 1516 | 			 new_sz = str_sz * 2; | ||
| 1517 | 			 str_len = (str - *pstr); | ||
| 1518 | |||
| 1519 | 			 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 1520 | 			 	 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 1521 | 			 new_sz = str_len + MB_CUR_MAX; | ||
| 1522 | 			 if (!nstr) | ||
| 1523 | 			 { | ||
| 1524 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1525 | 				{ | ||
| 1526 | 				 ((*pstr))[str_len] = 0; | ||
| 1527 | 				 pstr = NULL; | ||
| 1528 | 				 ++rval; | ||
| 1529 | 				} | ||
| 1530 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1531 | 			 } | ||
| 1532 | 			 *pstr = nstr; | ||
| 1533 | 			 str = nstr + str_len; | ||
| 1534 | 			 str_sz = new_sz; | ||
| 1535 | 			} | ||
| 1536 | 		 } | ||
| 1537 | |||
| 1538 | 		 n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, &state); | ||
| 1539 | 		 if (n == (size_t) -1LL) | ||
| 1540 | 		 { | ||
| 1541 | 		 errno = EILSEQ; | ||
| 1542 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1543 | 		 } | ||
| 1544 | |||
| 1545 | 		 str += n; | ||
| 1546 | 		} | ||
| 1547 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 1548 | |||
| 1549 | 	 if (read_in_sv == read_in) | ||
| 1550 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1551 | |||
| 1552 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1553 | 		{ | ||
| 1554 | 		 n = wcrtomb (buf, 0, &state); | ||
| 1555 | 		 if (n > 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 1556 | 		 && (str + n) >= (*pstr + str_sz)) | ||
| 1557 | 		 { | ||
| 1558 | 		 str_len = (str - *pstr); | ||
| 1559 | |||
| 1560 | 		 if ((nstr = (char *) realloc (*pstr, str_len + n + 1)) == NULL) | ||
| 1561 | 			{ | ||
| 1562 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1563 | 			 { | ||
| 1564 | 			 (*pstr)[str_len] = 0; | ||
| 1565 | 			 pstr = NULL; | ||
| 1566 | 			 ++rval; | ||
| 1567 | 			 } | ||
| 1568 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1569 | 			} | ||
| 1570 | 		 *pstr = nstr; | ||
| 1571 | 		 str = nstr + str_len; | ||
| 1572 | 		 str_sz = str_len + n + 1; | ||
| 1573 | 		 } | ||
| 1574 | |||
| 1575 | 		 if (n) | ||
| 1576 | 		 { | ||
| 1577 | 		 memcpy (str, buf, n); | ||
| 1578 | 		 str += n; | ||
| 1579 | 		 } | ||
| 1580 | 		 *str++ = 0; | ||
| 1581 | |||
| 1582 | 		 optimize_alloc (pstr, str, str_sz); | ||
| 1583 | 		 pstr = NULL; | ||
| 1584 | 		 ++rval; | ||
| 1585 | 		} | ||
| 1586 | 	 } | ||
| 1587 | 	 break; | ||
| 1588 | |||
| 1589 | 	default: | ||
| 1590 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1591 | 	} | ||
| 1592 | } | ||
| 1593 | |||
| 1594 | if (ignore_ws) | ||
| 1595 | { | ||
| 1596 | while (iswspace ((c = in_ch (s, &read_in)))); | ||
| 1597 | back_ch (c, s, &read_in, 0); | ||
| 1598 | } | ||
| 1599 | |||
| 1600 | return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1601 | } | ||
lib/libc/mingw/stdio/mingw_swformat.h created+63| ... | @@ -0,0 +1,63 @@ | ||
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #ifndef SWFORMAT_H | ||
| 46 | #define SWFORMAT_H | ||
| 47 | |||
| 48 | /* internal stream structure with back-buffer. */ | ||
| 49 | typedef struct _IFPW | ||
| 50 | { | ||
| 51 | __extension__ union { | ||
| 52 | void *fp; | ||
| 53 | const wchar_t *str; | ||
| 54 | }; | ||
| 55 | int bch[1024]; | ||
| 56 | unsigned int is_string : 1; | ||
| 57 | int back_top; | ||
| 58 | unsigned int seen_eof : 1; | ||
| 59 | } _IFPW; | ||
| 60 | |||
| 61 | int __cdecl __mingw_swformat(_IFPW *, const wchar_t *, va_list) __MINGW_NOTHROW; | ||
| 62 | |||
| 63 | #endif /* !defined SWFORMAT_H */ | ||
lib/libc/mingw/stdio/mingw_swprintf.c created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | #define __BUILD_WIDEAPI_ISO 1 | ||
| 8 | |||
| 9 | #include "mingw_snprintf.c" | ||
| 10 | |||
lib/libc/mingw/stdio/mingw_vfprintfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vfprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_vfscanf.c+1-1619| ... | @@ -1,1615 +1,8 @@ | ... | @@ -1,1615 +1,8 @@ |
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #define __LARGE_MBSTATE_T | ||
| 46 | |||
| 47 | #include <limits.h> | ||
| 48 | #include <stddef.h> | ||
| 49 | #include <stdarg.h> | 1 | #include <stdarg.h> |
| 50 | #include <stdio.h> | 2 | #include <stdio.h> |
| 51 | #include <stdint.h> | ||
| 52 | #include <stdlib.h> | ||
| 53 | #include <string.h> | 3 | #include <string.h> |
| 54 | #include <wchar.h> | ||
| 55 | #include <ctype.h> | ||
| 56 | #include <wctype.h> | ||
| 57 | #include <locale.h> | ||
| 58 | #include <errno.h> | ||
| 59 | |||
| 60 | /* Helper flags for conversion. */ | ||
| 61 | #define IS_C		0x0001 | ||
| 62 | #define IS_S		0x0002 | ||
| 63 | #define IS_L		0x0004 | ||
| 64 | #define IS_LL		0x0008 | ||
| 65 | #define IS_SIGNED_NUM	0x0010 | ||
| 66 | #define IS_POINTER	0x0020 | ||
| 67 | #define IS_HEX_FLOAT	0x0040 | ||
| 68 | #define IS_SUPPRESSED	0x0080 | ||
| 69 | #define USE_GROUP	0x0100 | ||
| 70 | #define USE_GNU_ALLOC	0x0200 | ||
| 71 | #define USE_POSIX_ALLOC	0x0400 | ||
| 72 | |||
| 73 | #define IS_ALLOC_USED	(USE_GNU_ALLOC | USE_POSIX_ALLOC) | ||
| 74 | |||
| 75 | /* internal stream structure with back-buffer. */ | ||
| 76 | typedef struct _IFP | ||
| 77 | { | ||
| 78 | __extension__ union { | ||
| 79 | void *fp; | ||
| 80 | const char *str; | ||
| 81 | }; | ||
| 82 | int bch[1024]; | ||
| 83 | unsigned int is_string : 1; | ||
| 84 | int back_top; | ||
| 85 | unsigned int seen_eof : 1; | ||
| 86 | } _IFP; | ||
| 87 | |||
| 88 | static void * | ||
| 89 | get_va_nth (va_list argp, unsigned int n) | ||
| 90 | { | ||
| 91 | va_list ap; | ||
| 92 | if (!n) abort (); | ||
| 93 | va_copy (ap, argp); | ||
| 94 | while (--n > 0) | ||
| 95 | (void) va_arg(ap, void *); | ||
| 96 | return va_arg (ap, void *); | ||
| 97 | } | ||
| 98 | |||
| 99 | static void | ||
| 100 | optimize_alloc (char **p, char *end, size_t alloc_sz) | ||
| 101 | { | ||
| 102 | size_t need_sz; | ||
| 103 | char *h; | ||
| 104 | |||
| 105 | if (!p || !*p) | ||
| 106 | return; | ||
| 107 | |||
| 108 | need_sz = end - *p; | ||
| 109 | if (need_sz == alloc_sz) | ||
| 110 | return; | ||
| 111 | |||
| 112 | if ((h = (char *) realloc (*p, need_sz)) != NULL) | ||
| 113 | *p = h; | ||
| 114 | } | ||
| 115 | |||
| 116 | static void | ||
| 117 | back_ch (int c, _IFP *s, size_t *rin, int not_eof) | ||
| 118 | { | ||
| 119 | if (!not_eof && c == EOF) | ||
| 120 | return; | ||
| 121 | if (s->is_string == 0) | ||
| 122 | { | ||
| 123 | FILE *fp = s->fp; | ||
| 124 | ungetc (c, fp); | ||
| 125 | rin[0] -= 1; | ||
| 126 | return; | ||
| 127 | } | ||
| 128 | rin[0] -= 1; | ||
| 129 | s->bch[s->back_top] = c; | ||
| 130 | s->back_top += 1; | ||
| 131 | } | ||
| 132 | |||
| 133 | static int | ||
| 134 | in_ch (_IFP *s, size_t *rin) | ||
| 135 | { | ||
| 136 | int r; | ||
| 137 | if (s->back_top) | ||
| 138 | { | ||
| 139 | s->back_top -= 1; | ||
| 140 | r = s->bch[s->back_top]; | ||
| 141 | rin[0] += 1; | ||
| 142 | } | ||
| 143 | else if (s->seen_eof) | ||
| 144 | { | ||
| 145 | return EOF; | ||
| 146 | } | ||
| 147 | else if (s->is_string) | ||
| 148 | { | ||
| 149 | const char *ps = s->str; | ||
| 150 | r = ((int) *ps) & 0xff; | ||
| 151 | ps++; | ||
| 152 | if (r != 0) | ||
| 153 | { | ||
| 154 | rin[0] += 1; | ||
| 155 | s->str = ps; | ||
| 156 | return r; | ||
| 157 | } | ||
| 158 | s->seen_eof = 1; | ||
| 159 | return EOF; | ||
| 160 | } | ||
| 161 | else | ||
| 162 | { | ||
| 163 | FILE *fp = (FILE *) s->fp; | ||
| 164 | r = getc (fp); | ||
| 165 | if (r != EOF) | ||
| 166 | rin[0] += 1; | ||
| 167 | else s->seen_eof = 1; | ||
| 168 | } | ||
| 169 | return r; | ||
| 170 | } | ||
| 171 | |||
| 172 | static int | ||
| 173 | match_string (_IFP *s, size_t *rin, int *c, const char *str) | ||
| 174 | { | ||
| 175 | int ch = *c; | ||
| 176 | |||
| 177 | if (*str == 0) | ||
| 178 | return 1; | ||
| 179 | |||
| 180 | if (*str != (char) tolower (ch)) | ||
| 181 | return 0; | ||
| 182 | ++str; | ||
| 183 | while (*str != 0) | ||
| 184 | { | ||
| 185 | if ((ch = in_ch (s, rin)) == EOF) | ||
| 186 | { | ||
| 187 | c[0] = ch; | ||
| 188 | return 0; | ||
| 189 | } | ||
| 190 | |||
| 191 | if (*str != (char) tolower (ch)) | ||
| 192 | { | ||
| 193 | c[0] = ch; | ||
| 194 | return 0; | ||
| 195 | } | ||
| 196 | ++str; | ||
| 197 | } | ||
| 198 | c[0] = ch; | ||
| 199 | return 1; | ||
| 200 | } | ||
| 201 | |||
| 202 | struct gcollect | ||
| 203 | { | ||
| 204 | size_t count; | ||
| 205 | struct gcollect *next; | ||
| 206 | char **ptrs[32]; | ||
| 207 | }; | ||
| 208 | |||
| 209 | static void | ||
| 210 | release_ptrs (struct gcollect **pt, char **wbuf) | ||
| 211 | { | ||
| 212 | struct gcollect *pf; | ||
| 213 | size_t cnt; | ||
| 214 | |||
| 215 | if (wbuf) | ||
| 216 | { | ||
| 217 | free (*wbuf); | ||
| 218 | *wbuf = NULL; | ||
| 219 | } | ||
| 220 | if (!pt || (pf = *pt) == NULL) | ||
| 221 | return; | ||
| 222 | while (pf != NULL) | ||
| 223 | { | ||
| 224 | struct gcollect *pf_sv = pf; | ||
| 225 | for (cnt = 0; cnt < pf->count; ++cnt) | ||
| 226 | 	{ | ||
| 227 | 	 free (*pf->ptrs[cnt]); | ||
| 228 | 	 *pf->ptrs[cnt] = NULL; | ||
| 229 | 	} | ||
| 230 | pf = pf->next; | ||
| 231 | free (pf_sv); | ||
| 232 | } | ||
| 233 | *pt = NULL; | ||
| 234 | } | ||
| 235 | |||
| 236 | static int | ||
| 237 | cleanup_return (int rval, struct gcollect **pfree, char **strp, char **wbuf) | ||
| 238 | { | ||
| 239 | if (rval == EOF) | ||
| 240 | release_ptrs (pfree, wbuf); | ||
| 241 | else | ||
| 242 | { | ||
| 243 | if (pfree) | ||
| 244 | { | ||
| 245 | struct gcollect *pf = *pfree, *pf_sv; | ||
| 246 | while (pf != NULL) | ||
| 247 | { | ||
| 248 | pf_sv = pf; | ||
| 249 | pf = pf->next; | ||
| 250 | free (pf_sv); | ||
| 251 | } | ||
| 252 | *pfree = NULL; | ||
| 253 | } | ||
| 254 | if (strp != NULL) | ||
| 255 | 	{ | ||
| 256 | 	 free (*strp); | ||
| 257 | 	 *strp = NULL; | ||
| 258 | 	} | ||
| 259 | if (wbuf) | ||
| 260 | 	{ | ||
| 261 | 	 free (*wbuf); | ||
| 262 | 	 *wbuf = NULL; | ||
| 263 | 	} | ||
| 264 | } | ||
| 265 | return rval; | ||
| 266 | } | ||
| 267 | |||
| 268 | static struct gcollect * | ||
| 269 | resize_gcollect (struct gcollect *pf) | ||
| 270 | { | ||
| 271 | struct gcollect *np; | ||
| 272 | if (pf && pf->count < 32) | ||
| 273 | return pf; | ||
| 274 | np = malloc (sizeof (struct gcollect)); | ||
| 275 | np->count = 0; | ||
| 276 | np->next = pf; | ||
| 277 | return np; | ||
| 278 | } | ||
| 279 | |||
| 280 | static char * | ||
| 281 | resize_wbuf (size_t wpsz, size_t *wbuf_max_sz, char *old) | ||
| 282 | { | ||
| 283 | char *wbuf; | ||
| 284 | size_t nsz; | ||
| 285 | if (*wbuf_max_sz != wpsz) | ||
| 286 | return old; | ||
| 287 | nsz = (256 > (2 * wbuf_max_sz[0]) ? 256 : (2 * wbuf_max_sz[0])); | ||
| 288 | if (!old) | ||
| 289 | wbuf = (char *) malloc (nsz); | ||
| 290 | else | ||
| 291 | wbuf = (char *) realloc (old, nsz); | ||
| 292 | if (!wbuf) | ||
| 293 | { | ||
| 294 | if (old) | ||
| 295 | free (old); | ||
| 296 | } | ||
| 297 | else | ||
| 298 | *wbuf_max_sz = nsz; | ||
| 299 | return wbuf; | ||
| 300 | } | ||
| 301 | |||
| 302 | static int | ||
| 303 | __mingw_sformat (_IFP *s, const char *format, va_list argp) | ||
| 304 | { | ||
| 305 | const char *f = format; | ||
| 306 | struct gcollect *gcollect = NULL; | ||
| 307 | size_t read_in = 0, wbuf_max_sz = 0, cnt; | ||
| 308 | ssize_t str_sz = 0; | ||
| 309 | char *str = NULL, **pstr = NULL, *wbuf = NULL; | ||
| 310 | wchar_t *wstr = NULL; | ||
| 311 | int rval = 0, c = 0, ignore_ws = 0; | ||
| 312 | va_list arg; | ||
| 313 | unsigned char fc; | ||
| 314 | unsigned int npos; | ||
| 315 | int width, flags, base = 0, errno_sv; | ||
| 316 | size_t wbuf_cur_sz, read_in_sv, new_sz, n; | ||
| 317 | char seen_dot, seen_exp, is_neg, not_in; | ||
| 318 | char *tmp_wbuf_ptr, buf[MB_LEN_MAX]; | ||
| 319 | const char *lc_decimal_point, *lc_thousands_sep; | ||
| 320 | mbstate_t state, cstate; | ||
| 321 | union { | ||
| 322 | unsigned long long ull; | ||
| 323 | unsigned long ul; | ||
| 324 | long long ll; | ||
| 325 | long l; | ||
| 326 | } cv_val; | ||
| 327 | |||
| 328 | arg = argp; | ||
| 329 | |||
| 330 | if (!s || s->fp == NULL || !format) | ||
| 331 | { | ||
| 332 | errno = EINVAL; | ||
| 333 | return EOF; | ||
| 334 | } | ||
| 335 | |||
| 336 | memset (&state, 0, sizeof (state)); | ||
| 337 | |||
| 338 | lc_decimal_point = localeconv()->decimal_point; | ||
| 339 | lc_thousands_sep = localeconv()->thousands_sep; | ||
| 340 | if (lc_thousands_sep != NULL && *lc_thousands_sep == 0) | ||
| 341 | lc_thousands_sep = NULL; | ||
| 342 | |||
| 343 | while (*f != 0) | ||
| 344 | { | ||
| 345 | if (!isascii ((unsigned char) *f)) | ||
| 346 | 	{ | ||
| 347 | 	 int len; | ||
| 348 | |||
| 349 | 	 if ((len = mbrlen (f, strlen (f), &state)) > 0) | ||
| 350 | 	 { | ||
| 351 | 	 do | ||
| 352 | 		{ | ||
| 353 | 		 if ((c = in_ch (s, &read_in)) == EOF || c != (unsigned char) *f++) | ||
| 354 | 		 { | ||
| 355 | 		 back_ch (c, s, &read_in, 1); | ||
| 356 | 		 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 357 | 		 } | ||
| 358 | 		} | ||
| 359 | 	 while (--len > 0); | ||
| 360 | |||
| 361 | 	 continue; | ||
| 362 | 	 } | ||
| 363 | 	} | ||
| 364 | |||
| 365 | fc = *f++; | ||
| 366 | if (fc != '%') | ||
| 367 | { | ||
| 368 | if (isspace (fc)) | ||
| 369 | ignore_ws = 1; | ||
| 370 | else | ||
| 371 | 	 { | ||
| 372 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 373 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 374 | |||
| 375 | 	 if (ignore_ws) | ||
| 376 | 		{ | ||
| 377 | 		 ignore_ws = 0; | ||
| 378 | 		 if (isspace (c)) | ||
| 379 | 		 { | ||
| 380 | 		 do | ||
| 381 | 			{ | ||
| 382 | 			 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 383 | 			 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 384 | 			} | ||
| 385 | 		 while (isspace (c)); | ||
| 386 | 		 } | ||
| 387 | 		} | ||
| 388 | |||
| 389 | 	 if (c != fc) | ||
| 390 | 		{ | ||
| 391 | 		 back_ch (c, s, &read_in, 0); | ||
| 392 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 393 | 		} | ||
| 394 | 	 } | ||
| 395 | |||
| 396 | 	 continue; | ||
| 397 | 	} | ||
| 398 | |||
| 399 | width = flags = 0; | ||
| 400 | npos = 0; | ||
| 401 | wbuf_cur_sz = 0; | ||
| 402 | |||
| 403 | if (isdigit ((unsigned char) *f)) | ||
| 404 | 	{ | ||
| 405 | 	 const char *svf = f; | ||
| 406 | 	 npos = (unsigned char) *f++ - '0'; | ||
| 407 | 	 while (isdigit ((unsigned char) *f)) | ||
| 408 | 	 npos = npos * 10 + ((unsigned char) *f++ - '0'); | ||
| 409 | 	 if (*f != '$') | ||
| 410 | 	 { | ||
| 411 | 	 npos = 0; | ||
| 412 | 	 f = svf; | ||
| 413 | 	 } | ||
| 414 | 	 else | ||
| 415 | 	 f++; | ||
| 416 | 	} | ||
| 417 | |||
| 418 | do | ||
| 419 | 	{ | ||
| 420 | 	 if (*f == '*') | ||
| 421 | 	 flags |= IS_SUPPRESSED; | ||
| 422 | 	 else if (*f == '\'') | ||
| 423 | 	 { | ||
| 424 | 	 if (lc_thousands_sep) | ||
| 425 | 		flags |= USE_GROUP; | ||
| 426 | 	 } | ||
| 427 | 	 else if (*f == 'I') | ||
| 428 | 	 { | ||
| 429 | 	 /* we don't support locale's digits (i18N), but ignore it for now silently. */ | ||
| 430 | 	 ; | ||
| 431 | #ifdef _WIN32 | ||
| 432 | if (f[1] == '6' && f[2] == '4') | ||
| 433 | { | ||
| 434 | 		 flags |= IS_LL | IS_L; | ||
| 435 | 		 f += 2; | ||
| 436 | 		} | ||
| 437 | 	 else if (f[1] == '3' && f[2] == '2') | ||
| 438 | 		{ | ||
| 439 | 		 flags |= IS_L; | ||
| 440 | 		 f += 2; | ||
| 441 | 		} | ||
| 442 | 	 else | ||
| 443 | 	 { | ||
| 444 | #ifdef _WIN64 | ||
| 445 | 		 flags |= IS_LL | IS_L; | ||
| 446 | #else | ||
| 447 | 		 flags |= IS_L; | ||
| 448 | #endif | ||
| 449 | 		} | ||
| 450 | #endif | ||
| 451 | 	 } | ||
| 452 | 	 else | ||
| 453 | 	 break; | ||
| 454 | 	 ++f; | ||
| 455 | } | ||
| 456 | while (1); | ||
| 457 | |||
| 458 | while (isdigit ((unsigned char) *f)) | ||
| 459 | 	width = width * 10 + ((unsigned char) *f++ - '0'); | ||
| 460 | |||
| 461 | if (!width) | ||
| 462 | 	width = -1; | ||
| 463 | |||
| 464 | switch (*f) | ||
| 465 | 	{ | ||
| 466 | 	case 'h': | ||
| 467 | 	 ++f; | ||
| 468 | 	 flags |= (*f == 'h' ? IS_C : IS_S); | ||
| 469 | 	 if (*f == 'h') | ||
| 470 | 	 ++f; | ||
| 471 | 	 break; | ||
| 472 | 	case 'l': | ||
| 473 | 	 ++f; | ||
| 474 | 	 flags |= (*f == 'l' ? IS_LL : 0) | IS_L; | ||
| 475 | 	 if (*f == 'l') | ||
| 476 | 	 ++f; | ||
| 477 | 	 break; | ||
| 478 | 	case 'q': case 'L': | ||
| 479 | 	 ++f; | ||
| 480 | 	 flags |= IS_LL | IS_L; | ||
| 481 | 	 break; | ||
| 482 | 	case 'a': | ||
| 483 | 	 if (f[1] != 's' && f[1] != 'S' && f[1] != '[') | ||
| 484 | 	 break; | ||
| 485 | 	 ++f; | ||
| 486 | 	 flags |= USE_GNU_ALLOC; | ||
| 487 | 	 break; | ||
| 488 | 	case 'm': | ||
| 489 | 	 flags |= USE_POSIX_ALLOC; | ||
| 490 | 	 ++f; | ||
| 491 | 	 if (*f == 'l') | ||
| 492 | 	 { | ||
| 493 | 	 flags |= IS_L; | ||
| 494 | 	 f++; | ||
| 495 | 	 } | ||
| 496 | 	 break; | ||
| 497 | 	case 'z': | ||
| 498 | #ifdef _WIN64 | ||
| 499 | 	 flags |= IS_LL | IS_L; | ||
| 500 | #else | ||
| 501 | 	 flags |= IS_L; | ||
| 502 | #endif | ||
| 503 | 	 ++f; | ||
| 504 | 	 break; | ||
| 505 | 	case 'j': | ||
| 506 | 	 if (sizeof (uintmax_t) > sizeof (unsigned long)) | ||
| 507 | 	 flags |= IS_LL; | ||
| 508 | 	 else if (sizeof (uintmax_t) > sizeof (unsigned int)) | ||
| 509 | 	 flags |= IS_L; | ||
| 510 | 	 ++f; | ||
| 511 | 	 break; | ||
| 512 | 	case 't': | ||
| 513 | #ifdef _WIN64 | ||
| 514 | 	 flags |= IS_LL; | ||
| 515 | #else | ||
| 516 | 	 flags |= IS_L; | ||
| 517 | #endif | ||
| 518 | 	 ++f; | ||
| 519 | 	 break; | ||
| 520 | 	case 0: | ||
| 521 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 522 | 	default: | ||
| 523 | 	 break; | ||
| 524 | 	} | ||
| 525 | |||
| 526 | if (*f == 0) | ||
| 527 | 	return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 528 | |||
| 529 | fc = *f++; | ||
| 530 | if (ignore_ws || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n')) | ||
| 531 | 	{ | ||
| 532 | 	 errno_sv = errno; | ||
| 533 | 	 errno = 0; | ||
| 534 | 	 do | ||
| 535 | 	 { | ||
| 536 | 	 if ((c == EOF || (c = in_ch (s, &read_in)) == EOF) | ||
| 537 | 	 && errno == EINTR) | ||
| 538 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 539 | 	 } | ||
| 540 | 	 while (isspace (c)); | ||
| 541 | |||
| 542 | 	 ignore_ws = 0; | ||
| 543 | 	 errno = errno_sv; | ||
| 544 | 	 back_ch (c, s, &read_in, 0); | ||
| 545 | 	} | ||
| 546 | |||
| 547 | switch (fc) | ||
| 548 | { | ||
| 549 | case 'c': | ||
| 550 | if ((flags & IS_L) != 0) | ||
| 551 | fc = 'C'; | ||
| 552 | break; | ||
| 553 | case 's': | ||
| 554 | if ((flags & IS_L) != 0) | ||
| 555 | fc = 'S'; | ||
| 556 | break; | ||
| 557 | } | ||
| 558 | |||
| 559 | switch (fc) | ||
| 560 | 	{ | ||
| 561 | 	case '%': | ||
| 562 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 563 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 564 | 	 if (c != fc) | ||
| 565 | 	 { | ||
| 566 | 	 back_ch (c, s, &read_in, 1); | ||
| 567 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 568 | 	 } | ||
| 569 | 	 break; | ||
| 570 | |||
| 571 | 	case 'n': | ||
| 572 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 573 | 	 { | ||
| 574 | 	 if ((flags & IS_LL) != 0) | ||
| 575 | 		*(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = read_in; | ||
| 576 | 	 else if ((flags & IS_L) != 0) | ||
| 577 | 		*(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = read_in; | ||
| 578 | 	 else if ((flags & IS_S) != 0) | ||
| 579 | 		*(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = read_in; | ||
| 580 | 	 else if ((flags & IS_C) != 0) | ||
| 581 | 	 *(npos != 0 ? (char *) get_va_nth (argp, npos) : va_arg (arg, char *)) = read_in; | ||
| 582 | 	 else | ||
| 583 | 		*(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = read_in; | ||
| 584 | 	 } | ||
| 585 | 	 break; | ||
| 586 | |||
| 587 | 	case 'c': | ||
| 588 | 	 if (width == -1) | ||
| 589 | 	 width = 1; | ||
| 590 | |||
| 591 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 592 | 	 { | ||
| 593 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 594 | 		{ | ||
| 595 | 		 if (npos != 0) | ||
| 596 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 597 | 		 else | ||
| 598 | 		 pstr = va_arg (arg, char **); | ||
| 599 | |||
| 600 | 		 if (!pstr) | ||
| 601 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 602 | |||
| 603 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 604 | 		 if ((str = *pstr = (char *) malloc (str_sz)) == NULL) | ||
| 605 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 606 | |||
| 607 | 		 gcollect = resize_gcollect (gcollect); | ||
| 608 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 609 | 		} | ||
| 610 | 	 else | ||
| 611 | 		{ | ||
| 612 | 		 if (npos != 0) | ||
| 613 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 614 | 		 else | ||
| 615 | 		 str = va_arg (arg, char *); | ||
| 616 | 		 if (!str) | ||
| 617 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 618 | 		} | ||
| 619 | 	 } | ||
| 620 | |||
| 621 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 622 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 623 | |||
| 624 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 625 | 	 { | ||
| 626 | 	 do | ||
| 627 | 		{ | ||
| 628 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 629 | 		 { | ||
| 630 | 		 new_sz = str_sz + (str_sz >= width ? width - 1 : str_sz); | ||
| 631 | 		 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 632 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 633 | 			new_sz = str_sz + 1; | ||
| 634 | 		 if (!str) | ||
| 635 | 			{ | ||
| 636 | 			 release_ptrs (&gcollect, &wbuf); | ||
| 637 | 			 return EOF; | ||
| 638 | 			} | ||
| 639 | 		 *pstr = str; | ||
| 640 | 		 str += str_sz; | ||
| 641 | 		 str_sz = new_sz; | ||
| 642 | 		 } | ||
| 643 | 		 *str++ = c; | ||
| 644 | 		} | ||
| 645 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 646 | 	 } | ||
| 647 | 	 else | ||
| 648 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 649 | |||
| 650 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 651 | 	 { | ||
| 652 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 653 | 	 pstr = NULL; | ||
| 654 | 	 ++rval; | ||
| 655 | 	 } | ||
| 656 | |||
| 657 | 	 break; | ||
| 658 | |||
| 659 | 	case 'C': | ||
| 660 | 	 if (width == -1) | ||
| 661 | 	 width = 1; | ||
| 662 | |||
| 663 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 664 | 	 { | ||
| 665 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 666 | 		{ | ||
| 667 | 		 if (npos != 0) | ||
| 668 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 669 | 		 else | ||
| 670 | 		 pstr = va_arg (arg, char **); | ||
| 671 | |||
| 672 | 		 if (!pstr) | ||
| 673 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 674 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 675 | 		 *pstr = (char *) malloc (str_sz * sizeof (wchar_t)); | ||
| 676 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 677 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 678 | 		 gcollect = resize_gcollect (gcollect); | ||
| 679 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 680 | 		} | ||
| 681 | 	 else | ||
| 682 | 		{ | ||
| 683 | 		 if (npos != 0) | ||
| 684 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 685 | 		 else | ||
| 686 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 687 | 		 if (!wstr) | ||
| 688 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 689 | 		} | ||
| 690 | 	 } | ||
| 691 | |||
| 692 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 693 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 694 | |||
| 695 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 696 | |||
| 697 | 	 do | ||
| 698 | 	 { | ||
| 699 | 	 buf[0] = c; | ||
| 700 | |||
| 701 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 702 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 703 | 		{ | ||
| 704 | 		 new_sz = str_sz + (str_sz > width ? width - 1 : str_sz); | ||
| 705 | |||
| 706 | 		 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 707 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 708 | 		 new_sz = str_sz + 1; | ||
| 709 | 		 if (!wstr) | ||
| 710 | 		 { | ||
| 711 | 		 release_ptrs (&gcollect, &wbuf); | ||
| 712 | 		 return EOF; | ||
| 713 | 		 } | ||
| 714 | 		 *pstr = (char *) wstr; | ||
| 715 | 		 wstr += str_sz; | ||
| 716 | 		 str_sz = new_sz; | ||
| 717 | 		} | ||
| 718 | |||
| 719 | 	 while (1) | ||
| 720 | 		{ | ||
| 721 | 		 n = mbrtowc ((flags & IS_SUPPRESSED) == 0 ? wstr : NULL, buf, 1, &cstate); | ||
| 722 | |||
| 723 | 		 if (n == (size_t) -2) | ||
| 724 | 		 { | ||
| 725 | 		 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 726 | 			{ | ||
| 727 | 			 errno = EILSEQ; | ||
| 728 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 729 | 			} | ||
| 730 | |||
| 731 | 		 buf[0] = c; | ||
| 732 | 		 continue; | ||
| 733 | 		 } | ||
| 734 | |||
| 735 | 		 if (n != 1) | ||
| 736 | 		 { | ||
| 737 | 			errno = EILSEQ; | ||
| 738 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 739 | 		 } | ||
| 740 | 		 break; | ||
| 741 | 		} | ||
| 742 | |||
| 743 | 	 ++wstr; | ||
| 744 | 	 } | ||
| 745 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 746 | |||
| 747 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 748 | 	 { | ||
| 749 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 750 | 	 pstr = NULL; | ||
| 751 | 	 ++rval; | ||
| 752 | 	 } | ||
| 753 | 	 break; | ||
| 754 | |||
| 755 | 	case 's': | ||
| 756 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 757 | 	 { | ||
| 758 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 759 | 		{ | ||
| 760 | 		 if (npos != 0) | ||
| 761 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 762 | 		 else | ||
| 763 | 		 pstr = va_arg (arg, char **); | ||
| 764 | |||
| 765 | 		 if (!pstr) | ||
| 766 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 767 | |||
| 768 | 		 str_sz = 100; | ||
| 769 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 770 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 771 | 		 gcollect = resize_gcollect (gcollect); | ||
| 772 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 773 | 		} | ||
| 774 | 	 else | ||
| 775 | 		{ | ||
| 776 | 		 if (npos != 0) | ||
| 777 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 778 | 		 else | ||
| 779 | 		 str = va_arg (arg, char *); | ||
| 780 | 		 if (!str) | ||
| 781 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 782 | 		} | ||
| 783 | 	 } | ||
| 784 | |||
| 785 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 786 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 787 | |||
| 788 | 	 do | ||
| 789 | 	 { | ||
| 790 | 	 if (isspace (c)) | ||
| 791 | 		{ | ||
| 792 | 		 back_ch (c, s, &read_in, 1); | ||
| 793 | 		 break; | ||
| 794 | 		} | ||
| 795 | |||
| 796 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 797 | 		{ | ||
| 798 | 		 *str++ = c; | ||
| 799 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 800 | 		 { | ||
| 801 | 		 new_sz = str_sz * 2; | ||
| 802 | |||
| 803 | 		 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 804 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 805 | 			new_sz = str_sz + 1; | ||
| 806 | 		 if (!str) | ||
| 807 | 			{ | ||
| 808 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 809 | 			 { | ||
| 810 | 			 (*pstr)[str_sz - 1] = 0; | ||
| 811 | 			 pstr = NULL; | ||
| 812 | 			 ++rval; | ||
| 813 | 			 } | ||
| 814 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 815 | 			} | ||
| 816 | 		 *pstr = str; | ||
| 817 | 		 str += str_sz; | ||
| 818 | 		 str_sz = new_sz; | ||
| 819 | 		 } | ||
| 820 | 		} | ||
| 821 | 	 } | ||
| 822 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != EOF); | ||
| 823 | 4 | ||
| 824 | 	 if ((flags & IS_SUPPRESSED) == 0) | 5 | #include "mingw_sformat.h" |
| 825 | 	 { | ||
| 826 | 	 *str++ = 0; | ||
| 827 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 828 | 	 pstr = NULL; | ||
| 829 | 	 ++rval; | ||
| 830 | 	 } | ||
| 831 | 	 break; | ||
| 832 | |||
| 833 | 	case 'S': | ||
| 834 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 835 | 	 { | ||
| 836 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 837 | 		{ | ||
| 838 | 		 if (npos != 0) | ||
| 839 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 840 | 		 else | ||
| 841 | 		 pstr = va_arg (arg, char **); | ||
| 842 | |||
| 843 | 		 if (!pstr) | ||
| 844 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 845 | |||
| 846 | 		 str_sz = 100; | ||
| 847 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 848 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 849 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 850 | 		 gcollect = resize_gcollect (gcollect); | ||
| 851 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 852 | 		} | ||
| 853 | 	 else | ||
| 854 | 		{ | ||
| 855 | 		 if (npos != 0) | ||
| 856 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 857 | 		 else | ||
| 858 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 859 | 		 if (!wstr) | ||
| 860 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 861 | 		} | ||
| 862 | 	 } | ||
| 863 | |||
| 864 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 865 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 866 | |||
| 867 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 868 | |||
| 869 | 	 do | ||
| 870 | 	 { | ||
| 871 | 	 if (isspace (c)) | ||
| 872 | 		{ | ||
| 873 | 		 back_ch (c, s, &read_in, 1); | ||
| 874 | 		 break; | ||
| 875 | 		} | ||
| 876 | |||
| 877 | 	 buf[0] = c; | ||
| 878 | |||
| 879 | 	 while (1) | ||
| 880 | 		{ | ||
| 881 | 		 n = mbrtowc ((flags & IS_SUPPRESSED) == 0 ? wstr : NULL, buf, 1, &cstate); | ||
| 882 | |||
| 883 | 		 if (n == (size_t) -2) | ||
| 884 | 		 { | ||
| 885 | 		 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 886 | 			{ | ||
| 887 | 			 errno = EILSEQ; | ||
| 888 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 889 | 			} | ||
| 890 | |||
| 891 | 		 buf[0] = c; | ||
| 892 | 		 continue; | ||
| 893 | 		 } | ||
| 894 | |||
| 895 | 		 if (n != 1) | ||
| 896 | 		 { | ||
| 897 | 		 errno = EILSEQ; | ||
| 898 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 899 | 		 } | ||
| 900 | |||
| 901 | 		 ++wstr; | ||
| 902 | 		 break; | ||
| 903 | 		} | ||
| 904 | |||
| 905 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 906 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 907 | 		{ | ||
| 908 | 		 new_sz = str_sz * 2; | ||
| 909 | 		 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 910 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 911 | 		 new_sz = str_sz + 1; | ||
| 912 | 		 if (!wstr) | ||
| 913 | 		 { | ||
| 914 | 		 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 915 | 			{ | ||
| 916 | 			 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 917 | 			 pstr = NULL; | ||
| 918 | 			 ++rval; | ||
| 919 | 			} | ||
| 920 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 921 | 		 } | ||
| 922 | 		 *pstr = (char *) wstr; | ||
| 923 | 		 wstr += str_sz; | ||
| 924 | 		 str_sz = new_sz; | ||
| 925 | 		} | ||
| 926 | 	 } | ||
| 927 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != EOF); | ||
| 928 | |||
| 929 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 930 | 	 { | ||
| 931 | 	 *wstr++ = 0; | ||
| 932 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 933 | 	 pstr = NULL; | ||
| 934 | 	 ++rval; | ||
| 935 | 	 } | ||
| 936 | 	 break; | ||
| 937 | |||
| 938 | 	case 'd': case 'i': | ||
| 939 | 	case 'o': case 'p': | ||
| 940 | 	case 'u': | ||
| 941 | 	case 'x': case 'X': | ||
| 942 | 	 switch (fc) | ||
| 943 | 	 { | ||
| 944 | 	 case 'd': | ||
| 945 | 	 flags |= IS_SIGNED_NUM; | ||
| 946 | 	 base = 10; | ||
| 947 | 	 break; | ||
| 948 | 	 case 'i': | ||
| 949 | 	 flags |= IS_SIGNED_NUM; | ||
| 950 | 	 base = 0; | ||
| 951 | 	 break; | ||
| 952 | 	 case 'o': | ||
| 953 | 	 base = 8; | ||
| 954 | 	 break; | ||
| 955 | 	 case 'p': | ||
| 956 | 	 base = 16; | ||
| 957 | 	 flags &= ~(IS_S | IS_LL | IS_L); | ||
| 958 | #ifdef _WIN64 | ||
| 959 | 	 flags |= IS_LL; | ||
| 960 | #endif | ||
| 961 | 	 flags |= IS_L | IS_POINTER; | ||
| 962 | 	 break; | ||
| 963 | 	 case 'u': | ||
| 964 | 	 base = 10; | ||
| 965 | 	 break; | ||
| 966 | 	 case 'x': case 'X': | ||
| 967 | 	 base = 16; | ||
| 968 | 	 break; | ||
| 969 | 	 } | ||
| 970 | |||
| 971 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 972 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 973 | 	 if (c == '+' || c == '-') | ||
| 974 | 	 { | ||
| 975 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 976 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 977 | 	 if (width > 0) | ||
| 978 | 		--width; | ||
| 979 | 	 c = in_ch (s, &read_in); | ||
| 980 | 	 } | ||
| 981 | 	 if (width != 0 && c == '0') | ||
| 982 | 	 { | ||
| 983 | 	 if (width > 0) | ||
| 984 | 		--width; | ||
| 985 | |||
| 986 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 987 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 988 | 	 c = in_ch (s, &read_in); | ||
| 989 | |||
| 990 | 	 if (width != 0 && tolower (c) == 'x') | ||
| 991 | 		{ | ||
| 992 | 		 if (!base) | ||
| 993 | 		 base = 16; | ||
| 994 | 		 if (base == 16) | ||
| 995 | 		 { | ||
| 996 | 		 if (width > 0) | ||
| 997 | 			--width; | ||
| 998 | 		 c = in_ch (s, &read_in); | ||
| 999 | 		 } | ||
| 1000 | 		} | ||
| 1001 | 	 else if (!base) | ||
| 1002 | 		base = 8; | ||
| 1003 | 	 } | ||
| 1004 | |||
| 1005 | 	 if (!base) | ||
| 1006 | 	 base = 10; | ||
| 1007 | |||
| 1008 | 	 while (c != EOF && width != 0) | ||
| 1009 | 	 { | ||
| 1010 | 	 if (base == 16) | ||
| 1011 | 		{ | ||
| 1012 | 		 if (!isxdigit (c)) | ||
| 1013 | 		 break; | ||
| 1014 | 		} | ||
| 1015 | 	 else if (!isdigit (c) || (int) (c - '0') >= base) | ||
| 1016 | 		{ | ||
| 1017 | 		 const char *p = lc_thousands_sep; | ||
| 1018 | 		 int remain; | ||
| 1019 | |||
| 1020 | 		 if (base != 10 || (flags & USE_GROUP) == 0) | ||
| 1021 | 		 break; | ||
| 1022 | 		 remain = width > 0 ? width : INT_MAX; | ||
| 1023 | 		 while ((unsigned char) *p == c && remain >= 0) | ||
| 1024 | 		 { | ||
| 1025 | 		 /* As our conversion routines aren't supporting thousands | ||
| 1026 | 			 separators, we are filtering them here. */ | ||
| 1027 | |||
| 1028 | 		 ++p; | ||
| 1029 | 		 if (*p == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1030 | 			break; | ||
| 1031 | 		 --remain; | ||
| 1032 | 		 } | ||
| 1033 | |||
| 1034 | 		 if (*p != 0) | ||
| 1035 | 		 { | ||
| 1036 | 		 if (p > lc_thousands_sep) | ||
| 1037 | 			{ | ||
| 1038 | 			 back_ch (c, s, &read_in, 0); | ||
| 1039 | 			 while (--p > lc_thousands_sep) | ||
| 1040 | 			 back_ch ((unsigned char) *p, s, &read_in, 1); | ||
| 1041 | 			 c = (unsigned char) *p; | ||
| 1042 | 			} | ||
| 1043 | 		 break; | ||
| 1044 | 		 } | ||
| 1045 | |||
| 1046 | 		 if (width > 0) | ||
| 1047 | 		 width = remain; | ||
| 1048 | 		 --wbuf_cur_sz; | ||
| 1049 | 		} | ||
| 1050 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1051 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1052 | 	 if (width > 0) | ||
| 1053 | 		--width; | ||
| 1054 | |||
| 1055 | 	 c = in_ch (s, &read_in); | ||
| 1056 | 	 } | ||
| 1057 | |||
| 1058 | 	 if (!wbuf_cur_sz || (wbuf_cur_sz == 1 && (wbuf[0] == '+' || wbuf[0] == '-'))) | ||
| 1059 | 	 { | ||
| 1060 | 	 if (!wbuf_cur_sz && (flags & IS_POINTER) != 0 | ||
| 1061 | 	 && match_string (s, &read_in, &c, "(nil)")) | ||
| 1062 | 		{ | ||
| 1063 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1064 | 		 wbuf[wbuf_cur_sz++] = '0'; | ||
| 1065 | 		} | ||
| 1066 | 	 else | ||
| 1067 | 		{ | ||
| 1068 | 		 back_ch (c, s, &read_in, 0); | ||
| 1069 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1070 | 		} | ||
| 1071 | 	 } | ||
| 1072 | 	 else | ||
| 1073 | 	 back_ch (c, s, &read_in, 0); | ||
| 1074 | |||
| 1075 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1076 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1077 | |||
| 1078 | 	 if ((flags & IS_LL)) | ||
| 1079 | 	 { | ||
| 1080 | 	 if (flags & IS_SIGNED_NUM) | ||
| 1081 | 		cv_val.ll = strtoll (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1082 | 	 else | ||
| 1083 | 		cv_val.ull = strtoull (wbuf, &tmp_wbuf_ptr, base); | ||
| 1084 | 	 } | ||
| 1085 | 	 else | ||
| 1086 | 	 { | ||
| 1087 | 	 if (flags & IS_SIGNED_NUM) | ||
| 1088 | 		cv_val.l = strtol (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1089 | 	 else | ||
| 1090 | 		cv_val.ul = strtoul (wbuf, &tmp_wbuf_ptr, base); | ||
| 1091 | 	 } | ||
| 1092 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1093 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1094 | |||
| 1095 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1096 | 	 { | ||
| 1097 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1098 | 		{ | ||
| 1099 | 		 if ((flags & IS_LL) != 0) | ||
| 1100 | 		 *(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = cv_val.ll; | ||
| 1101 | 		 else if ((flags & IS_L) != 0) | ||
| 1102 | 		 *(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = cv_val.l; | ||
| 1103 | 		 else if ((flags & IS_S) != 0) | ||
| 1104 | 		 *(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = (short) cv_val.l; | ||
| 1105 | 		 else if ((flags & IS_C) != 0) | ||
| 1106 | 		 *(npos != 0 ? (signed char *) get_va_nth (argp, npos) : va_arg (arg, signed char *)) = (signed char) cv_val.ul; | ||
| 1107 | 		 else | ||
| 1108 | 		 *(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = (int) cv_val.l; | ||
| 1109 | 		} | ||
| 1110 | 	 else | ||
| 1111 | 		{ | ||
| 1112 | 		 if ((flags & IS_LL) != 0) | ||
| 1113 | 		 *(npos != 0 ? (unsigned long long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long long *)) = cv_val.ull; | ||
| 1114 | 		 else if ((flags & IS_L) != 0) | ||
| 1115 | 		 *(npos != 0 ? (unsigned long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long *)) = cv_val.ul; | ||
| 1116 | 		 else if ((flags & IS_S) != 0) | ||
| 1117 | 		 *(npos != 0 ? (unsigned short *) get_va_nth (argp, npos) : va_arg (arg, unsigned short *)) | ||
| 1118 | 		 = (unsigned short) cv_val.ul; | ||
| 1119 | 		 else if ((flags & IS_C) != 0) | ||
| 1120 | 		 *(npos != 0 ? (unsigned char *) get_va_nth (argp, npos) : va_arg (arg, unsigned char *)) = (unsigned char) cv_val.ul; | ||
| 1121 | 		 else | ||
| 1122 | 		 *(npos != 0 ? (unsigned int *) get_va_nth (argp, npos) : va_arg (arg, unsigned int *)) = (unsigned int) cv_val.ul; | ||
| 1123 | 		} | ||
| 1124 | 	 ++rval; | ||
| 1125 | 	 } | ||
| 1126 | 	 break; | ||
| 1127 | |||
| 1128 | 	case 'e': case 'E': | ||
| 1129 | 	case 'f': case 'F': | ||
| 1130 | 	case 'g': case 'G': | ||
| 1131 | 	case 'a': case 'A': | ||
| 1132 | 	 if (width > 0) | ||
| 1133 | 	 --width; | ||
| 1134 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1135 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1136 | |||
| 1137 | 	 seen_dot = seen_exp = 0; | ||
| 1138 | 	 is_neg = (c == '-' ? 1 : 0); | ||
| 1139 | |||
| 1140 | 	 if (c == '-' || c == '+') | ||
| 1141 | 	 { | ||
| 1142 | 	 if (width == 0 || (c = in_ch (s, &read_in)) == EOF) | ||
| 1143 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1144 | 	 if (width > 0) | ||
| 1145 | 		--width; | ||
| 1146 | 	 } | ||
| 1147 | |||
| 1148 | 	 if (tolower (c) == 'n') | ||
| 1149 | 	 { | ||
| 1150 | 	 const char *match_txt = "nan"; | ||
| 1151 | |||
| 1152 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1153 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1154 | |||
| 1155 | 	 ++match_txt; | ||
| 1156 | 	 do | ||
| 1157 | 		{ | ||
| 1158 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1159 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1160 | |||
| 1161 | 		 if (width > 0) | ||
| 1162 | 		 --width; | ||
| 1163 | |||
| 1164 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1165 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1166 | 		 ++match_txt; | ||
| 1167 | 		} | ||
| 1168 | 	 while (*match_txt != 0); | ||
| 1169 | 	 } | ||
| 1170 | 	 else if (tolower (c) == 'i') | ||
| 1171 | 	 { | ||
| 1172 | 	 const char *match_txt = "inf"; | ||
| 1173 | |||
| 1174 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1175 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1176 | |||
| 1177 | 	 ++match_txt; | ||
| 1178 | 	 do | ||
| 1179 | 		{ | ||
| 1180 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1181 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1182 | 		 if (width > 0) | ||
| 1183 | 		 --width; | ||
| 1184 | |||
| 1185 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1186 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1187 | 		 ++match_txt; | ||
| 1188 | 		} | ||
| 1189 | 	 while (*match_txt != 0); | ||
| 1190 | |||
| 1191 | 	 if (width != 0 && (c = in_ch (s, &read_in)) != EOF && tolower (c) == 'i') | ||
| 1192 | 		{ | ||
| 1193 | 		 match_txt = "inity"; | ||
| 1194 | |||
| 1195 | 		 if (width > 0) | ||
| 1196 | 		 --width; | ||
| 1197 | |||
| 1198 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1199 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1200 | 		 ++match_txt; | ||
| 1201 | |||
| 1202 | 		 do | ||
| 1203 | 		 { | ||
| 1204 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF || tolower (c) != match_txt[0]) | ||
| 1205 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1206 | 		 if (width > 0) | ||
| 1207 | 			--width; | ||
| 1208 | |||
| 1209 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1210 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1211 | 		 ++match_txt; | ||
| 1212 | 		 } | ||
| 1213 | 		 while (*match_txt != 0); | ||
| 1214 | 		} | ||
| 1215 | 	 else if (width != 0 && c != EOF) | ||
| 1216 | 	 back_ch (c, s, &read_in, 0); | ||
| 1217 | 	 } | ||
| 1218 | 	 else | ||
| 1219 | 	 { | ||
| 1220 | 	 not_in = 'e'; | ||
| 1221 | 	 if (width != 0 && c == '0') | ||
| 1222 | 		{ | ||
| 1223 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1224 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1225 | |||
| 1226 | 		 c = in_ch (s, &read_in); | ||
| 1227 | 		 if (width > 0) | ||
| 1228 | 		 --width; | ||
| 1229 | 		 if (width != 0 && tolower (c) == 'x') | ||
| 1230 | 		 { | ||
| 1231 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1232 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1233 | |||
| 1234 | 		 flags |= IS_HEX_FLOAT; | ||
| 1235 | 		 not_in = 'p'; | ||
| 1236 | |||
| 1237 | 		 flags &= ~USE_GROUP; | ||
| 1238 | 		 c = in_ch (s, &read_in); | ||
| 1239 | 		 if (width > 0) | ||
| 1240 | 			--width; | ||
| 1241 | 		 } | ||
| 1242 | 		} | ||
| 1243 | |||
| 1244 | 	 while (1) | ||
| 1245 | 		{ | ||
| 1246 | 		 if (isdigit (c) || (!seen_exp && (flags & IS_HEX_FLOAT) != 0 && isxdigit (c)) | ||
| 1247 | 		 || (seen_exp && wbuf[wbuf_cur_sz - 1] == not_in && (c == '-' || c == '+'))) | ||
| 1248 | 		 { | ||
| 1249 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1250 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1251 | 		 } | ||
| 1252 | 		 else if (wbuf_cur_sz > 0 && !seen_exp && (char) tolower (c) == not_in) | ||
| 1253 | 		 { | ||
| 1254 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1255 | 		 wbuf[wbuf_cur_sz++] = not_in; | ||
| 1256 | 		 seen_exp = seen_dot = 1; | ||
| 1257 | 		 } | ||
| 1258 | 		 else | ||
| 1259 | 		 { | ||
| 1260 | 		 const char *p = lc_decimal_point; | ||
| 1261 | 		 int remain = width > 0 ? width : INT_MAX; | ||
| 1262 | |||
| 1263 | 		 if (! seen_dot) | ||
| 1264 | 			{ | ||
| 1265 | 			 while ((unsigned char) *p == c && remain >= 0) | ||
| 1266 | 			 { | ||
| 1267 | 			 ++p; | ||
| 1268 | 			 if (*p == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1269 | 				break; | ||
| 1270 | 			 --remain; | ||
| 1271 | 			 } | ||
| 1272 | 			} | ||
| 1273 | |||
| 1274 | 		 if (*p == 0) | ||
| 1275 | 			{ | ||
| 1276 | 			 for (p = lc_decimal_point; *p != 0; ++p) | ||
| 1277 | 			 { | ||
| 1278 | 			 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1279 | 			 wbuf[wbuf_cur_sz++] = (unsigned char) *p; | ||
| 1280 | 			 } | ||
| 1281 | 			 if (width > 0) | ||
| 1282 | 			 width = remain; | ||
| 1283 | 			 seen_dot = 1; | ||
| 1284 | 			} | ||
| 1285 | 		 else | ||
| 1286 | 			{ | ||
| 1287 | 			 const char *pp = lc_thousands_sep; | ||
| 1288 | |||
| 1289 | 			 if (!seen_dot && (flags & USE_GROUP) != 0) | ||
| 1290 | 			 { | ||
| 1291 | 			 while ((pp - lc_thousands_sep) < (p - lc_decimal_point) | ||
| 1292 | 				 && *pp == lc_decimal_point[(pp - lc_thousands_sep)]) | ||
| 1293 | 				++pp; | ||
| 1294 | 			 if ((pp - lc_thousands_sep) == (p - lc_decimal_point)) | ||
| 1295 | 				{ | ||
| 1296 | 				 while ((unsigned char) *pp == c && remain >= 0) | ||
| 1297 | 				 { | ||
| 1298 | 				 ++pp; | ||
| 1299 | 				 if (*pp == 0 || !remain || (c = in_ch (s, &read_in)) == EOF) | ||
| 1300 | 					break; | ||
| 1301 | 				 --remain; | ||
| 1302 | 				 } | ||
| 1303 | 				} | ||
| 1304 | 			 } | ||
| 1305 | |||
| 1306 | 			 if (pp != NULL && *pp == 0) | ||
| 1307 | 			 { | ||
| 1308 | 			 /* As our conversion routines aren't supporting thousands | ||
| 1309 | 				 separators, we are filtering them here. */ | ||
| 1310 | 			 if (width > 0) | ||
| 1311 | 				width = remain; | ||
| 1312 | 			 } | ||
| 1313 | 			 else | ||
| 1314 | 			 { | ||
| 1315 | 			 back_ch (c, s, &read_in, 0); | ||
| 1316 | 			 break; | ||
| 1317 | 			 } | ||
| 1318 | 			} | ||
| 1319 | 		 } | ||
| 1320 | |||
| 1321 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == EOF) | ||
| 1322 | 		 break; | ||
| 1323 | |||
| 1324 | 		 if (width > 0) | ||
| 1325 | 		 --width; | ||
| 1326 | 		} | ||
| 1327 | |||
| 1328 | 	 if (!wbuf_cur_sz || ((flags & IS_HEX_FLOAT) != 0 && wbuf_cur_sz == 2)) | ||
| 1329 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1330 | 	 } | ||
| 1331 | |||
| 1332 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1333 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1334 | |||
| 1335 | 	 if ((flags & IS_LL) != 0) | ||
| 1336 | 	 { | ||
| 1337 | 	 long double ld; | ||
| 1338 | 	 ld = __mingw_strtold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1339 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1340 | 	 *(npos != 0 ? (long double *) get_va_nth (argp, npos) : va_arg (arg, long double *)) = is_neg ? -ld : ld; | ||
| 1341 | 	 } | ||
| 1342 | 	 else if ((flags & IS_L) != 0) | ||
| 1343 | 	 { | ||
| 1344 | 	 double d; | ||
| 1345 | 	 d = (double) __mingw_strtold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1346 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1347 | 		*(npos != 0 ? (double *) get_va_nth (argp, npos) : va_arg (arg, double *)) = is_neg ? -d : d; | ||
| 1348 | 	 } | ||
| 1349 | 	 else | ||
| 1350 | 	 { | ||
| 1351 | 	 float d = __mingw_strtof (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1352 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1353 | 		*(npos != 0 ? (float *) get_va_nth (argp, npos) : va_arg (arg, float *)) = is_neg ? -d : d; | ||
| 1354 | 	 } | ||
| 1355 | |||
| 1356 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1357 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1358 | |||
| 1359 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1360 | 	 ++rval; | ||
| 1361 | 	 break; | ||
| 1362 | |||
| 1363 | 	case '[': | ||
| 1364 | 	 if ((flags & IS_L) != 0) | ||
| 1365 | 	 { | ||
| 1366 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1367 | 		{ | ||
| 1368 | 		 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1369 | 		 { | ||
| 1370 | 		 if (npos != 0) | ||
| 1371 | 			pstr = (char **) get_va_nth (argp, npos); | ||
| 1372 | 		 else | ||
| 1373 | 			pstr = va_arg (arg, char **); | ||
| 1374 | |||
| 1375 | 		 if (!pstr) | ||
| 1376 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1377 | |||
| 1378 | 		 str_sz = 100; | ||
| 1379 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 1380 | |||
| 1381 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 1382 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1383 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1384 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1385 | 		 } | ||
| 1386 | 		 else | ||
| 1387 | 		 { | ||
| 1388 | 		 if (npos != 0) | ||
| 1389 | 			wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 1390 | 		 else | ||
| 1391 | 			wstr = va_arg (arg, wchar_t *); | ||
| 1392 | 		 if (!wstr) | ||
| 1393 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1394 | 		 } | ||
| 1395 | 		} | ||
| 1396 | 	 } | ||
| 1397 | 	 else if ((flags & IS_SUPPRESSED) == 0) | ||
| 1398 | 	 { | ||
| 1399 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1400 | 		{ | ||
| 1401 | 		 if (npos != 0) | ||
| 1402 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1403 | 		 else | ||
| 1404 | 		 pstr = va_arg (arg, char **); | ||
| 1405 | |||
| 1406 | 		 if (!pstr) | ||
| 1407 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1408 | |||
| 1409 | 		 str_sz = 100; | ||
| 1410 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 1411 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1412 | |||
| 1413 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1414 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1415 | 		} | ||
| 1416 | 	 else | ||
| 1417 | 		{ | ||
| 1418 | 		 if (npos != 0) | ||
| 1419 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 1420 | 		 else | ||
| 1421 | 		 str = va_arg (arg, char *); | ||
| 1422 | 		 if (!str) | ||
| 1423 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1424 | 		} | ||
| 1425 | 	 } | ||
| 1426 | |||
| 1427 | 	 not_in = (*f == '^' ? 1 : 0); | ||
| 1428 | 	 if (*f == '^') | ||
| 1429 | 	 f++; | ||
| 1430 | |||
| 1431 | 	 if (width < 0) | ||
| 1432 | 	 width = INT_MAX; | ||
| 1433 | |||
| 1434 | 	 if (wbuf_max_sz < 256) | ||
| 1435 | 	 { | ||
| 1436 | 	 wbuf_max_sz = 256; | ||
| 1437 | 	 if (wbuf) | ||
| 1438 | 	 free (wbuf); | ||
| 1439 | 	 wbuf = (char *) malloc (wbuf_max_sz); | ||
| 1440 | 	 } | ||
| 1441 | 	 memset (wbuf, 0, 256); | ||
| 1442 | |||
| 1443 | 	 fc = *f; | ||
| 1444 | 	 if (fc == ']' || fc == '-') | ||
| 1445 | 	 { | ||
| 1446 | 	 wbuf[fc] = 1; | ||
| 1447 | 	 ++f; | ||
| 1448 | 	 } | ||
| 1449 | |||
| 1450 | 	 while ((fc = *f++) != 0 && fc != ']') | ||
| 1451 | 	 { | ||
| 1452 | 	 if (fc == '-' && *f != 0 && *f != ']' && (unsigned char) f[-2] <= (unsigned char) *f) | ||
| 1453 | 		{ | ||
| 1454 | 		 for (fc = (unsigned char) f[-2]; fc < (unsigned char) *f; ++fc) | ||
| 1455 | 		 wbuf[fc] = 1; | ||
| 1456 | 		} | ||
| 1457 | 	 else | ||
| 1458 | 		wbuf[fc] = 1; | ||
| 1459 | 	 } | ||
| 1460 | |||
| 1461 | 	 if (!fc) | ||
| 1462 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1463 | |||
| 1464 | 	 if ((flags & IS_L) != 0) | ||
| 1465 | 	 { | ||
| 1466 | 	 read_in_sv = read_in; | ||
| 1467 | 	 cnt = 0; | ||
| 1468 | |||
| 1469 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1470 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1471 | |||
| 1472 | 	 memset (&cstate, 0, sizeof (cstate)); | ||
| 1473 | |||
| 1474 | 	 do | ||
| 1475 | 		{ | ||
| 1476 | 		 if (wbuf[c] == not_in) | ||
| 1477 | 		 { | ||
| 1478 | 		 back_ch (c, s, &read_in, 1); | ||
| 1479 | 		 break; | ||
| 1480 | 		 } | ||
| 1481 | |||
| 1482 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1483 | 		 { | ||
| 1484 | 		 buf[0] = c; | ||
| 1485 | 		 n = mbrtowc (wstr, buf, 1, &cstate); | ||
| 1486 | |||
| 1487 | 		 if (n == (size_t) -2) | ||
| 1488 | 			{ | ||
| 1489 | 			 ++cnt; | ||
| 1490 | 			 continue; | ||
| 1491 | 			} | ||
| 1492 | 		 cnt = 0; | ||
| 1493 | |||
| 1494 | 		 ++wstr; | ||
| 1495 | 		 if ((flags & IS_ALLOC_USED) != 0 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 1496 | 			{ | ||
| 1497 | 			 new_sz = str_sz * 2; | ||
| 1498 | 			 while ((wstr = (wchar_t *) realloc (*pstr, new_sz * sizeof (wchar_t))) == NULL | ||
| 1499 | 			 	 && new_sz > (size_t) (str_sz + 1)) | ||
| 1500 | 			 new_sz = str_sz + 1; | ||
| 1501 | 			 if (!wstr) | ||
| 1502 | 			 { | ||
| 1503 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1504 | 				{ | ||
| 1505 | 				 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 1506 | 				 pstr = NULL; | ||
| 1507 | 				 ++rval; | ||
| 1508 | 				} | ||
| 1509 | 			 else | ||
| 1510 | 				rval = EOF; | ||
| 1511 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1512 | 			 } | ||
| 1513 | 			 *pstr = (char *) wstr; | ||
| 1514 | 			 wstr += str_sz; | ||
| 1515 | 			 str_sz = new_sz; | ||
| 1516 | 			} | ||
| 1517 | 		 } | ||
| 1518 | |||
| 1519 | 		 if (--width <= 0) | ||
| 1520 | 		 break; | ||
| 1521 | 		} | ||
| 1522 | 	 while ((c = in_ch (s, &read_in)) != EOF); | ||
| 1523 | |||
| 1524 | 	 if (cnt != 0) | ||
| 1525 | 		{ | ||
| 1526 | 		 errno = EILSEQ; | ||
| 1527 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1528 | 		} | ||
| 1529 | |||
| 1530 | 	 if (read_in_sv == read_in) | ||
| 1531 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1532 | |||
| 1533 | |||
| 1534 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1535 | 		{ | ||
| 1536 | 		 *wstr++ = 0; | ||
| 1537 | 		 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 1538 | 		 pstr = NULL; | ||
| 1539 | 		 ++rval; | ||
| 1540 | 		} | ||
| 1541 | 	 } | ||
| 1542 | 	 else | ||
| 1543 | 	 { | ||
| 1544 | 	 read_in_sv = read_in; | ||
| 1545 | |||
| 1546 | 	 if ((c = in_ch (s, &read_in)) == EOF) | ||
| 1547 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1548 | |||
| 1549 | 	 do | ||
| 1550 | 		{ | ||
| 1551 | 		 if (wbuf[c] == not_in) | ||
| 1552 | 		 { | ||
| 1553 | 		 back_ch (c, s, &read_in, 1); | ||
| 1554 | 		 break; | ||
| 1555 | 		 } | ||
| 1556 | |||
| 1557 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1558 | 		 { | ||
| 1559 | 		 *str++ = c; | ||
| 1560 | 		 if ((flags & IS_ALLOC_USED) != 0 && str == (*pstr + str_sz)) | ||
| 1561 | 			{ | ||
| 1562 | 			 new_sz = str_sz * 2; | ||
| 1563 | |||
| 1564 | 			 while ((str = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 1565 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 1566 | 			 new_sz = str_sz + 1; | ||
| 1567 | 			 if (!str) | ||
| 1568 | 			 { | ||
| 1569 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1570 | 				{ | ||
| 1571 | 				 (*pstr)[str_sz - 1] = 0; | ||
| 1572 | 				 pstr = NULL; | ||
| 1573 | 				 ++rval; | ||
| 1574 | 				} | ||
| 1575 | 			 else | ||
| 1576 | 			 rval = EOF; | ||
| 1577 | 			 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1578 | 			 } | ||
| 1579 | 			 *pstr = str; | ||
| 1580 | 			 str += str_sz; | ||
| 1581 | 			 str_sz = new_sz; | ||
| 1582 | 			} | ||
| 1583 | 		 } | ||
| 1584 | 		} | ||
| 1585 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != EOF); | ||
| 1586 | |||
| 1587 | 	 if (read_in_sv == read_in) | ||
| 1588 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1589 | |||
| 1590 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1591 | 		{ | ||
| 1592 | 		 *str++ = 0; | ||
| 1593 | 		 optimize_alloc (pstr, str, str_sz); | ||
| 1594 | 		 pstr = NULL; | ||
| 1595 | 		 ++rval; | ||
| 1596 | 		} | ||
| 1597 | 	 } | ||
| 1598 | 	 break; | ||
| 1599 | |||
| 1600 | 	default: | ||
| 1601 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1602 | 	} | ||
| 1603 | } | ||
| 1604 | |||
| 1605 | if (ignore_ws) | ||
| 1606 | { | ||
| 1607 | while (isspace ((c = in_ch (s, &read_in)))); | ||
| 1608 | back_ch (c, s, &read_in, 0); | ||
| 1609 | } | ||
| 1610 | |||
| 1611 | return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1612 | } | ||
| 1613 | 6 | ||
| 1614 | int | 7 | int |
| 1615 | __mingw_vfscanf (FILE *s, const char *format, va_list argp) | 8 | __mingw_vfscanf (FILE *s, const char *format, va_list argp) |
| ... | @@ -1619,14 +12,3 @@ __mingw_vfscanf (FILE *s, const char *format, va_list argp) | ... | @@ -1619,14 +12,3 @@ __mingw_vfscanf (FILE *s, const char *format, va_list argp) |
| 1619 | ifp.fp = s; | 12 | ifp.fp = s; |
| 1620 | return __mingw_sformat (&ifp, format, argp); | 13 | return __mingw_sformat (&ifp, format, argp); |
| 1621 | } | 14 | } |
| 1622 | |||
| 1623 | int | ||
| 1624 | __mingw_vsscanf (const char *s, const char *format, va_list argp) | ||
| 1625 | { | ||
| 1626 | _IFP ifp; | ||
| 1627 | memset (&ifp, 0, sizeof (_IFP)); | ||
| 1628 | ifp.str = s; | ||
| 1629 | ifp.is_string = 1; | ||
| 1630 | return __mingw_sformat (&ifp, format, argp); | ||
| 1631 | } | ||
| 1632 |
lib/libc/mingw/stdio/mingw_vfwprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vfprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_vfwscanf.c created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | #include <stdarg.h> | ||
| 2 | #include <stdio.h> | ||
| 3 | #include <string.h> | ||
| 4 | |||
| 5 | #include "mingw_swformat.h" | ||
| 6 | |||
| 7 | int | ||
| 8 | __mingw_vfwscanf (FILE *s, const wchar_t *format, va_list argp) | ||
| 9 | { | ||
| 10 | _IFPW ifp; | ||
| 11 | memset (&ifp, 0, sizeof (_IFPW)); | ||
| 12 | ifp.fp = s; | ||
| 13 | return __mingw_swformat (&ifp, format, argp); | ||
| 14 | } | ||
lib/libc/mingw/stdio/mingw_vprintfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_vsnprintf.c+18| ... | @@ -34,11 +34,20 @@ int __cdecl __vsnprintf(APICHAR *buf, size_t length, const APICHAR *fmt, va_list | ... | @@ -34,11 +34,20 @@ int __cdecl __vsnprintf(APICHAR *buf, size_t length, const APICHAR *fmt, va_list |
| 34 | register int retval; | 34 | register int retval; |
| 35 | 35 | ||
| 36 | if( length == (size_t)(0) ) | 36 | if( length == (size_t)(0) ) |
| 37 | { | ||
| 38 | #if defined(__BUILD_WIDEAPI) && defined(__BUILD_WIDEAPI_ISO) | ||
| 39 | /* No buffer; for wide api ISO C95+ vswprintf() function | ||
| 40 | * simply returns negative value as required by ISO C95+. | ||
| 41 | */ | ||
| 42 | return -1; | ||
| 43 | #else | ||
| 37 | /* | 44 | /* |
| 38 | * No buffer; simply compute and return the size required, | 45 | * No buffer; simply compute and return the size required, |
| 39 | * without actually emitting any data. | 46 | * without actually emitting any data. |
| 40 | */ | 47 | */ |
| 41 | return __pformat( 0, buf, 0, fmt, argv); | 48 | return __pformat( 0, buf, 0, fmt, argv); |
| 49 | #endif | ||
| 50 | } | ||
| 42 | 51 | ||
| 43 | /* If we get to here, then we have a buffer... | 52 | /* If we get to here, then we have a buffer... |
| 44 | * Emit data up to the limit of buffer length less one, | 53 | * Emit data up to the limit of buffer length less one, |
| ... | @@ -47,6 +56,15 @@ int __cdecl __vsnprintf(APICHAR *buf, size_t length, const APICHAR *fmt, va_list | ... | @@ -47,6 +56,15 @@ int __cdecl __vsnprintf(APICHAR *buf, size_t length, const APICHAR *fmt, va_list |
| 47 | retval = __pformat( 0, buf, --length, fmt, argv ); | 56 | retval = __pformat( 0, buf, --length, fmt, argv ); |
| 48 | buf[retval < (int) length ? retval : (int)length] = '\0'; | 57 | buf[retval < (int) length ? retval : (int)length] = '\0'; |
| 49 | 58 | ||
| 59 | #if defined(__BUILD_WIDEAPI) && defined(__BUILD_WIDEAPI_ISO) | ||
| 60 | /* For wide api ISO C95+ vswprintf() when requested length | ||
| 61 | * is equal or larger than buffer length, returns negative | ||
| 62 | * value as required by ISO C95+. | ||
| 63 | */ | ||
| 64 | if( retval >= (int) length ) | ||
| 65 | retval = -1; | ||
| 66 | #endif | ||
| 67 | |||
| 50 | return retval; | 68 | return retval; |
| 51 | } | 69 | } |
| 52 | 70 |
lib/libc/mingw/stdio/mingw_vsnprintfw.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vsnprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_vsnwprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vsnprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_vsprintfw.c deleted-10| ... | @@ -1,10 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | #define _CRT_NON_CONFORMING_SWPRINTFS 1 | ||
| 8 | |||
| 9 | #include "mingw_vsprintf.c" | ||
| 10 | |||
lib/libc/mingw/stdio/mingw_vsscanf.c created+15| ... | @@ -0,0 +1,15 @@ | ||
| 1 | #include <stdarg.h> | ||
| 2 | #include <stdio.h> | ||
| 3 | #include <string.h> | ||
| 4 | |||
| 5 | #include "mingw_sformat.h" | ||
| 6 | |||
| 7 | int | ||
| 8 | __mingw_vsscanf (const char *s, const char *format, va_list argp) | ||
| 9 | { | ||
| 10 | _IFP ifp; | ||
| 11 | memset (&ifp, 0, sizeof (_IFP)); | ||
| 12 | ifp.str = s; | ||
| 13 | ifp.is_string = 1; | ||
| 14 | return __mingw_sformat (&ifp, format, argp); | ||
| 15 | } | ||
lib/libc/mingw/stdio/mingw_vswprintf.c created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | #define __BUILD_WIDEAPI_ISO 1 | ||
| 8 | |||
| 9 | #include "mingw_vsnprintf.c" | ||
| 10 | |||
lib/libc/mingw/stdio/mingw_vswscanf.c created+15| ... | @@ -0,0 +1,15 @@ | ||
| 1 | #include <stdarg.h> | ||
| 2 | #include <stdio.h> | ||
| 3 | #include <string.h> | ||
| 4 | |||
| 5 | #include "mingw_swformat.h" | ||
| 6 | |||
| 7 | int | ||
| 8 | __mingw_vswscanf (const wchar_t *s, const wchar_t *format, va_list argp) | ||
| 9 | { | ||
| 10 | _IFPW ifp; | ||
| 11 | memset (&ifp, 0, sizeof (_IFPW)); | ||
| 12 | ifp.str = s; | ||
| 13 | ifp.is_string = 1; | ||
| 14 | return __mingw_swformat (&ifp, format, argp); | ||
| 15 | } | ||
lib/libc/mingw/stdio/mingw_vwprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_vprintf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_wpformat.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_pformat.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_wprintf.c created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #define __BUILD_WIDEAPI 1 | ||
| 7 | |||
| 8 | #include "mingw_printf.c" | ||
| 9 | |||
lib/libc/mingw/stdio/mingw_wvfscanf.c deleted-1631| ... | @@ -1,1631 +0,0 @@ | ||
| 1 | /* | ||
| 2 | This Software is provided under the Zope Public License (ZPL) Version 2.1. | ||
| 3 | |||
| 4 | Copyright (c) 2011 by the mingw-w64 project | ||
| 5 | |||
| 6 | See the AUTHORS file for the list of contributors to the mingw-w64 project. | ||
| 7 | |||
| 8 | This license has been certified as open source. It has also been designated | ||
| 9 | as GPL compatible by the Free Software Foundation (FSF). | ||
| 10 | |||
| 11 | Redistribution and use in source and binary forms, with or without | ||
| 12 | modification, are permitted provided that the following conditions are met: | ||
| 13 | |||
| 14 | 1. Redistributions in source code must retain the accompanying copyright | ||
| 15 | notice, this list of conditions, and the following disclaimer. | ||
| 16 | 2. Redistributions in binary form must reproduce the accompanying | ||
| 17 | copyright notice, this list of conditions, and the following disclaimer | ||
| 18 | in the documentation and/or other materials provided with the | ||
| 19 | distribution. | ||
| 20 | 3. Names of the copyright holders must not be used to endorse or promote | ||
| 21 | products derived from this software without prior written permission | ||
| 22 | from the copyright holders. | ||
| 23 | 4. The right to distribute this software or to use it for any purpose does | ||
| 24 | not give you the right to use Servicemarks (sm) or Trademarks (tm) of | ||
| 25 | the copyright holders. Use of them is covered by separate agreement | ||
| 26 | with the copyright holders. | ||
| 27 | 5. If any files are modified, you must cause the modified files to carry | ||
| 28 | prominent notices stating that you changed the files and the date of | ||
| 29 | any change. | ||
| 30 | |||
| 31 | Disclaimer | ||
| 32 | |||
| 33 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED | ||
| 34 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 35 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 36 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 37 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 38 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
| 39 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
| 40 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 41 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 42 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 43 | */ | ||
| 44 | |||
| 45 | #define __LARGE_MBSTATE_T | ||
| 46 | |||
| 47 | #include <limits.h> | ||
| 48 | #include <stddef.h> | ||
| 49 | #include <stdarg.h> | ||
| 50 | #include <stdio.h> | ||
| 51 | #include <stdint.h> | ||
| 52 | #include <stdlib.h> | ||
| 53 | #include <string.h> | ||
| 54 | #include <wchar.h> | ||
| 55 | #include <ctype.h> | ||
| 56 | #include <wctype.h> | ||
| 57 | #include <locale.h> | ||
| 58 | #include <errno.h> | ||
| 59 | |||
| 60 | #ifndef CP_UTF8 | ||
| 61 | #define CP_UTF8 65001 | ||
| 62 | #endif | ||
| 63 | |||
| 64 | #ifndef MB_ERR_INVALID_CHARS | ||
| 65 | #define MB_ERR_INVALID_CHARS 0x00000008 | ||
| 66 | #endif | ||
| 67 | |||
| 68 | /* Helper flags for conversion. */ | ||
| 69 | #define IS_C		0x0001 | ||
| 70 | #define IS_S		0x0002 | ||
| 71 | #define IS_L		0x0004 | ||
| 72 | #define IS_LL		0x0008 | ||
| 73 | #define IS_SIGNED_NUM	0x0010 | ||
| 74 | #define IS_POINTER	0x0020 | ||
| 75 | #define IS_HEX_FLOAT	0x0040 | ||
| 76 | #define IS_SUPPRESSED	0x0080 | ||
| 77 | #define USE_GROUP	0x0100 | ||
| 78 | #define USE_GNU_ALLOC	0x0200 | ||
| 79 | #define USE_POSIX_ALLOC	0x0400 | ||
| 80 | |||
| 81 | #define IS_ALLOC_USED	(USE_GNU_ALLOC | USE_POSIX_ALLOC) | ||
| 82 | |||
| 83 | /* internal stream structure with back-buffer. */ | ||
| 84 | typedef struct _IFP | ||
| 85 | { | ||
| 86 | __extension__ union { | ||
| 87 | void *fp; | ||
| 88 | const wchar_t *str; | ||
| 89 | }; | ||
| 90 | int bch[1024]; | ||
| 91 | unsigned int is_string : 1; | ||
| 92 | int back_top; | ||
| 93 | unsigned int seen_eof : 1; | ||
| 94 | } _IFP; | ||
| 95 | |||
| 96 | static void * | ||
| 97 | get_va_nth (va_list argp, unsigned int n) | ||
| 98 | { | ||
| 99 | va_list ap; | ||
| 100 | if (!n) | ||
| 101 | abort (); | ||
| 102 | va_copy (ap, argp); | ||
| 103 | while (--n > 0) | ||
| 104 | (void) va_arg(ap, void *); | ||
| 105 | return va_arg (ap, void *); | ||
| 106 | } | ||
| 107 | |||
| 108 | static void | ||
| 109 | optimize_alloc (char **p, char *end, size_t alloc_sz) | ||
| 110 | { | ||
| 111 | size_t need_sz; | ||
| 112 | char *h; | ||
| 113 | |||
| 114 | if (!p || !*p) | ||
| 115 | return; | ||
| 116 | |||
| 117 | need_sz = end - *p; | ||
| 118 | if (need_sz == alloc_sz) | ||
| 119 | return; | ||
| 120 | |||
| 121 | if ((h = (char *) realloc (*p, need_sz)) != NULL) | ||
| 122 | *p = h; | ||
| 123 | } | ||
| 124 | |||
| 125 | static void | ||
| 126 | back_ch (int c, _IFP *s, size_t *rin, int not_eof) | ||
| 127 | { | ||
| 128 | if (!not_eof && c == WEOF) | ||
| 129 | return; | ||
| 130 | if (s->is_string == 0) | ||
| 131 | { | ||
| 132 | FILE *fp = s->fp; | ||
| 133 | ungetwc (c, fp); | ||
| 134 | rin[0] -= 1; | ||
| 135 | return; | ||
| 136 | } | ||
| 137 | rin[0] -= 1; | ||
| 138 | s->bch[s->back_top] = c; | ||
| 139 | s->back_top += 1; | ||
| 140 | } | ||
| 141 | |||
| 142 | static int | ||
| 143 | in_ch (_IFP *s, size_t *rin) | ||
| 144 | { | ||
| 145 | int r; | ||
| 146 | if (s->back_top) | ||
| 147 | { | ||
| 148 | s->back_top -= 1; | ||
| 149 | r = s->bch[s->back_top]; | ||
| 150 | rin[0] += 1; | ||
| 151 | } | ||
| 152 | else if (s->seen_eof) | ||
| 153 | { | ||
| 154 | return WEOF; | ||
| 155 | } | ||
| 156 | else if (s->is_string) | ||
| 157 | { | ||
| 158 | const wchar_t *ps = s->str; | ||
| 159 | r = ((int) *ps) & 0xffff; | ||
| 160 | ps++; | ||
| 161 | if (r != 0) | ||
| 162 | { | ||
| 163 | rin[0] += 1; | ||
| 164 | s->str = ps; | ||
| 165 | return r; | ||
| 166 | } | ||
| 167 | s->seen_eof = 1; | ||
| 168 | return WEOF; | ||
| 169 | } | ||
| 170 | else | ||
| 171 | { | ||
| 172 | FILE *fp = (FILE *) s->fp; | ||
| 173 | r = getwc (fp); | ||
| 174 | if (r != WEOF) | ||
| 175 | rin[0] += 1; | ||
| 176 | else s->seen_eof = 1; | ||
| 177 | } | ||
| 178 | return r; | ||
| 179 | } | ||
| 180 | |||
| 181 | static int | ||
| 182 | match_string (_IFP *s, size_t *rin, wint_t *c, const wchar_t *str) | ||
| 183 | { | ||
| 184 | int ch = *c; | ||
| 185 | |||
| 186 | if (*str == 0) | ||
| 187 | return 1; | ||
| 188 | |||
| 189 | if (*str != (wchar_t) towlower (ch)) | ||
| 190 | return 0; | ||
| 191 | ++str; | ||
| 192 | while (*str != 0) | ||
| 193 | { | ||
| 194 | if ((ch = in_ch (s, rin)) == WEOF) | ||
| 195 | { | ||
| 196 | c[0] = ch; | ||
| 197 | return 0; | ||
| 198 | } | ||
| 199 | |||
| 200 | if (*str != (wchar_t) towlower (ch)) | ||
| 201 | { | ||
| 202 | c[0] = ch; | ||
| 203 | return 0; | ||
| 204 | } | ||
| 205 | ++str; | ||
| 206 | } | ||
| 207 | c[0] = ch; | ||
| 208 | return 1; | ||
| 209 | } | ||
| 210 | |||
| 211 | struct gcollect | ||
| 212 | { | ||
| 213 | size_t count; | ||
| 214 | struct gcollect *next; | ||
| 215 | char **ptrs[32]; | ||
| 216 | }; | ||
| 217 | |||
| 218 | static void | ||
| 219 | release_ptrs (struct gcollect **pt, wchar_t **wbuf) | ||
| 220 | { | ||
| 221 | struct gcollect *pf; | ||
| 222 | size_t cnt; | ||
| 223 | |||
| 224 | if (wbuf) | ||
| 225 | { | ||
| 226 | free (*wbuf); | ||
| 227 | *wbuf = NULL; | ||
| 228 | } | ||
| 229 | if (!pt || (pf = *pt) == NULL) | ||
| 230 | return; | ||
| 231 | while (pf != NULL) | ||
| 232 | { | ||
| 233 | struct gcollect *pf_sv = pf; | ||
| 234 | for (cnt = 0; cnt < pf->count; ++cnt) | ||
| 235 | 	{ | ||
| 236 | 	 free (*pf->ptrs[cnt]); | ||
| 237 | 	 *pf->ptrs[cnt] = NULL; | ||
| 238 | 	} | ||
| 239 | pf = pf->next; | ||
| 240 | free (pf_sv); | ||
| 241 | } | ||
| 242 | *pt = NULL; | ||
| 243 | } | ||
| 244 | |||
| 245 | static int | ||
| 246 | cleanup_return (int rval, struct gcollect **pfree, char **strp, wchar_t **wbuf) | ||
| 247 | { | ||
| 248 | if (rval == EOF) | ||
| 249 | release_ptrs (pfree, wbuf); | ||
| 250 | else | ||
| 251 | { | ||
| 252 | if (pfree) | ||
| 253 | { | ||
| 254 | struct gcollect *pf = *pfree, *pf_sv; | ||
| 255 | while (pf != NULL) | ||
| 256 | { | ||
| 257 | pf_sv = pf; | ||
| 258 | pf = pf->next; | ||
| 259 | free (pf_sv); | ||
| 260 | } | ||
| 261 | *pfree = NULL; | ||
| 262 | } | ||
| 263 | if (strp != NULL) | ||
| 264 | 	{ | ||
| 265 | 	 free (*strp); | ||
| 266 | 	 *strp = NULL; | ||
| 267 | 	} | ||
| 268 | if (wbuf) | ||
| 269 | 	{ | ||
| 270 | 	 free (*wbuf); | ||
| 271 | 	 *wbuf = NULL; | ||
| 272 | 	} | ||
| 273 | } | ||
| 274 | return rval; | ||
| 275 | } | ||
| 276 | |||
| 277 | static struct gcollect * | ||
| 278 | resize_gcollect (struct gcollect *pf) | ||
| 279 | { | ||
| 280 | struct gcollect *np; | ||
| 281 | if (pf && pf->count < 32) | ||
| 282 | return pf; | ||
| 283 | np = malloc (sizeof (struct gcollect)); | ||
| 284 | np->count = 0; | ||
| 285 | np->next = pf; | ||
| 286 | return np; | ||
| 287 | } | ||
| 288 | |||
| 289 | static wchar_t * | ||
| 290 | resize_wbuf (size_t wpsz, size_t *wbuf_max_sz, wchar_t *old) | ||
| 291 | { | ||
| 292 | wchar_t *wbuf; | ||
| 293 | size_t nsz; | ||
| 294 | if (*wbuf_max_sz != wpsz) | ||
| 295 | return old; | ||
| 296 | nsz = (256 > (2 * wbuf_max_sz[0]) ? 256 : (2 * wbuf_max_sz[0])); | ||
| 297 | if (!old) | ||
| 298 | wbuf = (wchar_t *) malloc (nsz * sizeof (wchar_t)); | ||
| 299 | else | ||
| 300 | wbuf = (wchar_t *) realloc (old, nsz * sizeof (wchar_t)); | ||
| 301 | if (!wbuf) | ||
| 302 | { | ||
| 303 | if (old) | ||
| 304 | free (old); | ||
| 305 | } | ||
| 306 | else | ||
| 307 | *wbuf_max_sz = nsz; | ||
| 308 | return wbuf; | ||
| 309 | } | ||
| 310 | |||
| 311 | static int | ||
| 312 | __mingw_swformat (_IFP *s, const wchar_t *format, va_list argp) | ||
| 313 | { | ||
| 314 | const wchar_t *f = format; | ||
| 315 | struct gcollect *gcollect = NULL; | ||
| 316 | size_t read_in = 0, wbuf_max_sz = 0; | ||
| 317 | ssize_t str_sz = 0; | ||
| 318 | char *str = NULL, **pstr = NULL;; | ||
| 319 | wchar_t *wstr = NULL, *wbuf = NULL; | ||
| 320 | wint_t c = 0, rval = 0; | ||
| 321 | int ignore_ws = 0; | ||
| 322 | va_list arg; | ||
| 323 | size_t wbuf_cur_sz, str_len, read_in_sv, new_sz, n; | ||
| 324 | unsigned int fc, npos; | ||
| 325 | int width, flags, base = 0, errno_sv, clen; | ||
| 326 | char seen_dot, seen_exp, is_neg, *nstr, buf[MB_LEN_MAX]; | ||
| 327 | wchar_t wc, not_in, *tmp_wbuf_ptr, *temp_wbuf_end, *wbuf_iter; | ||
| 328 | wint_t lc_decimal_point, lc_thousands_sep; | ||
| 329 | mbstate_t state; | ||
| 330 | union { | ||
| 331 | unsigned long long ull; | ||
| 332 | unsigned long ul; | ||
| 333 | long long ll; | ||
| 334 | long l; | ||
| 335 | } cv_val; | ||
| 336 | |||
| 337 | arg = argp; | ||
| 338 | |||
| 339 | if (!s || s->fp == NULL || !format) | ||
| 340 | { | ||
| 341 | errno = EINVAL; | ||
| 342 | return EOF; | ||
| 343 | } | ||
| 344 | |||
| 345 | memset (&state, 0, sizeof(state)); | ||
| 346 | clen = mbrtowc( &wc, localeconv()->decimal_point, 16, &state); | ||
| 347 | lc_decimal_point = (clen > 0 ? wc : '.'); | ||
| 348 | memset( &state, 0, sizeof( state ) ); | ||
| 349 | clen = mbrtowc( &wc, localeconv()->thousands_sep, 16, &state); | ||
| 350 | lc_thousands_sep = (clen > 0 ? wc : 0); | ||
| 351 | |||
| 352 | while (*f != 0) | ||
| 353 | { | ||
| 354 | fc = *f++; | ||
| 355 | if (fc != '%') | ||
| 356 | { | ||
| 357 | if (iswspace (fc)) | ||
| 358 | 	 ignore_ws = 1; | ||
| 359 | 	 else | ||
| 360 | 	 { | ||
| 361 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 362 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 363 | |||
| 364 | 	 if (ignore_ws) | ||
| 365 | 		{ | ||
| 366 | 		 ignore_ws = 0; | ||
| 367 | 		 if (iswspace (c)) | ||
| 368 | 		 { | ||
| 369 | 		 do | ||
| 370 | 			{ | ||
| 371 | 			 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 372 | 			 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 373 | 			} | ||
| 374 | 		 while (iswspace (c)); | ||
| 375 | 		 } | ||
| 376 | 		} | ||
| 377 | |||
| 378 | 	 if (c != fc) | ||
| 379 | 		{ | ||
| 380 | 		 back_ch (c, s, &read_in, 0); | ||
| 381 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 382 | 		} | ||
| 383 | 	 } | ||
| 384 | |||
| 385 | 	 continue; | ||
| 386 | 	} | ||
| 387 | |||
| 388 | width = flags = 0; | ||
| 389 | npos = 0; | ||
| 390 | wbuf_cur_sz = 0; | ||
| 391 | |||
| 392 | if (iswdigit ((unsigned int) *f)) | ||
| 393 | 	{ | ||
| 394 | 	 const wchar_t *svf = f; | ||
| 395 | 	 npos = (unsigned int) *f++ - '0'; | ||
| 396 | 	 while (iswdigit ((unsigned int) *f)) | ||
| 397 | 	 npos = npos * 10 + ((unsigned int) *f++ - '0'); | ||
| 398 | 	 if (*f != '$') | ||
| 399 | 	 { | ||
| 400 | 	 npos = 0; | ||
| 401 | 	 f = svf; | ||
| 402 | 	 } | ||
| 403 | 	 else | ||
| 404 | 	 f++; | ||
| 405 | 	} | ||
| 406 | |||
| 407 | do | ||
| 408 | 	{ | ||
| 409 | 	 if (*f == '*') | ||
| 410 | 	 flags |= IS_SUPPRESSED; | ||
| 411 | 	 else if (*f == '\'') | ||
| 412 | 	 { | ||
| 413 | 	 if (lc_thousands_sep) | ||
| 414 | 		flags |= USE_GROUP; | ||
| 415 | 	 } | ||
| 416 | 	 else if (*f == 'I') | ||
| 417 | 	 { | ||
| 418 | 	 /* we don't support locale's digits (i18N), but ignore it for now silently. */ | ||
| 419 | 	 ; | ||
| 420 | #ifdef _WIN32 | ||
| 421 | if (f[1] == '6' && f[2] == '4') | ||
| 422 | { | ||
| 423 | 		 flags |= IS_LL | IS_L; | ||
| 424 | 		 f += 2; | ||
| 425 | 		} | ||
| 426 | 	 else if (f[1] == '3' && f[2] == '2') | ||
| 427 | 		{ | ||
| 428 | 		 flags |= IS_L; | ||
| 429 | 		 f += 2; | ||
| 430 | 		} | ||
| 431 | 	 else | ||
| 432 | 	 { | ||
| 433 | #ifdef _WIN64 | ||
| 434 | 		 flags |= IS_LL | IS_L; | ||
| 435 | #else | ||
| 436 | 		 flags |= IS_L; | ||
| 437 | #endif | ||
| 438 | 		} | ||
| 439 | #endif | ||
| 440 | 	 } | ||
| 441 | 	 else | ||
| 442 | 	 break; | ||
| 443 | 	 ++f; | ||
| 444 | } | ||
| 445 | while (1); | ||
| 446 | |||
| 447 | while (iswdigit ((unsigned char) *f)) | ||
| 448 | 	width = width * 10 + ((unsigned char) *f++ - '0'); | ||
| 449 | |||
| 450 | if (!width) | ||
| 451 | 	width = -1; | ||
| 452 | |||
| 453 | switch (*f) | ||
| 454 | 	{ | ||
| 455 | 	case 'h': | ||
| 456 | 	 ++f; | ||
| 457 | 	 flags |= (*f == 'h' ? IS_C : IS_S); | ||
| 458 | 	 if (*f == 'h') | ||
| 459 | 	 ++f; | ||
| 460 | 	 break; | ||
| 461 | 	case 'l': | ||
| 462 | 	 ++f; | ||
| 463 | 	 flags |= (*f == 'l' ? IS_LL : 0) | IS_L; | ||
| 464 | 	 if (*f == 'l') | ||
| 465 | 	 ++f; | ||
| 466 | 	 break; | ||
| 467 | 	case 'q': case 'L': | ||
| 468 | 	 ++f; | ||
| 469 | 	 flags |= IS_LL | IS_L; | ||
| 470 | 	 break; | ||
| 471 | 	case 'a': | ||
| 472 | 	 if (f[1] != 's' && f[1] != 'S' && f[1] != '[') | ||
| 473 | 	 break; | ||
| 474 | 	 ++f; | ||
| 475 | 	 flags |= USE_GNU_ALLOC; | ||
| 476 | 	 break; | ||
| 477 | 	case 'm': | ||
| 478 | 	 flags |= USE_POSIX_ALLOC; | ||
| 479 | 	 ++f; | ||
| 480 | 	 if (*f == 'l') | ||
| 481 | 	 { | ||
| 482 | 	 flags |= IS_L; | ||
| 483 | 	 ++f; | ||
| 484 | 	 } | ||
| 485 | 	 break; | ||
| 486 | 	case 'z': | ||
| 487 | #ifdef _WIN64 | ||
| 488 | 	 flags |= IS_LL | IS_L; | ||
| 489 | #else | ||
| 490 | 	 flags |= IS_L; | ||
| 491 | #endif | ||
| 492 | 	 ++f; | ||
| 493 | 	 break; | ||
| 494 | 	case 'j': | ||
| 495 | 	 if (sizeof (uintmax_t) > sizeof (unsigned long)) | ||
| 496 | 	 flags |= IS_LL; | ||
| 497 | 	 else if (sizeof (uintmax_t) > sizeof (unsigned int)) | ||
| 498 | 	 flags |= IS_L; | ||
| 499 | 	 ++f; | ||
| 500 | 	 break; | ||
| 501 | 	case 't': | ||
| 502 | #ifdef _WIN64 | ||
| 503 | 	 flags |= IS_LL; | ||
| 504 | #else | ||
| 505 | 	 flags |= IS_L; | ||
| 506 | #endif | ||
| 507 | 	 ++f; | ||
| 508 | 	 break; | ||
| 509 | 	case 0: | ||
| 510 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 511 | 	default: | ||
| 512 | 	 break; | ||
| 513 | 	} | ||
| 514 | |||
| 515 | if (*f == 0) | ||
| 516 | 	return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 517 | |||
| 518 | fc = *f++; | ||
| 519 | if (ignore_ws || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n')) | ||
| 520 | 	{ | ||
| 521 | 	 errno_sv = errno; | ||
| 522 | 	 errno = 0; | ||
| 523 | 	 do | ||
| 524 | 	 { | ||
| 525 | 	 if ((c == WEOF || (c = in_ch (s, &read_in)) == WEOF) && errno == EINTR) | ||
| 526 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 527 | 	 } | ||
| 528 | 	 while (iswspace (c)); | ||
| 529 | |||
| 530 | 	 ignore_ws = 0; | ||
| 531 | 	 errno = errno_sv; | ||
| 532 | 	 back_ch (c, s, &read_in, 0); | ||
| 533 | 	} | ||
| 534 | |||
| 535 | switch (fc) | ||
| 536 | { | ||
| 537 | case 'c': | ||
| 538 | if ((flags & IS_L) != 0) | ||
| 539 | fc = 'C'; | ||
| 540 | break; | ||
| 541 | case 's': | ||
| 542 | if ((flags & IS_L) != 0) | ||
| 543 | fc = 'S'; | ||
| 544 | break; | ||
| 545 | } | ||
| 546 | |||
| 547 | switch (fc) | ||
| 548 | 	{ | ||
| 549 | 	case '%': | ||
| 550 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 551 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 552 | 	 if (c != fc) | ||
| 553 | 	 { | ||
| 554 | 	 back_ch (c, s, &read_in, 1); | ||
| 555 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 556 | 	 } | ||
| 557 | 	 break; | ||
| 558 | |||
| 559 | 	case 'n': | ||
| 560 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 561 | 	 { | ||
| 562 | 	 if ((flags & IS_LL) != 0) | ||
| 563 | 		*(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = read_in; | ||
| 564 | 	 else if ((flags & IS_L) != 0) | ||
| 565 | 		*(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = read_in; | ||
| 566 | 	 else if ((flags & IS_S) != 0) | ||
| 567 | 		*(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = read_in; | ||
| 568 | 	 else if ((flags & IS_C) != 0) | ||
| 569 | 	 *(npos != 0 ? (char *) get_va_nth (argp, npos) : va_arg (arg, char *)) = read_in; | ||
| 570 | 	 else | ||
| 571 | 		*(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = read_in; | ||
| 572 | 	 } | ||
| 573 | 	 break; | ||
| 574 | |||
| 575 | 	case 'c': | ||
| 576 | 	 if (width == -1) | ||
| 577 | 	 width = 1; | ||
| 578 | |||
| 579 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 580 | 	 { | ||
| 581 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 582 | 		{ | ||
| 583 | 		 if (npos != 0) | ||
| 584 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 585 | 		 else | ||
| 586 | 		 pstr = va_arg (arg, char **); | ||
| 587 | |||
| 588 | 		 if (!pstr) | ||
| 589 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 590 | 		 str_sz = 100; | ||
| 591 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 592 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 593 | 		 gcollect = resize_gcollect (gcollect); | ||
| 594 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 595 | 		} | ||
| 596 | 	 else | ||
| 597 | 		{ | ||
| 598 | 		 if (npos != 0) | ||
| 599 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 600 | 		 else | ||
| 601 | 		 str = va_arg (arg, char *); | ||
| 602 | 		 if (!str) | ||
| 603 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 604 | 		} | ||
| 605 | 	 } | ||
| 606 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 607 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 608 | |||
| 609 | 	 memset (&state, 0, sizeof (state)); | ||
| 610 | |||
| 611 | 	 do | ||
| 612 | 	 { | ||
| 613 | 	 if ((flags & IS_SUPPRESSED) == 0 && (flags & USE_POSIX_ALLOC) != 0 | ||
| 614 | 		 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 615 | 		{ | ||
| 616 | 		 new_sz = str_sz * 2; | ||
| 617 | 		 str_len = (str - *pstr); | ||
| 618 | 		 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 619 | 			 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 620 | 		 new_sz = str_len + MB_CUR_MAX; | ||
| 621 | 		 if (!nstr) | ||
| 622 | 		 { | ||
| 623 | 		 release_ptrs (&gcollect, &wbuf); | ||
| 624 | 		 return EOF; | ||
| 625 | 		 } | ||
| 626 | 		 *pstr = nstr; | ||
| 627 | 		 str = nstr + str_len; | ||
| 628 | 		 str_sz = new_sz; | ||
| 629 | 		} | ||
| 630 | |||
| 631 | 	 n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, &state); | ||
| 632 | 	 if (n == (size_t) -1LL) | ||
| 633 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 634 | 	 str += n; | ||
| 635 | 	 } | ||
| 636 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 637 | |||
| 638 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 639 | 	 { | ||
| 640 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 641 | 	 pstr = NULL; | ||
| 642 | 	 ++rval; | ||
| 643 | 	 } | ||
| 644 | |||
| 645 | 	 break; | ||
| 646 | |||
| 647 | 	case 'C': | ||
| 648 | 	 if (width == -1) | ||
| 649 | 	 width = 1; | ||
| 650 | |||
| 651 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 652 | 	 { | ||
| 653 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 654 | 		{ | ||
| 655 | 		 if (npos != 0) | ||
| 656 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 657 | 		 else | ||
| 658 | 		 pstr = va_arg (arg, char **); | ||
| 659 | |||
| 660 | 		 if (!pstr) | ||
| 661 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 662 | 		 str_sz = (width > 1024 ? 1024 : width); | ||
| 663 | 		 *pstr = (char *) malloc (str_sz * sizeof (wchar_t)); | ||
| 664 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 665 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 666 | |||
| 667 | 		 if ((wstr = (wchar_t *) *pstr) != NULL) | ||
| 668 | 		 { | ||
| 669 | 		 gcollect = resize_gcollect (gcollect); | ||
| 670 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 671 | 		 } | ||
| 672 | 		} | ||
| 673 | 	 else | ||
| 674 | 		{ | ||
| 675 | 		 if (npos != 0) | ||
| 676 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 677 | 		 else | ||
| 678 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 679 | 		 if (!wstr) | ||
| 680 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 681 | 		} | ||
| 682 | 	 } | ||
| 683 | |||
| 684 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 685 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 686 | |||
| 687 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 688 | 	 { | ||
| 689 | 	 do | ||
| 690 | 		{ | ||
| 691 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 692 | 		 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 693 | 		 { | ||
| 694 | 		 new_sz = str_sz + (str_sz > width ? width - 1 : str_sz); | ||
| 695 | 		 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 696 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 697 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 698 | 			new_sz = str_sz + 1; | ||
| 699 | 		 if (!wstr) | ||
| 700 | 			{ | ||
| 701 | 			 release_ptrs (&gcollect, &wbuf); | ||
| 702 | 			 return EOF; | ||
| 703 | 			} | ||
| 704 | 		 *pstr = (char *) wstr; | ||
| 705 | 		 wstr += str_sz; | ||
| 706 | 		 str_sz = new_sz; | ||
| 707 | 		 } | ||
| 708 | 		 *wstr++ = c; | ||
| 709 | 		} | ||
| 710 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 711 | 	 } | ||
| 712 | 	 else | ||
| 713 | 	 { | ||
| 714 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 715 | 	 } | ||
| 716 | |||
| 717 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 718 | 	 { | ||
| 719 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 720 | 	 pstr = NULL; | ||
| 721 | 	 ++rval; | ||
| 722 | 	 } | ||
| 723 | 	 break; | ||
| 724 | |||
| 725 | 	case 's': | ||
| 726 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 727 | 	 { | ||
| 728 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 729 | 		{ | ||
| 730 | 		 if (npos != 0) | ||
| 731 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 732 | 		 else | ||
| 733 | 		 pstr = va_arg (arg, char **); | ||
| 734 | |||
| 735 | 		 if (!pstr) | ||
| 736 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 737 | 		 str_sz = 100; | ||
| 738 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 739 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 740 | 		 gcollect = resize_gcollect (gcollect); | ||
| 741 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 742 | 		} | ||
| 743 | 	 else | ||
| 744 | 		{ | ||
| 745 | 		 if (npos != 0) | ||
| 746 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 747 | 		 else | ||
| 748 | 		 str = va_arg (arg, char *); | ||
| 749 | 		 if (!str) | ||
| 750 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 751 | 		} | ||
| 752 | 	 } | ||
| 753 | |||
| 754 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 755 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 756 | |||
| 757 | 	 memset (&state, 0, sizeof (state)); | ||
| 758 | |||
| 759 | 	 do | ||
| 760 | 	 { | ||
| 761 | 	 if (iswspace (c)) | ||
| 762 | 		{ | ||
| 763 | 		 back_ch (c, s, &read_in, 1); | ||
| 764 | 		 break; | ||
| 765 | 		} | ||
| 766 | |||
| 767 | 	 { | ||
| 768 | 		if ((flags & IS_SUPPRESSED) == 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 769 | 		 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 770 | 		 { | ||
| 771 | 		 new_sz = str_sz * 2; | ||
| 772 | 		 str_len = (str - *pstr); | ||
| 773 | |||
| 774 | 		 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 775 | 			 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 776 | 		 new_sz = str_len + MB_CUR_MAX; | ||
| 777 | 		 if (!nstr) | ||
| 778 | 		 { | ||
| 779 | 			if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 780 | 			 { | ||
| 781 | 			 (*pstr)[str_len] = 0; | ||
| 782 | 			 pstr = NULL; | ||
| 783 | 			 ++rval; | ||
| 784 | 			 } | ||
| 785 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 786 | 		 } | ||
| 787 | 		 *pstr = nstr; | ||
| 788 | 		 str = nstr + str_len; | ||
| 789 | 		 str_sz = new_sz; | ||
| 790 | 		 } | ||
| 791 | |||
| 792 | 		n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, | ||
| 793 | 			 &state); | ||
| 794 | 		if (n == (size_t) -1LL) | ||
| 795 | 		{ | ||
| 796 | 		 errno = EILSEQ; | ||
| 797 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 798 | 		} | ||
| 799 | |||
| 800 | 		str += n; | ||
| 801 | 	 } | ||
| 802 | 	 } | ||
| 803 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != WEOF); | ||
| 804 | |||
| 805 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 806 | 	 { | ||
| 807 | 	 n = wcrtomb (buf, 0, &state); | ||
| 808 | 	 if (n > 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 809 | 		 && (str + n) >= (*pstr + str_sz)) | ||
| 810 | 		{ | ||
| 811 | 		 str_len = (str - *pstr); | ||
| 812 | |||
| 813 | 		 if ((nstr = (char *) realloc (*pstr, str_len + n + 1)) == NULL) | ||
| 814 | 		 { | ||
| 815 | 		 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 816 | 			{ | ||
| 817 | 			 (*pstr)[str_len] = 0; | ||
| 818 | 			 pstr = NULL; | ||
| 819 | 			 ++rval; | ||
| 820 | 			} | ||
| 821 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 822 | 		 } | ||
| 823 | 		 *pstr = nstr; | ||
| 824 | 		 str = nstr + str_len; | ||
| 825 | 		 str_sz = str_len + n + 1; | ||
| 826 | 		} | ||
| 827 | |||
| 828 | 	 if (n) | ||
| 829 | 	 { | ||
| 830 | 		memcpy (str, buf, n); | ||
| 831 | 		str += n; | ||
| 832 | 	 } | ||
| 833 | 	 *str++ = 0; | ||
| 834 | |||
| 835 | 	 optimize_alloc (pstr, str, str_sz); | ||
| 836 | 	 pstr = NULL; | ||
| 837 | 	 ++rval; | ||
| 838 | 	 } | ||
| 839 | 	 break; | ||
| 840 | |||
| 841 | 	case 'S': | ||
| 842 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 843 | 	 { | ||
| 844 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 845 | 		{ | ||
| 846 | 		 if (npos != 0) | ||
| 847 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 848 | 		 else | ||
| 849 | 		 pstr = va_arg (arg, char **); | ||
| 850 | |||
| 851 | 		 if (!pstr) | ||
| 852 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 853 | 		 str_sz = 100; | ||
| 854 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 855 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 856 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 857 | 		 gcollect = resize_gcollect (gcollect); | ||
| 858 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 859 | 		} | ||
| 860 | 	 else | ||
| 861 | 		{ | ||
| 862 | 		 if (npos != 0) | ||
| 863 | 		 wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 864 | 		 else | ||
| 865 | 		 wstr = va_arg (arg, wchar_t *); | ||
| 866 | 		 if (!wstr) | ||
| 867 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 868 | 		} | ||
| 869 | 	 } | ||
| 870 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 871 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 872 | |||
| 873 | 	 do | ||
| 874 | 	 { | ||
| 875 | 	 if (iswspace (c)) | ||
| 876 | 		{ | ||
| 877 | 		 back_ch (c, s, &read_in, 1); | ||
| 878 | 		 break; | ||
| 879 | 		} | ||
| 880 | |||
| 881 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 882 | 		{ | ||
| 883 | 		 *wstr++ = c; | ||
| 884 | 		 if ((flags & IS_ALLOC_USED) != 0 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 885 | 		 { | ||
| 886 | 		 new_sz = str_sz * 2; | ||
| 887 | |||
| 888 | 		 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 889 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 890 | 			 && new_sz > (size_t) (str_sz + 1)) | ||
| 891 | 			new_sz = str_sz + 1; | ||
| 892 | 		 if (!wstr) | ||
| 893 | 			{ | ||
| 894 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 895 | 			 { | ||
| 896 | 			 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 897 | 			 pstr = NULL; | ||
| 898 | 			 ++rval; | ||
| 899 | 			 } | ||
| 900 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 901 | 			} | ||
| 902 | 		 *pstr = (char *) wstr; | ||
| 903 | 		 wstr += str_sz; | ||
| 904 | 		 str_sz = new_sz; | ||
| 905 | 		 } | ||
| 906 | 		} | ||
| 907 | 	 } | ||
| 908 | 	 while ((width <= 0 || --width > 0) && (c = in_ch (s, &read_in)) != WEOF); | ||
| 909 | |||
| 910 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 911 | 	 { | ||
| 912 | 	 *wstr++ = 0; | ||
| 913 | |||
| 914 | 	 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 915 | 	 pstr = NULL; | ||
| 916 | 	 ++rval; | ||
| 917 | 	 } | ||
| 918 | 	 break; | ||
| 919 | |||
| 920 | 	case 'd': case 'i': | ||
| 921 | 	case 'o': case 'p': | ||
| 922 | 	case 'u': | ||
| 923 | 	case 'x': case 'X': | ||
| 924 | 	 switch (fc) | ||
| 925 | 	 { | ||
| 926 | 	 case 'd': | ||
| 927 | 	 flags |= IS_SIGNED_NUM; | ||
| 928 | 	 base = 10; | ||
| 929 | 	 break; | ||
| 930 | 	 case 'i': | ||
| 931 | 	 flags |= IS_SIGNED_NUM; | ||
| 932 | 	 base = 0; | ||
| 933 | 	 break; | ||
| 934 | 	 case 'o': | ||
| 935 | 	 base = 8; | ||
| 936 | 	 break; | ||
| 937 | 	 case 'p': | ||
| 938 | 	 base = 16; | ||
| 939 | 	 flags &= ~(IS_S | IS_LL | IS_L); | ||
| 940 | #ifdef _WIN64 | ||
| 941 | 	 flags |= IS_LL; | ||
| 942 | #endif | ||
| 943 | 	 flags |= IS_L | IS_POINTER; | ||
| 944 | 	 break; | ||
| 945 | 	 case 'u': | ||
| 946 | 	 base = 10; | ||
| 947 | 	 break; | ||
| 948 | 	 case 'x': case 'X': | ||
| 949 | 	 base = 16; | ||
| 950 | 	 break; | ||
| 951 | 	 } | ||
| 952 | |||
| 953 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 954 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 955 | |||
| 956 | 	 if (c == '+' || c == '-') | ||
| 957 | 	 { | ||
| 958 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 959 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 960 | |||
| 961 | 	 if (width > 0) | ||
| 962 | 		--width; | ||
| 963 | 	 c = in_ch (s, &read_in); | ||
| 964 | 	 } | ||
| 965 | |||
| 966 | 	 if (width != 0 && c == '0') | ||
| 967 | 	 { | ||
| 968 | 	 if (width > 0) | ||
| 969 | 		--width; | ||
| 970 | |||
| 971 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 972 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 973 | |||
| 974 | 	 c = in_ch (s, &read_in); | ||
| 975 | |||
| 976 | 	 if (width != 0 && towlower (c) == 'x') | ||
| 977 | 		{ | ||
| 978 | 		 if (!base) | ||
| 979 | 		 base = 16; | ||
| 980 | 		 if (base == 16) | ||
| 981 | 		 { | ||
| 982 | 		 if (width > 0) | ||
| 983 | 			--width; | ||
| 984 | 		 c = in_ch (s, &read_in); | ||
| 985 | 		 } | ||
| 986 | 		} | ||
| 987 | 	 else if (!base) | ||
| 988 | 		base = 8; | ||
| 989 | 	 } | ||
| 990 | |||
| 991 | 	 if (!base) | ||
| 992 | 	 base = 10; | ||
| 993 | |||
| 994 | 	 while (c != WEOF && width != 0) | ||
| 995 | 	 { | ||
| 996 | 	 if (base == 16) | ||
| 997 | 		{ | ||
| 998 | 		 if (!iswxdigit (c)) | ||
| 999 | 		 break; | ||
| 1000 | 		} | ||
| 1001 | 	 else if (!iswdigit (c) || (int) (c - '0') >= base) | ||
| 1002 | 		{ | ||
| 1003 | 		 if (base != 10 || (flags & USE_GROUP) == 0 || c != lc_thousands_sep) | ||
| 1004 | 		 break; | ||
| 1005 | 		} | ||
| 1006 | 	 if (c != lc_thousands_sep) | ||
| 1007 | 	 { | ||
| 1008 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1009 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1010 | 		} | ||
| 1011 | |||
| 1012 | 	 if (width > 0) | ||
| 1013 | 		--width; | ||
| 1014 | |||
| 1015 | 	 c = in_ch (s, &read_in); | ||
| 1016 | 	 } | ||
| 1017 | |||
| 1018 | 	 if (!wbuf_cur_sz || (wbuf_cur_sz == 1 && (wbuf[0] == '+' || wbuf[0] == '-'))) | ||
| 1019 | 	 { | ||
| 1020 | 	 if (!wbuf_cur_sz && (flags & IS_POINTER) != 0 | ||
| 1021 | 		 && match_string (s, &read_in, &c, L"(nil)")) | ||
| 1022 | 		{ | ||
| 1023 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1024 | 		 wbuf[wbuf_cur_sz++] = '0'; | ||
| 1025 | 		} | ||
| 1026 | 	 else | ||
| 1027 | 		{ | ||
| 1028 | 		 back_ch (c, s, &read_in, 0); | ||
| 1029 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1030 | 		} | ||
| 1031 | 	 } | ||
| 1032 | 	 else | ||
| 1033 | 	 back_ch (c, s, &read_in, 0); | ||
| 1034 | |||
| 1035 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1036 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1037 | |||
| 1038 | 	 if ((flags & IS_LL) != 0) | ||
| 1039 | 	 { | ||
| 1040 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1041 | 		cv_val.ll = wcstoll (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1042 | 	 else | ||
| 1043 | 		cv_val.ull = wcstoull (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1044 | 	 } | ||
| 1045 | 	 else | ||
| 1046 | 	 { | ||
| 1047 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1048 | 		cv_val.l = wcstol (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1049 | 	 else | ||
| 1050 | 		cv_val.ul = wcstoul (wbuf, &tmp_wbuf_ptr, base/*, flags & USE_GROUP*/); | ||
| 1051 | 	 } | ||
| 1052 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1053 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1054 | |||
| 1055 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1056 | 	 { | ||
| 1057 | 	 if ((flags & IS_SIGNED_NUM) != 0) | ||
| 1058 | 		{ | ||
| 1059 | 		 if ((flags & IS_LL) != 0) | ||
| 1060 | 		 *(npos != 0 ? (long long *) get_va_nth (argp, npos) : va_arg (arg, long long *)) = cv_val.ll; | ||
| 1061 | 		 else if ((flags & IS_L) != 0) | ||
| 1062 | 		 *(npos != 0 ? (long *) get_va_nth (argp, npos) : va_arg (arg, long *)) = cv_val.l; | ||
| 1063 | 		 else if ((flags & IS_S) != 0) | ||
| 1064 | 		 *(npos != 0 ? (short *) get_va_nth (argp, npos) : va_arg (arg, short *)) = (short) cv_val.l; | ||
| 1065 | 		 else if ((flags & IS_C) != 0) | ||
| 1066 | 		 *(npos != 0 ? (signed char *) get_va_nth (argp, npos) : va_arg (arg, signed char *)) = (signed char) cv_val.ul; | ||
| 1067 | 		 else | ||
| 1068 | 		 *(npos != 0 ? (int *) get_va_nth (argp, npos) : va_arg (arg, int *)) = (int) cv_val.l; | ||
| 1069 | 		} | ||
| 1070 | 	 else | ||
| 1071 | 		{ | ||
| 1072 | 		 if ((flags & IS_LL) != 0) | ||
| 1073 | 		 *(npos != 0 ? (unsigned long long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long long *)) = cv_val.ull; | ||
| 1074 | 		 else if ((flags & IS_L) != 0) | ||
| 1075 | 		 *(npos != 0 ? (unsigned long *) get_va_nth (argp, npos) : va_arg (arg, unsigned long *)) = cv_val.ul; | ||
| 1076 | 		 else if ((flags & IS_S) != 0) | ||
| 1077 | 		 *(npos != 0 ? (unsigned short *) get_va_nth (argp, npos) : va_arg (arg, unsigned short *)) | ||
| 1078 | 		 = (unsigned short) cv_val.ul; | ||
| 1079 | 		 else if ((flags & IS_C) != 0) | ||
| 1080 | 		 *(npos != 0 ? (unsigned char *) get_va_nth (argp, npos) : va_arg (arg, unsigned char *)) = (unsigned char) cv_val.ul; | ||
| 1081 | 		 else | ||
| 1082 | 		 *(npos != 0 ? (unsigned int *) get_va_nth (argp, npos) : va_arg (arg, unsigned int *)) = (unsigned int) cv_val.ul; | ||
| 1083 | 		} | ||
| 1084 | 	 ++rval; | ||
| 1085 | 	 } | ||
| 1086 | 	 break; | ||
| 1087 | |||
| 1088 | 	case 'e': case 'E': | ||
| 1089 | 	case 'f': case 'F': | ||
| 1090 | 	case 'g': case 'G': | ||
| 1091 | 	case 'a': case 'A': | ||
| 1092 | 	 if (width > 0) | ||
| 1093 | 	 --width; | ||
| 1094 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1095 | 	 return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1096 | |||
| 1097 | 	 seen_dot = seen_exp = 0; | ||
| 1098 | 	 is_neg = (c == '-' ? 1 : 0); | ||
| 1099 | |||
| 1100 | 	 if (c == '-' || c == '+') | ||
| 1101 | 	 { | ||
| 1102 | 	 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF) | ||
| 1103 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1104 | 	 if (width > 0) | ||
| 1105 | 		--width; | ||
| 1106 | 	 } | ||
| 1107 | |||
| 1108 | 	 if (towlower (c) == 'n') | ||
| 1109 | 	 { | ||
| 1110 | 	 const wchar_t *match_txt = L"nan"; | ||
| 1111 | |||
| 1112 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1113 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1114 | 	 | ||
| 1115 | 	 ++match_txt; | ||
| 1116 | 	 do | ||
| 1117 | 		{ | ||
| 1118 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1119 | 		 || towlower (c) != match_txt[0]) | ||
| 1120 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1121 | 		 if (width > 0) | ||
| 1122 | 		 --width; | ||
| 1123 | |||
| 1124 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1125 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1126 | 		 ++match_txt; | ||
| 1127 | 		} | ||
| 1128 | 	 while (*match_txt != 0); | ||
| 1129 | 	 } | ||
| 1130 | 	 else if (towlower (c) == 'i') | ||
| 1131 | 	 { | ||
| 1132 | 	 const wchar_t *match_txt = L"inf"; | ||
| 1133 | |||
| 1134 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1135 | 	 wbuf[wbuf_cur_sz++] = c; | ||
| 1136 | |||
| 1137 | 	 ++match_txt; | ||
| 1138 | 	 do | ||
| 1139 | 		{ | ||
| 1140 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1141 | 		 || towlower (c) != match_txt[0]) | ||
| 1142 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1143 | 		 if (width > 0) | ||
| 1144 | 		 --width; | ||
| 1145 | |||
| 1146 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1147 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1148 | 		 ++match_txt; | ||
| 1149 | 		} | ||
| 1150 | 	 while (*match_txt != 0); | ||
| 1151 | |||
| 1152 | 	 if (width != 0 && (c = in_ch (s, &read_in)) != WEOF && towlower (c) == 'i') | ||
| 1153 | 		{ | ||
| 1154 | 		 match_txt = L"inity"; | ||
| 1155 | 		 if (width > 0) | ||
| 1156 | 		 --width; | ||
| 1157 | |||
| 1158 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1159 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1160 | |||
| 1161 | 		 ++match_txt; | ||
| 1162 | 		 do | ||
| 1163 | 		 { | ||
| 1164 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF | ||
| 1165 | 			 || towlower (c) != match_txt[0]) | ||
| 1166 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1167 | 		 if (width > 0) | ||
| 1168 | 			--width; | ||
| 1169 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1170 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1171 | 		 ++match_txt; | ||
| 1172 | 		 } | ||
| 1173 | 		 while (*match_txt != 0); | ||
| 1174 | 		} | ||
| 1175 | 	 else if (width != 0 && c != WEOF) | ||
| 1176 | 	 back_ch (c, s, &read_in, 0); | ||
| 1177 | 	 } | ||
| 1178 | 	 else | ||
| 1179 | 	 { | ||
| 1180 | 	 not_in = 'e'; | ||
| 1181 | 	 if (width != 0 && c == '0') | ||
| 1182 | 		{ | ||
| 1183 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1184 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1185 | |||
| 1186 | 		 c = in_ch (s, &read_in); | ||
| 1187 | 		 if (width > 0) | ||
| 1188 | 		 --width; | ||
| 1189 | 		 if (width != 0 && towlower (c) == 'x') | ||
| 1190 | 		 { | ||
| 1191 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1192 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1193 | 		 flags |= IS_HEX_FLOAT; | ||
| 1194 | 		 not_in = 'p'; | ||
| 1195 | |||
| 1196 | 		 flags &= ~USE_GROUP; | ||
| 1197 | 		 c = in_ch (s, &read_in); | ||
| 1198 | 		 if (width > 0) | ||
| 1199 | 			--width; | ||
| 1200 | 		 } | ||
| 1201 | 		} | ||
| 1202 | |||
| 1203 | 	 while (1) | ||
| 1204 | 		{ | ||
| 1205 | 		 if (iswdigit (c)) | ||
| 1206 | 		 { | ||
| 1207 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1208 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1209 | 		 } | ||
| 1210 | 		 else if (!seen_exp && (flags & IS_HEX_FLOAT) != 0 && iswxdigit (c)) | ||
| 1211 | 		 { | ||
| 1212 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1213 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1214 | 		 } | ||
| 1215 | 		 else if (seen_exp && wbuf[wbuf_cur_sz - 1] == not_in | ||
| 1216 | 			 && (c == '-' || c == '+')) | ||
| 1217 | 		 { | ||
| 1218 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1219 | 		 wbuf[wbuf_cur_sz++] = c; | ||
| 1220 | 		 } | ||
| 1221 | 		 else if (wbuf_cur_sz > 0 && !seen_exp | ||
| 1222 | 			 && (wchar_t) towlower (c) == not_in) | ||
| 1223 | 		 { | ||
| 1224 | 		 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1225 | 		 wbuf[wbuf_cur_sz++] = not_in; | ||
| 1226 | |||
| 1227 | 		 seen_exp = seen_dot = 1; | ||
| 1228 | 		 } | ||
| 1229 | 		 else | ||
| 1230 | 		 { | ||
| 1231 | 		 if (!seen_dot && c == lc_decimal_point) | ||
| 1232 | 			{ | ||
| 1233 | 			 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1234 | 			 wbuf[wbuf_cur_sz++] = c; | ||
| 1235 | |||
| 1236 | 			 seen_dot = 1; | ||
| 1237 | 			} | ||
| 1238 | 		 else if ((flags & USE_GROUP) != 0 && !seen_dot && c == lc_thousands_sep) | ||
| 1239 | 			{ | ||
| 1240 | 			 /* As our conversion routines aren't supporting thousands | ||
| 1241 | 			 separators, we are filtering them here. */ | ||
| 1242 | 			} | ||
| 1243 | 		 else | ||
| 1244 | 			{ | ||
| 1245 | 			 back_ch (c, s, &read_in, 0); | ||
| 1246 | 			 break; | ||
| 1247 | 			} | ||
| 1248 | 		 } | ||
| 1249 | |||
| 1250 | 		 if (width == 0 || (c = in_ch (s, &read_in)) == WEOF) | ||
| 1251 | 		 break; | ||
| 1252 | |||
| 1253 | 		 if (width > 0) | ||
| 1254 | 		 --width; | ||
| 1255 | 		} | ||
| 1256 | |||
| 1257 | 	 if (wbuf_cur_sz == 0 || ((flags & IS_HEX_FLOAT) != 0 && wbuf_cur_sz == 2)) | ||
| 1258 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1259 | 	 } | ||
| 1260 | |||
| 1261 | 	 wbuf = resize_wbuf (wbuf_cur_sz, &wbuf_max_sz, wbuf); | ||
| 1262 | 	 wbuf[wbuf_cur_sz++] = 0; | ||
| 1263 | |||
| 1264 | 	 if ((flags & IS_LL) != 0) | ||
| 1265 | 	 { | ||
| 1266 | 	 long double d = __mingw_wcstold (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1267 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1268 | 		*(npos != 0 ? (long double *) get_va_nth (argp, npos) : va_arg (arg, long double *)) = is_neg ? -d : d; | ||
| 1269 | 	 } | ||
| 1270 | 	 else if ((flags & IS_L) != 0) | ||
| 1271 | 	 { | ||
| 1272 | 	 double d = __mingw_wcstod (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1273 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1274 | 		*(npos != 0 ? (double *) get_va_nth (argp, npos) : va_arg (arg, double *)) = is_neg ? -d : d; | ||
| 1275 | 	 } | ||
| 1276 | 	 else | ||
| 1277 | 	 { | ||
| 1278 | 	 float d = __mingw_wcstof (wbuf, &tmp_wbuf_ptr/*, flags & USE_GROUP*/); | ||
| 1279 | 	 if ((flags & IS_SUPPRESSED) == 0 && tmp_wbuf_ptr != wbuf) | ||
| 1280 | 		*(npos != 0 ? (float *) get_va_nth (argp, npos) : va_arg (arg, float *)) = is_neg ? -d : d; | ||
| 1281 | 	 } | ||
| 1282 | |||
| 1283 | 	 if (wbuf == tmp_wbuf_ptr) | ||
| 1284 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1285 | |||
| 1286 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1287 | 	 ++rval; | ||
| 1288 | 	 break; | ||
| 1289 | |||
| 1290 | 	case '[': | ||
| 1291 | 	 if ((flags & IS_L) != 0) | ||
| 1292 | 	 { | ||
| 1293 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1294 | 		{ | ||
| 1295 | 		 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1296 | 		 { | ||
| 1297 | 		 if (npos != 0) | ||
| 1298 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1299 | 		 else | ||
| 1300 | 		 pstr = va_arg (arg, char **); | ||
| 1301 | |||
| 1302 | 		 if (!pstr) | ||
| 1303 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1304 | 		 str_sz = 100; | ||
| 1305 | 		 *pstr = (char *) malloc (100 * sizeof (wchar_t)); | ||
| 1306 | 		 if ((wstr = (wchar_t *) *pstr) == NULL) | ||
| 1307 | 			return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1308 | |||
| 1309 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1310 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1311 | 		 } | ||
| 1312 | 		 else | ||
| 1313 | 		 { | ||
| 1314 | 		 if (npos != 0) | ||
| 1315 | 			wstr = (wchar_t *) get_va_nth (argp, npos); | ||
| 1316 | 		 else | ||
| 1317 | 			wstr = va_arg (arg, wchar_t *); | ||
| 1318 | 		 if (!wstr) | ||
| 1319 | 			return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1320 | 		 } | ||
| 1321 | 		} | ||
| 1322 | |||
| 1323 | 	 } | ||
| 1324 | 	 else if ((flags & IS_SUPPRESSED) == 0) | ||
| 1325 | 	 { | ||
| 1326 | 	 if ((flags & IS_ALLOC_USED) != 0) | ||
| 1327 | 		{ | ||
| 1328 | 		 if (npos != 0) | ||
| 1329 | 		 pstr = (char **) get_va_nth (argp, npos); | ||
| 1330 | 		 else | ||
| 1331 | 		 pstr = va_arg (arg, char **); | ||
| 1332 | |||
| 1333 | 		 if (!pstr) | ||
| 1334 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1335 | 		 str_sz = 100; | ||
| 1336 | 		 if ((str = *pstr = (char *) malloc (100)) == NULL) | ||
| 1337 | 		 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1338 | 		 gcollect = resize_gcollect (gcollect); | ||
| 1339 | 		 gcollect->ptrs[gcollect->count++] = pstr; | ||
| 1340 | 		} | ||
| 1341 | 	 else | ||
| 1342 | 		{ | ||
| 1343 | 		 if (npos != 0) | ||
| 1344 | 		 str = (char *) get_va_nth (argp, npos); | ||
| 1345 | 		 else | ||
| 1346 | 		 str = va_arg (arg, char *); | ||
| 1347 | 		 if (!str) | ||
| 1348 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1349 | 		} | ||
| 1350 | 	 } | ||
| 1351 | |||
| 1352 | 	 not_in = (*f == '^' ? 1 : 0); | ||
| 1353 | 	 if (*f == '^') | ||
| 1354 | 	 f++; | ||
| 1355 | |||
| 1356 | 	 if (width < 0) | ||
| 1357 | 	 width = INT_MAX; | ||
| 1358 | |||
| 1359 | 	 tmp_wbuf_ptr = (wchar_t *) f; | ||
| 1360 | |||
| 1361 | 	 if (*f == L']') | ||
| 1362 | 	 ++f; | ||
| 1363 | |||
| 1364 | 	 while ((fc = *f++) != 0 && fc != L']'); | ||
| 1365 | |||
| 1366 | 	 if (fc == 0) | ||
| 1367 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1368 | 	 temp_wbuf_end = (wchar_t *) f - 1; | ||
| 1369 | |||
| 1370 | 	 if ((flags & IS_L) != 0) | ||
| 1371 | 	 { | ||
| 1372 | 	 read_in_sv = read_in; | ||
| 1373 | |||
| 1374 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1375 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1376 | |||
| 1377 | 	 do | ||
| 1378 | 		{ | ||
| 1379 | 		 int ended = 0; | ||
| 1380 | 		 for (wbuf_iter = tmp_wbuf_ptr; wbuf_iter < temp_wbuf_end;) | ||
| 1381 | 		 { | ||
| 1382 | 		 if (wbuf_iter[0] == '-' && wbuf_iter[1] != 0 | ||
| 1383 | 			 && (wbuf_iter + 1) != temp_wbuf_end | ||
| 1384 | 			 && wbuf_iter != tmp_wbuf_ptr | ||
| 1385 | 			 && (unsigned int) wbuf_iter[-1] <= (unsigned int) wbuf_iter[1]) | ||
| 1386 | 			{ | ||
| 1387 | 			 for (wc = wbuf_iter[-1] + 1; wc <= wbuf_iter[1] && (wint_t) wc != c; ++wc); | ||
| 1388 | |||
| 1389 | 			 if (wc <= wbuf_iter[1] && !not_in) | ||
| 1390 | 			 break; | ||
| 1391 | 			 if (wc <= wbuf_iter[1] && not_in) | ||
| 1392 | 			 { | ||
| 1393 | 			 back_ch (c, s, &read_in, 0); | ||
| 1394 | 			 ended = 1; | ||
| 1395 | 			 break; | ||
| 1396 | 			 } | ||
| 1397 | |||
| 1398 | 			 wbuf_iter += 2; | ||
| 1399 | 			} | ||
| 1400 | 		 else | ||
| 1401 | 			{ | ||
| 1402 | 			 if ((wint_t) *wbuf_iter == c && !not_in) | ||
| 1403 | 			 break; | ||
| 1404 | 			 if ((wint_t) *wbuf_iter == c && not_in) | ||
| 1405 | 			 { | ||
| 1406 | 			 back_ch (c, s, &read_in, 0); | ||
| 1407 | 			 ended = 1; | ||
| 1408 | 			 break; | ||
| 1409 | 			 } | ||
| 1410 | |||
| 1411 | 			 ++wbuf_iter; | ||
| 1412 | 			} | ||
| 1413 | 		 } | ||
| 1414 | 		 if (ended) | ||
| 1415 | 		 break; | ||
| 1416 | |||
| 1417 | 		 if (wbuf_iter == temp_wbuf_end && !not_in) | ||
| 1418 | 		 { | ||
| 1419 | 		 back_ch (c, s, &read_in, 0); | ||
| 1420 | 		 break; | ||
| 1421 | 		 } | ||
| 1422 | |||
| 1423 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1424 | 		 { | ||
| 1425 | 		 *wstr++ = c; | ||
| 1426 | |||
| 1427 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 1428 | 			 && wstr == ((wchar_t *) *pstr + str_sz)) | ||
| 1429 | 			{ | ||
| 1430 | 			 new_sz = str_sz * 2; | ||
| 1431 | 			 while ((wstr = (wchar_t *) realloc (*pstr, | ||
| 1432 | 						 new_sz * sizeof (wchar_t))) == NULL | ||
| 1433 | 				 && new_sz > (size_t) (str_sz + 1)) | ||
| 1434 | 			 new_sz = str_sz + 1; | ||
| 1435 | 			 if (!wstr) | ||
| 1436 | 			 { | ||
| 1437 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1438 | 				{ | ||
| 1439 | 				 ((wchar_t *) (*pstr))[str_sz - 1] = 0; | ||
| 1440 | 				 pstr = NULL; | ||
| 1441 | 				 ++rval; | ||
| 1442 | 				} | ||
| 1443 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1444 | 			 } | ||
| 1445 | 			 *pstr = (char *) wstr; | ||
| 1446 | 			 wstr += str_sz; | ||
| 1447 | 			 str_sz = new_sz; | ||
| 1448 | 			} | ||
| 1449 | 		 } | ||
| 1450 | 		} | ||
| 1451 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 1452 | |||
| 1453 | 	 if (read_in_sv == read_in) | ||
| 1454 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1455 | |||
| 1456 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1457 | 		{ | ||
| 1458 | 		 *wstr++ = 0; | ||
| 1459 | |||
| 1460 | 		 optimize_alloc (pstr, (char *) wstr, str_sz * sizeof (wchar_t)); | ||
| 1461 | 		 pstr = NULL; | ||
| 1462 | 		 ++rval; | ||
| 1463 | 		} | ||
| 1464 | 	 } | ||
| 1465 | 	 else | ||
| 1466 | 	 { | ||
| 1467 | 	 read_in_sv = read_in; | ||
| 1468 | |||
| 1469 | 	 if ((c = in_ch (s, &read_in)) == WEOF) | ||
| 1470 | 		return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1471 | |||
| 1472 | 	 memset (&state, 0, sizeof (state)); | ||
| 1473 | |||
| 1474 | 	 do | ||
| 1475 | 		{ | ||
| 1476 | 		 int ended = 0; | ||
| 1477 | 		 wbuf_iter = tmp_wbuf_ptr; | ||
| 1478 | 		 while (wbuf_iter < temp_wbuf_end) | ||
| 1479 | 		 { | ||
| 1480 | 		 if (wbuf_iter[0] == '-' && wbuf_iter[1] != 0 | ||
| 1481 | 			 && (wbuf_iter + 1) != temp_wbuf_end | ||
| 1482 | 			 && wbuf_iter != tmp_wbuf_ptr | ||
| 1483 | 			 && (unsigned int) wbuf_iter[-1] <= (unsigned int) wbuf_iter[1]) | ||
| 1484 | 			{ | ||
| 1485 | 			 for (wc = wbuf_iter[-1] + 1; wc <= wbuf_iter[1] && (wint_t) wc != c; ++wc); | ||
| 1486 | |||
| 1487 | 			 if (wc <= wbuf_iter[1] && !not_in) | ||
| 1488 | 			 break; | ||
| 1489 | 			 if (wc <= wbuf_iter[1] && not_in) | ||
| 1490 | 			 { | ||
| 1491 | 			 back_ch (c, s, &read_in, 0); | ||
| 1492 | 			 ended = 1; | ||
| 1493 | 			 break; | ||
| 1494 | 			 } | ||
| 1495 | |||
| 1496 | 			 wbuf_iter += 2; | ||
| 1497 | 			} | ||
| 1498 | 		 else | ||
| 1499 | 			{ | ||
| 1500 | 			 if ((wint_t) *wbuf_iter == c && !not_in) | ||
| 1501 | 			 break; | ||
| 1502 | 			 if ((wint_t) *wbuf_iter == c && not_in) | ||
| 1503 | 			 { | ||
| 1504 | 			 back_ch (c, s, &read_in, 0); | ||
| 1505 | 			 ended = 1; | ||
| 1506 | 			 break; | ||
| 1507 | 			 } | ||
| 1508 | |||
| 1509 | 			 ++wbuf_iter; | ||
| 1510 | 			} | ||
| 1511 | 		 } | ||
| 1512 | |||
| 1513 | 		 if (ended) | ||
| 1514 | 		 break; | ||
| 1515 | 		 if (wbuf_iter == temp_wbuf_end && !not_in) | ||
| 1516 | 		 { | ||
| 1517 | 		 back_ch (c, s, &read_in, 0); | ||
| 1518 | 		 break; | ||
| 1519 | 		 } | ||
| 1520 | |||
| 1521 | 		 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1522 | 		 { | ||
| 1523 | 		 if ((flags & IS_ALLOC_USED) != 0 | ||
| 1524 | 			 && (str + MB_CUR_MAX) >= (*pstr + str_sz)) | ||
| 1525 | 			{ | ||
| 1526 | 			 new_sz = str_sz * 2; | ||
| 1527 | 			 str_len = (str - *pstr); | ||
| 1528 | |||
| 1529 | 			 while ((nstr = (char *) realloc (*pstr, new_sz)) == NULL | ||
| 1530 | 			 	 && new_sz > (str_len + MB_CUR_MAX)) | ||
| 1531 | 			 new_sz = str_len + MB_CUR_MAX; | ||
| 1532 | 			 if (!nstr) | ||
| 1533 | 			 { | ||
| 1534 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1535 | 				{ | ||
| 1536 | 				 ((*pstr))[str_len] = 0; | ||
| 1537 | 				 pstr = NULL; | ||
| 1538 | 				 ++rval; | ||
| 1539 | 				} | ||
| 1540 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1541 | 			 } | ||
| 1542 | 			 *pstr = nstr; | ||
| 1543 | 			 str = nstr + str_len; | ||
| 1544 | 			 str_sz = new_sz; | ||
| 1545 | 			} | ||
| 1546 | 		 } | ||
| 1547 | |||
| 1548 | 		 n = wcrtomb ((flags & IS_SUPPRESSED) == 0 ? str : NULL, c, &state); | ||
| 1549 | 		 if (n == (size_t) -1LL) | ||
| 1550 | 		 { | ||
| 1551 | 		 errno = EILSEQ; | ||
| 1552 | 		 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1553 | 		 } | ||
| 1554 | |||
| 1555 | 		 str += n; | ||
| 1556 | 		} | ||
| 1557 | 	 while (--width > 0 && (c = in_ch (s, &read_in)) != WEOF); | ||
| 1558 | |||
| 1559 | 	 if (read_in_sv == read_in) | ||
| 1560 | 		return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1561 | |||
| 1562 | 	 if ((flags & IS_SUPPRESSED) == 0) | ||
| 1563 | 		{ | ||
| 1564 | 		 n = wcrtomb (buf, 0, &state); | ||
| 1565 | 		 if (n > 0 && (flags & IS_ALLOC_USED) != 0 | ||
| 1566 | 		 && (str + n) >= (*pstr + str_sz)) | ||
| 1567 | 		 { | ||
| 1568 | 		 str_len = (str - *pstr); | ||
| 1569 | |||
| 1570 | 		 if ((nstr = (char *) realloc (*pstr, str_len + n + 1)) == NULL) | ||
| 1571 | 			{ | ||
| 1572 | 			 if ((flags & USE_POSIX_ALLOC) == 0) | ||
| 1573 | 			 { | ||
| 1574 | 			 (*pstr)[str_len] = 0; | ||
| 1575 | 			 pstr = NULL; | ||
| 1576 | 			 ++rval; | ||
| 1577 | 			 } | ||
| 1578 | 			 return cleanup_return (((flags & USE_POSIX_ALLOC) != 0 ? EOF : rval), &gcollect, pstr, &wbuf); | ||
| 1579 | 			} | ||
| 1580 | 		 *pstr = nstr; | ||
| 1581 | 		 str = nstr + str_len; | ||
| 1582 | 		 str_sz = str_len + n + 1; | ||
| 1583 | 		 } | ||
| 1584 | |||
| 1585 | 		 if (n) | ||
| 1586 | 		 { | ||
| 1587 | 		 memcpy (str, buf, n); | ||
| 1588 | 		 str += n; | ||
| 1589 | 		 } | ||
| 1590 | 		 *str++ = 0; | ||
| 1591 | |||
| 1592 | 		 optimize_alloc (pstr, str, str_sz); | ||
| 1593 | 		 pstr = NULL; | ||
| 1594 | 		 ++rval; | ||
| 1595 | 		} | ||
| 1596 | 	 } | ||
| 1597 | 	 break; | ||
| 1598 | |||
| 1599 | 	default: | ||
| 1600 | 	 return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1601 | 	} | ||
| 1602 | } | ||
| 1603 | |||
| 1604 | if (ignore_ws) | ||
| 1605 | { | ||
| 1606 | while (iswspace ((c = in_ch (s, &read_in)))); | ||
| 1607 | back_ch (c, s, &read_in, 0); | ||
| 1608 | } | ||
| 1609 | |||
| 1610 | return cleanup_return (rval, &gcollect, pstr, &wbuf); | ||
| 1611 | } | ||
| 1612 | |||
| 1613 | int | ||
| 1614 | __mingw_vfwscanf (FILE *s, const wchar_t *format, va_list argp) | ||
| 1615 | { | ||
| 1616 | _IFP ifp; | ||
| 1617 | memset (&ifp, 0, sizeof (_IFP)); | ||
| 1618 | ifp.fp = s; | ||
| 1619 | return __mingw_swformat (&ifp, format, argp); | ||
| 1620 | } | ||
| 1621 | |||
| 1622 | int | ||
| 1623 | __mingw_vswscanf (const wchar_t *s, const wchar_t *format, va_list argp) | ||
| 1624 | { | ||
| 1625 | _IFP ifp; | ||
| 1626 | memset (&ifp, 0, sizeof (_IFP)); | ||
| 1627 | ifp.str = s; | ||
| 1628 | ifp.is_string = 1; | ||
| 1629 | return __mingw_swformat (&ifp, format, argp); | ||
| 1630 | } | ||
| 1631 | |||
lib/libc/mingw/stdio/scanf.S deleted-243| ... | @@ -1,243 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | /* vsscanf, vswscanf, vfscanf, and vfwscanf all come here for i386 and arm. | ||
| 8 | |||
| 9 | The goal of this routine is to turn a call to v*scanf into a call to | ||
| 10 | s*scanf. This is needed because mingw-w64 uses msvcr100.dll, which doesn't | ||
| 11 | support the v*scanf functions instead of msvcr120.dll which does. | ||
| 12 | */ | ||
| 13 | |||
| 14 | /* The function prototype here is (essentially): | ||
| 15 | |||
| 16 | int __ms_v*scanf_internal (void *s, | ||
| 17 | 			 void *format, | ||
| 18 | 			 void *arg, | ||
| 19 | 			 size_t count, | ||
| 20 | 			 void *func); | ||
| 21 | |||
| 22 | I say 'essentially' because passing a function pointer as void in ISO | ||
| 23 | is not supported. But in the end, I take the first parameter (which | ||
| 24 | may be a char *, a wchar_t *, or a FILE *) and put it into the newly | ||
| 25 | formed stack, and eventually call the address in func. */ | ||
| 26 | |||
| 27 | #if defined (__x86_64__) | ||
| 28 | |||
| 29 | .text | ||
| 30 | .align 16 | ||
| 31 | |||
| 32 | /* scl 2: C_EXT - External (public) symbol - covers globals and externs | ||
| 33 | type 32: DT_FCN - function returning T | ||
| 34 | 	 */ | ||
| 35 | .def __argtos; .scl 2; .type 32; .endef | ||
| 36 | |||
| 37 | .seh_proc __argtos | ||
| 38 | __argtos: | ||
| 39 | |||
| 40 | /* When we are done: | ||
| 41 | - s must be in rcx. That's where it is on entry. | ||
| 42 | - format must be in rdx. That's where it is on entry. | ||
| 43 | - The first pointer in arg must be in r8. arg is in r8 on entry. | ||
| 44 | - The second pointer in arg must be in r9. arg is in r8 on entry. | ||
| 45 | - The (count - 2) other pointers in arg must be on the stack, | ||
| 46 | 	starting 32bytes into rsp. */ | ||
| 47 | |||
| 48 | pushq %rbp | ||
| 49 | .seh_pushreg %rbp | ||
| 50 | movq %rsp, %rbp | ||
| 51 | .seh_setframe %rbp, 0 | ||
| 52 | |||
| 53 | /* We need to always reserve space to shadow 4 parameters. */ | ||
| 54 | subq $32, %rsp | ||
| 55 | .seh_stackalloc 32 | ||
| 56 | .seh_endprologue | ||
| 57 | |||
| 58 | movq 48(%rbp), %r10 /* func. */ | ||
| 59 | |||
| 60 | /* We need enough room to shadow all the other args. | ||
| 61 | Except the first 2, since they will be loaded in registers. */ | ||
| 62 | cmpq $2, %r9 /* count. */ | ||
| 63 | jbe .SKIP | ||
| 64 | subq $2, %r9 /* # of ptrs to copy. */ | ||
| 65 | /* Calculate stack size (arg is 8byte) and keep the stack 16byte aligned. */ | ||
| 66 | leaq 8(, %r9, 8), %rax /* %rax = (%r9 + 1) * 8 */ | ||
| 67 | andq $-16, %rax | ||
| 68 | subq %rax, %rsp | ||
| 69 | |||
| 70 | /* We are going to copy parameters from arg to our local stack. | ||
| 71 | The first 32 bytes are in registers, but by spec, space | ||
| 72 | must still be reserved for them on the stack. Put the | ||
| 73 | rest of the pointers in the stack after that. */ | ||
| 74 | lea 32(%rsp), %r11 /* dst. */ | ||
| 75 | |||
| 76 | .LOOP: | ||
| 77 | subq $1, %r9 | ||
| 78 | |||
| 79 | /* Use 16 to skip over the first 2 pointers. */ | ||
| 80 | movq 16(%r8, %r9, 8), %rax | ||
| 81 | movq %rax, (%r11, %r9, 8) | ||
| 82 | jnz .LOOP | ||
| 83 | |||
| 84 | .SKIP: | ||
| 85 | /* The stack is now correctly populated, and so are rcx and rdx. | ||
| 86 | But we need to load the last 2 regs before making the call. */ | ||
| 87 | movq 0x8(%r8), %r9 /* 2nd dest location (may be garbage if only 1 arg). */ | ||
| 88 | movq (%r8), %r8 /* 1st dest location (may be garbage if no arg). */ | ||
| 89 | |||
| 90 | /* Make the call. */ | ||
| 91 | callq *%r10 | ||
| 92 | |||
| 93 | /* Restore stack. */ | ||
| 94 | movq %rbp, %rsp | ||
| 95 | |||
| 96 | popq %rbp | ||
| 97 | retq | ||
| 98 | .seh_endproc | ||
| 99 | |||
| 100 | #elif defined (_X86_) | ||
| 101 | |||
| 102 | .text | ||
| 103 | .align 16 | ||
| 104 | |||
| 105 | /* scl 2: C_EXT - External (public) symbol - covers globals and externs | ||
| 106 | type 32: DT_FCN - function returning T | ||
| 107 | 	 */ | ||
| 108 | .def __argtos; .scl 2; .type 32; .endef | ||
| 109 | |||
| 110 | __argtos: | ||
| 111 | pushl %ebp | ||
| 112 | movl %esp, %ebp | ||
| 113 | pushl %edi | ||
| 114 | pushl %ebx | ||
| 115 | |||
| 116 | /* Reserve enough stack space for everything. | ||
| 117 | |||
| 118 | Stack usage will look like: | ||
| 119 | 4 bytes - s | ||
| 120 | 4 bytes - format | ||
| 121 | 4*count bytes - variable # of parameters for sscanf (all ptrs). */ | ||
| 122 | |||
| 123 | movl 20(%ebp), %ebx /* count. */ | ||
| 124 | addl $2, %ebx /* s + format. */ | ||
| 125 | sall $2, %ebx /* (count + 2) * 4. */ | ||
| 126 | subl %ebx, %esp | ||
| 127 | |||
| 128 | /* Write out s and format where they need to be for the sscanf call. */ | ||
| 129 | movl 8(%ebp), %eax | ||
| 130 | movl %eax, (%esp) /* s. */ | ||
| 131 | movl 12(%ebp), %edx | ||
| 132 | movl %edx, 0x4(%esp) /* format. */ | ||
| 133 | |||
| 134 | /* We are going to copy _count_ pointers from arg to our | ||
| 135 | local stack. */ | ||
| 136 | movl 20(%ebp), %ecx /* # of ptrs to copy. */ | ||
| 137 | testl %ecx, %ecx | ||
| 138 | jz .SKIP | ||
| 139 | lea 8(%esp), %edi /* dst. */ | ||
| 140 | movl 16(%ebp), %edx /* src. */ | ||
| 141 | |||
| 142 | .LOOP: | ||
| 143 | subl $1, %ecx | ||
| 144 | |||
| 145 | movl (%edx, %ecx, 4), %eax | ||
| 146 | movl %eax, (%edi, %ecx, 4) | ||
| 147 | jnz .LOOP | ||
| 148 | |||
| 149 | .SKIP: | ||
| 150 | /* The stack is now correctly populated. */ | ||
| 151 | |||
| 152 | /* Make the call. */ | ||
| 153 | call *24(%ebp) | ||
| 154 | |||
| 155 | /* Restore stack. */ | ||
| 156 | addl %ebx, %esp | ||
| 157 | |||
| 158 | popl %ebx | ||
| 159 | popl %edi | ||
| 160 | leave | ||
| 161 | |||
| 162 | ret | ||
| 163 | |||
| 164 | #elif defined (__arm__) | ||
| 165 | |||
| 166 | .text | ||
| 167 | .align 2 | ||
| 168 | .thumb_func | ||
| 169 | .globl __argtos | ||
| 170 | |||
| 171 | __argtos: | ||
| 172 | push {r4-r8, lr} | ||
| 173 | ldr r12, [sp, #24] | ||
| 174 | |||
| 175 | ldr r5, [r2], #4 | ||
| 176 | ldr r6, [r2], #4 | ||
| 177 | |||
| 178 | subs r3, r3, #2 | ||
| 179 | mov r8, #0 | ||
| 180 | ble 2f | ||
| 181 | |||
| 182 | /* Round the number of entries to an even number, to maintain | ||
| 183 | * 8 byte stack alignment. */ | ||
| 184 | mov r8, r3 | ||
| 185 | add r8, r8, #1 | ||
| 186 | bic r8, r8, #1 | ||
| 187 | sub sp, sp, r8, lsl #2 | ||
| 188 | mov r4, sp | ||
| 189 | 1: ldr r7, [r2], #4 | ||
| 190 | subs r3, r3, #1 | ||
| 191 | str r7, [r4], #4 | ||
| 192 | bne 1b | ||
| 193 | |||
| 194 | 2: | ||
| 195 | mov r2, r5 | ||
| 196 | mov r3, r6 | ||
| 197 | blx r12 | ||
| 198 | |||
| 199 | add sp, sp, r8, lsl #2 | ||
| 200 | pop {r4-r8, pc} | ||
| 201 | |||
| 202 | #elif defined (__aarch64__) | ||
| 203 | |||
| 204 | .text | ||
| 205 | .align 2 | ||
| 206 | .globl __argtos | ||
| 207 | |||
| 208 | __argtos: | ||
| 209 | stp x29, x30, [sp, #-16]! | ||
| 210 | mov x29, sp | ||
| 211 | mov x10, x2 | ||
| 212 | mov x11, x3 | ||
| 213 | mov x12, x4 | ||
| 214 | |||
| 215 | ldr x2, [x10], #8 | ||
| 216 | ldr x3, [x10], #8 | ||
| 217 | ldr x4, [x10], #8 | ||
| 218 | ldr x5, [x10], #8 | ||
| 219 | ldr x6, [x10], #8 | ||
| 220 | ldr x7, [x10], #8 | ||
| 221 | |||
| 222 | subs x11, x11, #6 | ||
| 223 | b.le 2f | ||
| 224 | |||
| 225 | /* Round the number of entries to an even number, to maintain | ||
| 226 | * 16 byte stack alignment. */ | ||
| 227 | mov x13, x11 | ||
| 228 | add x13, x13, #1 | ||
| 229 | bic x13, x13, #1 | ||
| 230 | sub sp, sp, x13, lsl #3 | ||
| 231 | mov x9, sp | ||
| 232 | 1: ldr x13, [x10], #8 | ||
| 233 | subs x11, x11, #1 | ||
| 234 | str x13, [x9], #8 | ||
| 235 | b.ne 1b | ||
| 236 | |||
| 237 | 2: | ||
| 238 | blr x12 | ||
| 239 | mov sp, x29 | ||
| 240 | ldp x29, x30, [sp], #16 | ||
| 241 | ret | ||
| 242 | |||
| 243 | #endif | ||
lib/libc/mingw/stdio/scanf2-argcount-char.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #define FUNC __ms_scanf_max_arg_count_internal | ||
| 8 | #define TYPE char | ||
| 9 | #include "scanf2-argcount-template.c" | ||
lib/libc/mingw/stdio/scanf2-argcount-template.c deleted-18| ... | @@ -1,18 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <stddef.h> | ||
| 8 | |||
| 9 | size_t FUNC(const TYPE *format); | ||
| 10 | size_t FUNC(const TYPE *format) | ||
| 11 | { | ||
| 12 | size_t count = 0; | ||
| 13 | for (; *format; format++) { | ||
| 14 | if (*format == (TYPE)'%') | ||
| 15 | count++; | ||
| 16 | } | ||
| 17 | return count; | ||
| 18 | } | ||
lib/libc/mingw/stdio/scanf2-argcount-wchar.c deleted-9| ... | @@ -1,9 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #define FUNC __ms_wscanf_max_arg_count_internal | ||
| 8 | #define TYPE wchar_t | ||
| 9 | #include "scanf2-argcount-template.c" | ||
lib/libc/mingw/stdio/scanf2-template.S deleted-32| ... | @@ -1,32 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #if defined(_ARM_) || defined(__arm__) | ||
| 8 | .thumb | ||
| 9 | #endif | ||
| 10 | .text | ||
| 11 | .p2align 4,,15 | ||
| 12 | .globl FCT | ||
| 13 | .def FCT; .scl 2; .type 32; .endef | ||
| 14 | #ifdef __x86_64__ | ||
| 15 | .seh_proc FCT | ||
| 16 | #endif | ||
| 17 | FCT: | ||
| 18 | #ifdef __x86_64__ | ||
| 19 | .seh_endprologue | ||
| 20 | #endif | ||
| 21 | #if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) | ||
| 22 | jmp FWD | ||
| 23 | #elif defined(_ARM_) || defined(__arm__) | ||
| 24 | .thumb_func | ||
| 25 | b FWD | ||
| 26 | #elif defined(_ARM64_) || defined(__aarch64__) | ||
| 27 | b FWD | ||
| 28 | #endif | ||
| 29 | #ifdef __x86_64__ | ||
| 30 | .seh_endproc | ||
| 31 | #endif | ||
| 32 | .def FWD; .scl 2; .type 32; .endef | ||
lib/libc/mingw/stdio/snwprintf.c+1-1| ... | @@ -12,7 +12,7 @@ int __cdecl __ms_snwprintf(wchar_t *buffer, size_t n, const wchar_t *format, ... | ... | @@ -12,7 +12,7 @@ int __cdecl __ms_snwprintf(wchar_t *buffer, size_t n, const wchar_t *format, ... |
| 12 | va_list argptr; | 12 | va_list argptr; |
| 13 | 13 | ||
| 14 | va_start(argptr, format); | 14 | va_start(argptr, format); |
| 15 | retval = _vsnwprintf(buffer, n, format, argptr); | 15 | retval = __ms_vsnwprintf(buffer, n, format, argptr); |
| 16 | va_end(argptr); | 16 | va_end(argptr); |
| 17 | return retval; | 17 | return retval; |
| 18 | } | 18 | } |
lib/libc/mingw/stdio/ucrt_ms_fprintf.c created+22| ... | @@ -0,0 +1,22 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #undef __MSVCRT_VERSION__ | ||
| 8 | #define _UCRT | ||
| 9 | |||
| 10 | #include <stdio.h> | ||
| 11 | #include <stdarg.h> | ||
| 12 | |||
| 13 | int __cdecl __ms_fprintf(FILE * restrict file, const char * restrict format, ...) | ||
| 14 | { | ||
| 15 | va_list ap; | ||
| 16 | int ret; | ||
| 17 | va_start(ap, format); | ||
| 18 | ret = __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, ap); | ||
| 19 | va_end(ap); | ||
| 20 | return ret; | ||
| 21 | } | ||
| 22 | int __cdecl (*__MINGW_IMP_SYMBOL(__ms_fprintf))(FILE * restrict, const char * restrict, ...) = __ms_fprintf; | ||
lib/libc/mingw/stdio/vfscanf.c deleted-35| ... | @@ -1,35 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <stdio.h> | ||
| 8 | #include <stdarg.h> | ||
| 9 | |||
| 10 | extern int __ms_vfscanf_internal ( | ||
| 11 | FILE * s, | ||
| 12 | const char * format, | ||
| 13 | va_list arg, | ||
| 14 | size_t count, | ||
| 15 | int (*func)(FILE * __restrict__, const char * __restrict__, ...)) | ||
| 16 | asm("__argtos"); | ||
| 17 | |||
| 18 | extern size_t __ms_scanf_max_arg_count_internal (const char * format); | ||
| 19 | |||
| 20 | int __ms_vfscanf (FILE * __restrict__ stream, const char * __restrict__ format, va_list arg) | ||
| 21 | { | ||
| 22 | size_t count = __ms_scanf_max_arg_count_internal (format); | ||
| 23 | int ret; | ||
| 24 | |||
| 25 | #if defined(_AMD64_) || defined(__x86_64__) || \ | ||
| 26 | defined(_X86_) || defined(__i386__) || \ | ||
| 27 | defined(_ARM_) || defined(__arm__) || \ | ||
| 28 | defined(_ARM64_) || defined(__aarch64__) | ||
| 29 | ret = __ms_vfscanf_internal (stream, format, arg, count, fscanf); | ||
| 30 | #else | ||
| 31 | #error "unknown platform" | ||
| 32 | #endif | ||
| 33 | |||
| 34 | return ret; | ||
| 35 | } | ||
lib/libc/mingw/stdio/vfscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vfscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vfscanf) | ||
| 10 | |||
| 11 | 	.file "vfscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/stdio/vfwscanf.c deleted-36| ... | @@ -1,36 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <stdarg.h> | ||
| 8 | #include <wchar.h> | ||
| 9 | |||
| 10 | extern int __ms_vfwscanf_internal ( | ||
| 11 | FILE * s, | ||
| 12 | const wchar_t * format, | ||
| 13 | va_list arg, | ||
| 14 | size_t count, | ||
| 15 | int (*func)(FILE * __restrict__, const wchar_t * __restrict__, ...)) | ||
| 16 | asm("__argtos"); | ||
| 17 | |||
| 18 | extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format); | ||
| 19 | |||
| 20 | int __ms_vfwscanf (FILE * __restrict__ stream, | ||
| 21 | const wchar_t * __restrict__ format, va_list arg) | ||
| 22 | { | ||
| 23 | size_t count = __ms_wscanf_max_arg_count_internal (format); | ||
| 24 | int ret; | ||
| 25 | |||
| 26 | #if defined(_AMD64_) || defined(__x86_64__) || \ | ||
| 27 | defined(_X86_) || defined(__i386__) || \ | ||
| 28 | defined(_ARM_) || defined(__arm__) || \ | ||
| 29 | defined (_ARM64_) || defined (__aarch64__) | ||
| 30 | ret = __ms_vfwscanf_internal (stream, format, arg, count, fwscanf); | ||
| 31 | #else | ||
| 32 | #error "unknown platform" | ||
| 33 | #endif | ||
| 34 | |||
| 35 | return ret; | ||
| 36 | } | ||
lib/libc/mingw/stdio/vfwscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vfwscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vfwscanf) | ||
| 10 | |||
| 11 | 	.file "vfwscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/stdio/vscanf.c deleted-15| ... | @@ -1,15 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | // By aaronwl 2003-01-28 for mingw-msvcrt | ||
| 7 | // Public domain: all copyrights disclaimed, absolutely no warranties | ||
| 8 | |||
| 9 | #include <stdarg.h> | ||
| 10 | #include <stdio.h> | ||
| 11 | |||
| 12 | int __ms_vscanf(const char * __restrict__ format, va_list arg) | ||
| 13 | { | ||
| 14 | return __ms_vfscanf(stdin, format, arg); | ||
| 15 | } | ||
lib/libc/mingw/stdio/vscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vscanf) | ||
| 10 | |||
| 11 | 	.file "vscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/stdio/vsnwprintf.c+19-1| ... | @@ -12,5 +12,23 @@ int __cdecl __ms_vsnwprintf(wchar_t *buffer, size_t n, const wchar_t * format, | ... | @@ -12,5 +12,23 @@ int __cdecl __ms_vsnwprintf(wchar_t *buffer, size_t n, const wchar_t * format, |
| 12 | 12 | ||
| 13 | int __cdecl __ms_vsnwprintf(wchar_t *buffer, size_t n, const wchar_t * format, va_list argptr) | 13 | int __cdecl __ms_vsnwprintf(wchar_t *buffer, size_t n, const wchar_t * format, va_list argptr) |
| 14 | { | 14 | { |
| 15 | return _vsnwprintf(buffer, n, format, argptr); | 15 | int retval; |
| 16 | |||
| 17 | /* _vsnwprintf() does not work with zero length buffer | ||
| 18 | * so count number of characters by _vscwprintf() call */ | ||
| 19 | if (n == 0) | ||
| 20 | return _vscwprintf(format, argptr); | ||
| 21 | |||
| 22 | retval = _vsnwprintf(buffer, n, format, argptr); | ||
| 23 | |||
| 24 | /* _vsnwprintf() does not fill trailing null character if there is not place for it */ | ||
| 25 | if (retval < 0 || (size_t)retval == n) | ||
| 26 | buffer[n-1] = '\0'; | ||
| 27 | |||
| 28 | /* _vsnwprintf() returns negative number if buffer is too small | ||
| 29 | * so count number of characters by _vscwprintf() call */ | ||
| 30 | if (retval < 0) | ||
| 31 | retval = _vscwprintf(format, argptr); | ||
| 32 | |||
| 33 | return retval; | ||
| 16 | } | 34 | } |
lib/libc/mingw/stdio/vsscanf.c deleted-36| ... | @@ -1,36 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <stdarg.h> | ||
| 8 | #include <stdio.h> | ||
| 9 | |||
| 10 | extern int __ms_vsscanf_internal ( | ||
| 11 | const char * s, | ||
| 12 | const char * format, | ||
| 13 | va_list arg, | ||
| 14 | size_t count, | ||
| 15 | int (*func)(const char * __restrict__, const char * __restrict__, ...)) | ||
| 16 | asm("__argtos"); | ||
| 17 | |||
| 18 | extern size_t __ms_scanf_max_arg_count_internal (const char * format); | ||
| 19 | |||
| 20 | int __ms_vsscanf (const char * __restrict__ s, | ||
| 21 | const char * __restrict__ format, va_list arg) | ||
| 22 | { | ||
| 23 | size_t count = __ms_scanf_max_arg_count_internal (format); | ||
| 24 | int ret; | ||
| 25 | |||
| 26 | #if defined(_AMD64_) || defined(__x86_64__) || \ | ||
| 27 | defined(_X86_) || defined(__i386__) || \ | ||
| 28 | defined(_ARM_) || defined(__arm__) || \ | ||
| 29 | defined(_ARM64_) || defined(__aarch64__) | ||
| 30 | ret = __ms_vsscanf_internal (s, format, arg, count, sscanf); | ||
| 31 | #else | ||
| 32 | #error "unknown platform" | ||
| 33 | #endif | ||
| 34 | |||
| 35 | return ret; | ||
| 36 | } | ||
lib/libc/mingw/stdio/vsscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vsscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vsscanf) | ||
| 10 | |||
| 11 | 	.file "vsscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/stdio/vswscanf.c deleted-36| ... | @@ -1,36 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <stdarg.h> | ||
| 8 | #include <wchar.h> | ||
| 9 | |||
| 10 | extern int __ms_vswscanf_internal ( | ||
| 11 | const wchar_t * s, | ||
| 12 | const wchar_t * format, | ||
| 13 | va_list arg, | ||
| 14 | size_t count, | ||
| 15 | int (*func)(const wchar_t * __restrict__, const wchar_t * __restrict__, ...)) | ||
| 16 | asm("__argtos"); | ||
| 17 | |||
| 18 | extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format); | ||
| 19 | |||
| 20 | int __ms_vswscanf(const wchar_t * __restrict__ s, const wchar_t * __restrict__ format, | ||
| 21 | va_list arg) | ||
| 22 | { | ||
| 23 | size_t count = __ms_wscanf_max_arg_count_internal (format); | ||
| 24 | int ret; | ||
| 25 | |||
| 26 | #if defined(_AMD64_) || defined(__x86_64__) || \ | ||
| 27 | defined(_X86_) || defined(__i386__) || \ | ||
| 28 | defined(_ARM_) || defined(__arm__) || \ | ||
| 29 | defined(_ARM64_) || defined(__aarch64__) | ||
| 30 | ret = __ms_vswscanf_internal (s, format, arg, count, swscanf); | ||
| 31 | #else | ||
| 32 | #error "unknown platform" | ||
| 33 | #endif | ||
| 34 | |||
| 35 | return ret; | ||
| 36 | } | ||
lib/libc/mingw/stdio/vswscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vswscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vswscanf) | ||
| 10 | |||
| 11 | 	.file "vswscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/stdio/vwscanf.c deleted-16| ... | @@ -1,16 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | // By aaronwl 2003-01-28 for mingw-msvcrt. | ||
| 7 | // Public domain: all copyrights disclaimed, absolutely no warranties. | ||
| 8 | |||
| 9 | #include <stdarg.h> | ||
| 10 | #include <wchar.h> | ||
| 11 | #include <stdio.h> | ||
| 12 | |||
| 13 | int __ms_vwscanf (const wchar_t * __restrict__ format, va_list arg) | ||
| 14 | { | ||
| 15 | return __ms_vfwscanf(stdin, format, arg); | ||
| 16 | } | ||
lib/libc/mingw/stdio/vwscanf2.S deleted-12| ... | @@ -1,12 +0,0 @@ | ||
| 1 | /** | ||
| 2 | * This file has no copyright assigned and is placed in the Public Domain. | ||
| 3 | * This file is part of the mingw-w64 runtime package. | ||
| 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | ||
| 5 | */ | ||
| 6 | #include <_mingw_mac.h> | ||
| 7 | |||
| 8 | #define FCT __MINGW_USYMBOL(vwscanf) | ||
| 9 | #define FWD __MINGW_USYMBOL(__ms_vwscanf) | ||
| 10 | |||
| 11 | 	.file "vwscanf2.S" | ||
| 12 | #include "scanf2-template.S" | ||
lib/libc/mingw/winpthreads/thread.c+3-2| ... | @@ -970,7 +970,8 @@ void | ... | @@ -970,7 +970,8 @@ void |
| 970 | _pthread_cleanup_dest (pthread_t t) | 970 | _pthread_cleanup_dest (pthread_t t) |
| 971 | { | 971 | { |
| 972 | 	_pthread_v *tv; | 972 | 	_pthread_v *tv; |
| 973 | 	unsigned int i, j; | 973 | 	unsigned int j; |
| 974 | 	int i; | ||
| 974 | 975 | ||
| 975 | 	if (!t) | 976 | 	if (!t) |
| 976 | 		return; | 977 | 		return; |
| ... | @@ -983,7 +984,7 @@ _pthread_cleanup_dest (pthread_t t) | ... | @@ -983,7 +984,7 @@ _pthread_cleanup_dest (pthread_t t) |
| 983 | 		int flag = 0; | 984 | 		int flag = 0; |
| 984 | 985 | ||
| 985 | 		pthread_spin_lock (&tv->spin_keys); | 986 | 		pthread_spin_lock (&tv->spin_keys); |
| 986 | 		for (i = 0; i < tv->keymax; i++) | 987 | 		for (i = tv->keymax - 1; i >= 0; i--) |
| 987 | 		{ | 988 | 		{ |
| 988 | 			void *val = tv->keyval[i]; | 989 | 			void *val = tv->keyval[i]; |
| 989 | 990 |
lib/libc/mingw/winpthreads/thread.h+1-1| ... | @@ -74,6 +74,6 @@ void thread_print_set(int state); | ... | @@ -74,6 +74,6 @@ void thread_print_set(int state); |
| 74 | void thread_print(volatile pthread_t t, char *txt); | 74 | void thread_print(volatile pthread_t t, char *txt); |
| 75 | #endif | 75 | #endif |
| 76 | int __pthread_shallcancel(void); | 76 | int __pthread_shallcancel(void); |
| 77 | struct _pthread_v *WINPTHREAD_API __pth_gpointer_locked (pthread_t id); | 77 | WINPTHREAD_API struct _pthread_v * __pth_gpointer_locked (pthread_t id); |
| 78 | 78 | ||
| 79 | #endif | 79 | #endif |
lib/std/zig/target.zig+2| ... | @@ -242,6 +242,8 @@ pub fn isLibCLibName(target: std.Target, name: []const u8) bool { | ... | @@ -242,6 +242,8 @@ pub fn isLibCLibName(target: std.Target, name: []const u8) bool { |
| 242 | return true; | 242 | return true; |
| 243 | if (eqlIgnoreCase(ignore_case, name, "wbemuuid")) | 243 | if (eqlIgnoreCase(ignore_case, name, "wbemuuid")) |
| 244 | return true; | 244 | return true; |
| 245 | if (eqlIgnoreCase(ignore_case, name, "wiaguid")) | ||
| 246 | return true; | ||
| 245 | if (eqlIgnoreCase(ignore_case, name, "winpthread")) | 247 | if (eqlIgnoreCase(ignore_case, name, "winpthread")) |
| 246 | return true; | 248 | return true; |
| 247 | if (eqlIgnoreCase(ignore_case, name, "wmcodecdspuuid")) | 249 | if (eqlIgnoreCase(ignore_case, name, "wmcodecdspuuid")) |
src/mingw.zig+17-30| ... | @@ -497,7 +497,7 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -497,7 +497,7 @@ const mingw32_generic_src = [_][]const u8{ |
| 497 | "crt" ++ path.sep_str ++ "cxa_atexit.c", | 497 | "crt" ++ path.sep_str ++ "cxa_atexit.c", |
| 498 | "crt" ++ path.sep_str ++ "cxa_thread_atexit.c", | 498 | "crt" ++ path.sep_str ++ "cxa_thread_atexit.c", |
| 499 | "crt" ++ path.sep_str ++ "tls_atexit.c", | 499 | "crt" ++ path.sep_str ++ "tls_atexit.c", |
| 500 | "crt" ++ path.sep_str ++ "intrincs" ++ path.sep_str ++ "RtlSecureZeroMemory.c", | 500 | "intrincs" ++ path.sep_str ++ "RtlSecureZeroMemory.c", |
| 501 | // mingwex | 501 | // mingwex |
| 502 | "cfguard" ++ path.sep_str ++ "mingw_cfguard_support.c", | 502 | "cfguard" ++ path.sep_str ++ "mingw_cfguard_support.c", |
| 503 | "complex" ++ path.sep_str ++ "_cabs.c", | 503 | "complex" ++ path.sep_str ++ "_cabs.c", |
| ... | @@ -630,8 +630,6 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -630,8 +630,6 @@ const mingw32_generic_src = [_][]const u8{ |
| 630 | "misc" ++ path.sep_str ++ "getlogin.c", | 630 | "misc" ++ path.sep_str ++ "getlogin.c", |
| 631 | "misc" ++ path.sep_str ++ "getopt.c", | 631 | "misc" ++ path.sep_str ++ "getopt.c", |
| 632 | "misc" ++ path.sep_str ++ "gettimeofday.c", | 632 | "misc" ++ path.sep_str ++ "gettimeofday.c", |
| 633 | "misc" ++ path.sep_str ++ "isblank.c", | ||
| 634 | "misc" ++ path.sep_str ++ "iswblank.c", | ||
| 635 | "misc" ++ path.sep_str ++ "mempcpy.c", | 633 | "misc" ++ path.sep_str ++ "mempcpy.c", |
| 636 | "misc" ++ path.sep_str ++ "mingw-access.c", | 634 | "misc" ++ path.sep_str ++ "mingw-access.c", |
| 637 | "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c", | 635 | "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c", |
| ... | @@ -658,8 +656,6 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -658,8 +656,6 @@ const mingw32_generic_src = [_][]const u8{ |
| 658 | "misc" ++ path.sep_str ++ "wcstold.c", | 656 | "misc" ++ path.sep_str ++ "wcstold.c", |
| 659 | "misc" ++ path.sep_str ++ "wcstoumax.c", | 657 | "misc" ++ path.sep_str ++ "wcstoumax.c", |
| 660 | "misc" ++ path.sep_str ++ "wctob.c", | 658 | "misc" ++ path.sep_str ++ "wctob.c", |
| 661 | "misc" ++ path.sep_str ++ "wctrans.c", | ||
| 662 | "misc" ++ path.sep_str ++ "wctype.c", | ||
| 663 | "misc" ++ path.sep_str ++ "wdirent.c", | 659 | "misc" ++ path.sep_str ++ "wdirent.c", |
| 664 | "misc" ++ path.sep_str ++ "winbs_uint64.c", | 660 | "misc" ++ path.sep_str ++ "winbs_uint64.c", |
| 665 | "misc" ++ path.sep_str ++ "winbs_ulong.c", | 661 | "misc" ++ path.sep_str ++ "winbs_ulong.c", |
| ... | @@ -692,35 +688,36 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -692,35 +688,36 @@ const mingw32_generic_src = [_][]const u8{ |
| 692 | "stdio" ++ path.sep_str ++ "lseek64.c", | 688 | "stdio" ++ path.sep_str ++ "lseek64.c", |
| 693 | "stdio" ++ path.sep_str ++ "mingw_asprintf.c", | 689 | "stdio" ++ path.sep_str ++ "mingw_asprintf.c", |
| 694 | "stdio" ++ path.sep_str ++ "mingw_fprintf.c", | 690 | "stdio" ++ path.sep_str ++ "mingw_fprintf.c", |
| 695 | "stdio" ++ path.sep_str ++ "mingw_fprintfw.c", | 691 | "stdio" ++ path.sep_str ++ "mingw_fwprintf.c", |
| 696 | "stdio" ++ path.sep_str ++ "mingw_fscanf.c", | 692 | "stdio" ++ path.sep_str ++ "mingw_fscanf.c", |
| 697 | "stdio" ++ path.sep_str ++ "mingw_fwscanf.c", | 693 | "stdio" ++ path.sep_str ++ "mingw_fwscanf.c", |
| 698 | "stdio" ++ path.sep_str ++ "mingw_pformat.c", | 694 | "stdio" ++ path.sep_str ++ "mingw_pformat.c", |
| 699 | "stdio" ++ path.sep_str ++ "mingw_pformatw.c", | 695 | "stdio" ++ path.sep_str ++ "mingw_sformat.c", |
| 696 | "stdio" ++ path.sep_str ++ "mingw_swformat.c", | ||
| 697 | "stdio" ++ path.sep_str ++ "mingw_wpformat.c", | ||
| 700 | "stdio" ++ path.sep_str ++ "mingw_printf.c", | 698 | "stdio" ++ path.sep_str ++ "mingw_printf.c", |
| 701 | "stdio" ++ path.sep_str ++ "mingw_printfw.c", | 699 | "stdio" ++ path.sep_str ++ "mingw_wprintf.c", |
| 702 | "stdio" ++ path.sep_str ++ "mingw_scanf.c", | 700 | "stdio" ++ path.sep_str ++ "mingw_scanf.c", |
| 703 | "stdio" ++ path.sep_str ++ "mingw_snprintf.c", | 701 | "stdio" ++ path.sep_str ++ "mingw_snprintf.c", |
| 704 | "stdio" ++ path.sep_str ++ "mingw_snprintfw.c", | 702 | "stdio" ++ path.sep_str ++ "mingw_snwprintf.c", |
| 705 | "stdio" ++ path.sep_str ++ "mingw_sprintf.c", | 703 | "stdio" ++ path.sep_str ++ "mingw_sprintf.c", |
| 706 | "stdio" ++ path.sep_str ++ "mingw_sprintfw.c", | 704 | "stdio" ++ path.sep_str ++ "mingw_swprintf.c", |
| 707 | "stdio" ++ path.sep_str ++ "mingw_sscanf.c", | 705 | "stdio" ++ path.sep_str ++ "mingw_sscanf.c", |
| 708 | "stdio" ++ path.sep_str ++ "mingw_swscanf.c", | 706 | "stdio" ++ path.sep_str ++ "mingw_swscanf.c", |
| 709 | "stdio" ++ path.sep_str ++ "mingw_vasprintf.c", | 707 | "stdio" ++ path.sep_str ++ "mingw_vasprintf.c", |
| 710 | "stdio" ++ path.sep_str ++ "mingw_vfprintf.c", | 708 | "stdio" ++ path.sep_str ++ "mingw_vfprintf.c", |
| 711 | "stdio" ++ path.sep_str ++ "mingw_vfprintfw.c", | 709 | "stdio" ++ path.sep_str ++ "mingw_vfwprintf.c", |
| 712 | "stdio" ++ path.sep_str ++ "mingw_vfscanf.c", | 710 | "stdio" ++ path.sep_str ++ "mingw_vfscanf.c", |
| 713 | "stdio" ++ path.sep_str ++ "mingw_vprintf.c", | 711 | "stdio" ++ path.sep_str ++ "mingw_vprintf.c", |
| 714 | "stdio" ++ path.sep_str ++ "mingw_vprintfw.c", | 712 | "stdio" ++ path.sep_str ++ "mingw_vsscanf.c", |
| 713 | "stdio" ++ path.sep_str ++ "mingw_vwprintf.c", | ||
| 715 | "stdio" ++ path.sep_str ++ "mingw_vsnprintf.c", | 714 | "stdio" ++ path.sep_str ++ "mingw_vsnprintf.c", |
| 716 | "stdio" ++ path.sep_str ++ "mingw_vsnprintfw.c", | 715 | "stdio" ++ path.sep_str ++ "mingw_vsnwprintf.c", |
| 717 | "stdio" ++ path.sep_str ++ "mingw_vsprintf.c", | 716 | "stdio" ++ path.sep_str ++ "mingw_vsprintf.c", |
| 718 | "stdio" ++ path.sep_str ++ "mingw_vsprintfw.c", | 717 | "stdio" ++ path.sep_str ++ "mingw_vswprintf.c", |
| 719 | "stdio" ++ path.sep_str ++ "mingw_wscanf.c", | 718 | "stdio" ++ path.sep_str ++ "mingw_wscanf.c", |
| 720 | "stdio" ++ path.sep_str ++ "mingw_wvfscanf.c", | 719 | "stdio" ++ path.sep_str ++ "mingw_vfwscanf.c", |
| 721 | "stdio" ++ path.sep_str ++ "scanf2-argcount-char.c", | 720 | "stdio" ++ path.sep_str ++ "mingw_vswscanf.c", |
| 722 | "stdio" ++ path.sep_str ++ "scanf2-argcount-wchar.c", | ||
| 723 | "stdio" ++ path.sep_str ++ "scanf.S", | ||
| 724 | "stdio" ++ path.sep_str ++ "snprintf.c", | 721 | "stdio" ++ path.sep_str ++ "snprintf.c", |
| 725 | "stdio" ++ path.sep_str ++ "snwprintf.c", | 722 | "stdio" ++ path.sep_str ++ "snwprintf.c", |
| 726 | "stdio" ++ path.sep_str ++ "strtok_r.c", | 723 | "stdio" ++ path.sep_str ++ "strtok_r.c", |
| ... | @@ -728,20 +725,8 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -728,20 +725,8 @@ const mingw32_generic_src = [_][]const u8{ |
| 728 | "stdio" ++ path.sep_str ++ "ulltoa.c", | 725 | "stdio" ++ path.sep_str ++ "ulltoa.c", |
| 729 | "stdio" ++ path.sep_str ++ "ulltow.c", | 726 | "stdio" ++ path.sep_str ++ "ulltow.c", |
| 730 | "stdio" ++ path.sep_str ++ "vasprintf.c", | 727 | "stdio" ++ path.sep_str ++ "vasprintf.c", |
| 731 | "stdio" ++ path.sep_str ++ "vfscanf.c", | ||
| 732 | "stdio" ++ path.sep_str ++ "vfscanf2.S", | ||
| 733 | "stdio" ++ path.sep_str ++ "vfwscanf.c", | ||
| 734 | "stdio" ++ path.sep_str ++ "vfwscanf2.S", | ||
| 735 | "stdio" ++ path.sep_str ++ "vscanf.c", | ||
| 736 | "stdio" ++ path.sep_str ++ "vscanf2.S", | ||
| 737 | "stdio" ++ path.sep_str ++ "vsnprintf.c", | 728 | "stdio" ++ path.sep_str ++ "vsnprintf.c", |
| 738 | "stdio" ++ path.sep_str ++ "vsnwprintf.c", | 729 | "stdio" ++ path.sep_str ++ "vsnwprintf.c", |
| 739 | "stdio" ++ path.sep_str ++ "vsscanf.c", | ||
| 740 | "stdio" ++ path.sep_str ++ "vsscanf2.S", | ||
| 741 | "stdio" ++ path.sep_str ++ "vswscanf.c", | ||
| 742 | "stdio" ++ path.sep_str ++ "vswscanf2.S", | ||
| 743 | "stdio" ++ path.sep_str ++ "vwscanf.c", | ||
| 744 | "stdio" ++ path.sep_str ++ "vwscanf2.S", | ||
| 745 | "stdio" ++ path.sep_str ++ "wtoll.c", | 730 | "stdio" ++ path.sep_str ++ "wtoll.c", |
| 746 | // mingwthrd | 731 | // mingwthrd |
| 747 | "libsrc" ++ path.sep_str ++ "mingwthrd_mt.c", | 732 | "libsrc" ++ path.sep_str ++ "mingwthrd_mt.c", |
| ... | @@ -768,6 +753,7 @@ const mingw32_generic_src = [_][]const u8{ | ... | @@ -768,6 +753,7 @@ const mingw32_generic_src = [_][]const u8{ |
| 768 | "stdio" ++ path.sep_str ++ "ucrt_fprintf.c", | 753 | "stdio" ++ path.sep_str ++ "ucrt_fprintf.c", |
| 769 | "stdio" ++ path.sep_str ++ "ucrt_fscanf.c", | 754 | "stdio" ++ path.sep_str ++ "ucrt_fscanf.c", |
| 770 | "stdio" ++ path.sep_str ++ "ucrt_fwprintf.c", | 755 | "stdio" ++ path.sep_str ++ "ucrt_fwprintf.c", |
| 756 | "stdio" ++ path.sep_str ++ "ucrt_ms_fprintf.c", | ||
| 771 | "stdio" ++ path.sep_str ++ "ucrt_ms_fwprintf.c", | 757 | "stdio" ++ path.sep_str ++ "ucrt_ms_fwprintf.c", |
| 772 | "stdio" ++ path.sep_str ++ "ucrt_printf.c", | 758 | "stdio" ++ path.sep_str ++ "ucrt_printf.c", |
| 773 | "stdio" ++ path.sep_str ++ "ucrt_scanf.c", | 759 | "stdio" ++ path.sep_str ++ "ucrt_scanf.c", |
| ... | @@ -933,6 +919,7 @@ const mingw32_x86_src = [_][]const u8{ | ... | @@ -933,6 +919,7 @@ const mingw32_x86_src = [_][]const u8{ |
| 933 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c", | 919 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c", |
| 934 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S", | 920 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S", |
| 935 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c", | 921 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c", |
| 922 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossinl.c", | ||
| 936 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S", | 923 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S", |
| 937 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c", | 924 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c", |
| 938 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c", | 925 | "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c", |
tools/update_mingw.zig+55-9| ... | @@ -42,11 +42,12 @@ pub fn main() !void { | ... | @@ -42,11 +42,12 @@ pub fn main() !void { |
| 42 | 42 | ||
| 43 | src_crt_dir.copyFile(entry.path, dest_crt_dir, entry.path, .{}) catch |err| switch (err) { | 43 | src_crt_dir.copyFile(entry.path, dest_crt_dir, entry.path, .{}) catch |err| switch (err) { |
| 44 | error.FileNotFound => { | 44 | error.FileNotFound => { |
| 45 | const whitelisted = for (whitelist) |item| { | 45 | const keep = for (kept_crt_files) |item| { |
| 46 | if (std.mem.eql(u8, entry.path, item)) break true; | 46 | if (std.mem.eql(u8, entry.path, item)) break true; |
| 47 | if (std.mem.startsWith(u8, entry.path, "winpthreads/")) break true; | ||
| 47 | } else false; | 48 | } else false; |
| 48 | 49 | ||
| 49 | if (!whitelisted) { | 50 | if (!keep) { |
| 50 | std.log.warn("deleting {s}", .{entry.path}); | 51 | std.log.warn("deleting {s}", .{entry.path}); |
| 51 | try dest_crt_dir.deleteFile(entry.path); | 52 | try dest_crt_dir.deleteFile(entry.path); |
| 52 | } | 53 | } |
| ... | @@ -61,6 +62,51 @@ pub fn main() !void { | ... | @@ -61,6 +62,51 @@ pub fn main() !void { |
| 61 | if (fail) std.process.exit(1); | 62 | if (fail) std.process.exit(1); |
| 62 | } | 63 | } |
| 63 | 64 | ||
| 65 | { | ||
| 66 | const dest_mingw_winpthreads_path = try std.fs.path.join(arena, &.{ | ||
| 67 | zig_src_lib_path, "libc", "mingw", "winpthreads", | ||
| 68 | }); | ||
| 69 | const src_mingw_libraries_winpthreads_src_path = try std.fs.path.join(arena, &.{ | ||
| 70 | mingw_src_path, "mingw-w64-libraries", "winpthreads", "src", | ||
| 71 | }); | ||
| 72 | |||
| 73 | var dest_winpthreads_dir = std.fs.cwd().openDir(dest_mingw_winpthreads_path, .{ .iterate = true }) catch |err| { | ||
| 74 | std.log.err("unable to open directory '{s}': {s}", .{ dest_mingw_winpthreads_path, @errorName(err) }); | ||
| 75 | std.process.exit(1); | ||
| 76 | }; | ||
| 77 | defer dest_winpthreads_dir.close(); | ||
| 78 | |||
| 79 | var src_winpthreads_dir = std.fs.cwd().openDir(src_mingw_libraries_winpthreads_src_path, .{ .iterate = true }) catch |err| { | ||
| 80 | std.log.err("unable to open directory '{s}': {s}", .{ src_mingw_libraries_winpthreads_src_path, @errorName(err) }); | ||
| 81 | std.process.exit(1); | ||
| 82 | }; | ||
| 83 | defer src_winpthreads_dir.close(); | ||
| 84 | |||
| 85 | { | ||
| 86 | var walker = try dest_winpthreads_dir.walk(arena); | ||
| 87 | defer walker.deinit(); | ||
| 88 | |||
| 89 | var fail = false; | ||
| 90 | |||
| 91 | while (try walker.next()) |entry| { | ||
| 92 | if (entry.kind != .file) continue; | ||
| 93 | |||
| 94 | src_winpthreads_dir.copyFile(entry.path, dest_winpthreads_dir, entry.path, .{}) catch |err| switch (err) { | ||
| 95 | error.FileNotFound => { | ||
| 96 | std.log.warn("deleting {s}", .{entry.path}); | ||
| 97 | try dest_winpthreads_dir.deleteFile(entry.path); | ||
| 98 | }, | ||
| 99 | else => { | ||
| 100 | std.log.err("unable to copy {s}: {s}", .{ entry.path, @errorName(err) }); | ||
| 101 | fail = true; | ||
| 102 | }, | ||
| 103 | }; | ||
| 104 | } | ||
| 105 | |||
| 106 | if (fail) std.process.exit(1); | ||
| 107 | } | ||
| 108 | } | ||
| 109 | |||
| 64 | { | 110 | { |
| 65 | // Also add all new def and def.in files. | 111 | // Also add all new def and def.in files. |
| 66 | var walker = try src_crt_dir.walk(arena); | 112 | var walker = try src_crt_dir.walk(arena); |
| ... | @@ -71,19 +117,19 @@ pub fn main() !void { | ... | @@ -71,19 +117,19 @@ pub fn main() !void { |
| 71 | while (try walker.next()) |entry| { | 117 | while (try walker.next()) |entry| { |
| 72 | if (entry.kind != .file) continue; | 118 | if (entry.kind != .file) continue; |
| 73 | 119 | ||
| 74 | const ok_ext = for (ok_exts) |ext| { | 120 | const ok_ext = for (def_exts) |ext| { |
| 75 | if (std.mem.endsWith(u8, entry.path, ext)) break true; | 121 | if (std.mem.endsWith(u8, entry.path, ext)) break true; |
| 76 | } else false; | 122 | } else false; |
| 77 | 123 | ||
| 78 | if (!ok_ext) continue; | 124 | if (!ok_ext) continue; |
| 79 | 125 | ||
| 80 | const ok_prefix = for (ok_prefixes) |p| { | 126 | const ok_prefix = for (def_dirs) |p| { |
| 81 | if (std.mem.startsWith(u8, entry.path, p)) break true; | 127 | if (std.mem.startsWith(u8, entry.path, p)) break true; |
| 82 | } else false; | 128 | } else false; |
| 83 | 129 | ||
| 84 | if (!ok_prefix) continue; | 130 | if (!ok_prefix) continue; |
| 85 | 131 | ||
| 86 | const blacklisted = for (blacklist) |item| { | 132 | const blacklisted = for (blacklisted_defs) |item| { |
| 87 | if (std.mem.eql(u8, entry.basename, item)) break true; | 133 | if (std.mem.eql(u8, entry.basename, item)) break true; |
| 88 | } else false; | 134 | } else false; |
| 89 | 135 | ||
| ... | @@ -106,17 +152,17 @@ pub fn main() !void { | ... | @@ -106,17 +152,17 @@ pub fn main() !void { |
| 106 | return std.process.cleanExit(); | 152 | return std.process.cleanExit(); |
| 107 | } | 153 | } |
| 108 | 154 | ||
| 109 | const whitelist = [_][]const u8{ | 155 | const kept_crt_files = [_][]const u8{ |
| 110 | "COPYING", | 156 | "COPYING", |
| 111 | "include" ++ std.fs.path.sep_str ++ "config.h", | 157 | "include" ++ std.fs.path.sep_str ++ "config.h", |
| 112 | }; | 158 | }; |
| 113 | 159 | ||
| 114 | const ok_exts = [_][]const u8{ | 160 | const def_exts = [_][]const u8{ |
| 115 | ".def", | 161 | ".def", |
| 116 | ".def.in", | 162 | ".def.in", |
| 117 | }; | 163 | }; |
| 118 | 164 | ||
| 119 | const ok_prefixes = [_][]const u8{ | 165 | const def_dirs = [_][]const u8{ |
| 120 | "lib32" ++ std.fs.path.sep_str, | 166 | "lib32" ++ std.fs.path.sep_str, |
| 121 | "lib64" ++ std.fs.path.sep_str, | 167 | "lib64" ++ std.fs.path.sep_str, |
| 122 | "libarm32" ++ std.fs.path.sep_str, | 168 | "libarm32" ++ std.fs.path.sep_str, |
| ... | @@ -125,7 +171,7 @@ const ok_prefixes = [_][]const u8{ | ... | @@ -125,7 +171,7 @@ const ok_prefixes = [_][]const u8{ |
| 125 | "def-include" ++ std.fs.path.sep_str, | 171 | "def-include" ++ std.fs.path.sep_str, |
| 126 | }; | 172 | }; |
| 127 | 173 | ||
| 128 | const blacklist = [_][]const u8{ | 174 | const blacklisted_defs = [_][]const u8{ |
| 129 | "crtdll.def.in", | 175 | "crtdll.def.in", |
| 130 | 176 | ||
| 131 | "msvcp60.def", | 177 | "msvcp60.def", |