authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-01-20 12:01:33-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-01-20 12:01:33-08:00
log10aff6750275bda834579b0b2daef14287d50438
treefec4935c2bdde0355c9b02d6644adf8f8b5204d8
parent1b8f7e46fa33cda57caf39c5a5a0f5f52335a99b
parent398ab5fcfb1de7cbf340ab14f4b8d835250dbb2a
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #18596 from ypsvlq/mingw

mingw-w64: add missing CRT sources

277 files changed, 4833 insertions(+), 11769 deletions(-)

lib/libc/mingw/cfguard/mingw_cfguard_support.c created+59
...@@ -0,0 +1,59 @@
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// This source file defines the function pointers required to support Control
8// Flow Guard. They shall be included even if CFGuard is disabled when building
9// mingw-w64-crt itself, to allow linking to objects/libraries compiled with
10// CFGuard.
11
12#if defined(__x86_64__)
13
14// The target address is passed as a parameter in an arch-specific manner,
15// however it is not specified how on x86_64 because __guard_dispatch_icall_fptr
16// is used instead. My guess would be that it's passed on %rcx, but it doesn't
17// really matter here because this is a no-op anyway.
18static void __guard_check_icall_dummy(void) {}
19
20// When CFGuard is not active, directly tail-call the target address, which
21// is passed via %rax.
22__asm__(
23 ".globl __guard_dispatch_icall_dummy\n"
24 "__guard_dispatch_icall_dummy:\n"
25 " jmp *%rax\n"
26);
27
28// This is intentionally declared as _not_ a function pointer, so that the
29// jmp instruction is not included as a valid call target for CFGuard.
30extern void *__guard_dispatch_icall_dummy;
31
32#elif defined(__i386__) || defined(__aarch64__) || defined(__arm__)
33
34// The target address is passed via %ecx (x86), X15 (aarch64) or R0 (arm),
35// but it doesn't really matter here because this is a no-op anyway.
36static void __guard_check_icall_dummy(void) {}
37
38#else
39# error "CFGuard support is unimplemented for the current architecture."
40#endif
41
42// I am not sure about the `.00cfg` section. This is just an attempt to follow
43// what VC runtime defines -- it places all the guard check function pointers
44// inside this section. The MSVC linker appears to merge this section into
45// `.rdata`, but LLD does not do this at the time of writing.
46// This section should be readonly data. The only thing that modifies these
47// pointers is the PE image loader.
48
49__asm__(".section .00cfg,\"dr\"");
50
51__attribute__(( section (".00cfg") ))
52void *__guard_check_icall_fptr = &__guard_check_icall_dummy;
53
54#if defined(__x86_64__)
55
56__attribute__(( section (".00cfg") ))
57void *__guard_dispatch_icall_fptr = &__guard_dispatch_icall_dummy;
58
59#endif
lib/libc/mingw/lib-common/msvcrt.def.in deleted-1628
...@@ -1,1628 +0,0 @@
1LIBRARY "msvcrt.dll"
2EXPORTS
3
4#include "func.def.in"
5#include "msvcrt-common.def.in"
6
7#ifdef DEF_I386
8_CIacos
9_CIasin
10_CIatan
11_CIatan2
12_CIcos
13_CIcosh
14_CIexp
15_CIfmod
16_CIlog
17_CIlog10
18_CIpow
19_CIsin
20_CIsinh
21_CIsqrt
22_CItan
23_CItanh
24#endif
25
26#ifdef DEF_X64
27$I10_OUTPUT
28; public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object const & __ptr64) __ptr64
29; GCC = __ZN17__non_rtti_objectC2ERKS_
30??0__non_rtti_object@@QEAA@AEBV0@@Z
31; public: __cdecl __non_rtti_object::__non_rtti_object(char const * __ptr64) __ptr64
32; GCC = __ZN17__non_rtti_objectC1ERKS_
33??0__non_rtti_object@@QEAA@PEBD@Z
34; private: __cdecl bad_cast::bad_cast(char const * __ptr64 const * __ptr64) __ptr64
35??0bad_cast@@AEAA@PEBQEBD@Z
36; public: __cdecl bad_cast::bad_cast(char const * __ptr64 const & __ptr64) __ptr64
37??0bad_cast@@QEAA@AEBQEBD@Z
38; public: __cdecl bad_cast::bad_cast(class bad_cast const & __ptr64) __ptr64
39??0bad_cast@@QEAA@AEBV0@@Z
40; public: __cdecl bad_cast::bad_cast(char const * __ptr64) __ptr64
41??0bad_cast@@QEAA@PEBD@Z
42; public: __cdecl bad_typeid::bad_typeid(class bad_typeid const & __ptr64) __ptr64
43??0bad_typeid@@QEAA@AEBV0@@Z
44; public: __cdecl bad_typeid::bad_typeid(char const * __ptr64) __ptr64
45??0bad_typeid@@QEAA@PEBD@Z
46; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
47??0exception@@QEAA@AEBQEBD@Z
48; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64,int) __ptr64
49??0exception@@QEAA@AEBQEBDH@Z
50; public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
51??0exception@@QEAA@AEBV0@@Z
52; public: __cdecl exception::exception(void) __ptr64
53??0exception@@QEAA@XZ
54; public: virtual __cdecl __non_rtti_object::~__non_rtti_object(void) __ptr64
55??1__non_rtti_object@@UEAA@XZ
56; public: virtual __cdecl bad_cast::~bad_cast(void) __ptr64
57??1bad_cast@@UEAA@XZ
58; public: virtual __cdecl bad_typeid::~bad_typeid(void) __ptr64
59??1bad_typeid@@UEAA@XZ
60; public: virtual __cdecl exception::~exception(void) __ptr64
61??1exception@@UEAA@XZ
62; public: virtual __cdecl type_info::~type_info(void) __ptr64
63??1type_info@@UEAA@XZ
64; void * __ptr64 __cdecl operator new(unsigned __int64)
65; GCC = __Znwy
66??2@YAPEAX_K@Z
67; void __cdecl operator delete(void * __ptr64)
68; GCC = __ZdlPv
69??3@YAXPEAX@Z
70; public: class __non_rtti_object & __ptr64 __cdecl __non_rtti_object::operator=(class __non_rtti_object const & __ptr64) __ptr64
71??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z
72; public: class bad_cast & __ptr64 __cdecl bad_cast::operator=(class bad_cast const & __ptr64) __ptr64
73??4bad_cast@@QEAAAEAV0@AEBV0@@Z
74; public: class bad_typeid & __ptr64 __cdecl bad_typeid::operator=(class bad_typeid const & __ptr64) __ptr64
75??4bad_typeid@@QEAAAEAV0@AEBV0@@Z
76; public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
77??4exception@@QEAAAEAV0@AEBV0@@Z
78; public: int __cdecl type_info::operator==(class type_info const & __ptr64)const __ptr64
79??8type_info@@QEBAHAEBV0@@Z
80; public: int __cdecl type_info::operator!=(class type_info const & __ptr64)const __ptr64
81??9type_info@@QEBAHAEBV0@@Z
82; const __non_rtti_object::`vftable'
83??_7__non_rtti_object@@6B@
84; const bad_cast::`vftable'
85??_7bad_cast@@6B@
86; const bad_typeid::`vftable'
87??_7bad_typeid@@6B@
88; const exception::`vftable'
89??_7exception@@6B@
90; public: void __cdecl bad_cast::`default constructor closure'(void) __ptr64
91??_Fbad_cast@@QEAAXXZ
92; public: void __cdecl bad_typeid::`default constructor closure'(void) __ptr64
93??_Fbad_typeid@@QEAAXXZ
94; void * __ptr64 __cdecl operator new[](unsigned __int64)
95; GNU = __Znay
96??_U@YAPEAX_K@Z
97; void __cdecl operator delete[](void * __ptr64)
98; GNU = __ZdaPv
99??_V@YAXPEAX@Z
100; int (__cdecl*__cdecl _query_new_handler(void))(unsigned __int64)
101; GNU = __Z18_query_new_handlerv
102?_query_new_handler@@YAP6AH_K@ZXZ
103; int __cdecl _query_new_mode(void)
104; GNU = __Z15_query_new_modev
105?_query_new_mode@@YAHXZ
106; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned __int64)))(unsigned __int64)
107; GNU = __Z16_set_new_handlerPFiyE
108?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z
109; int __cdecl _set_new_mode(int)
110; GNU = __Z13_set_new_modei
111?_set_new_mode@@YAHH@Z
112; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
113; GNU = __Z18_set_se_translatorPFvjP19_EXCEPTION_POINTERSE
114?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
115; public: int __cdecl type_info::before(class type_info const & __ptr64)const __ptr64
116?before@type_info@@QEBAHAEBV1@@Z
117; public: char const * __ptr64 __cdecl type_info::name(void)const __ptr64
118?name@type_info@@QEBAPEBDXZ
119; public: char const * __ptr64 __cdecl type_info::raw_name(void)const __ptr64
120?raw_name@type_info@@QEBAPEBDXZ
121; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
122; GNU = __Z15set_new_handlerPFvvE
123?set_new_handler@@YAP6AXXZP6AXXZ@Z
124; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
125; GNU = __Z13set_terminatePFvvE
126?set_terminate@@YAP6AXXZP6AXXZ@Z
127; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
128; GNU = __Z14set_unexpectedPFvvE
129?set_unexpected@@YAP6AXXZP6AXXZ@Z
130; void __cdecl terminate(void)
131; GNU = __Z9terminatev
132?terminate@@YAXXZ
133; void __cdecl unexpected(void)
134; GNU = __Z10unexpectedv
135?unexpected@@YAXXZ
136; public: virtual char const * __ptr64 __cdecl exception::what(void)const __ptr64
137?what@exception@@UEBAPEBDXZ
138#endif
139
140#ifdef DEF_ARM32
141??0__non_rtti_object@@QAA@ABV0@@Z
142??0__non_rtti_object@@QAA@PBD@Z
143??0bad_cast@@AAA@PBQBD@Z
144??0bad_cast@@QAA@ABV0@@Z
145??0bad_cast@@QAA@PBD@Z
146??0bad_typeid@@QAA@ABV0@@Z
147??0bad_typeid@@QAA@PBD@Z
148??0exception@@QAA@ABQBD@Z
149??0exception@@QAA@ABQBDH@Z
150??0exception@@QAA@ABV0@@Z
151??0exception@@QAA@XZ
152??1__non_rtti_object@@UAA@XZ
153??1bad_cast@@UAA@XZ
154??1bad_typeid@@UAA@XZ
155??1exception@@UAA@XZ
156??1type_info@@UAA@XZ
157??2@YAPAXI@Z
158??2@YAPAXIHPBDH@Z
159??3@YAXPAX@Z
160??4__non_rtti_object@@QAAAAV0@ABV0@@Z
161??4bad_cast@@QAAAAV0@ABV0@@Z
162??4bad_typeid@@QAAAAV0@ABV0@@Z
163??4exception@@QAAAAV0@ABV0@@Z
164??8type_info@@QBAHABV0@@Z
165??9type_info@@QBAHABV0@@Z
166??_7__non_rtti_object@@6B@ DATA
167??_7bad_cast@@6B@ DATA
168??_7bad_typeid@@6B@ DATA
169??_7exception@@6B@ DATA
170??_Fbad_cast@@QAAXXZ
171??_Fbad_typeid@@QAAXXZ
172??_U@YAPAXI@Z
173??_U@YAPAXIHPBDH@Z
174??_V@YAXPAX@Z
175_CallMemberFunction0
176_CallMemberFunction1
177_CallMemberFunction2
178__ExceptionPtrAssign
179__ExceptionPtrCompare
180__ExceptionPtrCopy
181__ExceptionPtrCopyException
182__ExceptionPtrCreate
183__ExceptionPtrCurrentException
184__ExceptionPtrDestroy
185__ExceptionPtrRethrow
186__ExceptionPtrSwap
187__ExceptionPtrToBool
188?_query_new_handler@@YAP6AHI@ZXZ
189?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
190?_set_new_mode@@YAHH@Z
191?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
192?before@type_info@@QBAHABV1@@Z
193?name@type_info@@QBAPBDXZ
194?raw_name@type_info@@QBAPBDXZ
195?set_terminate@@YAP6AXXZP6AXXZ@Z
196?set_unexpected@@YAP6AXXZP6AXXZ@Z
197?terminate@@YAXXZ
198?unexpected@@YAXXZ
199?what@exception@@UBAPBDXZ
200#endif
201
202#ifdef DEF_ARM32
203_CrtCheckMemory
204_CrtDbgBreak
205_CrtDbgReport
206_CrtDbgReportV
207_CrtDbgReportW
208_CrtDbgReportWV
209_CrtDoForAllClientObjects
210_CrtDumpMemoryLeaks
211_CrtIsMemoryBlock
212_CrtIsValidHeapPointer
213_CrtIsValidPointer
214_CrtMemCheckpoint
215_CrtMemDifference
216_CrtMemDumpAllObjectsSince
217_CrtMemDumpStatistics
218_CrtReportBlockType
219_CrtSetAllocHook
220_CrtSetBreakAlloc
221_CrtSetDbgBlockType
222_CrtSetDbgFlag
223_CrtSetDumpClient
224_CrtSetReportFile
225_CrtSetReportHook
226_CrtSetReportHook2
227_CrtSetReportMode
228#endif
229F_I386(_CxxThrowException@8)
230F_NON_I386(_CxxThrowException)
231F_I386(_EH_prolog)
232_Getdays
233_Getmonths
234_Gettnames
235_HUGE DATA
236_Strftime
237F_ARM_ANY(_W_Getdays)
238F_ARM_ANY(_W_Getmonths)
239F_ARM_ANY(_W_Gettnames)
240F_ARM_ANY(_Wcsftime)
241_XcptFilter
242F_ARM_ANY(__AdjustPointer)
243F_NON_I386(__C_specific_handler)
244__CppXcptFilter
245F_I386(__CxxCallUnwindDtor)
246F_I386(__CxxCallUnwindVecDtor)
247F_I386(__CxxDetectRethrow)
248F_I386(__CxxExceptionFilter)
249F_X86_ANY(__CxxFrameHandler)
250F_ARM_ANY(__CxxFrameHandler3)
251F_I386(__CxxLongjmpUnwind)
252F_I386(__CxxQueryExceptionSize)
253F_I386(__CxxRegisterExceptionObject)
254F_I386(__CxxUnregisterExceptionObject)
255__DestructExceptionObject
256__RTCastToVoid
257__RTDynamicCast
258__RTtypeid
259__STRINGTOLD
260F_NON_I386(___lc_codepage_func)
261___lc_collate_cp_func
262___lc_handle_func
263; ___mb_cur_max_func exists (on all archs) since XP. Earlier, this function
264; was never used, but the __mb_cur_max data symbol was accessed instead.
265; For i386 we provide this function as a statically linked helper, that uses
266; __mb_cur_max, to avoid forcing a dependency on XP here.
267F_NON_I386(___mb_cur_max_func)
268F_X86_ANY(___setlc_active_func)
269F_X86_ANY(___unguarded_readlc_active_add_func)
270__argc DATA
271__argv DATA
272__badioinfo DATA
273F_I386(__buffer_overrun)
274__crtCompareStringA
275__crtCompareStringW
276__crtGetLocaleInfoW
277__crtGetStringTypeW
278__crtLCMapStringA
279__crtLCMapStringW
280F_ARM_ANY(__daylight)
281__dllonexit
282__doserrno
283F_ARM_ANY(__dstbias)
284__fpecode
285__getmainargs
286F_X86_ANY(__initenv DATA)
287__iob_func
288__isascii
289__iscsym
290__iscsymf
291F_I386(__lc_clike)
292F_X86_ANY(__lc_codepage DATA)
293F_X86_ANY(__lc_collate_cp DATA)
294__lc_handle DATA
295__lconv_init
296__mb_cur_max DATA
297#ifdef DEF_I386
298__p___argc
299__p___argv
300__p___initenv
301__p___mb_cur_max
302__p___wargv
303__p___winitenv
304__p__acmdln
305__p__amblksiz
306__p__commode
307__p__daylight
308__p__dstbias
309__p__environ
310__p__fileinfo
311__p__fmode
312__p__iob
313__p__mbcasemap
314__p__mbctype
315__p__osver
316__p__pctype
317__p__pgmptr
318__p__pwctype
319__p__timezone
320__p__tzname
321__p__wcmdln
322__p__wenviron
323__p__winmajor
324__p__winminor
325__p__winver
326__p__wpgmptr
327#endif
328__pctype_func
329__pioinfo DATA
330__pwctype_func
331__pxcptinfoptrs
332F_I386(__security_error_handler)
333__set_app_type
334F_I386(__set_buffer_overrun_handler)
335F_X86_ANY(__setlc_active DATA)
336__setusermatherr
337F_ARM_ANY(__strncnt)
338F_X86_ANY(__threadhandle)
339F_X86_ANY(__threadid)
340__toascii
341__uncaught_exception
342__unDName
343__unDNameEx
344F_X86_ANY(__unguarded_readlc_active DATA)
345__wargv DATA
346__wcserror
347F_NON_I386(__wcserror_s)
348F_ARM_ANY(__wcsncnt)
349__wgetmainargs
350F_X86_ANY(__winitenv DATA)
351F_I386(_abnormal_termination)
352F_NON_I386(_abs64)
353F_NON_I386(llabs == _abs64)
354F_NON_I386(imaxabs == _abs64)
355_access
356; _access_s Replaced by emu
357_acmdln DATA
358#ifdef DEF_I386
359_adj_fdiv_m16i
360_adj_fdiv_m32
361_adj_fdiv_m32i
362_adj_fdiv_m64
363_adj_fdiv_r
364_adj_fdivr_m16i
365_adj_fdivr_m32
366_adj_fdivr_m32i
367_adj_fdivr_m64
368_adj_fpatan
369_adj_fprem
370_adj_fprem1
371_adj_fptan
372_adjust_fdiv DATA
373#endif
374_aexit_rtn DATA
375_aligned_free
376F_ARM_ANY(_aligned_free_dbg)
377_aligned_malloc
378F_ARM_ANY(_aligned_malloc_dbg)
379_aligned_offset_malloc
380F_ARM_ANY(_aligned_offset_malloc_dbg)
381_aligned_offset_realloc
382F_ARM_ANY(_aligned_offset_realloc_dbg)
383_aligned_realloc
384F_ARM_ANY(_aligned_realloc_dbg)
385_amsg_exit
386_assert
387_atodbl
388_atodbl_l
389_atof_l
390_atoflt_l
391_atoi64
392atoll == _atoi64
393_atoi64_l
394_atoll_l == _atoi64_l
395_atoi_l
396_atol_l
397_atoldbl
398F_NON_I386(_atoldbl_l)
399F_X86_ANY(_beep)
400_beginthread
401_beginthreadex
402_c_exit
403_cabs DATA
404_callnewh
405F_ARM_ANY(_calloc_dbg)
406_cexit
407_cgets
408; _cgets_s replaced by emu
409_cgetws
410; _cgetws_s replaced by emu
411_chdir
412_chdrive
413_chgsign
414F_NON_I386(_chgsignf)
415_chmod
416F_I386(_chkesp)
417_chsize
418; _chsize_s replaced by emu
419F_ARM_ANY(_chvalidator)
420F_ARM_ANY(_chvalidator_l)
421_clearfp
422_close
423_commit
424_commode DATA
425_control87
426_controlfp
427; _controlfp_s replaced by emu
428_copysign
429F_NON_I386(_copysignf)
430_cprintf
431_cprintf_l
432_cprintf_p
433_cprintf_p_l
434; _cprintf_s Replaced by emu
435; _cprintf_s_l likewise.
436_cputs
437_cputws
438F_I386(_CRT_RTC_INIT)
439_creat
440F_ARM_ANY(_create_locale)
441F_ARM32(_crtAssertBusy)
442F_ARM32(_crtBreakAlloc)
443F_ARM32(_crtDbgFlag)
444_cscanf
445_cscanf_l
446_cscanf_s
447_cscanf_s_l
448F_ARM_ANY(_ctime32)
449F_I386(_ctime32 == ctime)
450; _ctime32_s replaced by emu
451_ctime64
452; _ctime64_s replaced by emu
453_ctype F_I386(DATA)
454_cwait
455_cwprintf
456_cwprintf_l
457_cwprintf_p
458_cwprintf_p_l
459; _cwprintf_s Replaced by emu
460; _cwprintf_s_l Likewise.
461_cwscanf
462_cwscanf_l
463_cwscanf_s
464_cwscanf_s_l
465F_X86_ANY(_dstbias DATA)
466_daylight DATA
467_difftime32 F_I386(== difftime)
468_difftime64
469_dup
470_dup2
471_ecvt
472_ecvt_s
473_endthread
474_endthreadex
475F_X86_ANY(_environ DATA)
476_eof
477_errno
478F_I386(_except_handler2)
479F_I386(_except_handler3)
480_execl
481_execle
482_execlp
483_execlpe
484_execv
485_execve
486_execvp
487_execvpe
488_exit
489_expand
490F_ARM_ANY(_expand_dbg)
491_fcloseall
492_fcvt
493_fcvt_s
494_fdopen
495_fgetchar
496_fgetwchar
497_filbuf
498F_X86_ANY(_fileinfo DATA)
499_filelength
500_filelengthi64
501_fileno
502_findclose
503_findfirst
504F32(_findfirst32 == _findfirst)
505_findfirst64
506_findfirsti64
507F32(_findfirst32i64 == _findfirsti64)
508F64(_findfirst64i32 == _findfirst)
509_findnext
510F32(_findnext32 == _findnext)
511_findnext64
512_findnexti64
513F32(_findnext32i64 == _findnexti64)
514F64(_findnext64i32 == _findnext)
515_finite
516F_NON_I386(_finitef)
517_flsbuf
518_flushall
519_fmode DATA
520_fpclass
521F_X64(_fpclassf)
522F_I386(_fpieee_flt)
523F_ARM_ANY(_fpieee_flt)
524_fpreset DATA
525_fprintf_l
526_fprintf_p
527_fprintf_p_l
528_fprintf_s_l
529_fputchar
530_fputwchar
531F_ARM_ANY(_free_dbg)
532F_ARM_ANY(_free_locale)
533F_ARM_ANY(_freea)
534F_NON_I386(_fscanf_l)
535F_NON_I386(_fscanf_s_l)
536F_ARM_ANY(_fseeki64)
537_fsopen
538_fstat
539F32(_fstat32 == _fstat)
540_fstat64
541_fstati64
542F64(_fstat64i32 == _fstat)
543_ftime
544F_I386(_ftime32 == _ftime)
545F_NON_I386(_ftime32)
546_ftime32_s
547_ftime64
548_ftime64_s
549F32(_ftime_s == _ftime32_s)
550F64(_ftime_s == _ftime64_s)
551F_I386(_ftol)
552_fullpath
553F_ARM_ANY(_fullpath_dbg)
554_futime
555F_I386(_futime32 == _futime)
556F_NON_I386(_futime32)
557_futime64
558_fwprintf_l
559_fwprintf_p
560_fwprintf_p_l
561_fwprintf_s_l
562_fwscanf_l
563_fwscanf_s_l
564_gcvt
565_gcvt_s
566F_ARM_ANY(_get_current_locale)
567_get_doserrno
568F_ARM_ANY(_get_environ)
569F_ARM_ANY(_get_errno)
570F_ARM_ANY(_get_fileinfo)
571F_ARM_ANY(_get_fmode)
572F_X86_ANY(_get_heap_handle)
573_get_osfhandle
574;_get_output_format provided by emu
575F_X86_ANY(_get_sbh_threshold)
576F_ARM_ANY(_get_wenviron)
577_getch
578_getche
579_getcwd
580_getdcwd
581_getdiskfree
582_getdllprocaddr
583_getdrive
584F_X86_ANY(_getdrives)
585_getmaxstdio
586_getmbcp
587F_X86_ANY(_getpid)
588F_X86_ANY(_getsystime)
589_getw
590_getwch
591_getwche
592F_X86_ANY(_getws)
593F_I386(_global_unwind2)
594_gmtime32 F_I386(== gmtime)
595; _gmtime32_s replaced by emu
596_gmtime64
597; _gmtime64_s replaced by emu
598F_X86_ANY(_heapadd)
599_heapchk
600_heapmin
601F_X86_ANY(_heapset)
602F_X86_ANY(_heapused)
603_heapwalk
604_hypot
605F_NON_I386(_hypotf)
606_i64toa
607_i64toa_s
608_i64tow
609_i64tow_s
610_initterm
611F_ARM_ANY(_initterm_e)
612F_I386(_inp)
613F_I386(_inpd)
614F_I386(_inpw)
615F_ARM_ANY(_invalid_parameter)
616_iob DATA
617_isalnum_l
618_isalpha_l
619_isatty
620_iscntrl_l
621_isctype
622_isctype_l
623_isdigit_l
624_isgraph_l
625_isleadbyte_l
626_islower_l
627_ismbbalnum
628_ismbbalnum_l
629_ismbbalpha
630_ismbbalpha_l
631_ismbbgraph
632_ismbbgraph_l
633_ismbbkalnum
634_ismbbkalnum_l
635_ismbbkana
636_ismbbkana_l
637_ismbbkprint
638_ismbbkprint_l
639_ismbbkpunct
640_ismbbkpunct_l
641_ismbblead
642_ismbblead_l
643_ismbbprint
644_ismbbprint_l
645_ismbbpunct
646_ismbbpunct_l
647_ismbbtrail
648_ismbbtrail_l
649_ismbcalnum
650_ismbcalnum_l
651_ismbcalpha
652_ismbcalpha_l
653_ismbcdigit
654_ismbcdigit_l
655_ismbcgraph
656_ismbcgraph_l
657_ismbchira
658_ismbchira_l
659_ismbckata
660_ismbckata_l
661_ismbcl0
662_ismbcl0_l
663_ismbcl1
664_ismbcl1_l
665_ismbcl2
666_ismbcl2_l
667_ismbclegal
668_ismbclegal_l
669_ismbclower
670_ismbclower_l
671_ismbcprint
672_ismbcprint_l
673_ismbcpunct
674_ismbcpunct_l
675_ismbcspace
676_ismbcspace_l
677_ismbcsymbol
678_ismbcsymbol_l
679_ismbcupper
680_ismbcupper_l
681_ismbslead
682_ismbslead_l
683_ismbstrail
684_ismbstrail_l
685_isnan
686F_X64(_isnanf)
687_isprint_l
688_isspace_l
689_isupper_l
690_iswalnum_l
691_iswalpha_l
692_iswcntrl_l
693_iswctype_l
694_iswdigit_l
695_iswgraph_l
696_iswlower_l
697_iswprint_l
698_iswpunct_l
699_iswspace_l
700_iswupper_l
701_iswxdigit_l
702_isxdigit_l
703_itoa
704_itoa_s
705_itow
706_itow_s
707_j0
708_j1
709_jn
710_kbhit
711_lfind
712F_X86_ANY(_loaddll)
713F_NON_I386(_lfind_s)
714F_X64(_local_unwind)
715F_I386(_local_unwind2)
716_localtime32 F_I386(== localtime)
717; _localtime32_s replaced by emu
718_localtime64
719; _localtime64_s replaced by emu
720_lock
721_locking
722_logb
723F_NON_I386(_logbf)
724F_I386(_longjmpex)
725_lrotl
726_lrotr
727_lsearch
728F_NON_I386(_lsearch_s)
729_lseek
730_lseeki64
731_ltoa
732F_NON_I386(_ltoa_s)
733_ltow
734F_NON_I386(_ltow_s)
735_makepath
736_makepath_s
737F_ARM_ANY(_malloc_dbg)
738_mbbtombc
739_mbbtombc_l
740_mbbtype
741_mbcasemap F_NON_I386(DATA)
742_mbccpy
743_mbccpy_l
744_mbccpy_s
745_mbccpy_s_l
746_mbcjistojms
747_mbcjistojms_l
748_mbcjmstojis
749_mbcjmstojis_l
750_mbclen
751_mbclen_l
752_mbctohira
753_mbctohira_l
754_mbctokata
755_mbctokata_l
756_mbctolower
757_mbctolower_l
758_mbctombb
759_mbctombb_l
760_mbctoupper
761_mbctoupper_l
762_mbctype DATA
763_mblen_l
764_mbsbtype
765_mbsbtype_l
766_mbscat
767_mbscat_s
768_mbscat_s_l
769_mbschr
770_mbschr_l
771_mbscmp
772_mbscmp_l
773_mbscoll
774_mbscoll_l
775_mbscpy
776_mbscpy_s
777_mbscpy_s_l
778_mbscspn
779_mbscspn_l
780_mbsdec
781_mbsdec_l
782_mbsdup
783_mbsicmp
784_mbsicmp_l
785_mbsicoll
786_mbsicoll_l
787_mbsinc
788_mbsinc_l
789_mbslen
790_mbslen_l
791_mbslwr
792_mbslwr_l
793_mbslwr_s
794_mbslwr_s_l
795_mbsnbcat
796_mbsnbcat_l
797_mbsnbcat_s
798_mbsnbcat_s_l
799_mbsnbcmp
800_mbsnbcmp_l
801_mbsnbcnt
802_mbsnbcnt_l
803_mbsnbcoll
804_mbsnbcoll_l
805_mbsnbcpy
806_mbsnbcpy_l
807_mbsnbcpy_s
808_mbsnbcpy_s_l
809_mbsnbicmp
810_mbsnbicmp_l
811_mbsnbicoll
812_mbsnbicoll_l
813_mbsnbset
814_mbsnbset_l
815_mbsnbset_s
816_mbsnbset_s_l
817_mbsncat
818_mbsncat_l
819_mbsncat_s
820_mbsncat_s_l
821_mbsnccnt
822_mbsnccnt_l
823_mbsncmp
824_mbsncmp_l
825_mbsncoll
826_mbsncoll_l
827_mbsncpy
828_mbsncpy_l
829_mbsncpy_s
830_mbsncpy_s_l
831_mbsnextc
832_mbsnextc_l
833_mbsnicmp
834_mbsnicmp_l
835_mbsnicoll
836_mbsnicoll_l
837_mbsninc
838_mbsninc_l
839_mbsnlen
840_mbsnlen_l
841_mbsnset
842_mbsnset_l
843_mbsnset_s
844_mbsnset_s_l
845_mbspbrk
846_mbspbrk_l
847_mbsrchr
848_mbsrchr_l
849_mbsrev
850_mbsrev_l
851_mbsset
852_mbsset_l
853_mbsset_s
854_mbsset_s_l
855_mbsspn
856_mbsspn_l
857_mbsspnp
858_mbsspnp_l
859_mbsstr
860_mbsstr_l
861_mbstok
862_mbstok_l
863_mbstok_s
864_mbstok_s_l
865_mbstowcs_l
866_mbstowcs_s_l
867_mbstrlen
868_mbstrlen_l
869_mbstrnlen
870_mbstrnlen_l
871_mbsupr
872_mbsupr_l
873_mbsupr_s
874_mbsupr_s_l
875_mbtowc_l
876_memccpy
877F_ARM_ANY(_memcpy_strict_align)
878_memicmp
879_memicmp_l
880_mkdir
881_mkgmtime
882_mkgmtime32
883_mkgmtime64
884_mktemp
885; _mktemp_s replaced by emu
886F_I386(_mktime32 == mktime)
887F_ARM_ANY(_mktime32)
888_mktime64
889_msize
890F_ARM_ANY(_msize_dbg)
891_nextafter
892F_X64(_nextafterf)
893_onexit
894_open
895_open_osfhandle
896F_X86_ANY(_osplatform DATA)
897_osver DATA
898F_I386(_outp)
899F_I386(_outpd)
900F_I386(_outpw)
901_pclose
902_pctype DATA
903_pgmptr DATA
904_pipe
905_popen
906_printf_l
907_printf_p
908_printf_p_l
909_printf_s_l
910_purecall
911_putch
912_putenv
913_putenv_s
914_putw
915_putwch
916_putws
917_pwctype DATA
918_read
919F_ARM_ANY(_realloc_dbg)
920_resetstkoflw
921_rmdir
922_rmtmp
923_rotl
924F_NON_I386(_rotl64)
925_rotr
926F_NON_I386(_rotr64)
927#ifdef DEF_I386
928_safe_fdiv
929_safe_fdivr
930_safe_fprem
931_safe_fprem1
932#endif
933_scalb
934F_X64(_scalbf)
935_scanf_l
936_scanf_s_l
937F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
938_scprintf_l
939_scprintf_p_l
940_scwprintf
941_scwprintf_l
942_scwprintf_p_l
943_searchenv
944_searchenv_s
945F_I386(_seh_longjmp_unwind)
946_set_controlfp
947_set_doserrno
948F_ARM_ANY(_set_errno)
949_set_error_mode
950F_ARM_ANY(_set_fileinfo)
951F_ARM_ANY(_set_fmode)
952; Does not seem to present even on Win7 msvcrt
953;_set_purecall_handler
954F_X86_ANY(_set_sbh_threshold)
955; _set_output_format provided by emu
956F_I386(_set_SSE2_enable)
957F_I386(_set_security_error_handler)
958F_X86_ANY(_seterrormode)
959_setjmp
960F_I386(_setjmp3)
961F_NON_I386(_setjmpex)
962F_X86_ANY(_setmaxstdio)
963_setmbcp
964_setmode
965F_X86_ANY(_setsystime)
966F_X86_ANY(_sleep)
967_snprintf
968_snprintf_c
969_snprintf_c_l
970_snprintf_l
971_snprintf_s
972_snprintf_s_l
973_snscanf
974_snscanf_l
975_snscanf_s
976_snscanf_s_l
977_snwprintf
978snwprintf == _snwprintf
979_snwprintf_l
980_snwprintf_s
981_snwprintf_s_l
982_snwscanf
983_snwscanf_l
984_snwscanf_s
985_snwscanf_s_l
986_sopen
987; _sopen_s replaced by emu
988_spawnl
989_spawnle
990_spawnlp
991_spawnlpe
992_spawnv
993_spawnve
994_spawnvp
995_spawnvpe
996_splitpath
997_splitpath_s
998_sprintf_l
999_sprintf_p_l
1000_sprintf_s_l
1001_sscanf_l
1002_sscanf_s_l
1003_stat
1004_stat64
1005_stati64
1006F32(_stat32 == _stat)
1007F64(_stat64i32 == _stat)
1008_statusfp
1009_strcmpi
1010_strcoll_l
1011_strdate
1012; _strdate_s replaced by emu
1013_strdup
1014F_ARM_ANY(_strdup_dbg)
1015_strerror
1016_strerror_s
1017_stricmp
1018_stricmp_l
1019_stricoll
1020_stricoll_l
1021_strlwr
1022strlwr == _strlwr
1023_strlwr_l
1024_strlwr_s
1025_strlwr_s_l
1026_strncoll
1027_strncoll_l
1028_strnicmp
1029_strnicmp_l
1030_strnicoll
1031_strnicoll_l
1032_strnset
1033_strnset_s
1034_strrev
1035_strset
1036_strset_s
1037_strtime
1038; _strtime_s replaced by emu
1039_strtod_l
1040_strtoi64
1041strtoll == _strtoi64
1042strtoimax == _strtoi64
1043_strtoi64_l
1044_strtoll_l == _strtoi64_l
1045_strtoimax_l == _strtoi64_l
1046_strtol_l
1047_strtoui64
1048strtoull == _strtoui64
1049strtoumax == _strtoui64
1050_strtoui64_l
1051_strtoull_l == _strtoui64_l
1052_strtoumax_l == _strtoui64_l
1053_strtoul_l
1054_strupr
1055_strupr_l
1056_strupr_s
1057_strupr_s_l
1058_strxfrm_l
1059_swab
1060_swprintf == swprintf
1061F_NON_I386(_swprintf_c)
1062_swprintf_c_l
1063_swprintf_p_l
1064_swprintf_s_l
1065_swscanf_l
1066_swscanf_s_l
1067_sys_errlist DATA
1068_sys_nerr DATA
1069_tell
1070_telli64
1071_tempnam
1072F_ARM_ANY(_tempnam_dbg)
1073F_I386(_time32 == time)
1074F_ARM_ANY(_time32)
1075_time64
1076_timezone DATA
1077_tolower
1078_tolower_l
1079_toupper
1080_toupper_l
1081_towlower_l
1082_towupper_l
1083_tzname DATA
1084_tzset
1085_ui64toa
1086_ui64toa_s
1087_ui64tow
1088_ui64tow_s
1089_ultoa
1090_ultoa_s
1091_ultow
1092_ultow_s
1093_umask
1094; _umask_s replaced by emu
1095_ungetch
1096_ungetwch
1097_unlink
1098F_X86_ANY(_unloaddll)
1099_unlock
1100_utime
1101F_I386(_utime32 == _utime)
1102F_NON_I386(_utime32)
1103_utime64
1104_vcprintf
1105_vcprintf_l
1106_vcprintf_p
1107_vcprintf_p_l
1108; _vcprintf_s Replaced by emu
1109; _vcprintf_s_l Likewise.
1110_vcwprintf
1111_vcwprintf_l
1112_vcwprintf_p
1113_vcwprintf_p_l
1114; _vcwprintf_s Replaced by emu
1115; _vcwprintf_s_l Likewise.
1116_vfprintf_l
1117_vfprintf_p
1118_vfprintf_p_l
1119_vfprintf_s_l
1120_vfwprintf_l
1121_vfwprintf_p
1122_vfwprintf_p_l
1123_vfwprintf_s_l
1124_vprintf_l
1125_vprintf_p
1126_vprintf_p_l
1127_vprintf_s_l
1128F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
1129_vscprintf_l
1130_vscprintf_p_l
1131_vscwprintf
1132_vscwprintf_l
1133_vscwprintf_p_l
1134_vsnprintf
1135_vsnprintf_c
1136_vsnprintf_c_l
1137_vsnprintf_l
1138_vsnprintf_s
1139_vsnprintf_s_l
1140_vsnwprintf
1141vsnwprintf == _vsnwprintf
1142_vsnwprintf_l
1143_vsnwprintf_s
1144_vsnwprintf_s_l
1145_vsprintf_l
1146_vsprintf_p
1147_vsprintf_p_l
1148_vsprintf_s_l
1149_vswprintf F_I386(== vswprintf)
1150_vswprintf_c
1151_vswprintf_c_l
1152_vswprintf_l
1153_vswprintf_p_l
1154_vswprintf_s_l
1155_vwprintf_l
1156_vwprintf_p
1157_vwprintf_p_l
1158_vwprintf_s_l
1159_waccess
1160; _waccess_s Replaced by emu
1161_wasctime
1162; _wasctime_s Replaced by emu
1163F_NON_I386(_wassert)
1164_wchdir
1165_wchmod
1166_wcmdln DATA
1167_wcreat
1168_wcscoll_l
1169_wcsdup
1170F_ARM_ANY(_wcsdup_dbg)
1171_wcserror
1172_wcserror_s
1173_wcsftime_l
1174_wcsicmp
1175_wcsicmp_l
1176_wcsicoll
1177_wcsicoll_l
1178_wcslwr
1179wcslwr == _wcslwr
1180_wcslwr_l
1181_wcslwr_s
1182_wcslwr_s_l
1183_wcsncoll
1184_wcsncoll_l
1185_wcsnicmp
1186_wcsnicmp_l
1187_wcsnicoll
1188_wcsnicoll_l
1189_wcsnset
1190_wcsnset_s
1191_wcsrev
1192_wcsset
1193_wcsset_s
1194F_ARM_ANY(_wcstod_l)
1195_wcstoi64
1196_wcstoi64_l
1197_wcstol_l
1198_wcstombs_l
1199_wcstombs_s_l
1200_wcstoui64
1201_wcstoui64_l
1202_wcstoul_l
1203_wcsupr
1204_wcsupr_l
1205_wcsupr_s
1206_wcsupr_s_l
1207_wcsxfrm_l
1208_wctime
1209F_I386(_wctime32 == _wctime)
1210F_ARM_ANY(_wctime32)
1211; _wctime32_s replaced by emu
1212_wctime64
1213; _wctime64_s replaced by emu
1214_wctomb_l
1215_wctomb_s_l
1216_wctype
1217F_X86_ANY(_wenviron DATA)
1218_wexecl
1219_wexecle
1220_wexeclp
1221_wexeclpe
1222_wexecv
1223_wexecve
1224_wexecvp
1225_wexecvpe
1226_wfdopen
1227_wfindfirst
1228F32(_wfindfirst32 == _wfindfirst)
1229_wfindfirst64
1230_wfindfirsti64
1231F32(_wfindfirst32i64 == _wfindfirsti64)
1232F64(_wfindfirst64i32 == _wfindfirst)
1233_wfindnext
1234F32(_wfindnext32 == _wfindnext)
1235_wfindnext64
1236_wfindnexti64
1237F32(_wfindnext32i64 == _wfindnexti64)
1238F64(_wfindnext64i32 == _wfindnext)
1239_wfopen
1240_wfopen_s
1241_wfreopen
1242_wfreopen_s
1243_wfsopen
1244_wfullpath
1245F_ARM_ANY(_wfullpath_dbg)
1246_wgetcwd
1247_wgetdcwd
1248_wgetenv
1249_wgetenv_s
1250_winmajor DATA
1251_winminor DATA
1252_winput_s
1253F_X86_ANY(_winver DATA)
1254_wmakepath
1255_wmakepath_s
1256_wmkdir
1257_wmktemp
1258; _wmktemp_s replaced by emu
1259_wopen
1260_woutput_s
1261_wperror
1262_wpgmptr DATA
1263_wpopen
1264_wprintf_l
1265_wprintf_p
1266_wprintf_p_l
1267_wprintf_s_l
1268_wputenv
1269_wputenv_s
1270_wremove
1271_wrename
1272_write
1273_wrmdir
1274_wscanf_l
1275_wscanf_s_l
1276_wsearchenv
1277_wsearchenv_s
1278_wsetlocale
1279_wsopen
1280_wsopen_s
1281_wspawnl
1282_wspawnle
1283_wspawnlp
1284_wspawnlpe
1285_wspawnv
1286_wspawnve
1287_wspawnvp
1288_wspawnvpe
1289_wsplitpath
1290_wsplitpath_s
1291_wstat
1292_wstat64
1293_wstati64
1294F32(_wstat32 == _wstat)
1295F64(_wstat64i32 == _wstat)
1296_wstrdate
1297; _wstrdate_s replaced by emu
1298_wstrtime
1299; _wstrtime_s replaced by emu
1300_wsystem
1301_wtempnam
1302F_ARM_ANY(_wtempnam_dbg)
1303_wtmpnam
1304_wtmpnam_s
1305_wtof
1306_wtof_l
1307_wtoi
1308_wtoi64
1309_wtoi64_l
1310_wtoi_l
1311_wtol
1312_wtol_l
1313_wunlink
1314_wutime
1315F_I386(_wutime32 == _wutime)
1316F_NON_I386(_wutime32)
1317_wutime64
1318_y0
1319_y1
1320_yn
1321abort
1322abs
1323acos
1324F_NON_I386(acosf F_X86_ANY(DATA))
1325F_ARM_ANY(acosl == acos)
1326asctime
1327; asctime_s replaced by emu
1328asin
1329F_NON_I386(asinf F_X86_ANY(DATA))
1330F_ARM_ANY(asinl == asin)
1331atan
1332atan2 F_X86_ANY(DATA)
1333F_NON_I386(atan2f F_X86_ANY(DATA))
1334F_ARM_ANY(atan2l == atan2)
1335F_NON_I386(atanf F_X86_ANY(DATA))
1336F_ARM_ANY(atanl == atan)
1337atexit DATA
1338atof
1339atoi
1340atol
1341bsearch
1342bsearch_s
1343F_ARM_ANY(btowc)
1344calloc
1345ceil F_X86_ANY(DATA)
1346F_NON_I386(ceilf F_X86_ANY(DATA))
1347F_ARM_ANY(ceill == ceil)
1348clearerr
1349clearerr_s
1350clock
1351cos F_X86_ANY(DATA)
1352F_NON_I386(cosf F_X86_ANY(DATA))
1353F_ARM_ANY(cosl == cos)
1354cosh
1355F_NON_I386(coshf DATA)
1356ctime
1357difftime
1358div
1359exit
1360exp F_X86_ANY(DATA)
1361F_NON_I386(expf F_X86_ANY(DATA))
1362F_ARM_ANY(expl == exp)
1363fabs DATA
1364F_ARM_ANY(fabsf)
1365fclose
1366feof
1367ferror
1368fflush
1369fgetc
1370fgetpos
1371fgets
1372fgetwc
1373fgetws
1374floor F_X86_ANY(DATA)
1375F_NON_I386(floorf F_X86_ANY(DATA))
1376F_ARM_ANY(floorl == floor)
1377fmod F_X86_ANY(DATA)
1378F_NON_I386(fmodf F_X86_ANY(DATA))
1379F_ARM_ANY(fmodl == fmod)
1380fopen
1381fopen_s
1382fprintf
1383__ms_fprintf == fprintf
1384fprintf_s
1385fputc
1386fputs
1387fputwc
1388fputws
1389fread
1390free
1391freopen
1392freopen_s
1393frexp DATA
1394fscanf
1395__ms_fscanf == fscanf
1396fscanf_s
1397fseek
1398fsetpos
1399ftell
1400fwprintf
1401__ms_fwprintf == fwprintf
1402fwprintf_s
1403fwrite
1404fwscanf
1405__ms_fwscanf == fwscanf
1406fwscanf_s
1407getc
1408getchar
1409getenv
1410getenv_s
1411F_X86_ANY(gets)
1412getwc
1413getwchar
1414gmtime
1415is_wctype
1416isalnum
1417isalpha
1418iscntrl
1419isdigit
1420isgraph
1421isleadbyte
1422islower
1423isprint
1424ispunct
1425isspace
1426isupper
1427iswalnum
1428iswalpha
1429iswascii
1430iswcntrl
1431iswctype
1432iswdigit
1433iswgraph
1434iswlower
1435iswprint
1436iswpunct
1437iswspace
1438iswupper
1439iswxdigit
1440isxdigit
1441labs
1442ldexp F_X86_ANY(DATA)
1443ldiv
1444localeconv
1445localtime
1446log F_X86_ANY(DATA)
1447log10
1448F_NON_I386(log10f F_X86_ANY(DATA))
1449F_ARM_ANY(log10l == log10)
1450F_NON_I386(logf F_X86_ANY(DATA))
1451F_ARM_ANY(logl == log)
1452longjmp
1453malloc
1454mblen
1455F_ARM_ANY(mbrlen)
1456F_ARM_ANY(mbrtowc)
1457F_ARM_ANY(mbsdup_dbg)
1458F_ARM_ANY(mbsrtowcs)
1459mbsrtowcs_s
1460mbstowcs
1461mbstowcs_s
1462mbtowc
1463memchr
1464memcmp
1465memcpy
1466; memcpy_s replaced by emu
1467memmove
1468; memmove_s replaced by emu
1469memset
1470mktime
1471modf DATA
1472F_NON_I386(modff DATA)
1473perror
1474pow DATA
1475F_NON_I386(powf DATA)
1476printf
1477__ms_printf == printf
1478printf_s
1479putc
1480putchar
1481puts
1482putwc
1483putwchar
1484qsort
1485qsort_s
1486raise
1487rand
1488; rand_s replaced by emu
1489realloc
1490remove
1491rename
1492rewind
1493scanf
1494__ms_scanf == scanf
1495scanf_s
1496setbuf
1497F_NON_I386(setjmp)
1498setlocale
1499setvbuf
1500signal
1501sin F_X86_ANY(DATA)
1502F_NON_I386(sinf F_X86_ANY(DATA))
1503F_ARM_ANY(sinl == sin)
1504; if we implement sinh, we can set it DATA only.
1505sinh
1506F_NON_I386(sinhf DATA)
1507sprintf
1508__ms_sprintf == sprintf
1509; sprintf_s replaced by emu
1510sqrt DATA
1511F_NON_I386(sqrtf DATA)
1512srand
1513sscanf
1514__ms_sscanf == sscanf
1515sscanf_s
1516strcat
1517strcat_s
1518strchr
1519strcmp
1520strcoll
1521strcpy
1522strcpy_s
1523strcspn
1524strerror
1525; strerror_s replaced by emu
1526strftime
1527strlen
1528strncat
1529strncat_s
1530strncmp
1531strncpy
1532strncpy_s
1533; strnlen replaced by emu
1534strpbrk
1535strrchr
1536strspn
1537strstr
1538strtod
1539strtok
1540strtok_s
1541strtol
1542strtoul
1543strxfrm
1544swprintf
1545__ms_swprintf == swprintf
1546swprintf_s
1547swscanf
1548__ms_swscanf == swscanf
1549swscanf_s
1550system
1551tan
1552F_NON_I386(tanf F_X86_ANY(DATA))
1553F_ARM_ANY(tanl == tan)
1554; if we implement tanh, we can set it to DATA only.
1555tanh
1556F_ARM_ANY(tanhf)
1557time F_NON_I386(== _time64)
1558tmpfile
1559tmpfile_s
1560tmpnam
1561tmpnam_s
1562tolower
1563toupper
1564towlower
1565towupper
1566ungetc
1567ungetwc
1568F_ARM_ANY(utime)
1569vfprintf
1570__ms_vfprintf == vfprintf
1571vfprintf_s
1572vfwprintf
1573__ms_vfwprintf == vfwprintf
1574vfwprintf_s
1575vprintf
1576__ms_vprintf == vprintf
1577vprintf_s
1578vsprintf
1579__ms_vsprintf == vsprintf
1580; vsprintf_s replaced by emu
1581vswprintf
1582__ms_vswprintf == vswprintf
1583vswprintf_s
1584vwprintf
1585__ms_vwprintf == vwprintf
1586vwprintf_s
1587F_ARM_ANY(wcrtomb)
1588wcrtomb_s
1589wcscat
1590wcscat_s
1591wcschr
1592wcscmp
1593wcscoll
1594wcscpy
1595wcscpy_s
1596wcscspn
1597wcsftime
1598wcslen
1599wcsncat
1600wcsncat_s
1601wcsncmp
1602wcsncpy
1603wcsncpy_s
1604; We provide replacement implementation in libmingwex
1605wcsnlen DATA
1606wcspbrk
1607wcsrchr
1608F_ARM_ANY(wcsrtombs)
1609wcsrtombs_s
1610wcsspn
1611wcsstr
1612wcstod
1613wcstok
1614wcstok_s
1615wcstol
1616wcstombs
1617wcstombs_s
1618wcstoul
1619wcsxfrm
1620F_ARM_ANY(wctob)
1621wctomb
1622wctomb_s
1623wprintf
1624__ms_wprintf == wprintf
1625wprintf_s
1626wscanf
1627__ms_wscanf == wscanf
1628wscanf_s
lib/libc/mingw/lib32/crtdll.def.in deleted-726
...@@ -1,726 +0,0 @@
1;
2;* crtdll.def
3;* This file has no copyright assigned and is placed in the Public Domain.
4;* This file is part of the mingw-runtime package.
5;* No warranty is given; refer to the file DISCLAIMER.PD within the package.
6;
7; Exports from crtdll.dll from Windows 95 SYSTEM directory. Hopefully this
8; should also work with the crtdll provided with Windows NT.
9;
10; NOTE: The crtdll is OBSOLETE and msvcrt should be used instead. The msvcrt
11; is available for free download from Microsoft Corporation and will work on
12; Windows 95. Support for the crtdll is deprecated and this file may be
13; deleted in future versions.
14;
15; These three functions appear to be name mangled in some way, so GCC is
16; probably not going to be able to use them in any case.
17;
18; ??2@YAPAXI@Z
19; ??3@YAXPAX@Z
20; ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
21;
22; These are functions for which I have not yet written prototypes or
23; otherwise set up (they are still included below though unlike those
24; first three).
25;
26; _CIacos
27; _CIasin
28; _CIatan
29; _CIatan2
30; _CIcos
31; _CIcosh
32; _CIexp
33; _CIfmod
34; _CIlog
35; _CIlog10
36; _CIpow
37; _CIsin
38; _CIsinh
39; _CIsqrt
40; _CItan
41; _CItanh
42; __dllonexit
43; __mb_cur_max_dll
44; __threadhandle
45; __threadid
46; _abnormal_termination
47; _acmdln_dll
48; _aexit_rtn_dll
49; _amsg_exit
50; _commit
51; _commode_dll
52; _cpumode_dll
53; _ctype
54; _expand
55; _fcloseall
56; _filbuf
57; _fileinfo_dll
58; _flsbuf
59; _flushall
60; _fmode_dll
61; _fpieee_flt
62; _fsopen
63; _ftol
64; _getdiskfree
65; _getdllprocaddr
66; _getdrive
67; _getdrives
68; _getsystime
69; _initterm
70; _ismbbalnum
71; _ismbbalpha
72; _ismbbgraph
73; _ismbbkalnum
74; _ismbbkana
75; _ismbbkpunct
76; _ismbblead
77; _ismbbprint
78; _ismbbpunct
79; _ismbbtrail
80; _ismbcalpha
81; _ismbcdigit
82; _ismbchira
83; _ismbckata
84; _ismbcl0
85; _ismbcl1
86; _ismbcl2
87; _ismbclegal
88; _ismbclower
89; _ismbcprint
90; _ismbcspace
91; _ismbcsymbol
92; _ismbcupper
93; _ismbslead
94; _ismbstrail
95; _lfind
96; _loaddll
97; _lrotl
98; _lrotr
99; _lsearch
100; _makepath
101; _matherr
102; _mbbtombc
103; _mbbtype
104; _mbccpy
105; _mbcjistojms
106; _mbcjmstojis
107; _mbclen
108; _mbctohira
109; _mbctokata
110; _mbctolower
111; _mbctombb
112; _mbctoupper
113; _mbctype
114; _mbsbtype
115; _mbscat
116; _mbscmp
117; _mbscpy
118; _mbscspn
119; _mbsdec
120; _mbsdup
121; _mbsicmp
122; _mbsinc
123; _mbslen
124; _mbslwr
125; _mbsnbcat
126; _mbsnbcmp
127; _mbsnbcnt
128; _mbsnbcpy
129; _mbsnbicmp
130; _mbsnbset
131; _mbsnccnt
132; _mbsncmp
133; _mbsncpy
134; _mbsnextc
135; _mbsnicmp
136; _mbsninc
137; _mbsnset
138; _mbspbrk
139; _mbsrchr
140; _mbsrev
141; _mbsset
142; _mbsspn
143; _mbsspnp
144; _mbsstr
145; _mbstrlen
146; _mbsupr
147; _onexit
148; _osversion_dll
149; _pctype_dll
150; _purecall
151; _pwctype_dll
152; _rmtmp
153; _rotl
154; _rotr
155; _setsystime
156; _snprintf
157; _snwprintf
158; _splitpath
159; _strdate
160; _strdec
161; _strinc
162; _strncnt
163; _strnextc
164; _strninc
165; _strspnp
166; _strtime
167; _tempnam
168; _ultoa
169; _unloaddll
170; _vsnprintf
171; _vsnwprintf
172; _wtoi
173; _wtol
174;
175LIBRARY "crtdll.dll"
176EXPORTS
177
178#include "msvcrt-common.def.in"
179
180_CIacos
181_CIasin
182_CIatan
183_CIatan2
184_CIcos
185_CIcosh
186_CIexp
187_CIfmod
188_CIlog
189_CIlog10
190_CIpow
191_CIsin
192_CIsinh
193_CIsqrt
194_CItan
195_CItanh
196_HUGE_dll DATA
197_HUGE DATA == _HUGE_dll
198_XcptFilter
199__GetMainArgs
200__argc_dll DATA
201__argc DATA == __argc_dll
202__argv_dll DATA
203__argv DATA == __argv_dll
204__dllonexit
205__doserrno
206__fpecode
207__isascii
208__iscsym
209__iscsymf
210__mb_cur_max_dll DATA
211__mb_cur_max DATA == __mb_cur_max_dll
212__pxcptinfoptrs
213__threadhandle
214__threadid
215__toascii
216_abnormal_termination
217_access
218_acmdln_dll DATA
219_acmdln DATA == _acmdln_dll
220_aexit_rtn_dll DATA
221_aexit_rtn DATA == _aexit_rtn_dll
222_amsg_exit
223_assert
224_basemajor_dll DATA
225_baseminor_dll DATA
226_baseversion_dll DATA
227_beep
228_beginthread
229_c_exit
230_cabs DATA
231_cexit
232_cgets
233_chdir
234_chdrive
235_chgsign
236_chmod
237_chsize
238_clearfp
239_close
240_commit
241_commode_dll DATA
242_commode DATA == _commode_dll
243_control87
244_controlfp
245_copysign
246_cprintf
247_cpumode_dll DATA
248_cputs
249_creat
250_cscanf
251_ctype DATA
252_cwait
253_daylight_dll DATA
254_daylight DATA == _daylight_dll
255_dup
256_dup2
257_ecvt
258_endthread
259_environ_dll DATA
260_environ DATA == _environ_dll
261_eof
262_errno
263_except_handler2
264_execl
265_execle
266_execlp
267_execlpe
268_execv
269_execve
270_execvp
271_execvpe
272_exit
273_expand
274_fcloseall
275_fcvt
276_fdopen
277_fgetchar
278_fgetwchar
279_filbuf
280_fileinfo_dll DATA
281_fileinfo DATA == _fileinfo_dll
282_filelength
283_fileno
284_findclose
285_findfirst
286_findnext
287_finite
288_flsbuf
289_flushall
290_fmode_dll DATA
291_fmode DATA == _fmode_dll
292_fpclass
293_fpieee_flt
294_fpreset DATA
295_fputchar
296_fputwchar
297_fsopen
298_fstat
299_ftime
300_ftol
301_fullpath
302_futime
303_gcvt
304_get_osfhandle
305_getch
306_getche
307_getcwd
308_getdcwd
309_getdiskfree
310_getdllprocaddr
311_getdrive
312_getdrives
313_getpid
314_getsystime
315_getw
316_global_unwind2
317_heapchk
318_heapmin
319_heapset
320_heapwalk
321_hypot
322_initterm
323_iob DATA
324_isatty
325_isctype
326_ismbbalnum
327_ismbbalpha
328_ismbbgraph
329_ismbbkalnum
330_ismbbkana
331_ismbbkpunct
332_ismbblead
333_ismbbprint
334_ismbbpunct
335_ismbbtrail
336_ismbcalpha
337_ismbcdigit
338_ismbchira
339_ismbckata
340_ismbcl0
341_ismbcl1
342_ismbcl2
343_ismbclegal
344_ismbclower
345_ismbcprint
346_ismbcspace
347_ismbcsymbol
348_ismbcupper
349_ismbslead
350_ismbstrail
351_isnan
352_itoa
353_j0
354_j1
355_jn
356_kbhit
357_lfind
358_loaddll
359_local_unwind2
360_locking
361_logb
362_lrotl
363_lrotr
364_lsearch
365_lseek
366_ltoa
367_makepath
368_matherr
369_mbbtombc
370_mbbtype
371_mbccpy
372_mbcjistojms
373_mbcjmstojis
374_mbclen
375_mbctohira
376_mbctokata
377_mbctolower
378_mbctombb
379_mbctoupper
380_mbctype DATA
381_mbsbtype
382_mbscat
383_mbschr
384_mbscmp
385_mbscpy
386_mbscspn
387_mbsdec
388_mbsdup
389_mbsicmp
390_mbsinc
391_mbslen
392_mbslwr
393_mbsnbcat
394_mbsnbcmp
395_mbsnbcnt
396_mbsnbcpy
397_mbsnbicmp
398_mbsnbset
399_mbsncat
400_mbsnccnt
401_mbsncmp
402_mbsncpy
403_mbsnextc
404_mbsnicmp
405_mbsninc
406_mbsnset
407_mbspbrk
408_mbsrchr
409_mbsrev
410_mbsset
411_mbsspn
412_mbsspnp
413_mbsstr
414_mbstok
415_mbstrlen
416_mbsupr
417_memccpy
418_memicmp
419_mkdir
420_mktemp
421_msize
422_nextafter
423_onexit
424_open
425_open_osfhandle
426_osmajor_dll DATA
427_osminor_dll DATA
428_osmode_dll DATA
429_osver_dll DATA
430_osver DATA == _osver_dll
431_osversion_dll DATA
432_pclose
433_pctype_dll DATA
434_pctype DATA == _pctype_dll
435_pgmptr_dll DATA
436_pgmptr DATA == _pgmptr_dll
437_pipe
438_popen
439_purecall
440_putch
441_putenv
442_putw
443_pwctype_dll DATA
444_pwctype DATA == _pwctype_dll
445_read
446_rmdir
447_rmtmp
448_rotl
449_rotr
450_scalb
451_searchenv
452_seterrormode
453_setjmp
454_setmode
455_setsystime
456_sleep
457_snprintf
458_snwprintf
459_sopen
460_spawnl
461_spawnle
462_spawnlp
463_spawnlpe
464_spawnv
465_spawnve
466_spawnvp
467_spawnvpe
468_splitpath
469_stat
470_statusfp
471_strcmpi
472_strdate
473_strdec
474_strdup
475_strerror
476_stricmp
477_stricoll
478_strinc
479_strlwr
480strlwr == _strlwr
481_strncnt
482_strnextc
483_strnicmp
484_strninc
485_strnset
486_strrev
487_strset
488_strspnp
489_strtime
490_strupr
491_swab
492_sys_errlist DATA
493_sys_nerr_dll DATA
494_sys_nerr DATA == _sys_nerr_dll
495_tell
496_tempnam
497_timezone_dll DATA
498_timezone DATA == _timezone_dll
499_tolower
500_toupper
501_tzname DATA
502_tzset
503_ultoa
504_umask
505_ungetch
506_unlink
507_unloaddll
508_utime
509_vsnprintf
510_vsnwprintf
511_wcsdup
512_wcsicmp
513_wcsicoll
514_wcslwr
515wcslwr == _wcslwr
516_wcsnicmp
517_wcsnset
518_wcsrev
519_wcsset
520_wcsupr
521_winmajor_dll DATA
522_winmajor DATA == _winmajor_dll
523_winminor_dll DATA
524_winminor DATA == _winminor_dll
525_winver_dll DATA
526_winver DATA == _winver_dll
527_write
528_wtoi
529_wtol
530_y0
531_y1
532_yn
533abort
534abs
535acos
536asctime
537asin DATA
538atan DATA
539atan2 DATA
540atexit DATA
541atof
542atoi
543atol
544bsearch
545calloc
546ceil
547clearerr
548clock
549cos DATA
550cosh
551ctime DATA
552;_ctime32 = ctime
553difftime
554div
555exit
556exp DATA
557fabs DATA
558fclose
559feof
560ferror
561fflush
562fgetc
563fgetpos
564fgets
565fgetwc
566floor
567fmod
568fopen
569fprintf
570fputc
571fputs
572fputwc
573fread
574free
575freopen
576frexp
577fscanf
578fseek
579fsetpos
580ftell
581fwprintf
582fwrite
583fwscanf
584getc
585getchar
586getenv
587gets
588gmtime DATA
589;_gmtime32 = gmtime
590is_wctype
591isalnum
592isalpha
593iscntrl
594isdigit
595isgraph
596isleadbyte
597islower
598isprint
599ispunct
600isspace
601isupper
602iswalnum
603iswalpha
604iswascii
605iswcntrl
606iswctype
607iswdigit
608iswgraph
609iswlower
610iswprint
611iswpunct
612iswspace
613iswupper
614iswxdigit
615isxdigit
616labs
617ldexp DATA
618ldiv
619localeconv
620localtime DATA
621;_localtime32 = localtime
622log
623log10
624longjmp
625malloc
626mblen
627mbstowcs
628mbtowc
629memchr
630memcmp
631memcpy
632memmove
633memset
634mktime DATA
635;_mktime32 = mktime
636modf
637perror
638pow
639printf
640putc
641putchar
642puts
643qsort
644raise
645rand
646realloc
647remove
648rename
649rewind
650scanf
651setbuf
652setlocale
653setvbuf
654signal
655sin
656sinh
657sprintf
658sqrt
659srand
660sscanf
661strcat
662strchr
663strcmp
664strcoll
665strcpy
666strcspn
667strerror
668strftime
669strlen
670strncat
671strncmp
672strncpy
673strpbrk
674strrchr
675strspn
676strstr
677strtod
678strtok
679strtol
680strtoul
681strxfrm
682swprintf
683swscanf
684system
685tan
686tanh
687time DATA
688;_time32 = time
689tmpfile
690tmpnam
691tolower
692toupper
693towlower
694towupper
695ungetc
696ungetwc
697vfprintf
698vfwprintf
699vprintf
700vsprintf
701vswprintf
702vwprintf
703wcscat
704wcschr
705wcscmp
706wcscoll
707wcscpy
708wcscspn
709wcsftime
710wcslen
711wcsncat
712wcsncmp
713wcsncpy
714wcspbrk
715wcsrchr
716wcsspn
717wcsstr
718wcstod
719wcstok
720wcstol
721wcstombs
722wcstoul
723wcsxfrm
724wctomb
725wprintf
726wscanf
lib/libc/mingw/lib32/msvcp60.def deleted-71
...@@ -1,71 +0,0 @@
1;Submitted by: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
2;Only the C functions are listed. Most of these have been commented out since
3;I don't know what they are and can't test them. Some look like data exports
4;for C++ math functions (E.G.: _Xbig).
5LIBRARY MSVCP60.DLL
6EXPORTS
7;_Cosh
8;_Denorm
9;_Dnorm
10;_Dscale
11;_Dtest
12;_Eps
13;_Exp
14;_FCosh
15;_FDenorm
16;_FDnorm
17;_FDscale
18;_FDtest
19;_FEps
20;_FExp
21;_FInf
22;_FNan
23;_FRteps
24;_FSinh
25;_FSnan
26;_FXbig
27;_Getcoll
28;_Getctype
29;_Getcvt
30;_Hugeval
31;_Inf
32;_LCosh
33;_LDenorm
34;_LDscale
35;_LDtest
36;_LEps
37;_LExp
38;_LInf
39;_LNan
40;_LPoly
41;_LRteps
42;_LSinh
43;_LSnan
44;_LXbig
45;_Mbrtowc
46;_Nan
47;_Poly
48;_Rteps
49;_Sinh
50;_Snan
51;_Stod
52;_Stof
53;_Stold
54;_Strcoll
55;_Strxfrm
56;_Tolower
57;_Toupper
58;_Wcrtomb
59;__Wcrtomb_lk
60;_Xbig
61
62btowc
63mbrlen
64mbrtowc
65mbsrtowcs
66towctrans
67wcrtomb
68wcsrtombs
69wctob
70wctrans
71wctype
\ No newline at end of file
lib/libc/mingw/libsrc/activeds-uuid.c created+106
...@@ -0,0 +1,106 @@
1#define INITGUID
2#include <basetyps.h>
3
4DEFINE_GUID(CLSID_AccessControlEntry, 0xB75AC000, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
5DEFINE_GUID(CLSID_AccessControlList, 0xB85EA052, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
6DEFINE_GUID(CLSID_ADsDSOObject, 0x549365D0, 0xEC26, 0x11CF, 0x83, 0x10, 0x00, 0xAA, 0x00, 0xB5, 0x05, 0xDB);
7DEFINE_GUID(CLSID_ADsSecurityUtility, 0xF270C64A, 0xFFB8, 0x4AE4, 0x85, 0xFE, 0x3A, 0x75, 0xE5, 0x34, 0x79, 0x66);
8DEFINE_GUID(CLSID_ADSystemInfo, 0x50B6327F, 0xAFD1, 0x11D2, 0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E);
9DEFINE_GUID(CLSID_BackLink, 0xFCBF906F, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
10DEFINE_GUID(CLSID_CaseIgnoreList, 0x15F88A55, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
11DEFINE_GUID(CLSID_DNWithBinary, 0x7E99C0A3, 0xF935, 0x11D2, 0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1);
12DEFINE_GUID(CLSID_DNWithString, 0x334857CC, 0xF934, 0x11D2, 0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1);
13DEFINE_GUID(CLSID_Email, 0x8F92A857, 0x478E, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
14DEFINE_GUID(CLSID_FaxNumber, 0xA5062215, 0x4681, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
15DEFINE_GUID(CLSID_Hold, 0xB3AD3E13, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
16DEFINE_GUID(CLSID_LDAPConnectionObject, 0x7DA2A9C4, 0x0C46, 0x43BD, 0xB0, 0x4E, 0xD9, 0x2B, 0x1B, 0xE2, 0x7C, 0x45);
17DEFINE_GUID(CLSID_LDAPObject, 0x05709878, 0x5195, 0x466C, 0x9E, 0x64, 0x48, 0x7C, 0xE3, 0xCA, 0x20, 0xBF);
18DEFINE_GUID(CLSID_LargeInteger, 0x927971F5, 0x0939, 0x11D1, 0x8B, 0xE1, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
19DEFINE_GUID(CLSID_NameTranslate, 0x274FAE1F, 0x3626, 0x11D1, 0xA3, 0xA4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
20DEFINE_GUID(CLSID_NetAddress, 0xB0B71247, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
21DEFINE_GUID(CLSID_OctetList, 0x1241400F, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
22DEFINE_GUID(CLSID_Path, 0xB2538919, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
23DEFINE_GUID(CLSID_Pathname, 0x080D0D78, 0xF421, 0x11D0, 0xA3, 0x6E, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
24DEFINE_GUID(CLSID_PostalAddress, 0x0A75AFCD, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
25DEFINE_GUID(CLSID_PropertyEntry, 0x72D3EDC2, 0xA4C4, 0x11D0, 0x85, 0x33, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
26DEFINE_GUID(CLSID_PropertyValue, 0x7B9E38B0, 0xA97C, 0x11D0, 0x85, 0x34, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
27DEFINE_GUID(CLSID_ReplicaPointer, 0xF5D1BADF, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
28DEFINE_GUID(CLSID_SecurityDescriptor, 0xB958F73C, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
29DEFINE_GUID(CLSID_Timestamp, 0xB2BED2EB, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
30DEFINE_GUID(CLSID_TypedName, 0xB33143CB, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
31DEFINE_GUID(CLSID_UmiLDAPQueryObject, 0xCD5D4D76, 0xA818, 0x4F95, 0xB9, 0x58, 0x79, 0x70, 0xFD, 0x94, 0x12, 0xCA);
32DEFINE_GUID(CLSID_WinNTConnectionObject, 0x7992C6EB, 0xD142, 0x4332, 0x83, 0x1E, 0x31, 0x54, 0xC5, 0x0A, 0x83, 0x16);
33DEFINE_GUID(CLSID_WinNTObject, 0xB8324185, 0x4050, 0x4220, 0x98, 0x0A, 0xAB, 0x14, 0x62, 0x3E, 0x06, 0x3A);
34DEFINE_GUID(CLSID_WinNTSystemInfo, 0x66182EC4, 0xAFD1, 0x11D2, 0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E);
35DEFINE_GUID(DBGUID_LDAPDialect, 0xEFF65380, 0x9C98, 0x11CF, 0xB9, 0x63, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D);
36DEFINE_GUID(DBPROPSET_ADSIBIND, 0x6DA66DC8, 0xB7E8, 0x11D2, 0x9D, 0x60, 0x00, 0xC0, 0x4F, 0x68, 0x93, 0x45);
37DEFINE_GUID(DBPROPSET_ADSISEARCH, 0xCFCFC928, 0x9AA2, 0x11D0, 0xA7, 0x9A, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8);
38DEFINE_GUID(IID_IADs, 0xFD8256D0, 0xFD15, 0x11CE, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
39DEFINE_GUID(IID_IADsAccessControlEntry, 0xB4F3A14C, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
40DEFINE_GUID(IID_IADsAccessControlList, 0xB7EE91CC, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
41DEFINE_GUID(IID_IADsAcl, 0x8452D3AB, 0x0869, 0x11D1, 0xA3, 0x77, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
42DEFINE_GUID(IID_IADsADSystemInfo, 0x5bb11929, 0xafd1, 0x11d2, 0x9c, 0xb9, 0x00, 0x00, 0xf8, 0x7a, 0x36, 0x9e);
43DEFINE_GUID(IID_IADsAggregatee, 0x1346CE8C, 0x9039, 0x11D0, 0x85, 0x28, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
44DEFINE_GUID(IID_IADsAggregator, 0x52DB5FB0, 0x941F, 0x11D0, 0x85, 0x29, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
45DEFINE_GUID(IID_IADsBackLink, 0xFD1302BD, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
46DEFINE_GUID(IID_IADsCaseIgnoreList, 0x7B66B533, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
47DEFINE_GUID(IID_IADsClass, 0xC8F93DD0, 0x4AE0, 0x11CF, 0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91);
48DEFINE_GUID(IID_IADsCollection, 0x72B945E0, 0x253B, 0x11CF, 0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
49DEFINE_GUID(IID_IADsComputer, 0xEFE3CC70, 0x1D9F, 0x11CF, 0xB1, 0xF3, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
50DEFINE_GUID(IID_IADsComputerOperations, 0xEF497680, 0x1D9F, 0x11CF, 0xB1, 0xF3, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
51DEFINE_GUID(IID_IADsContainer, 0x001677D0, 0xFD16, 0x11CE, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
52DEFINE_GUID(IID_IADsDeleteOps, 0xB2BD0902, 0x8878, 0x11D1, 0x8C, 0x21, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
53DEFINE_GUID(IID_IADsDNWithBinary, 0x7E99C0A2, 0xF935, 0x11D2, 0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1);
54DEFINE_GUID(IID_IADsDNWithString, 0x370DF02E, 0xF934, 0x11D2, 0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1);
55DEFINE_GUID(IID_IADsDomain, 0x00E4C220, 0xFD16, 0x11CE, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
56DEFINE_GUID(IID_IADsEmail, 0x97AF011A, 0x478E, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
57DEFINE_GUID(IID_IADsExtension, 0x3D35553C, 0xD2B0, 0x11D1, 0xB1, 0x7B, 0x00, 0x00, 0xF8, 0x75, 0x93, 0xA0);
58DEFINE_GUID(IID_IADsFaxNumber, 0xA910DEA9, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
59DEFINE_GUID(IID_IADsFileService, 0xA89D1900, 0x31CA, 0x11CF, 0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
60DEFINE_GUID(IID_IADsFileServiceOperations, 0xA02DED10, 0x31CA, 0x11CF, 0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
61DEFINE_GUID(IID_IADsFileShare, 0xEB6DCAF0, 0x4B83, 0x11CF, 0xA9, 0x95, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
62DEFINE_GUID(IID_IADsGroup, 0x27636B00, 0x410F, 0x11CF, 0xB1, 0xFF, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
63DEFINE_GUID(IID_IADsHold, 0xB3EB3B37, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
64DEFINE_GUID(IID_IADsLargeInteger, 0x9068270B, 0x0939, 0x11D1, 0x8B, 0xE1, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
65DEFINE_GUID(IID_IADsLocality, 0xA05E03A2, 0xEFFE, 0x11CF, 0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
66DEFINE_GUID(IID_IADsMembers, 0x451A0030, 0x72EC, 0x11CF, 0xB0, 0x3B, 0x00, 0xAA, 0x00, 0x6E, 0x09, 0x75);
67DEFINE_GUID(IID_IADsNamespaces, 0x28B96BA0, 0xB330, 0x11CF, 0xA9, 0xAD, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
68DEFINE_GUID(IID_IADsNameTranslate, 0xB1B272A3, 0x3625, 0x11D1, 0xA3, 0xA4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
69DEFINE_GUID(IID_IADsNetAddress, 0xB21A50A9, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
70DEFINE_GUID(IID_IADsO, 0xA1CD2DC6, 0xEFFE, 0x11CF, 0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
71DEFINE_GUID(IID_IADsObjectOptions, 0x46F14FDA, 0x232B, 0x11D1, 0xA8, 0x08, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8);
72DEFINE_GUID(IID_IADsOctetList, 0x7B28B80F, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
73DEFINE_GUID(IID_IADsOpenDSObject, 0xDDF2891E, 0x0F9C, 0x11D0, 0x8A, 0xD4, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
74DEFINE_GUID(IID_IADsOU, 0xA2F733B8, 0xEFFE, 0x11CF, 0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
75DEFINE_GUID(IID_IADsPath, 0xB287FCD5, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
76DEFINE_GUID(IID_IADsPathname, 0xD592AED4, 0xF420, 0x11D0, 0xA3, 0x6E, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
77DEFINE_GUID(IID_IADsPostalAddress, 0x7ADECF29, 0x4680, 0x11D1, 0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
78DEFINE_GUID(IID_IADsPrintJob, 0x32FB6780, 0x1ED0, 0x11CF, 0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
79DEFINE_GUID(IID_IADsPrintJobOperations, 0x9A52DB30, 0x1ECF, 0x11CF, 0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
80DEFINE_GUID(IID_IADsPrintQueue, 0xB15160D0, 0x1226, 0x11CF, 0xA9, 0x85, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
81DEFINE_GUID(IID_IADsPrintQueueOperations, 0x124BE5C0, 0x156E, 0x11CF, 0xA9, 0x86, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
82DEFINE_GUID(IID_IADsProperty, 0xC8F93DD3, 0x4AE0, 0x11CF, 0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91);
83DEFINE_GUID(IID_IADsPropertyEntry, 0x05792C8E, 0x941F, 0x11D0, 0x85, 0x29, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
84DEFINE_GUID(IID_IADsPropertyList, 0xC6F602B6, 0x8F69, 0x11D0, 0x85, 0x28, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
85DEFINE_GUID(IID_IADsPropertyValue, 0x79FA9AD0, 0xA97C, 0x11D0, 0x85, 0x34, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
86DEFINE_GUID(IID_IADsPropertyValue2, 0x306E831C, 0x5BC7, 0x11D1, 0xA3, 0xB8, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
87DEFINE_GUID(IID_IADsReplicaPointer, 0xF60FB803, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
88DEFINE_GUID(IID_IADsResource, 0x34A05B20, 0x4AAB, 0x11CF, 0xAE, 0x2C, 0x00, 0xAA, 0x00, 0x6E, 0xBF, 0xB9);
89DEFINE_GUID(IID_IADsSecurityDescriptor, 0xB8C787CA, 0x9BDD, 0x11D0, 0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
90DEFINE_GUID(IID_IADsSecurityUtility, 0xA63251B2, 0x5F21, 0x474B, 0xAB, 0x52, 0x4A, 0x8E, 0xFA, 0xD1, 0x08, 0x95);
91DEFINE_GUID(IID_IADsSearch, 0xC69F7780, 0x4008, 0x11D0, 0xB9, 0x4C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8);
92DEFINE_GUID(IID_IADsService, 0x68AF66E0, 0x31CA, 0x11CF, 0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
93DEFINE_GUID(IID_IADsServiceOperations, 0x5D7B33F0, 0x31CA, 0x11CF, 0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49);
94DEFINE_GUID(IID_IADsSession, 0x398B7DA0, 0x4AAB, 0x11CF, 0xAE, 0x2C, 0x00, 0xAA, 0x00, 0x6E, 0xBF, 0xB9);
95DEFINE_GUID(IID_IADsSyntax, 0xC8F93DD2, 0x4AE0, 0x11CF, 0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91);
96DEFINE_GUID(IID_IADsTimestamp, 0xB2F5A901, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
97DEFINE_GUID(IID_IADsTypedName, 0xB371A349, 0x4080, 0x11D1, 0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC);
98DEFINE_GUID(IID_IADsUser, 0x3E37E320, 0x17E2, 0x11CF, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
99DEFINE_GUID(IID_IADsWinNTSystemInfo, 0x6C6D65DC, 0xAFD1, 0x11D2, 0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E);
100DEFINE_GUID(IID_IDirectoryObject, 0xE798DE2C, 0x22E4, 0x11D0, 0x84, 0xFE, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
101DEFINE_GUID(IID_IDirectorySchemaMgmt, 0x75DB3B9C, 0xA4D8, 0x11D0, 0xA7, 0x9C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8);
102DEFINE_GUID(IID_IDirectorySearch, 0x109BA8EC, 0x92F0, 0x11D0, 0xA7, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8);
103DEFINE_GUID(IID_IPrivateDispatch, 0x86AB4BBE, 0x65F6, 0x11D1, 0x8C, 0x13, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
104DEFINE_GUID(IID_IPrivateUnknown, 0x89126BAB, 0x6EAD, 0x11D1, 0x8C, 0x18, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03);
105DEFINE_GUID(LIBID_ActiveDs, 0x97D25DB0, 0x0363, 0x11CF, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
106DEFINE_GUID(LIBID_ADs, 0x97D25DB0, 0x0363, 0x11CF, 0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53);
lib/libc/mingw/libsrc/amstrmid.c created+8
...@@ -0,0 +1,8 @@
1#include <windows.h>
2#include <mmsystem.h>
3#include <dsound.h>
4
5#include <initguid.h>
6#include <amaudio.h>
7#include <evr.h>
8#include <qedit.h>
lib/libc/mingw/libsrc/bits.c created+17
...@@ -0,0 +1,17 @@
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/* crt/libsrc/bits.c */
8/* Generate GUIDs for Background Intelligent Transfer Service (BITS) interfaces */
9
10#include <windows.h>
11#include <initguid.h>
12#include <bits.h>
13#include <bits1_5.h>
14#include <bits2_0.h>
15#include <bits2_5.h>
16#include <bits3_0.h>
17#include <bits5_0.h>
lib/libc/mingw/libsrc/ctxtcall-uuid.c created+18
...@@ -0,0 +1,18 @@
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 INITGUID
8#include <basetyps.h>
9
10// These IIDs are used for IContextCallback::ContextCallback (ctxtcall.h)
11// according to various sources.
12
13DEFINE_GUID(IID_IContextCallback,0x000001da,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
14DEFINE_GUID(IID_ICallbackWithNoReentrancyToApplicationSTA,0x0a299774,0x3e4e,0xfc42,0x1d,0x9d,0x72,0xce,0xe1,0x05,0xca,0x57);
15DEFINE_GUID(IID_IEnterActivityWithNoLock,0xd7174f82,0x36b8,0x4aa8,0x80,0x0a,0xe9,0x63,0xab,0x2d,0xfa,0xb9);
16
17// This CLSID is used to create IContextCallback.
18DEFINE_GUID(CLSID_ContextSwitcher,0x0000034e,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
lib/libc/mingw/libsrc/dinput_joy.c created+63
...@@ -0,0 +1,63 @@
1/*
2
3 dinput_joy.c - DirectInput Joystick DATAFORMAT
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#include "dinput_private.h"
14
15static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIJoy[] =
16{
17 {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
18 {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
19 {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
20 {&GUID_RxAxis,0xc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
21 {&GUID_RyAxis,0x10,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
22 {&GUID_RzAxis,0x14,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
23 {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
24 {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
25 {&GUID_POV,0x20,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
26 {&GUID_POV,0x24,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
27 {&GUID_POV,0x28,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
28 {&GUID_POV,0x2c,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
29 {NULL,0x30,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
30 {NULL,0x31,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
31 {NULL,0x32,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
32 {NULL,0x33,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
33 {NULL,0x34,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
34 {NULL,0x35,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
35 {NULL,0x36,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
36 {NULL,0x37,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
37 {NULL,0x38,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
38 {NULL,0x39,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
39 {NULL,0x3a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
40 {NULL,0x3b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
41 {NULL,0x3c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
42 {NULL,0x3d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
43 {NULL,0x3e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
44 {NULL,0x3f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
45 {NULL,0x40,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
46 {NULL,0x41,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
47 {NULL,0x42,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
48 {NULL,0x43,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
49 {NULL,0x44,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
50 {NULL,0x45,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
51 {NULL,0x46,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
52 {NULL,0x47,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
53 {NULL,0x48,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
54 {NULL,0x49,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
55 {NULL,0x4a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
56 {NULL,0x4b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
57 {NULL,0x4c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
58 {NULL,0x4d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
59 {NULL,0x4e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
60 {NULL,0x4f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
61};
62
63const DIDATAFORMAT c_dfDIJoystick = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,80,sizeof(c_rgodfDIJoy)/sizeof(c_rgodfDIJoy[0]),c_rgodfDIJoy};
lib/libc/mingw/libsrc/dinput_joy2.c created+183
...@@ -0,0 +1,183 @@
1/*
2
3 dinput_joy2.c - DirectInput Joystick 2 DATAFORMAT
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#include "dinput_private.h"
14
15static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIJoy2[] =
16{
17 {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
18 {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
19 {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
20 {&GUID_RxAxis,0xc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
21 {&GUID_RyAxis,0x10,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
22 {&GUID_RzAxis,0x14,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
23 {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
24 {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
25 {&GUID_POV,0x20,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
26 {&GUID_POV,0x24,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
27 {&GUID_POV,0x28,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
28 {&GUID_POV,0x2c,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
29 {NULL,0x30,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
30 {NULL,0x31,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
31 {NULL,0x32,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
32 {NULL,0x33,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
33 {NULL,0x34,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
34 {NULL,0x35,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
35 {NULL,0x36,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
36 {NULL,0x37,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
37 {NULL,0x38,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
38 {NULL,0x39,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
39 {NULL,0x3a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
40 {NULL,0x3b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
41 {NULL,0x3c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
42 {NULL,0x3d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
43 {NULL,0x3e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
44 {NULL,0x3f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
45 {NULL,0x40,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
46 {NULL,0x41,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
47 {NULL,0x42,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
48 {NULL,0x43,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
49 {NULL,0x44,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
50 {NULL,0x45,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
51 {NULL,0x46,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
52 {NULL,0x47,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
53 {NULL,0x48,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
54 {NULL,0x49,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
55 {NULL,0x4a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
56 {NULL,0x4b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
57 {NULL,0x4c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
58 {NULL,0x4d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
59 {NULL,0x4e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
60 {NULL,0x4f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
61 {NULL,0x50,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
62 {NULL,0x51,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
63 {NULL,0x52,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
64 {NULL,0x53,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
65 {NULL,0x54,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
66 {NULL,0x55,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
67 {NULL,0x56,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
68 {NULL,0x57,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
69 {NULL,0x58,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
70 {NULL,0x59,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
71 {NULL,0x5a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
72 {NULL,0x5b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
73 {NULL,0x5c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
74 {NULL,0x5d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
75 {NULL,0x5e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
76 {NULL,0x5f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
77 {NULL,0x60,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
78 {NULL,0x61,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
79 {NULL,0x62,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
80 {NULL,0x63,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
81 {NULL,0x64,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
82 {NULL,0x65,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
83 {NULL,0x66,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
84 {NULL,0x67,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
85 {NULL,0x68,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
86 {NULL,0x69,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
87 {NULL,0x6a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
88 {NULL,0x6b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
89 {NULL,0x6c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
90 {NULL,0x6d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
91 {NULL,0x6e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
92 {NULL,0x6f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
93 {NULL,0x70,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
94 {NULL,0x71,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
95 {NULL,0x72,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
96 {NULL,0x73,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
97 {NULL,0x74,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
98 {NULL,0x75,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
99 {NULL,0x76,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
100 {NULL,0x77,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
101 {NULL,0x78,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
102 {NULL,0x79,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
103 {NULL,0x7a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
104 {NULL,0x7b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
105 {NULL,0x7c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
106 {NULL,0x7d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
107 {NULL,0x7e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
108 {NULL,0x7f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
109 {NULL,0x80,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
110 {NULL,0x81,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
111 {NULL,0x82,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
112 {NULL,0x83,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
113 {NULL,0x84,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
114 {NULL,0x85,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
115 {NULL,0x86,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
116 {NULL,0x87,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
117 {NULL,0x88,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
118 {NULL,0x89,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
119 {NULL,0x8a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
120 {NULL,0x8b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
121 {NULL,0x8c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
122 {NULL,0x8d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
123 {NULL,0x8e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
124 {NULL,0x8f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
125 {NULL,0x90,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
126 {NULL,0x91,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
127 {NULL,0x92,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
128 {NULL,0x93,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
129 {NULL,0x94,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
130 {NULL,0x95,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
131 {NULL,0x96,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
132 {NULL,0x97,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
133 {NULL,0x98,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
134 {NULL,0x99,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
135 {NULL,0x9a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
136 {NULL,0x9b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
137 {NULL,0x9c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
138 {NULL,0x9d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
139 {NULL,0x9e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
140 {NULL,0x9f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
141 {NULL,0xa0,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
142 {NULL,0xa1,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
143 {NULL,0xa2,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
144 {NULL,0xa3,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
145 {NULL,0xa4,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
146 {NULL,0xa5,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
147 {NULL,0xa6,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
148 {NULL,0xa7,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
149 {NULL,0xa8,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
150 {NULL,0xa9,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
151 {NULL,0xaa,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
152 {NULL,0xab,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
153 {NULL,0xac,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
154 {NULL,0xad,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
155 {NULL,0xae,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
156 {NULL,0xaf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
157 {&GUID_XAxis,0xb0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
158 {&GUID_YAxis,0xb4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
159 {&GUID_ZAxis,0xb8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
160 {&GUID_RxAxis,0xbc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
161 {&GUID_RyAxis,0xc0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
162 {&GUID_RzAxis,0xc4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
163 {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
164 {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
165 {&GUID_XAxis,0xd0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
166 {&GUID_YAxis,0xd4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
167 {&GUID_ZAxis,0xd8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
168 {&GUID_RxAxis,0xdc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
169 {&GUID_RyAxis,0xe0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
170 {&GUID_RzAxis,0xe4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
171 {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
172 {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
173 {&GUID_XAxis,0xf0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
174 {&GUID_YAxis,0xf4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
175 {&GUID_ZAxis,0xf8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
176 {&GUID_RxAxis,0xfc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
177 {&GUID_RyAxis,0x100,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
178 {&GUID_RzAxis,0x104,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
179 {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
180 {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE}
181};
182
183const DIDATAFORMAT c_dfDIJoystick2 = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,272,sizeof(c_rgodfDIJoy2)/sizeof(c_rgodfDIJoy2[0]),c_rgodfDIJoy2};
lib/libc/mingw/libsrc/dinput_kbd.c created+275
...@@ -0,0 +1,275 @@
1/*
2
3 dinput_kbd.c - DirectInput Keyboard DATAFORMAT
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#include "dinput_private.h"
14
15static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIKeyboard[] =
16{
17 {&GUID_Key,0x0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x0)|DIDFT_OPTIONAL,0x0},
18 {&GUID_Key,0x1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1)|DIDFT_OPTIONAL,0x0},
19 {&GUID_Key,0x2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2)|DIDFT_OPTIONAL,0x0},
20 {&GUID_Key,0x3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3)|DIDFT_OPTIONAL,0x0},
21 {&GUID_Key,0x4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4)|DIDFT_OPTIONAL,0x0},
22 {&GUID_Key,0x5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5)|DIDFT_OPTIONAL,0x0},
23 {&GUID_Key,0x6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6)|DIDFT_OPTIONAL,0x0},
24 {&GUID_Key,0x7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7)|DIDFT_OPTIONAL,0x0},
25 {&GUID_Key,0x8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8)|DIDFT_OPTIONAL,0x0},
26 {&GUID_Key,0x9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9)|DIDFT_OPTIONAL,0x0},
27 {&GUID_Key,0xa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa)|DIDFT_OPTIONAL,0x0},
28 {&GUID_Key,0xb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb)|DIDFT_OPTIONAL,0x0},
29 {&GUID_Key,0xc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc)|DIDFT_OPTIONAL,0x0},
30 {&GUID_Key,0xd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd)|DIDFT_OPTIONAL,0x0},
31 {&GUID_Key,0xe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe)|DIDFT_OPTIONAL,0x0},
32 {&GUID_Key,0xf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf)|DIDFT_OPTIONAL,0x0},
33 {&GUID_Key,0x10,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x10)|DIDFT_OPTIONAL,0x0},
34 {&GUID_Key,0x11,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x11)|DIDFT_OPTIONAL,0x0},
35 {&GUID_Key,0x12,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x12)|DIDFT_OPTIONAL,0x0},
36 {&GUID_Key,0x13,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x13)|DIDFT_OPTIONAL,0x0},
37 {&GUID_Key,0x14,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x14)|DIDFT_OPTIONAL,0x0},
38 {&GUID_Key,0x15,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x15)|DIDFT_OPTIONAL,0x0},
39 {&GUID_Key,0x16,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x16)|DIDFT_OPTIONAL,0x0},
40 {&GUID_Key,0x17,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x17)|DIDFT_OPTIONAL,0x0},
41 {&GUID_Key,0x18,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x18)|DIDFT_OPTIONAL,0x0},
42 {&GUID_Key,0x19,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x19)|DIDFT_OPTIONAL,0x0},
43 {&GUID_Key,0x1a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1a)|DIDFT_OPTIONAL,0x0},
44 {&GUID_Key,0x1b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1b)|DIDFT_OPTIONAL,0x0},
45 {&GUID_Key,0x1c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1c)|DIDFT_OPTIONAL,0x0},
46 {&GUID_Key,0x1d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1d)|DIDFT_OPTIONAL,0x0},
47 {&GUID_Key,0x1e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1e)|DIDFT_OPTIONAL,0x0},
48 {&GUID_Key,0x1f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1f)|DIDFT_OPTIONAL,0x0},
49 {&GUID_Key,0x20,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x20)|DIDFT_OPTIONAL,0x0},
50 {&GUID_Key,0x21,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x21)|DIDFT_OPTIONAL,0x0},
51 {&GUID_Key,0x22,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x22)|DIDFT_OPTIONAL,0x0},
52 {&GUID_Key,0x23,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x23)|DIDFT_OPTIONAL,0x0},
53 {&GUID_Key,0x24,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x24)|DIDFT_OPTIONAL,0x0},
54 {&GUID_Key,0x25,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x25)|DIDFT_OPTIONAL,0x0},
55 {&GUID_Key,0x26,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x26)|DIDFT_OPTIONAL,0x0},
56 {&GUID_Key,0x27,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x27)|DIDFT_OPTIONAL,0x0},
57 {&GUID_Key,0x28,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x28)|DIDFT_OPTIONAL,0x0},
58 {&GUID_Key,0x29,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x29)|DIDFT_OPTIONAL,0x0},
59 {&GUID_Key,0x2a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2a)|DIDFT_OPTIONAL,0x0},
60 {&GUID_Key,0x2b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2b)|DIDFT_OPTIONAL,0x0},
61 {&GUID_Key,0x2c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2c)|DIDFT_OPTIONAL,0x0},
62 {&GUID_Key,0x2d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2d)|DIDFT_OPTIONAL,0x0},
63 {&GUID_Key,0x2e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2e)|DIDFT_OPTIONAL,0x0},
64 {&GUID_Key,0x2f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2f)|DIDFT_OPTIONAL,0x0},
65 {&GUID_Key,0x30,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x30)|DIDFT_OPTIONAL,0x0},
66 {&GUID_Key,0x31,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x31)|DIDFT_OPTIONAL,0x0},
67 {&GUID_Key,0x32,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x32)|DIDFT_OPTIONAL,0x0},
68 {&GUID_Key,0x33,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x33)|DIDFT_OPTIONAL,0x0},
69 {&GUID_Key,0x34,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x34)|DIDFT_OPTIONAL,0x0},
70 {&GUID_Key,0x35,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x35)|DIDFT_OPTIONAL,0x0},
71 {&GUID_Key,0x36,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x36)|DIDFT_OPTIONAL,0x0},
72 {&GUID_Key,0x37,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x37)|DIDFT_OPTIONAL,0x0},
73 {&GUID_Key,0x38,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x38)|DIDFT_OPTIONAL,0x0},
74 {&GUID_Key,0x39,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x39)|DIDFT_OPTIONAL,0x0},
75 {&GUID_Key,0x3a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3a)|DIDFT_OPTIONAL,0x0},
76 {&GUID_Key,0x3b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3b)|DIDFT_OPTIONAL,0x0},
77 {&GUID_Key,0x3c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3c)|DIDFT_OPTIONAL,0x0},
78 {&GUID_Key,0x3d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3d)|DIDFT_OPTIONAL,0x0},
79 {&GUID_Key,0x3e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3e)|DIDFT_OPTIONAL,0x0},
80 {&GUID_Key,0x3f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3f)|DIDFT_OPTIONAL,0x0},
81 {&GUID_Key,0x40,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x40)|DIDFT_OPTIONAL,0x0},
82 {&GUID_Key,0x41,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x41)|DIDFT_OPTIONAL,0x0},
83 {&GUID_Key,0x42,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x42)|DIDFT_OPTIONAL,0x0},
84 {&GUID_Key,0x43,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x43)|DIDFT_OPTIONAL,0x0},
85 {&GUID_Key,0x44,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x44)|DIDFT_OPTIONAL,0x0},
86 {&GUID_Key,0x45,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x45)|DIDFT_OPTIONAL,0x0},
87 {&GUID_Key,0x46,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x46)|DIDFT_OPTIONAL,0x0},
88 {&GUID_Key,0x47,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x47)|DIDFT_OPTIONAL,0x0},
89 {&GUID_Key,0x48,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x48)|DIDFT_OPTIONAL,0x0},
90 {&GUID_Key,0x49,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x49)|DIDFT_OPTIONAL,0x0},
91 {&GUID_Key,0x4a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4a)|DIDFT_OPTIONAL,0x0},
92 {&GUID_Key,0x4b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4b)|DIDFT_OPTIONAL,0x0},
93 {&GUID_Key,0x4c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4c)|DIDFT_OPTIONAL,0x0},
94 {&GUID_Key,0x4d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4d)|DIDFT_OPTIONAL,0x0},
95 {&GUID_Key,0x4e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4e)|DIDFT_OPTIONAL,0x0},
96 {&GUID_Key,0x4f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4f)|DIDFT_OPTIONAL,0x0},
97 {&GUID_Key,0x50,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x50)|DIDFT_OPTIONAL,0x0},
98 {&GUID_Key,0x51,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x51)|DIDFT_OPTIONAL,0x0},
99 {&GUID_Key,0x52,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x52)|DIDFT_OPTIONAL,0x0},
100 {&GUID_Key,0x53,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x53)|DIDFT_OPTIONAL,0x0},
101 {&GUID_Key,0x54,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x54)|DIDFT_OPTIONAL,0x0},
102 {&GUID_Key,0x55,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x55)|DIDFT_OPTIONAL,0x0},
103 {&GUID_Key,0x56,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x56)|DIDFT_OPTIONAL,0x0},
104 {&GUID_Key,0x57,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x57)|DIDFT_OPTIONAL,0x0},
105 {&GUID_Key,0x58,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x58)|DIDFT_OPTIONAL,0x0},
106 {&GUID_Key,0x59,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x59)|DIDFT_OPTIONAL,0x0},
107 {&GUID_Key,0x5a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5a)|DIDFT_OPTIONAL,0x0},
108 {&GUID_Key,0x5b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5b)|DIDFT_OPTIONAL,0x0},
109 {&GUID_Key,0x5c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5c)|DIDFT_OPTIONAL,0x0},
110 {&GUID_Key,0x5d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5d)|DIDFT_OPTIONAL,0x0},
111 {&GUID_Key,0x5e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5e)|DIDFT_OPTIONAL,0x0},
112 {&GUID_Key,0x5f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5f)|DIDFT_OPTIONAL,0x0},
113 {&GUID_Key,0x60,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x60)|DIDFT_OPTIONAL,0x0},
114 {&GUID_Key,0x61,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x61)|DIDFT_OPTIONAL,0x0},
115 {&GUID_Key,0x62,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x62)|DIDFT_OPTIONAL,0x0},
116 {&GUID_Key,0x63,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x63)|DIDFT_OPTIONAL,0x0},
117 {&GUID_Key,0x64,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x64)|DIDFT_OPTIONAL,0x0},
118 {&GUID_Key,0x65,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x65)|DIDFT_OPTIONAL,0x0},
119 {&GUID_Key,0x66,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x66)|DIDFT_OPTIONAL,0x0},
120 {&GUID_Key,0x67,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x67)|DIDFT_OPTIONAL,0x0},
121 {&GUID_Key,0x68,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x68)|DIDFT_OPTIONAL,0x0},
122 {&GUID_Key,0x69,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x69)|DIDFT_OPTIONAL,0x0},
123 {&GUID_Key,0x6a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6a)|DIDFT_OPTIONAL,0x0},
124 {&GUID_Key,0x6b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6b)|DIDFT_OPTIONAL,0x0},
125 {&GUID_Key,0x6c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6c)|DIDFT_OPTIONAL,0x0},
126 {&GUID_Key,0x6d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6d)|DIDFT_OPTIONAL,0x0},
127 {&GUID_Key,0x6e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6e)|DIDFT_OPTIONAL,0x0},
128 {&GUID_Key,0x6f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6f)|DIDFT_OPTIONAL,0x0},
129 {&GUID_Key,0x70,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x70)|DIDFT_OPTIONAL,0x0},
130 {&GUID_Key,0x71,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x71)|DIDFT_OPTIONAL,0x0},
131 {&GUID_Key,0x72,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x72)|DIDFT_OPTIONAL,0x0},
132 {&GUID_Key,0x73,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x73)|DIDFT_OPTIONAL,0x0},
133 {&GUID_Key,0x74,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x74)|DIDFT_OPTIONAL,0x0},
134 {&GUID_Key,0x75,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x75)|DIDFT_OPTIONAL,0x0},
135 {&GUID_Key,0x76,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x76)|DIDFT_OPTIONAL,0x0},
136 {&GUID_Key,0x77,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x77)|DIDFT_OPTIONAL,0x0},
137 {&GUID_Key,0x78,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x78)|DIDFT_OPTIONAL,0x0},
138 {&GUID_Key,0x79,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x79)|DIDFT_OPTIONAL,0x0},
139 {&GUID_Key,0x7a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7a)|DIDFT_OPTIONAL,0x0},
140 {&GUID_Key,0x7b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7b)|DIDFT_OPTIONAL,0x0},
141 {&GUID_Key,0x7c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7c)|DIDFT_OPTIONAL,0x0},
142 {&GUID_Key,0x7d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7d)|DIDFT_OPTIONAL,0x0},
143 {&GUID_Key,0x7e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7e)|DIDFT_OPTIONAL,0x0},
144 {&GUID_Key,0x7f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7f)|DIDFT_OPTIONAL,0x0},
145 {&GUID_Key,0x80,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x80)|DIDFT_OPTIONAL,0x0},
146 {&GUID_Key,0x81,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x81)|DIDFT_OPTIONAL,0x0},
147 {&GUID_Key,0x82,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x82)|DIDFT_OPTIONAL,0x0},
148 {&GUID_Key,0x83,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x83)|DIDFT_OPTIONAL,0x0},
149 {&GUID_Key,0x84,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x84)|DIDFT_OPTIONAL,0x0},
150 {&GUID_Key,0x85,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x85)|DIDFT_OPTIONAL,0x0},
151 {&GUID_Key,0x86,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x86)|DIDFT_OPTIONAL,0x0},
152 {&GUID_Key,0x87,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x87)|DIDFT_OPTIONAL,0x0},
153 {&GUID_Key,0x88,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x88)|DIDFT_OPTIONAL,0x0},
154 {&GUID_Key,0x89,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x89)|DIDFT_OPTIONAL,0x0},
155 {&GUID_Key,0x8a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8a)|DIDFT_OPTIONAL,0x0},
156 {&GUID_Key,0x8b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8b)|DIDFT_OPTIONAL,0x0},
157 {&GUID_Key,0x8c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8c)|DIDFT_OPTIONAL,0x0},
158 {&GUID_Key,0x8d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8d)|DIDFT_OPTIONAL,0x0},
159 {&GUID_Key,0x8e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8e)|DIDFT_OPTIONAL,0x0},
160 {&GUID_Key,0x8f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8f)|DIDFT_OPTIONAL,0x0},
161 {&GUID_Key,0x90,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x90)|DIDFT_OPTIONAL,0x0},
162 {&GUID_Key,0x91,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x91)|DIDFT_OPTIONAL,0x0},
163 {&GUID_Key,0x92,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x92)|DIDFT_OPTIONAL,0x0},
164 {&GUID_Key,0x93,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x93)|DIDFT_OPTIONAL,0x0},
165 {&GUID_Key,0x94,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x94)|DIDFT_OPTIONAL,0x0},
166 {&GUID_Key,0x95,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x95)|DIDFT_OPTIONAL,0x0},
167 {&GUID_Key,0x96,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x96)|DIDFT_OPTIONAL,0x0},
168 {&GUID_Key,0x97,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x97)|DIDFT_OPTIONAL,0x0},
169 {&GUID_Key,0x98,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x98)|DIDFT_OPTIONAL,0x0},
170 {&GUID_Key,0x99,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x99)|DIDFT_OPTIONAL,0x0},
171 {&GUID_Key,0x9a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9a)|DIDFT_OPTIONAL,0x0},
172 {&GUID_Key,0x9b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9b)|DIDFT_OPTIONAL,0x0},
173 {&GUID_Key,0x9c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9c)|DIDFT_OPTIONAL,0x0},
174 {&GUID_Key,0x9d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9d)|DIDFT_OPTIONAL,0x0},
175 {&GUID_Key,0x9e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9e)|DIDFT_OPTIONAL,0x0},
176 {&GUID_Key,0x9f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9f)|DIDFT_OPTIONAL,0x0},
177 {&GUID_Key,0xa0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa0)|DIDFT_OPTIONAL,0x0},
178 {&GUID_Key,0xa1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa1)|DIDFT_OPTIONAL,0x0},
179 {&GUID_Key,0xa2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa2)|DIDFT_OPTIONAL,0x0},
180 {&GUID_Key,0xa3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa3)|DIDFT_OPTIONAL,0x0},
181 {&GUID_Key,0xa4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa4)|DIDFT_OPTIONAL,0x0},
182 {&GUID_Key,0xa5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa5)|DIDFT_OPTIONAL,0x0},
183 {&GUID_Key,0xa6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa6)|DIDFT_OPTIONAL,0x0},
184 {&GUID_Key,0xa7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa7)|DIDFT_OPTIONAL,0x0},
185 {&GUID_Key,0xa8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa8)|DIDFT_OPTIONAL,0x0},
186 {&GUID_Key,0xa9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa9)|DIDFT_OPTIONAL,0x0},
187 {&GUID_Key,0xaa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xaa)|DIDFT_OPTIONAL,0x0},
188 {&GUID_Key,0xab,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xab)|DIDFT_OPTIONAL,0x0},
189 {&GUID_Key,0xac,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xac)|DIDFT_OPTIONAL,0x0},
190 {&GUID_Key,0xad,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xad)|DIDFT_OPTIONAL,0x0},
191 {&GUID_Key,0xae,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xae)|DIDFT_OPTIONAL,0x0},
192 {&GUID_Key,0xaf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xaf)|DIDFT_OPTIONAL,0x0},
193 {&GUID_Key,0xb0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb0)|DIDFT_OPTIONAL,0x0},
194 {&GUID_Key,0xb1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb1)|DIDFT_OPTIONAL,0x0},
195 {&GUID_Key,0xb2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb2)|DIDFT_OPTIONAL,0x0},
196 {&GUID_Key,0xb3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb3)|DIDFT_OPTIONAL,0x0},
197 {&GUID_Key,0xb4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb4)|DIDFT_OPTIONAL,0x0},
198 {&GUID_Key,0xb5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb5)|DIDFT_OPTIONAL,0x0},
199 {&GUID_Key,0xb6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb6)|DIDFT_OPTIONAL,0x0},
200 {&GUID_Key,0xb7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb7)|DIDFT_OPTIONAL,0x0},
201 {&GUID_Key,0xb8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb8)|DIDFT_OPTIONAL,0x0},
202 {&GUID_Key,0xb9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb9)|DIDFT_OPTIONAL,0x0},
203 {&GUID_Key,0xba,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xba)|DIDFT_OPTIONAL,0x0},
204 {&GUID_Key,0xbb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbb)|DIDFT_OPTIONAL,0x0},
205 {&GUID_Key,0xbc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbc)|DIDFT_OPTIONAL,0x0},
206 {&GUID_Key,0xbd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbd)|DIDFT_OPTIONAL,0x0},
207 {&GUID_Key,0xbe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbe)|DIDFT_OPTIONAL,0x0},
208 {&GUID_Key,0xbf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbf)|DIDFT_OPTIONAL,0x0},
209 {&GUID_Key,0xc0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc0)|DIDFT_OPTIONAL,0x0},
210 {&GUID_Key,0xc1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc1)|DIDFT_OPTIONAL,0x0},
211 {&GUID_Key,0xc2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc2)|DIDFT_OPTIONAL,0x0},
212 {&GUID_Key,0xc3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc3)|DIDFT_OPTIONAL,0x0},
213 {&GUID_Key,0xc4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc4)|DIDFT_OPTIONAL,0x0},
214 {&GUID_Key,0xc5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc5)|DIDFT_OPTIONAL,0x0},
215 {&GUID_Key,0xc6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc6)|DIDFT_OPTIONAL,0x0},
216 {&GUID_Key,0xc7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc7)|DIDFT_OPTIONAL,0x0},
217 {&GUID_Key,0xc8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc8)|DIDFT_OPTIONAL,0x0},
218 {&GUID_Key,0xc9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc9)|DIDFT_OPTIONAL,0x0},
219 {&GUID_Key,0xca,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xca)|DIDFT_OPTIONAL,0x0},
220 {&GUID_Key,0xcb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcb)|DIDFT_OPTIONAL,0x0},
221 {&GUID_Key,0xcc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcc)|DIDFT_OPTIONAL,0x0},
222 {&GUID_Key,0xcd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcd)|DIDFT_OPTIONAL,0x0},
223 {&GUID_Key,0xce,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xce)|DIDFT_OPTIONAL,0x0},
224 {&GUID_Key,0xcf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcf)|DIDFT_OPTIONAL,0x0},
225 {&GUID_Key,0xd0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd0)|DIDFT_OPTIONAL,0x0},
226 {&GUID_Key,0xd1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd1)|DIDFT_OPTIONAL,0x0},
227 {&GUID_Key,0xd2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd2)|DIDFT_OPTIONAL,0x0},
228 {&GUID_Key,0xd3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd3)|DIDFT_OPTIONAL,0x0},
229 {&GUID_Key,0xd4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd4)|DIDFT_OPTIONAL,0x0},
230 {&GUID_Key,0xd5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd5)|DIDFT_OPTIONAL,0x0},
231 {&GUID_Key,0xd6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd6)|DIDFT_OPTIONAL,0x0},
232 {&GUID_Key,0xd7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd7)|DIDFT_OPTIONAL,0x0},
233 {&GUID_Key,0xd8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd8)|DIDFT_OPTIONAL,0x0},
234 {&GUID_Key,0xd9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd9)|DIDFT_OPTIONAL,0x0},
235 {&GUID_Key,0xda,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xda)|DIDFT_OPTIONAL,0x0},
236 {&GUID_Key,0xdb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdb)|DIDFT_OPTIONAL,0x0},
237 {&GUID_Key,0xdc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdc)|DIDFT_OPTIONAL,0x0},
238 {&GUID_Key,0xdd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdd)|DIDFT_OPTIONAL,0x0},
239 {&GUID_Key,0xde,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xde)|DIDFT_OPTIONAL,0x0},
240 {&GUID_Key,0xdf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdf)|DIDFT_OPTIONAL,0x0},
241 {&GUID_Key,0xe0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe0)|DIDFT_OPTIONAL,0x0},
242 {&GUID_Key,0xe1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe1)|DIDFT_OPTIONAL,0x0},
243 {&GUID_Key,0xe2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe2)|DIDFT_OPTIONAL,0x0},
244 {&GUID_Key,0xe3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe3)|DIDFT_OPTIONAL,0x0},
245 {&GUID_Key,0xe4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe4)|DIDFT_OPTIONAL,0x0},
246 {&GUID_Key,0xe5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe5)|DIDFT_OPTIONAL,0x0},
247 {&GUID_Key,0xe6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe6)|DIDFT_OPTIONAL,0x0},
248 {&GUID_Key,0xe7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe7)|DIDFT_OPTIONAL,0x0},
249 {&GUID_Key,0xe8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe8)|DIDFT_OPTIONAL,0x0},
250 {&GUID_Key,0xe9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe9)|DIDFT_OPTIONAL,0x0},
251 {&GUID_Key,0xea,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xea)|DIDFT_OPTIONAL,0x0},
252 {&GUID_Key,0xeb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xeb)|DIDFT_OPTIONAL,0x0},
253 {&GUID_Key,0xec,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xec)|DIDFT_OPTIONAL,0x0},
254 {&GUID_Key,0xed,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xed)|DIDFT_OPTIONAL,0x0},
255 {&GUID_Key,0xee,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xee)|DIDFT_OPTIONAL,0x0},
256 {&GUID_Key,0xef,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xef)|DIDFT_OPTIONAL,0x0},
257 {&GUID_Key,0xf0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf0)|DIDFT_OPTIONAL,0x0},
258 {&GUID_Key,0xf1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf1)|DIDFT_OPTIONAL,0x0},
259 {&GUID_Key,0xf2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf2)|DIDFT_OPTIONAL,0x0},
260 {&GUID_Key,0xf3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf3)|DIDFT_OPTIONAL,0x0},
261 {&GUID_Key,0xf4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf4)|DIDFT_OPTIONAL,0x0},
262 {&GUID_Key,0xf5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf5)|DIDFT_OPTIONAL,0x0},
263 {&GUID_Key,0xf6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf6)|DIDFT_OPTIONAL,0x0},
264 {&GUID_Key,0xf7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf7)|DIDFT_OPTIONAL,0x0},
265 {&GUID_Key,0xf8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf8)|DIDFT_OPTIONAL,0x0},
266 {&GUID_Key,0xf9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf9)|DIDFT_OPTIONAL,0x0},
267 {&GUID_Key,0xfa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfa)|DIDFT_OPTIONAL,0x0},
268 {&GUID_Key,0xfb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfb)|DIDFT_OPTIONAL,0x0},
269 {&GUID_Key,0xfc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfc)|DIDFT_OPTIONAL,0x0},
270 {&GUID_Key,0xfd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfd)|DIDFT_OPTIONAL,0x0},
271 {&GUID_Key,0xfe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfe)|DIDFT_OPTIONAL,0x0},
272 {&GUID_Key,0xff,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xff)|DIDFT_OPTIONAL,0x0}
273};
274
275const DIDATAFORMAT c_dfDIKeyboard = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,256,sizeof(c_rgodfDIKeyboard)/sizeof(c_rgodfDIKeyboard[0]),c_rgodfDIKeyboard};
lib/libc/mingw/libsrc/dinput_mouse.c created+26
...@@ -0,0 +1,26 @@
1/*
2
3 dinput_mouse.c - DirectInput Mouse DATAFORMAT
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#include "dinput_private.h"
14
15static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIMouse[] =
16{
17 {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
18 {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
19 {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
20 {NULL,0xc,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
21 {NULL,0xd,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
22 {NULL,0xe,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
23 {NULL,0xf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
24};
25
26const DIDATAFORMAT c_dfDIMouse = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,16,sizeof(c_rgodfDIMouse)/sizeof(c_rgodfDIMouse[0]),c_rgodfDIMouse};
lib/libc/mingw/libsrc/dinput_mouse2.c created+30
...@@ -0,0 +1,30 @@
1/*
2
3 dinput_mouse2.c - DirectInput Mouse DATAFORMAT
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#include "dinput_private.h"
14
15static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIMouse2[] =
16{
17 {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
18 {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
19 {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
20 {NULL,0xc,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
21 {NULL,0xd,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
22 {NULL,0xe,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
23 {NULL,0xf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
24 {NULL,0x10,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
25 {NULL,0x11,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
26 {NULL,0x12,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
27 {NULL,0x13,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
28};
29
30const DIDATAFORMAT c_dfDIMouse2 = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,20,sizeof(c_rgodfDIMouse2)/sizeof(c_rgodfDIMouse2[0]),c_rgodfDIMouse2};
lib/libc/mingw/libsrc/dinput_private.h created+81
...@@ -0,0 +1,81 @@
1/*
2
3 directx/dinput_private.h - DirectInput DATAFORMATs Definitions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#ifndef _DINPUT_PRIVATE_H
14#define _DINPUT_PRIVATE_H
15
16#include <windows.h>
17
18#define DIDOI_FFACTUATOR 0x00000001
19#define DIDOI_FFEFFECTTRIGGER 0x00000002
20#define DIDOI_POLLED 0x00008000
21#define DIDOI_ASPECTPOSITION 0x00000100
22#define DIDOI_ASPECTVELOCITY 0x00000200
23#define DIDOI_ASPECTACCEL 0x00000300
24#define DIDOI_ASPECTFORCE 0x00000400
25#define DIDOI_ASPECTMASK 0x00000F00
26#define DIDOI_GUIDISUSAGE 0x00010000
27#define DIDF_ABSAXIS 0x00000001
28#define DIDF_RELAXIS 0x00000002
29#define DIDFT_RELAXIS 0x00000001
30#define DIDFT_ABSAXIS 0x00000002
31#define DIDFT_AXIS 0x00000003
32#define DIDFT_PSHBUTTON 0x00000004
33#define DIDFT_TGLBUTTON 0x00000008
34#define DIDFT_BUTTON 0x0000000C
35#define DIDFT_POV 0x00000010
36#define DIDFT_COLLECTION 0x00000040
37#define DIDFT_NODATA 0x00000080
38#define DIDFT_ANYINSTANCE 0x00FFFF00
39#define DIDFT_FFACTUATOR 0x01000000
40#define DIDFT_FFEFFECTTRIGGER 0x02000000
41#define DIDFT_OUTPUT 0x10000000
42#define DIDFT_VENDORDEFINED 0x04000000
43#define DIDFT_ALIAS 0x08000000
44#define DIDFT_OPTIONAL 0x80000000
45#define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8)
46
47typedef struct _DIOBJECTDATAFORMAT {
48 const GUID *pguid;
49 DWORD dwOfs;
50 DWORD dwType;
51 DWORD dwFlags;
52} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
53
54typedef struct _DIDATAFORMAT {
55 DWORD dwSize;
56 DWORD dwObjSize;
57 DWORD dwFlags;
58 DWORD dwDataSize;
59 DWORD dwNumObjs;
60 LPDIOBJECTDATAFORMAT rgodf;
61} DIDATAFORMAT, *LPDIDATAFORMAT;
62
63extern GUID GUID_XAxis;
64extern GUID GUID_YAxis;
65extern GUID GUID_ZAxis;
66extern GUID GUID_RxAxis;
67extern GUID GUID_RyAxis;
68extern GUID GUID_RzAxis;
69extern GUID GUID_Slider;
70extern GUID GUID_Key;
71extern GUID GUID_POV;
72
73#if defined (__WATCOMC__)
74#define ATTRIBUTE_TEXT_SECTION __based( __segname( "_CODE" ) )
75#elif defined (__GNUC__)
76#define ATTRIBUTE_TEXT_SECTION __attribute__ ((section(".text")))
77#else
78#define ATTRIBUTE_TEXT_SECTION
79#endif
80
81#endif
lib/libc/mingw/libsrc/dloadhelper.c created+62
...@@ -0,0 +1,62 @@
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#ifndef WIN32_LEAN_AND_MEAN
7#define WIN32_LEAN_AND_MEAN
8#endif
9#include <windows.h>
10#include <delayloadhandler.h>
11
12/* XXX NTSTATUS is supposed to be a LONG, but there are a bunch of STATUS_
13 * constants in winnt.h defined as ((DWORD)0x...), including
14 * STATUS_DLL_NOT_FOUND which we need, so using DWORD here to silence a warning
15 */
16typedef DWORD NTSTATUS;
17
18extern IMAGE_DOS_HEADER __ImageBase;
19
20/* this typedef is missing from the Windows SDK header, but is present in
21 * Wine's version. */
22typedef FARPROC (WINAPI *PDELAYLOAD_FAILURE_SYSTEM_ROUTINE)(LPCSTR pszDllName, LPCSTR pszProcName);
23
24/* these functions aren't in any Windows SDK header, but are documented at
25 * https://docs.microsoft.com/en-us/windows/win32/devnotes/delay-loaded-dlls */
26WINBASEAPI FARPROC WINAPI DelayLoadFailureHook(LPCSTR pszDllName, LPCSTR pszProcName);
27
28WINBASEAPI PVOID WINAPI ResolveDelayLoadedAPI(
29 PVOID ParentModuleBase,
30 PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor,
31 PDELAYLOAD_FAILURE_DLL_CALLBACK FailureDllHook,
32 PDELAYLOAD_FAILURE_SYSTEM_ROUTINE FailureSystemHook,
33 PIMAGE_THUNK_DATA ThunkAddress,
34 ULONG Flags);
35
36WINBASEAPI NTSTATUS WINAPI ResolveDelayLoadsFromDll(
37 PVOID ParentBase,
38 LPCSTR TargetDllName,
39 ULONG Flags);
40
41/* These functions are defined here, part of the delayimp API */
42PVOID WINAPI __delayLoadHelper2(
43 PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor,
44 PIMAGE_THUNK_DATA ThunkAddress);
45
46HRESULT WINAPI __HrLoadAllImportsForDll(LPCSTR szDll);
47
48PVOID WINAPI __delayLoadHelper2(
49 PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor,
50 PIMAGE_THUNK_DATA ThunkAddress)
51{
52 return ResolveDelayLoadedAPI(&__ImageBase, DelayloadDescriptor, __pfnDliFailureHook2, DelayLoadFailureHook, ThunkAddress, 0);
53}
54
55HRESULT WINAPI __HrLoadAllImportsForDll(LPCSTR szDll)
56{
57 NTSTATUS status = ResolveDelayLoadsFromDll(&__ImageBase, szDll, 0);
58 if (status == STATUS_DLL_NOT_FOUND)
59 return HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND);
60 else
61 return S_OK;
62}
lib/libc/mingw/libsrc/dmoguids.c created+40
...@@ -0,0 +1,40 @@
1/*
2
3 dmoguids.c - DirectMedia Objects GUIDs
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#if defined(__LCC__) || defined(__GNUC__)
14#define INITGUID 1
15#include <windows.h>
16#else
17#include <basetyps.h>
18#endif
19
20DEFINE_GUID(CLSID_DMOFilterCategory,0xbcd5796c,0xbd52,0x4d30,0xab,0x76,0x70,0xf9,0x75,0xb8,0x91,0x99);
21DEFINE_GUID(CLSID_DMOWrapperFilter,0x94297043,0xbd82,0x4dfd,0xb0,0xde,0x81,0x77,0x73,0x9c,0x6d,0x20);
22DEFINE_GUID(DMOCATEGORY_ACOUSTIC_ECHO_CANCEL,0xbf963d80l,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
23DEFINE_GUID(DMOCATEGORY_AGC,0xe88c9ba0l,0xc557,0x11d0,0x8a,0x2b,0x0,0xa0,0xc9,0x25,0x5a,0xc1);
24DEFINE_GUID(DMOCATEGORY_AUDIO_CAPTURE_EFFECT,0xf665aaba,0x3e09,0x4920,0xaa,0x5f,0x21,0x98,0x11,0x14,0x8f,0x09);
25DEFINE_GUID(DMOCATEGORY_AUDIO_DECODER,0x57f2db8b,0xe6bb,0x4513,0x9d,0x43,0xdc,0xd2,0xa6,0x59,0x31,0x25);
26DEFINE_GUID(DMOCATEGORY_AUDIO_EFFECT,0xf3602b3f,0x0592,0x48df,0xa4,0xcd,0x67,0x47,0x21,0xe7,0xeb,0xeb);
27DEFINE_GUID(DMOCATEGORY_AUDIO_ENCODER,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86);
28DEFINE_GUID(DMOCATEGORY_AUDIO_NOISE_SUPPRESS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
29DEFINE_GUID(DMOCATEGORY_VIDEO_DECODER,0x4a69b442,0x28be,0x4991,0x96,0x9c,0xb5,0x00,0xad,0xf5,0xd8,0xa8);
30DEFINE_GUID(DMOCATEGORY_VIDEO_EFFECT,0xd990ee14,0x776c,0x4723,0xbe,0x46,0x3d,0xa2,0xf5,0x6f,0x10,0xb9);
31DEFINE_GUID(DMOCATEGORY_VIDEO_ENCODER,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86);
32DEFINE_GUID(IID_IDMOWrapperFilter,0x52d6f586,0x9f0f,0x4824,0x8f,0xc8,0xe3,0x2c,0xa0,0x49,0x30,0xc2);
33DEFINE_GUID(IID_IMediaParamInfo,0x6d6cbb60,0xa223,0x44aa,0x84,0x2f,0xa2,0xf0,0x67,0x50,0xbe,0x6d);
34DEFINE_GUID(IID_IMediaParams,0x6d6cbb61,0xa223,0x44aa,0x84,0x2f,0xa2,0xf0,0x67,0x50,0xbe,0x6e);
35DEFINE_GUID(IID_IDMOQualityControl,0x65abea96,0xcf36,0x453f,0xaf,0x8a,0x70,0x5e,0x98,0xf1,0x62,0x60);
36DEFINE_GUID(IID_IDMOVideoOutputOptimizations,0xbe8f4f4e,0x5b16,0x4d29,0xb3,0x50,0x7f,0x6b,0x5d,0x92,0x98,0xac);
37DEFINE_GUID(IID_IEnumDMO,0x2c3cd98a,0x2bfa,0x4a53,0x9c,0x27,0x52,0x49,0xba,0x64,0xba,0x0f);
38DEFINE_GUID(IID_IMediaBuffer,0x59eff8b9,0x938c,0x4a26,0x82,0xf2,0x95,0xcb,0x84,0xcd,0xc8,0x37);
39DEFINE_GUID(IID_IMediaObject,0xd8ad0f58,0x5494,0x4102,0x97,0xc5,0xec,0x79,0x8e,0x59,0xbc,0xf4);
40DEFINE_GUID(IID_IMediaObjectInPlace,0x651b9ad0,0x0fc7,0x4aa9,0x95,0x38,0xd8,0x99,0x31,0x01,0x07,0x41);
lib/libc/mingw/libsrc/dxerr.c created+776
...@@ -0,0 +1,776 @@
1/*
2
3 dxerr.c - DirectX 8 & 9 Error Functions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11 NOTE: Do not use this file directly!
12
13*/
14
15#include <windows.h>
16
17#ifndef DXERROR
18#define DXERROR(v,n,d) {v, TEXT(n), TEXT(d)},
19#define DXERRORLAST(v,n,d) {v, TEXT(n), TEXT(d)}
20#endif
21#ifndef DXERROR8
22#define DXERROR8(v,n,d)
23#define DXERROR8LAST(v,n,d)
24#endif
25#ifndef DXERROR9
26#define DXERROR9(v,n,d)
27#define DXERROR9LAST(v,n,d)
28#endif
29
30typedef struct {
31 unsigned long Value;
32 TCHAR *Name;
33 TCHAR *Description;
34} Error;
35
36static Error Errors[] = {
37 DXERROR(0, "S_OK", "The function completed successfully")
38 DXERROR(0x1, "S_FALSE", "Call successful, but returned FALSE")
39 DXERROR(0x2, "DXERROR_FILE_NOT_FOUND", "The system cannot find the file specified.")
40 DXERROR(0x3, "DXERROR_PATH_NOT_FOUND", "The system cannot find the path specified.")
41 DXERROR(0x4, "DXERROR_TOO_MANY_OPEN_FILES", "The system cannot open the file.")
42 DXERROR(0x5, "DXERROR_ACCESS_DENIED", "Access is denied.")
43 DXERROR(0x6, "DXERROR_INVALID_HANDLE", "The handle is invalid.")
44 DXERROR(0x8, "DXERROR_NOT_ENOUGH_MEMORY", "Not enough storage is available to process this command.")
45 DXERROR(0x9, "DXERROR_INVALID_BLOCK", "The storage control block address is invalid.")
46 DXERROR(0xa, "DXERROR_BAD_ENVIRONMENT", "The environment is incorrect.")
47 DXERROR(0xb, "DXERROR_BAD_FORMAT", "An attempt was made to load a program with an incorrect format.")
48 DXERROR(0xe, "DXERROR_OUTOFMEMORY", "The system cannot find the drive specified.")
49 DXERROR9(0x40003, "Unknown", "End of stream. Sample not updated.")
50 DXERROR(0x40103, "VFW_S_NO_MORE_ITEMS", "The end of the list has been reached.")
51 DXERROR(0x4022d, "VFW_S_DUPLICATE_NAME", "An attempt to add a filter with a duplicate name succeeded with a modified name.")
52 DXERROR(0x40237, "VFW_S_STATE_INTERMEDIATE", "The state transition has not completed.")
53 DXERROR(0x40242, "VFW_S_PARTIAL_RENDER", "Some of the streams in this movie are in an unsupported format.")
54 DXERROR(0x40245, "VFW_S_SOME_DATA_IGNORED", "The file contained some property settings that were not used.")
55 DXERROR(0x40246, "VFW_S_CONNECTIONS_DEFERRED", "Some connections have failed and have been deferred.")
56 DXERROR(0x40250, "VFW_S_RESOURCE_NOT_NEEDED", "The resource specified is no longer needed.")
57 DXERROR(0x40254, "VFW_S_MEDIA_TYPE_IGNORED", "A connection could not be made with the media type in the persistent graph, but has been made with a negotiated media type.")
58 DXERROR(0x40257, "VFW_S_VIDEO_NOT_RENDERED", "Cannot play back the video stream: no suitable decompressor could be found.")
59 DXERROR(0x40258, "VFW_S_AUDIO_NOT_RENDERED", "Cannot play back the audio stream: no audio hardware is available.")
60 DXERROR(0x4025a, "VFW_S_RPZA", "Cannot play back the video stream: format 'RPZA' is not supported.")
61 DXERROR(0x40260, "VFW_S_ESTIMATED", "The value returned had to be estimated. It's accuracy can not be guaranteed.")
62 DXERROR(0x40263, "VFW_S_RESERVED", "This success code is reserved for internal purposes within ActiveMovie.")
63 DXERROR(0x40267, "VFW_S_STREAM_OFF", "The stream has been turned off.")
64 DXERROR(0x40268, "VFW_S_CANT_CUE", "The graph can't be cued because of lack of or corrupt data.")
65 DXERROR(0x40270, "VFW_S_NO_STOP_TIME", "The stop time for the sample was not set.")
66 DXERROR(0x4027e, "VFW_S_NOPREVIEWPIN", "There was no preview pin available, so the capture pin output is being split to provide both capture and preview.")
67 DXERROR(0x40280, "VFW_S_DVD_NON_ONE_SEQUENTIAL", "The current title was not a sequential set of chapters (PGC) and the returned timing information might not be continuous.")
68 DXERROR(0x4028c, "VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE", "The audio stream did not contain sufficient information to determine the contents of each channel.")
69 DXERROR(0x4028d, "VFW_S_DVD_NOT_ACCURATE", "The seek into the movie was not frame accurate.")
70 DXERROR9(0x150005, "DV_FULLDUPLEX", "Full duplex")
71 DXERROR9(0x15000a, "DV_HALFDUPLEX", "Half duplex")
72 DXERROR9(0x150010, "DV_PENDING", "Pending")
73 DXERROR9(0x876086f, "D3DOK_NOAUTOGEN", "The call succeeded but there won't be any mipmaps generated")
74 DXERROR(0x878000a, "DS_NO_VIRTUALIZATION", "The call succeeded, but we had to substitute the 3D algorithm")
75 DXERROR8(0x8780014, "DS_INCOMPLETE", "The call succeeded, but not all of the optional effects were obtained.")
76 DXERROR(0x8781091, "DMUS_S_PARTIALLOAD", "The object could only load partially. This can happen if some components are not registered properly, such as embedded tracks and tools. This can also happen if some content is missing. For example, if a segment uses a DLS collection that is not in the loader's current search directory.")
77 DXERROR(0x8781092, "DMUS_S_PARTIALDOWNLOAD", "Return value from IDirectMusicBand::Download() which indicates that some of the instruments safely downloaded, but others failed. This usually occurs when some instruments are on PChannels not supported by the performance or port.")
78 DXERROR(0x8781200, "DMUS_S_REQUEUE", "Return value from IDirectMusicTool::ProcessPMsg() which indicates to the performance that it should cue the PMsg again automatically.")
79 DXERROR(0x8781201, "DMUS_S_FREE", "Return value from IDirectMusicTool::ProcessPMsg() which indicates to the performance that it should free the PMsg automatically.")
80 DXERROR(0x8781202, "DMUS_S_END", "Return value from IDirectMusicTrack::Play() which indicates to the segment that the track has no more data after mtEnd.")
81 DXERROR(0x8781210, "DMUS_S_STRING_TRUNCATED", "Returned string has been truncated to fit the buffer size.")
82 DXERROR(0x8781211, "DMUS_S_LAST_TOOL", "Returned from IDirectMusicGraph::StampPMsg() this indicates that the PMsg is already stamped with the last tool in the graph. The returned PMsg's tool pointer is now NULL.")
83 DXERROR(0x8781212, "DMUS_S_OVER_CHORD", "Returned from IDirectMusicPerformance::MusicToMIDI() this indicates that no note has been calculated because the music value has the note at a position higher than the top note of the chord. This applies only to DMUS_PLAYMODE_NORMALCHORD play mode. This success code indicates that the caller should not do anything with the note. It is not meant to be played against this chord.")
84 DXERROR(0x8781213, "DMUS_S_UP_OCTAVE", "Returned from IDirectMusicPerformance::MIDIToMusic() and IDirectMusicPerformance::MusicToMIDI() this indicates that the note conversion generated a note value that is below 0, so it has been bumped up one or more octaves to be in the proper MIDI range of 0 through 127. Note that this is valid for MIDIToMusic() when using play modes DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of which store MIDI values in wMusicValue. With MusicToMIDI() it is valid for all play modes. Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.")
85 DXERROR(0x8781214, "DMUS_S_DOWN_OCTAVE", "Returned from IDirectMusicPerformance::MIDIToMusic() and IDirectMusicPerformance::MusicToMIDI() this indicates that the note conversion generated a note value that is above 127, so it has been bumped down one or more octaves to be in the proper MIDI range of 0 through 127. Note that this is valid for MIDIToMusic() when using play modes DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of which store MIDI values in wMusicValue. With MusicToMIDI() it is valid for all play modes. Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.")
86 DXERROR(0x8781215, "DMUS_S_NOBUFFERCONTROL", "Although the audio output from the port will be routed to the same device as the given DirectSound buffer, buffer controls such as pan and volume will not affect the output.")
87 DXERROR(0x8781216, "DMUS_S_GARBAGE_COLLECTED", "The requested operation was not performed because during CollectGarbage the loader determined that the object had been released.")
88 DXERROR(0x8000000a, "E_PENDING", "The data necessary to complete this operation is not yet available.")
89 DXERROR(0x80004001, "E_NOTIMPL", "The function called is not supported at this time")
90 DXERROR(0x80004002, "E_NOINTERFACE", "The requested COM interface is not available")
91 DXERROR(0x80004003, "E_POINTER", "Invalid pointer")
92 DXERROR(0x80004004, "E_ABORT", "Operation aborted")
93 DXERROR(0x80004005, "E_FAIL", "An undetermined error occurred")
94 DXERROR(0x8000ffff, "E_UNEXPECTED", "Catastrophic failure")
95 DXERROR8(0x80040110, "CLASS_E_NOAGGREGATION", "This object does not support aggregation")
96 DXERROR9(0x80040110, "CLASSFACTORY_E_FIRST", "This object does not support aggregation")
97 DXERROR(0x80040154, "REGDB_E_CLASSNOTREG", "Class not registered")
98 DXERROR(0x800401f0, "CO_E_NOTINITIALIZED", "CoInitialize has not been called.")
99 DXERROR(0x800401f1, "CO_E_ALREADYINITIALIZED", "CoInitialize has already been called.")
100 DXERROR(0x80040200, "DIERR_INSUFFICIENTPRIVS & VFW_E_INVALIDMEDIATYPE", "Unable to IDirectInputJoyConfig_Acquire because the user does not have sufficient privileges to change the joystick configuration. & An invalid media type was specified")
101 DXERROR8(0x80040201, "DIERR_DEVICEFULL & VFW_E_INVALIDSUBTYPE", "The device is full. & An invalid media subtype was specified.")
102 DXERROR8(0x80040202, "DIERR_MOREDATA & VFW_E_NEED_OWNER", "Not all the requested information fit into the buffer. & This object can only be created as an aggregated object.")
103 DXERROR8(0x80040203, "DIERR_NOTDOWNLOADED & VFW_E_ENUM_OUT_OF_SYNC", "The effect is not downloaded. & The enumerator has become invalid.")
104 DXERROR8(0x80040204, "DIERR_HASEFFECTS & VFW_E_ALREADY_CONNECTED", "The device cannot be reinitialized because there are still effects attached to it. & At least one of the pins involved in the operation is already connected.")
105 DXERROR8(0x80040205, "DIERR_NOTEXCLUSIVEACQUIRED & VFW_E_FILTER_ACTIVE", "The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode. & This operation cannot be performed because the filter is active.")
106 DXERROR8(0x80040206, "DIERR_INCOMPLETEEFFECT & VFW_E_NO_TYPES", "The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been created. & One of the specified pins supports no media types.")
107 DXERROR9(0x80040201, "DIERR_DEVICEFULL & VFW_E_INVALIDSUBTYPE & DMO_E_INVALIDSTREAMINDEX", "The device is full. & An invalid media subtype was specified.")
108 DXERROR9(0x80040202, "DIERR_MOREDATA & VFW_E_NEED_OWNER & DMO_E_INVALIDTYPE", "Not all the requested information fit into the buffer. & This object can only be created as an aggregated object.")
109 DXERROR9(0x80040203, "DIERR_NOTDOWNLOADED & VFW_E_ENUM_OUT_OF_SYNC & DMO_E_TYPE_NOT_SET", "The effect is not downloaded. & The enumerator has become invalid.")
110 DXERROR9(0x80040204, "DIERR_HASEFFECTS & VFW_E_ALREADY_CONNECTED & DMO_E_NOTACCEPTING", "The device cannot be reinitialized because there are still effects attached to it. & At least one of the pins involved in the operation is already connected.")
111 DXERROR9(0x80040205, "DIERR_NOTEXCLUSIVEACQUIRED & VFW_E_FILTER_ACTIVE & DMO_E_TYPE_NOT_ACCEPTED", "The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode. & This operation cannot be performed because the filter is active.")
112 DXERROR9(0x80040206, "DIERR_INCOMPLETEEFFECT & VFW_E_NO_TYPES & DMO_E_NO_MORE_ITEMS", "The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been created. & One of the specified pins supports no media types.")
113 DXERROR(0x80040207, "DIERR_NOTBUFFERED & VFW_E_NO_ACCEPTABLE_TYPES", "Attempted to read buffered device data from a device that is not buffered. & There is no common media type between these pins.")
114 DXERROR(0x80040208, "DIERR_EFFECTPLAYING & VFW_E_INVALID_DIRECTION", "An attempt was made to modify parameters of an effect while it is playing. Not all hardware devices support altering the parameters of an effect while it is playing. & Two pins of the same direction cannot be connected together.")
115 DXERROR(0x80040209, "DIERR_UNPLUGGED & VFW_E_NOT_CONNECTED", "The operation could not be completed because the device is not plugged in. & The operation cannot be performed because the pins are not connected.")
116 DXERROR(0x8004020a, "DIERR_REPORTFULL & VFW_E_NO_ALLOCATOR", "SendDeviceData failed because more information was requested to be sent than can be sent to the device. Some devices have restrictions on how much data can be sent to them. (For example, there might be a limit on the number of buttons that can be pressed at once.) & No sample buffer allocator is available.")
117 DXERROR(0x8004020b, "DIERR_MAPFILEFAIL & VFW_E_RUNTIME_DXERROR", "A mapper file function failed because reading or writing the user or IHV settings file failed. & A run-time error occurred.")
118 DXERROR(0x8004020c, "VFW_E_BUFFER_NOTSET", "No buffer space has been set")
119 DXERROR(0x8004020d, "VFW_E_BUFFER_OVERFLOW", "The buffer is not big enough.")
120 DXERROR(0x8004020e, "VFW_E_BADALIGN", "An invalid alignment was specified.")
121 DXERROR(0x8004020f, "VFW_E_ALREADY_COMMITTED", "Cannot change allocated memory while the filter is active.")
122 DXERROR(0x80040210, "VFW_E_BUFFERS_OUTSTANDING", "One or more buffers are still active.")
123 DXERROR(0x80040211, "VFW_E_NOT_COMMITTED", "Cannot allocate a sample when the allocator is not active.")
124 DXERROR(0x80040212, "VFW_E_SIZENOTSET", "Cannot allocate memory because no size has been set.")
125 DXERROR(0x80040213, "VFW_E_NO_CLOCK", "Cannot lock for synchronization because no clock has been defined.")
126 DXERROR(0x80040214, "VFW_E_NO_SINK", "Quality messages could not be sent because no quality sink has been defined.")
127 DXERROR(0x80040215, "VFW_E_NO_INTERFACE", "A required interface has not been implemented.")
128 DXERROR(0x80040216, "VFW_E_NOT_FOUND", "An object or name was not found.")
129 DXERROR(0x80040217, "VFW_E_CANNOT_CONNECT", "No combination of intermediate filters could be found to make the connection.")
130 DXERROR(0x80040218, "VFW_E_CANNOT_RENDER", "No combination of filters could be found to render the stream.")
131 DXERROR(0x80040219, "VFW_E_CHANGING_FORMAT", "Could not change formats dynamically.")
132 DXERROR(0x8004021a, "VFW_E_NO_COLOR_KEY_SET", "No color key has been set.")
133 DXERROR(0x8004021b, "VFW_E_NOT_OVERLAY_CONNECTION", "Current pin connection is not using the IOverlay transport.")
134 DXERROR(0x8004021c, "VFW_E_NOT_SAMPLE_CONNECTION", "Current pin connection is not using the IMemInputPin transport.")
135 DXERROR(0x8004021d, "VFW_E_PALETTE_SET", "Setting a color key would conflict with the palette already set.")
136 DXERROR(0x8004021e, "VFW_E_COLOR_KEY_SET", "Setting a palette would conflict with the color key already set.")
137 DXERROR(0x8004021f, "VFW_E_NO_COLOR_KEY_FOUND", "No matching color key is available.")
138 DXERROR(0x80040220, "VFW_E_NO_PALETTE_AVAILABLE", "No palette is available.")
139 DXERROR(0x80040221, "VFW_E_NO_DISPLAY_PALETTE", "Display does not use a palette.")
140 DXERROR(0x80040222, "VFW_E_TOO_MANY_COLORS", "Too many colors for the current display settings.")
141 DXERROR(0x80040223, "VFW_E_STATE_CHANGED", "The state changed while waiting to process the sample.")
142 DXERROR(0x80040224, "VFW_E_NOT_STOPPED", "The operation could not be performed because the filter is not stopped.")
143 DXERROR(0x80040225, "VFW_E_NOT_PAUSED", "The operation could not be performed because the filter is not paused.")
144 DXERROR(0x80040226, "VFW_E_NOT_RUNNING", "The operation could not be performed because the filter is not running.")
145 DXERROR(0x80040227, "VFW_E_WRONG_STATE", "The operation could not be performed because the filter is in the wrong state.")
146 DXERROR(0x80040228, "VFW_E_START_TIME_AFTER_END", "The sample start time is after the sample end time.")
147 DXERROR(0x80040229, "VFW_E_INVALID_RECT", "The supplied rectangle is invalid.")
148 DXERROR(0x8004022a, "VFW_E_TYPE_NOT_ACCEPTED", "This pin cannot use the supplied media type.")
149 DXERROR(0x8004022b, "VFW_E_SAMPLE_REJECTED", "This sample cannot be rendered.")
150 DXERROR(0x8004022c, "VFW_E_SAMPLE_REJECTED_EOS", "This sample cannot be rendered because the end of the stream has been reached.")
151 DXERROR(0x8004022d, "VFW_E_DUPLICATE_NAME", "An attempt to add a filter with a duplicate name failed.")
152 DXERROR(0x8004022e, "VFW_E_TIMEOUT", "A time-out has expired.")
153 DXERROR(0x8004022f, "VFW_E_INVALID_FILE_FORMAT", "The file format is invalid.")
154 DXERROR(0x80040230, "VFW_E_ENUM_OUT_OF_RANGE", "The list has already been exhausted.")
155 DXERROR(0x80040231, "VFW_E_CIRCULAR_GRAPH", "The filter graph is circular.")
156 DXERROR(0x80040232, "VFW_E_NOT_ALLOWED_TO_SAVE", "Updates are not allowed in this state.")
157 DXERROR(0x80040233, "VFW_E_TIME_ALREADY_PASSED", "An attempt was made to queue a command for a time in the past.")
158 DXERROR(0x80040234, "VFW_E_ALREADY_CANCELLED", "The queued command has already been canceled.")
159 DXERROR(0x80040235, "VFW_E_CORRUPT_GRAPH_FILE", "Cannot render the file because it is corrupt.")
160 DXERROR(0x80040236, "VFW_E_ADVISE_ALREADY_SET", "An overlay advise link already exists.")
161 DXERROR(0x80040238, "VFW_E_NO_MODEX_AVAILABLE", "No full-screen modes are available.")
162 DXERROR(0x80040239, "VFW_E_NO_ADVISE_SET", "This Advise cannot be canceled because it was not successfully set.")
163 DXERROR(0x8004023a, "VFW_E_NO_FULLSCREEN", "A full-screen mode is not available.")
164 DXERROR(0x8004023b, "VFW_E_IN_FULLSCREEN_MODE", "Cannot call IVideoWindow methods while in full-screen mode.")
165 DXERROR(0x80040240, "VFW_E_UNKNOWN_FILE_TYPE", "The media type of this file is not recognized.")
166 DXERROR(0x80040241, "VFW_E_CANNOT_LOAD_SOURCE_FILTER", "The source filter for this file could not be loaded.")
167 DXERROR(0x80040243, "VFW_E_FILE_TOO_SHORT", "A file appeared to be incomplete.")
168 DXERROR(0x80040244, "VFW_E_INVALID_FILE_VERSION", "The version number of the file is invalid.")
169 DXERROR(0x80040247, "VFW_E_INVALID_CLSID", "This file is corrupt: it contains an invalid class identifier.")
170 DXERROR(0x80040248, "VFW_E_INVALID_MEDIA_TYPE", "This file is corrupt: it contains an invalid media type.")
171 DXERROR(0x80040249, "VFW_E_SAMPLE_TIME_NOT_SET", "No time stamp has been set for this sample.")
172 DXERROR(0x80040251, "VFW_E_MEDIA_TIME_NOT_SET", "No media time stamp has been set for this sample.")
173 DXERROR(0x80040252, "VFW_E_NO_TIME_FORMAT_SET", "No media time format has been selected.")
174 DXERROR(0x80040253, "VFW_E_MONO_AUDIO_HW", "Cannot change balance because audio device is mono only.")
175 DXERROR(0x80040255, "VFW_E_NO_DECOMPRESSOR", "Cannot play back the video stream: no suitable decompressor could be found.")
176 DXERROR(0x80040256, "VFW_E_NO_AUDIO_HARDWARE", "Cannot play back the audio stream: no audio hardware is available, or the hardware is not responding.")
177 DXERROR(0x80040259, "VFW_E_RPZA", "Cannot play back the video stream: format 'RPZA' is not supported.")
178 DXERROR(0x8004025b, "VFW_E_PROCESSOR_NOT_SUITABLE", "ActiveMovie cannot play MPEG movies on this processor.")
179 DXERROR(0x8004025c, "VFW_E_UNSUPPORTED_AUDIO", "Cannot play back the audio stream: the audio format is not supported.")
180 DXERROR(0x8004025d, "VFW_E_UNSUPPORTED_VIDEO", "Cannot play back the video stream: the video format is not supported.")
181 DXERROR(0x8004025e, "VFW_E_MPEG_NOT_CONSTRAINED", "ActiveMovie cannot play this video stream because it falls outside the constrained standard.")
182 DXERROR(0x8004025f, "VFW_E_NOT_IN_GRAPH", "Cannot perform the requested function on an object that is not in the filter graph.")
183 DXERROR(0x80040261, "VFW_E_NO_TIME_FORMAT", "Cannot get or set time related information on an object that is using a time format of TIME_FORMAT_NONE.")
184 DXERROR(0x80040262, "VFW_E_READ_ONLY", "The connection cannot be made because the stream is read only and the filter alters the data.")
185 DXERROR(0x80040264, "VFW_E_BUFFER_UNDERFLOW", "The buffer is not full enough.")
186 DXERROR(0x80040265, "VFW_E_UNSUPPORTED_STREAM", "Cannot play back the file. The format is not supported.")
187 DXERROR(0x80040266, "VFW_E_NO_TRANSPORT", "Pins cannot connect due to not supporting the same transport.")
188 DXERROR(0x80040269, "VFW_E_BAD_VIDEOCD", "The Video CD can't be read correctly by the device or is the data is corrupt.")
189 DXERROR(0x80040271, "VFW_E_OUT_OF_VIDEO_MEMORY", "There is not enough Video Memory at this display resolution and number of colors. Reducing resolution might help.")
190 DXERROR(0x80040272, "VFW_E_VP_NEGOTIATION_FAILED", "The VideoPort connection negotiation process has failed.")
191 DXERROR(0x80040273, "VFW_E_DDRAW_CAPS_NOT_SUITABLE", "Either DirectDraw has not been installed or the Video Card capabilities are not suitable. Make sure the display is not in 16 color mode.")
192 DXERROR(0x80040274, "VFW_E_NO_VP_HARDWARE", "No VideoPort hardware is available, or the hardware is not responding.")
193 DXERROR(0x80040275, "VFW_E_NO_CAPTURE_HARDWARE", "No Capture hardware is available, or the hardware is not responding.")
194 DXERROR(0x80040276, "VFW_E_DVD_OPERATION_INHIBITED", "This User Operation is inhibited by DVD Content at this time.")
195 DXERROR(0x80040277, "VFW_E_DVD_INVALIDDOMAIN", "This Operation is not permitted in the current domain.")
196 DXERROR(0x80040278, "VFW_E_DVD_NO_BUTTON", "The specified button is invalid or is not present at the current time, or there is no button present at the specified location.")
197 DXERROR(0x80040279, "VFW_E_DVD_GRAPHNOTREADY", "DVD-Video playback graph has not been built yet.")
198 DXERROR(0x8004027a, "VFW_E_DVD_RENDERFAIL", "DVD-Video playback graph building failed.")
199 DXERROR(0x8004027b, "VFW_E_DVD_DECNOTENOUGH", "DVD-Video playback graph could not be built due to insufficient decoders.")
200 DXERROR(0x8004027c, "VFW_E_DDRAW_VERSION_NOT_SUITABLE", "Version number of DirectDraw not suitable. Make sure to install dx5 or higher version.")
201 DXERROR(0x8004027d, "VFW_E_COPYPROT_FAILED", "Copy protection cannot be enabled. Please make sure any other copy protected content is not being shown now.")
202 DXERROR(0x8004027f, "VFW_E_TIME_EXPIRED", "This object cannot be used anymore as its time has expired.")
203 DXERROR(0x80040281, "VFW_E_DVD_WRONG_SPEED", "The operation cannot be performed at the current playback speed.")
204 DXERROR(0x80040282, "VFW_E_DVD_MENU_DOES_NOT_EXIST", "The specified menu doesn't exist.")
205 DXERROR(0x80040283, "VFW_E_DVD_CMD_CANCELLED", "The specified command was either cancelled or no longer exists.")
206 DXERROR(0x80040284, "VFW_E_DVD_STATE_WRONG_VERSION", "The data did not contain a recognized version.")
207 DXERROR(0x80040285, "VFW_E_DVD_STATE_CORRUPT", "The state data was corrupt.")
208 DXERROR(0x80040286, "VFW_E_DVD_STATE_WRONG_DISC", "The state data is from a different disc.")
209 DXERROR(0x80040287, "VFW_E_DVD_INCOMPATIBLE_REGION", "The region was not compatible with the current drive.")
210 DXERROR(0x80040288, "VFW_E_DVD_NO_ATTRIBUTES", "The requested DVD stream attribute does not exist.")
211 DXERROR(0x80040289, "VFW_E_DVD_NO_GOUP_PGC", "Currently there is no GoUp (Annex J user function) program chain (PGC).")
212 DXERROR(0x8004028a, "VFW_E_DVD_LOW_PARENTAL_LEVEL", "The current parental level was too low.")
213 DXERROR(0x8004028b, "VFW_E_DVD_NOT_IN_KARAOKE_MODE", "The current audio is not karaoke content.")
214 DXERROR(0x8004028e, "VFW_E_FRAME_STEP_UNSUPPORTED", "Frame step is not supported on this configuration.")
215 DXERROR(0x8004028f, "VFW_E_DVD_STREAM_DISABLED", "The specified stream is disabled and cannot be selected.")
216 DXERROR(0x80040290, "VFW_E_DVD_TITLE_UNKNOWN", "The operation depends on the current title number, however the navigator has not yet entered the VTSM or the title domains, so the 'current' title index is unknown.")
217 DXERROR(0x80040291, "VFW_E_DVD_INVALID_DISC", "The specified path does not point to a valid DVD disc.")
218 DXERROR(0x80040292, "VFW_E_DVD_NO_RESUME_INFORMATION", "There is currently no resume information.")
219 DXERROR(0x80040293, "VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD", "This thread has already blocked this output pin. There is no need to call IPinFlowControl::Block() again.")
220 DXERROR(0x80040294, "VFW_E_PIN_ALREADY_BLOCKED", "IPinFlowControl::Block() has been called on another thread. The current thread cannot make any assumptions about this pin's block state.")
221 DXERROR(0x80040295, "VFW_E_CERTIFICATION_FAILURE", "An operation failed due to a certification failure.")
222 DXERROR(0x80040300, "DIERR_DRIVERFIRST", "Device driver-specific codes. Unless the specific driver has been precisely identified, no meaning should be attributed to these values other than that the driver originated the error.")
223 DXERROR(0x80040301, "DIERR_DRIVERFIRST+1", "DIERR_DRIVERFIRST+1")
224 DXERROR(0x80040302, "DIERR_DRIVERFIRST+2", "DIERR_DRIVERFIRST+2")
225 DXERROR(0x80040303, "DIERR_DRIVERFIRST+3", "DIERR_DRIVERFIRST+3")
226 DXERROR(0x80040304, "DIERR_DRIVERFIRST+4", "DIERR_DRIVERFIRST+4")
227 DXERROR(0x80040305, "DIERR_DRIVERFIRST+5", "DIERR_DRIVERFIRST+5")
228 DXERROR(0x800403f2, "VFW_E_BAD_KEY", "A registry entry is corrupt.")
229 DXERROR(0x800403ff, "DIERR_DRIVERLAST", "Device installer errors.")
230 DXERROR(0x80040400, "DIERR_INVALIDCLASSINSTALLER", "Registry entry or DLL for class installer invalid or class installer not found.")
231 DXERROR8(0x80040401, "DIERR_CANCELLED", "The user cancelled the install operation.")
232 DXERROR8(0x80040402, "DIERR_BADINF", "The INF file for the selected device could not be found or is invalid or is damaged.")
233 DXERROR8(0x80070002, "DIERR_NOTFOUND", "The requested object does not exist.")
234 DXERROR9(0x80040401, "DIERR_CANCELLED & MS_E_SAMPLEALLOC", "The user cancelled the install operation. & The stream already has allocated samples and the surface doesn't match the sample format.")
235 DXERROR9(0x80040402, "DIERR_BADINF & MS_E_PURPOSEID", "The INF file for the selected device could not be found or is invalid or is damaged. & The specified purpose ID can't be used for the call.")
236 DXERROR9(0x80040403, "MS_E_NOSTREAM", "No stream can be found with the specified attributes.")
237 DXERROR9(0x80040404, "MS_E_NOSEEKING", "Seeking not supported for this object.")
238 DXERROR9(0x80040405, "MS_E_INCOMPATIBLE", "The stream formats are not compatible.")
239 DXERROR9(0x80040406, "MS_E_BUSY", "The sample is busy.")
240 DXERROR9(0x80040407, "MS_E_NOTINIT", "The object can't accept the call because its initialize function or equivalent has not been called.")
241 DXERROR9(0x80040408, "MS_E_SOURCEALREADYDEFINED", "MS_E_SOURCEALREADYDEFINED")
242 DXERROR9(0x80040409, "MS_E_INVALIDSTREAMTYPE", "The stream type is not valid for this operation.")
243 DXERROR9(0x8004040a, "MS_E_NOTRUNNING", "The object is not in running state.")
244 DXERROR9(0x80070002, "DXERROR_FILE_NOT_FOUND", "The system cannot find the file specified.")
245 DXERROR9(0x80070003, "DXERROR_PATH_NOT_FOUND", "The system cannot find the path specified.")
246 DXERROR9(0x80070004, "DXERROR_TOO_MANY_OPEN_FILES", "The system cannot open the file.")
247 DXERROR(0x80070005, "E_ACCESSDENIED", "Access is denied")
248 DXERROR(0x80070006, "E_HANDLE", "Invalid handle")
249 DXERROR8(0x8007000c, "DIERR_NOTACQUIRED", "The operation cannot be performed unless the device is acquired.")
250 DXERROR9(0x80070008, "DXERROR_NOT_ENOUGH_MEMORY", "Not enough storage is available to process this command.")
251 DXERROR9(0x80070009, "DXERROR_INVALID_BLOCK", "The storage control block address is invalid.")
252 DXERROR9(0x8007000a, "DXERROR_BAD_ENVIRONMENT", "The environment is incorrect.")
253 DXERROR9(0x8007000b, "DXERROR_BAD_FORMAT", "An attempt was made to load a program with an incorrect format.")
254 DXERROR9(0x8007000c, "DXERROR_INVALID_ACCESS & DIERR_NOTACQUIRED", "The operation cannot be performed unless the device is acquired.")
255 DXERROR(0x8007000e, "E_OUTOFMEMORY", "Ran out of memory")
256 DXERROR8(0x80070015, "DIERR_NOTINITIALIZED", "This object has not been initialized")
257 DXERROR8(0x8007001e, "DIERR_INPUTLOST", "Access to the device has been lost. It must be re-acquired.")
258 DXERROR9(0x80070015, "DXERROR_NOT_READY & DIERR_NOTINITIALIZED", "This object has not been initialized")
259 DXERROR9(0x8007001e, "DXERROR_READ_FAULT & DIERR_INPUTLOST", "Access to the device has been lost. It must be re-acquired.")
260 DXERROR(0x80070057, "E_INVALIDARG", "An invalid parameter was passed to the returning function")
261 DXERROR8(0x80070077, "DIERR_BADDRIVERVER", "The object could not be created due to an incompatible driver version or mismatched or incomplete driver components.")
262 DXERROR8(0x800700aa, "DIERR_ACQUIRED", "The operation cannot be performed while the device is acquired.")
263 DXERROR8(0x80070103, "DIERR_NOMOREITEMS", "No more items.")
264 DXERROR8(0x8007047e, "DIERR_OLDDIRECTINPUTVERSION", "The application requires a newer version of DirectInput.")
265 DXERROR8(0x80070481, "DIERR_BETADIRECTINPUTVERSION", "The application was written for an unsupported prerelease version of DirectInput.")
266 DXERROR8(0x80070490, "E_PROP_ID_UNSUPPORTED", "The specified property ID is not supported for the specified property set.")
267 DXERROR8(0x80070492, "E_PROP_SET_UNSUPPORTED", "The Specified property set is not supported.")
268 DXERROR8(0x800704df, "DIERR_ALREADYINITIALIZED", "This object is already initialized")
269 DXERROR9(0x80070077, "DXERROR_BAD_DRIVER_LEVEL & DIERR_BADDRIVERVER", "The object could not be created due to an incompatible driver version or mismatched or incomplete driver components.")
270 DXERROR9(0x800700aa, "DXERROR_BUSY & DIERR_ACQUIRED", "The operation cannot be performed while the device is acquired.")
271 DXERROR9(0x80070103, "DXERROR_NO_MORE_ITEMS & DIERR_NOMOREITEMS", "No more items.")
272 DXERROR9(0x8007047e, "DXERROR_OLD_WIN_VERSION & DIERR_OLDDIRECTINPUTVERSION", "The application requires a newer version of DirectInput.")
273 DXERROR9(0x80070481, "DXERROR_RMODE_APP & DIERR_BETADIRECTINPUTVERSION", "The application was written for an unsupported prerelease version of DirectInput.")
274 DXERROR9(0x80070490, "DXERROR_NOT_FOUND & E_PROP_ID_UNSUPPORTED", "The specified property ID is not supported for the specified property set.")
275 DXERROR9(0x80070492, "DXERROR_SET_NOT_FOUND & E_PROP_SET_UNSUPPORTED", "The specified property set is not supported.")
276 DXERROR9(0x800704df, "DXERROR_ALREADY_INITIALIZED & DIERR_ALREADYINITIALIZED", "This object is already initialized")
277 DXERROR9(0x8015001e, "DVERR_BUFFERTOOSMALL", "Buffer too small")
278 DXERROR9(0x8015004a, "DVERR_EXCEPTION", "Exception")
279 DXERROR9(0x80150078, "DVERR_INVALIDFLAGS", "Invalid flags")
280 DXERROR9(0x80150082, "DVERR_INVALIDOBJECT", "Invalid object")
281 DXERROR9(0x80150087, "DVERR_INVALIDPLAYER", "Invalid player")
282 DXERROR9(0x80150091, "DVERR_INVALIDGROUP", "Invalid group")
283 DXERROR9(0x80150096, "DVERR_INVALIDHANDLE", "Invalid handle")
284 DXERROR9(0x8015012c, "DVERR_SESSIONLOST", "Session lost")
285 DXERROR9(0x8015012e, "DVERR_NOVOICESESSION", "No voice session")
286 DXERROR9(0x80150168, "DVERR_CONNECTIONLOST", "Connection lost")
287 DXERROR9(0x80150169, "DVERR_NOTINITIALIZED", "Not initialized")
288 DXERROR9(0x8015016a, "DVERR_CONNECTED", "Connected")
289 DXERROR9(0x8015016b, "DVERR_NOTCONNECTED", "Not connected")
290 DXERROR9(0x8015016e, "DVERR_CONNECTABORTING", "Connect aborting")
291 DXERROR9(0x8015016f, "DVERR_NOTALLOWED", "Not allowed")
292 DXERROR9(0x80150170, "DVERR_INVALIDTARGET", "Invalid target")
293 DXERROR9(0x80150171, "DVERR_TRANSPORTNOTHOST", "Transport not host")
294 DXERROR9(0x80150172, "DVERR_COMPRESSIONNOTSUPPORTED", "Compression not supported")
295 DXERROR9(0x80150173, "DVERR_ALREADYPENDING", "Already pending")
296 DXERROR9(0x80150174, "DVERR_SOUNDINITFAILURE", "Sound init failure")
297 DXERROR9(0x80150175, "DVERR_TIMEOUT", "Time out")
298 DXERROR9(0x80150176, "DVERR_CONNECTABORTED", "Connect aborted")
299 DXERROR9(0x80150177, "DVERR_NO3DSOUND", "No 3d sound")
300 DXERROR9(0x80150178, "DVERR_ALREADYBUFFERED", "Already buffered")
301 DXERROR9(0x80150179, "DVERR_NOTBUFFERED", "Not buffered")
302 DXERROR9(0x8015017a, "DVERR_HOSTING", "Hosting")
303 DXERROR9(0x8015017b, "DVERR_NOTHOSTING", "Not hosting")
304 DXERROR9(0x8015017c, "DVERR_INVALIDDEVICE", "Invalid device")
305 DXERROR9(0x8015017d, "DVERR_RECORDSYSTEMDXERROR", "Record system error")
306 DXERROR9(0x8015017e, "DVERR_PLAYBACKSYSTEMDXERROR", "Playback system error")
307 DXERROR9(0x8015017f, "DVERR_SENDDXERROR", "Send error")
308 DXERROR9(0x80150180, "DVERR_USERCANCEL", "User cancel")
309 DXERROR9(0x80150183, "DVERR_RUNSETUP", "Run setup")
310 DXERROR9(0x80150184, "DVERR_INCOMPATIBLEVERSION", "Incompatible version")
311 DXERROR9(0x80150187, "DVERR_INITIALIZED", "Initialized")
312 DXERROR9(0x80150188, "DVERR_NOTRANSPORT", "No transport")
313 DXERROR9(0x80150189, "DVERR_NOCALLBACK", "No callback")
314 DXERROR9(0x8015018a, "DVERR_TRANSPORTNOTINIT", "Transport not init")
315 DXERROR9(0x8015018b, "DVERR_TRANSPORTNOSESSION", "Transport no session")
316 DXERROR9(0x8015018c, "DVERR_TRANSPORTNOPLAYER", "Transport no player")
317 DXERROR9(0x8015018d, "DVERR_USERBACK", "User back")
318 DXERROR9(0x8015018e, "DVERR_NORECVOLAVAILABLE", "No rec vol available")
319 DXERROR9(0x8015018f, "DVERR_INVALIDBUFFER", "Invalid buffer")
320 DXERROR9(0x80150190, "DVERR_LOCKEDBUFFER", "Locked buffer")
321 DXERROR9(0x80158030, "DPNERR_ABORTED", "Aborted")
322 DXERROR9(0x80158040, "DPNERR_ADDRESSING", "Addressing")
323 DXERROR9(0x80158050, "DPNERR_ALREADYCLOSING", "Already closing")
324 DXERROR9(0x80158060, "DPNERR_ALREADYCONNECTED", "Already connected")
325 DXERROR9(0x80158070, "DPNERR_ALREADYDISCONNECTING", "Already disconnecting")
326 DXERROR9(0x80158080, "DPNERR_ALREADYINITIALIZED", "Already initialized")
327 DXERROR9(0x80158090, "DPNERR_ALREADYREGISTERED", "Already registered")
328 DXERROR9(0x80158100, "DPNERR_BUFFERTOOSMALL", "Buffer too small")
329 DXERROR9(0x80158110, "DPNERR_CANNOTCANCEL", "Can not cancel")
330 DXERROR9(0x80158120, "DPNERR_CANTCREATEGROUP", "Cant create group")
331 DXERROR9(0x80158130, "DPNERR_CANTCREATEPLAYER", "Cant create player")
332 DXERROR9(0x80158140, "DPNERR_CANTLAUNCHAPPLICATION", "Cant launch application")
333 DXERROR9(0x80158150, "DPNERR_CONNECTING", "Connecting")
334 DXERROR9(0x80158160, "DPNERR_CONNECTIONLOST", "Connection lost")
335 DXERROR9(0x80158170, "DPNERR_CONVERSION", "Conversion")
336 DXERROR9(0x80158175, "DPNERR_DATATOOLARGE", "Data too large")
337 DXERROR9(0x80158180, "DPNERR_DOESNOTEXIST", "Does not exist")
338 DXERROR9(0x80158185, "DPNERR_DPNSVRNOTAVAILABLE", "dpnsvr not available")
339 DXERROR9(0x80158190, "DPNERR_DUPLICATECOMMAND", "Duplicate command")
340 DXERROR9(0x80158200, "DPNERR_ENDPOINTNOTRECEIVING", "End point not receiving")
341 DXERROR9(0x80158210, "DPNERR_ENUMQUERYTOOLARGE", "Enum query too large")
342 DXERROR9(0x80158220, "DPNERR_ENUMRESPONSETOOLARGE", "Enum response too large")
343 DXERROR9(0x80158230, "DPNERR_EXCEPTION", "Exception")
344 DXERROR9(0x80158240, "DPNERR_GROUPNOTEMPTY", "Group not empty")
345 DXERROR9(0x80158250, "DPNERR_HOSTING", "Hosting")
346 DXERROR9(0x80158260, "DPNERR_HOSTREJECTEDCONNECTION", "Host rejected connection")
347 DXERROR9(0x80158270, "DPNERR_HOSTTERMINATEDSESSION", "Host terminated session")
348 DXERROR9(0x80158280, "DPNERR_INCOMPLETEADDRESS", "Incomplete address")
349 DXERROR9(0x80158290, "DPNERR_INVALIDADDRESSFORMAT", "Invalid address format")
350 DXERROR9(0x80158300, "DPNERR_INVALIDAPPLICATION", "Invalid application")
351 DXERROR9(0x80158310, "DPNERR_INVALIDCOMMAND", "Invalid command")
352 DXERROR9(0x80158320, "DPNERR_INVALIDDEVICEADDRESS", "Invalid device address")
353 DXERROR9(0x80158330, "DPNERR_INVALIDENDPOINT", "Invalid end point")
354 DXERROR9(0x80158340, "DPNERR_INVALIDFLAGS", "Invalid flags")
355 DXERROR9(0x80158350, "DPNERR_INVALIDGROUP", "Invalid group")
356 DXERROR9(0x80158360, "DPNERR_INVALIDHANDLE", "Invalid handle")
357 DXERROR9(0x80158370, "DPNERR_INVALIDHOSTADDRESS", "Invalid host address")
358 DXERROR9(0x80158380, "DPNERR_INVALIDINSTANCE", "Invalid instance")
359 DXERROR9(0x80158390, "DPNERR_INVALIDINTERFACE", "Invalid interface")
360 DXERROR9(0x80158400, "DPNERR_INVALIDOBJECT", "Invalid object")
361 DXERROR9(0x80158410, "DPNERR_INVALIDPASSWORD", "Invalid password")
362 DXERROR9(0x80158420, "DPNERR_INVALIDPLAYER", "Invalid player")
363 DXERROR9(0x80158430, "DPNERR_INVALIDPRIORITY", "Invalid priority")
364 DXERROR9(0x80158440, "DPNERR_INVALIDSTRING", "Invalid string")
365 DXERROR9(0x80158450, "DPNERR_INVALIDURL", "Invalid url")
366 DXERROR9(0x80158460, "DPNERR_INVALIDVERSION", "Invalid version")
367 DXERROR9(0x80158470, "DPNERR_NOCAPS", "No caps")
368 DXERROR9(0x80158480, "DPNERR_NOCONNECTION", "No connection")
369 DXERROR9(0x80158490, "DPNERR_NOHOSTPLAYER", "No host player")
370 DXERROR9(0x80158500, "DPNERR_NOMOREADDRESSCOMPONENTS", "No more address components")
371 DXERROR9(0x80158510, "DPNERR_NORESPONSE", "No response")
372 DXERROR9(0x80158520, "DPNERR_NOTALLOWED", "Not allowed")
373 DXERROR9(0x80158530, "DPNERR_NOTHOST", "Not host")
374 DXERROR9(0x80158540, "DPNERR_NOTREADY", "Not ready")
375 DXERROR9(0x80158550, "DPNERR_NOTREGISTERED", "Not registered")
376 DXERROR9(0x80158560, "DPNERR_PLAYERALREADYINGROUP", "Player already in group")
377 DXERROR9(0x80158570, "DPNERR_PLAYERLOST", "Player lost")
378 DXERROR9(0x80158580, "DPNERR_PLAYERNOTINGROUP", "Player not in group")
379 DXERROR9(0x80158590, "DPNERR_PLAYERNOTREACHABLE", "Player not reachable")
380 DXERROR9(0x80158600, "DPNERR_SENDTOOLARGE", "Send too large")
381 DXERROR9(0x80158610, "DPNERR_SESSIONFULL", "Session full")
382 DXERROR9(0x80158620, "DPNERR_TABLEFULL", "Table full")
383 DXERROR9(0x80158630, "DPNERR_TIMEDOUT", "Timed out")
384 DXERROR9(0x80158640, "DPNERR_UNINITIALIZED", "Uninitialized")
385 DXERROR9(0x80158650, "DPNERR_USERCANCEL", "User cancel")
386 DXERROR(0x88760005, "DDERR_ALREADYINITIALIZED", "This object is already initialized")
387 DXERROR(0x8876000a, "DDERR_CANNOTATTACHSURFACE", "This surface can not be attached to the requested surface.")
388 DXERROR(0x88760014, "DDERR_CANNOTDETACHSURFACE", "This surface can not be detached from the requested surface.")
389 DXERROR(0x88760028, "DDERR_CURRENTLYNOTAVAIL", "Support is currently not available.")
390 DXERROR(0x88760037, "DDERR_EXCEPTION", "An exception was encountered while performing the requested operation")
391 DXERROR(0x8876005a, "DDERR_HEIGHTALIGN", "Height of rectangle provided is not a multiple of reqd alignment")
392 DXERROR(0x8876005f, "DDERR_INCOMPATIBLEPRIMARY", "Unable to match primary surface creation request with existing primary surface.")
393 DXERROR(0x88760064, "DDERR_INVALIDCAPS", "One or more of the caps bits passed to the callback are incorrect.")
394 DXERROR(0x8876006e, "DDERR_INVALIDCLIPLIST", "DirectDraw does not support provided Cliplist.")
395 DXERROR(0x88760078, "DDERR_INVALIDMODE", "DirectDraw does not support the requested mode")
396 DXERROR(0x88760082, "DDERR_INVALIDOBJECT", "DirectDraw received a pointer that was an invalid DIRECTDRAW object.")
397 DXERROR(0x88760091, "DDERR_INVALIDPIXELFORMAT", "pixel format was invalid as specified")
398 DXERROR(0x88760096, "DDERR_INVALIDRECT", "Rectangle provided was invalid.")
399 DXERROR(0x887600a0, "DDERR_LOCKEDSURFACES", "Operation could not be carried out because one or more surfaces are locked")
400 DXERROR(0x887600aa, "DDERR_NO3D", "There is no 3D present.")
401 DXERROR(0x887600b4, "DDERR_NOALPHAHW", "Operation could not be carried out because there is no alpha accleration hardware present or available.")
402 DXERROR(0x887600b5, "DDERR_NOSTEREOHARDWARE", "Operation could not be carried out because there is no stereo hardware present or available.")
403 DXERROR(0x887600b6, "DDERR_NOSURFACELEFT", "Operation could not be carried out because there is no hardware present which supports stereo surfaces")
404 DXERROR(0x887600cd, "DDERR_NOCLIPLIST", "no clip list available")
405 DXERROR(0x887600d2, "DDERR_NOCOLORCONVHW", "Operation could not be carried out because there is no color conversion hardware present or available.")
406 DXERROR(0x887600d4, "DDERR_NOCOOPERATIVELEVELSET", "Create function called without DirectDraw object method SetCooperativeLevel being called.")
407 DXERROR(0x887600d7, "DDERR_NOCOLORKEY", "Surface doesn't currently have a color key")
408 DXERROR(0x887600dc, "DDERR_NOCOLORKEYHW", "Operation could not be carried out because there is no hardware support of the dest color key.")
409 DXERROR(0x887600de, "DDERR_NODIRECTDRAWSUPPORT", "No DirectDraw support possible with current display driver")
410 DXERROR(0x887600e1, "DDERR_NOEXCLUSIVEMODE", "Operation requires the application to have exclusive mode but the application does not have exclusive mode.")
411 DXERROR(0x887600e6, "DDERR_NOFLIPHW", "Flipping visible surfaces is not supported.")
412 DXERROR(0x887600f0, "DDERR_NOGDI", "There is no GDI present.")
413 DXERROR(0x887600fa, "DDERR_NOMIRRORHW", "Operation could not be carried out because there is no hardware present or available.")
414 DXERROR(0x887600ff, "DDERR_NOTFOUND", "Requested item was not found")
415 DXERROR(0x88760104, "DDERR_NOOVERLAYHW", "Operation could not be carried out because there is no overlay hardware present or available.")
416 DXERROR(0x8876010e, "DDERR_OVERLAPPINGRECTS", "Operation could not be carried out because the source and destination rectangles are on the same surface and overlap each other.")
417 DXERROR(0x88760118, "DDERR_NORASTEROPHW", "Operation could not be carried out because there is no appropriate raster op hardware present or available.")
418 DXERROR(0x88760122, "DDERR_NOROTATIONHW", "Operation could not be carried out because there is no rotation hardware present or available.")
419 DXERROR(0x88760136, "DDERR_NOSTRETCHHW", "Operation could not be carried out because there is no hardware support for stretching")
420 DXERROR(0x8876013c, "DDERR_NOT4BITCOLOR", "DirectDrawSurface is not in 4 bit color palette and the requested operation requires 4 bit color palette.")
421 DXERROR(0x8876013d, "DDERR_NOT4BITCOLORINDEX", "DirectDrawSurface is not in 4 bit color index palette and the requested operation requires 4 bit color index palette.")
422 DXERROR(0x88760140, "DDERR_NOT8BITCOLOR", "DirectDraw Surface is not in 8 bit color mode and the requested operation requires 8 bit color.")
423 DXERROR(0x8876014a, "DDERR_NOTEXTUREHW", "Operation could not be carried out because there is no texture mapping hardware present or available.")
424 DXERROR(0x8876014f, "DDERR_NOVSYNCHW", "Operation could not be carried out because there is no hardware support for vertical blank synchronized operations.")
425 DXERROR(0x88760154, "DDERR_NOZBUFFERHW", "Operation could not be carried out because there is no hardware support for zbuffer blting.")
426 DXERROR(0x8876015e, "DDERR_NOZOVERLAYHW", "Overlay surfaces could not be z layered based on their BltOrder because the hardware does not support z layering of overlays.")
427 DXERROR(0x88760168, "DDERR_OUTOFCAPS", "The hardware needed for the requested operation has already been allocated.")
428 DXERROR9(0x8876017c, "D3DERR_OUTOFVIDEOMEMORY", "Out of video memory")
429 DXERROR(0x8876017e, "DDERR_OVERLAYCANTCLIP", "hardware does not support clipped overlays")
430 DXERROR(0x88760180, "DDERR_OVERLAYCOLORKEYONLYONEACTIVE", "Can only have ony color key active at one time for overlays")
431 DXERROR(0x88760183, "DDERR_PALETTEBUSY", "Access to this palette is being refused because the palette is already locked by another thread.")
432 DXERROR(0x88760190, "DDERR_COLORKEYNOTSET", "No src color key specified for this operation.")
433 DXERROR(0x8876019a, "DDERR_SURFACEALREADYATTACHED", "This surface is already attached to the surface it is being attached to.")
434 DXERROR(0x887601a4, "DDERR_SURFACEALREADYDEPENDENT", "This surface is already a dependency of the surface it is being made a dependency of.")
435 DXERROR(0x887601ae, "DDERR_SURFACEBUSY", "Access to this surface is being refused because the surface is already locked by another thread.")
436 DXERROR(0x887601b3, "DDERR_CANTLOCKSURFACE", "Access to this surface is being refused because no driver exists which can supply a pointer to the surface. This is most likely to happen when attempting to lock the primary surface when no DCI provider is present. Will also happen on attempts to lock an optimized surface.")
437 DXERROR(0x887601b8, "DDERR_SURFACEISOBSCURED", "Access to Surface refused because Surface is obscured.")
438 DXERROR(0x887601c2, "DDERR_SURFACELOST", "Access to this surface is being refused because the surface is gone. The DIRECTDRAWSURFACE object representing this surface should have Restore called on it.")
439 DXERROR(0x887601cc, "DDERR_SURFACENOTATTACHED", "The requested surface is not attached.")
440 DXERROR(0x887601d6, "DDERR_TOOBIGHEIGHT", "Height requested by DirectDraw is too large.")
441 DXERROR(0x887601e0, "DDERR_TOOBIGSIZE", "Size requested by DirectDraw is too large -- The individual height and width are OK.")
442 DXERROR(0x887601ea, "DDERR_TOOBIGWIDTH", "Width requested by DirectDraw is too large.")
443 DXERROR(0x887601fe, "DDERR_UNSUPPORTEDFORMAT", "Pixel format requested is unsupported by DirectDraw")
444 DXERROR(0x88760208, "DDERR_UNSUPPORTEDMASK", "Bitmask in the pixel format requested is unsupported by DirectDraw")
445 DXERROR(0x88760209, "DDERR_INVALIDSTREAM", "The specified stream contains invalid data")
446 DXERROR(0x88760219, "DDERR_VERTICALBLANKINPROGRESS", "vertical blank is in progress")
447 DXERROR8(0x8876021c, "DDERR_WASSTILLDRAWING", "Informs DirectDraw that the previous Blt which is transfering information to or from this Surface is incomplete.")
448 DXERROR9(0x8876021c, "DDERR_WASSTILLDRAWING", "Was still drawing")
449 DXERROR(0x8876021e, "DDERR_DDSCAPSCOMPLEXREQUIRED", "The specified surface type requires specification of the COMPLEX flag")
450 DXERROR(0x88760230, "DDERR_XALIGN", "Rectangle provided was not horizontally aligned on reqd. boundary")
451 DXERROR(0x88760231, "DDERR_INVALIDDIRECTDRAWGUID", "The GUID passed to DirectDrawCreate is not a valid DirectDraw driver identifier.")
452 DXERROR(0x88760232, "DDERR_DIRECTDRAWALREADYCREATED", "A DirectDraw object representing this driver has already been created for this process.")
453 DXERROR(0x88760233, "DDERR_NODIRECTDRAWHW", "A hardware only DirectDraw object creation was attempted but the driver did not support any hardware.")
454 DXERROR(0x88760234, "DDERR_PRIMARYSURFACEALREADYEXISTS", "this process already has created a primary surface")
455 DXERROR(0x88760235, "DDERR_NOEMULATION", "software emulation not available.")
456 DXERROR(0x88760236, "DDERR_REGIONTOOSMALL", "region passed to Clipper::GetClipList is too small.")
457 DXERROR(0x88760237, "DDERR_CLIPPERISUSINGHWND", "an attempt was made to set a clip list for a clipper objec that is already monitoring an hwnd.")
458 DXERROR(0x88760238, "DDERR_NOCLIPPERATTACHED", "No clipper object attached to surface object")
459 DXERROR(0x88760239, "DDERR_NOHWND", "Clipper notification requires an HWND or no HWND has previously been set as the CooperativeLevel HWND.")
460 DXERROR(0x8876023a, "DDERR_HWNDSUBCLASSED", "HWND used by DirectDraw CooperativeLevel has been subclassed, this prevents DirectDraw from restoring state.")
461 DXERROR(0x8876023b, "DDERR_HWNDALREADYSET", "The CooperativeLevel HWND has already been set. It can not be reset while the process has surfaces or palettes created.")
462 DXERROR(0x8876023c, "DDERR_NOPALETTEATTACHED", "No palette object attached to this surface.")
463 DXERROR(0x8876023d, "DDERR_NOPALETTEHW", "No hardware support for 16 or 256 color palettes.")
464 DXERROR(0x8876023e, "DDERR_BLTFASTCANTCLIP", "If a clipper object is attached to the source surface passed into a BltFast call.")
465 DXERROR(0x8876023f, "DDERR_NOBLTHW", "No blter.")
466 DXERROR(0x88760240, "DDERR_NODDROPSHW", "No DirectDraw ROP hardware.")
467 DXERROR(0x88760241, "DDERR_OVERLAYNOTVISIBLE", "returned when GetOverlayPosition is called on a hidden overlay")
468 DXERROR(0x88760242, "DDERR_NOOVERLAYDEST", "returned when GetOverlayPosition is called on a overlay that UpdateOverlay has never been called on to establish a destionation.")
469 DXERROR(0x88760243, "DDERR_INVALIDPOSITION", "returned when the position of the overlay on the destionation is no longer legal for that destionation.")
470 DXERROR(0x88760244, "DDERR_NOTAOVERLAYSURFACE", "returned when an overlay member is called for a non-overlay surface")
471 DXERROR(0x88760245, "DDERR_EXCLUSIVEMODEALREADYSET", "An attempt was made to set the cooperative level when it was already set to exclusive.")
472 DXERROR(0x88760246, "DDERR_NOTFLIPPABLE", "An attempt has been made to flip a surface that is not flippable.")
473 DXERROR(0x88760247, "DDERR_CANTDUPLICATE", "Can't duplicate primary & 3D surfaces, or surfaces that are implicitly created.")
474 DXERROR(0x88760248, "DDERR_NOTLOCKED", "Surface was not locked. An attempt to unlock a surface that was not locked at all, or by this process, has been attempted.")
475 DXERROR(0x88760249, "DDERR_CANTCREATEDC", "Windows can not create any more DCs, or a DC was requested for a paltte-indexed surface when the surface had no palette AND the display mode was not palette-indexed (in this case DirectDraw cannot select a proper palette into the DC)")
476 DXERROR(0x8876024a, "DDERR_NODC", "No DC was ever created for this surface.")
477 DXERROR(0x8876024b, "DDERR_WRONGMODE", "This surface can not be restored because it was created in a different mode.")
478 DXERROR(0x8876024c, "DDERR_IMPLICITLYCREATED", "This surface can not be restored because it is an implicitly created surface.")
479 DXERROR(0x8876024d, "DDERR_NOTPALETTIZED", "The surface being used is not a palette-based surface")
480 DXERROR(0x8876024e, "DDERR_UNSUPPORTEDMODE", "The display is currently in an unsupported mode")
481 DXERROR(0x8876024f, "DDERR_NOMIPMAPHW", "Operation could not be carried out because there is no mip-map texture mapping hardware present or available.")
482 DXERROR(0x88760250, "DDERR_INVALIDSURFACETYPE", "The requested action could not be performed because the surface was of the wrong type.")
483 DXERROR(0x88760258, "DDERR_NOOPTIMIZEHW", "Device does not support optimized surfaces, therefore no video memory optimized surfaces")
484 DXERROR(0x88760259, "DDERR_NOTLOADED", "Surface is an optimized surface, but has not yet been allocated any memory")
485 DXERROR(0x8876025a, "DDERR_NOFOCUSWINDOW", "Attempt was made to create or set a device window without first setting the focus window")
486 DXERROR(0x8876025b, "DDERR_NOTONMIPMAPSUBLEVEL", "Attempt was made to set a palette on a mipmap sublevel")
487 DXERROR(0x8876026c, "DDERR_DCALREADYCREATED", "A DC has already been returned for this surface. Only one DC can be retrieved per surface.")
488 DXERROR(0x88760276, "DDERR_NONONLOCALVIDMEM", "An attempt was made to allocate non-local video memory from a device that does not support non-local video memory.")
489 DXERROR(0x88760280, "DDERR_CANTPAGELOCK", "The attempt to page lock a surface failed.")
490 DXERROR(0x88760294, "DDERR_CANTPAGEUNLOCK", "The attempt to page unlock a surface failed.")
491 DXERROR(0x887602a8, "DDERR_NOTPAGELOCKED", "An attempt was made to page unlock a surface with no outstanding page locks.")
492 DXERROR(0x887602b2, "DDERR_MOREDATA", "There is more data available than the specified buffer size could hold")
493 DXERROR(0x887602b3, "DDERR_EXPIRED", "The data has expired and is therefore no longer valid.")
494 DXERROR(0x887602b4, "DDERR_TESTFINISHED", "The mode test has finished executing.")
495 DXERROR(0x887602b5, "DDERR_NEWMODE", "The mode test has switched to a new mode.")
496 DXERROR(0x887602b6, "DDERR_D3DNOTINITIALIZED", "D3D has not yet been initialized.")
497 DXERROR(0x887602b7, "DDERR_VIDEONOTACTIVE", "The video port is not active")
498 DXERROR(0x887602b8, "DDERR_NOMONITORINFORMATION", "The monitor does not have EDID data.")
499 DXERROR(0x887602b9, "DDERR_NODRIVERSUPPORT", "The driver does not enumerate display mode refresh rates.")
500 DXERROR(0x887602bb, "DDERR_DEVICEDOESNTOWNSURFACE", "Surfaces created by one direct draw device cannot be used directly by another direct draw device.")
501 DXERROR9(0x88760352, "DXFILEERR_BADOBJECT", "Bad object")
502 DXERROR9(0x88760353, "DXFILEERR_BADVALUE", "Bad value")
503 DXERROR9(0x88760354, "DXFILEERR_BADTYPE", "Bad type")
504 DXERROR9(0x88760355, "DXFILEERR_BADSTREAMHANDLE", "Bad stream handle")
505 DXERROR9(0x88760356, "DXFILEERR_BADALLOC", "Bad alloc")
506 DXERROR9(0x88760357, "DXFILEERR_NOTFOUND", "Not found")
507 DXERROR9(0x88760358, "DXFILEERR_NOTDONEYET", "Not done yet")
508 DXERROR9(0x88760359, "DXFILEERR_FILENOTFOUND", "File not found")
509 DXERROR9(0x8876035a, "DXFILEERR_RESOURCENOTFOUND", "Resource not found")
510 DXERROR9(0x8876035b, "DXFILEERR_URLNOTFOUND", "Url not found")
511 DXERROR9(0x8876035c, "DXFILEERR_BADRESOURCE", "Bad resource")
512 DXERROR9(0x8876035d, "DXFILEERR_BADFILETYPE", "Bad file type")
513 DXERROR9(0x8876035e, "DXFILEERR_BADFILEVERSION", "Bad file version")
514 DXERROR9(0x8876035f, "DXFILEERR_BADFILEFLOATSIZE", "Bad file float size")
515 DXERROR9(0x88760360, "DXFILEERR_BADFILECOMPRESSIONTYPE", "Bad file compression type")
516 DXERROR9(0x88760361, "DXFILEERR_BADFILE", "Bad file")
517 DXERROR9(0x88760362, "DXFILEERR_PARSEDXERROR", "Parse error")
518 DXERROR9(0x88760363, "DXFILEERR_NOTEMPLATE", "No template")
519 DXERROR9(0x88760364, "DXFILEERR_BADARRAYSIZE", "Bad array size")
520 DXERROR9(0x88760365, "DXFILEERR_BADDATAREFERENCE", "Bad data reference")
521 DXERROR9(0x88760366, "DXFILEERR_INTERNALDXERROR", "Internal error")
522 DXERROR9(0x88760367, "DXFILEERR_NOMOREOBJECTS", "No more objects")
523 DXERROR9(0x88760368, "DXFILEERR_BADINTRINSICS", "Bad intrinsics")
524 DXERROR9(0x88760369, "DXFILEERR_NOMORESTREAMHANDLES", "No more stream handles")
525 DXERROR9(0x8876036a, "DXFILEERR_NOMOREDATA", "No more data")
526 DXERROR9(0x8876036b, "DXFILEERR_BADCACHEFILE", "Bad cache file")
527 DXERROR9(0x8876036c, "DXFILEERR_NOINTERNET", "No internet")
528 DXERROR9(0x88760818, "D3DERR_WRONGTEXTUREFORMAT", "Wrong texture format")
529 DXERROR9(0x88760819, "D3DERR_UNSUPPORTEDCOLOROPERATION", "Unsupported color operation")
530 DXERROR9(0x8876081a, "D3DERR_UNSUPPORTEDCOLORARG", "Unsupported color arg")
531 DXERROR9(0x8876081b, "D3DERR_UNSUPPORTEDALPHAOPERATION", "Unsupported alpha operation")
532 DXERROR9(0x8876081c, "D3DERR_UNSUPPORTEDALPHAARG", "Unsupported alpha arg")
533 DXERROR9(0x8876081d, "D3DERR_TOOMANYOPERATIONS", "Too many operations")
534 DXERROR9(0x8876081e, "D3DERR_CONFLICTINGTEXTUREFILTER", "Conflicting texture filter")
535 DXERROR9(0x8876081f, "D3DERR_UNSUPPORTEDFACTORVALUE", "Unsupported factor value")
536 DXERROR9(0x88760821, "D3DERR_CONFLICTINGRENDERSTATE", "Conflicting render state")
537 DXERROR9(0x88760822, "D3DERR_UNSUPPORTEDTEXTUREFILTER", "Unsupported texture filter")
538 DXERROR9(0x88760826, "D3DERR_CONFLICTINGTEXTUREPALETTE", "Conflicting texture palette")
539 DXERROR9(0x88760827, "D3DERR_DRIVERINTERNALDXERROR", "Driver internal error")
540 DXERROR9(0x88760866, "D3DERR_NOTFOUND", "Not found")
541 DXERROR9(0x88760867, "D3DERR_MOREDATA", "More data")
542 DXERROR9(0x88760868, "D3DERR_DEVICELOST", "Device lost")
543 DXERROR9(0x88760869, "D3DERR_DEVICENOTRESET", "Device not reset")
544 DXERROR9(0x8876086a, "D3DERR_NOTAVAILABLE", "Not available")
545 DXERROR9(0x8876086b, "D3DERR_INVALIDDEVICE", "Invalid device")
546 DXERROR9(0x8876086c, "D3DERR_INVALIDCALL", "Invalid call")
547 DXERROR9(0x8876086d, "D3DERR_DRIVERINVALIDCALL", "Driver invalid call")
548 DXERROR9(0x88760b54, "D3DXERR_CANNOTMODIFYINDEXBUFFER", "Can not modify index buffer")
549 DXERROR9(0x88760b55, "D3DXERR_INVALIDMESH", "Invalid mesh")
550 DXERROR9(0x88760b56, "D3DXERR_CANNOTATTRSORT", "Cannot attr sort")
551 DXERROR9(0x88760b57, "D3DXERR_SKINNINGNOTSUPPORTED", "Skinning not supported")
552 DXERROR9(0x88760b58, "D3DXERR_TOOMANYINFLUENCES", "Too many influences")
553 DXERROR9(0x88760b59, "D3DXERR_INVALIDDATA", "Invalid data")
554 DXERROR9(0x88760b5a, "D3DXERR_LOADEDMESHASNODATA", "Loaded mesh has no data")
555 DXERROR9(0x88760b5b, "D3DXERR_DUPLICATENAMEDFRAGMENT", "Duplicate named fragment")
556 DXERROR(0x8878000a, "DSERR_ALLOCATED", "The call failed because resources (such as a priority level) were already being used by another caller")
557 DXERROR(0x8878001e, "DSERR_CONTROLUNAVAIL", "The control (vol, pan, etc.) requested by the caller is not available")
558 DXERROR(0x88780032, "DSERR_INVALIDCALL", "This call is not valid for the current state of this object")
559 DXERROR(0x88780046, "DSERR_PRIOLEVELNEEDED", "The caller does not have the priority level required for the function to succeed")
560 DXERROR(0x88780064, "DSERR_BADFORMAT", "The specified WAVE format is not supported")
561 DXERROR(0x88780078, "DSERR_NODRIVER", "No sound driver is available for use")
562 DXERROR(0x88780082, "DSERR_ALREADYINITIALIZED", "This object is already initialized")
563 DXERROR(0x88780096, "DSERR_BUFFERLOST", "The buffer memory has been lost, and must be restored")
564 DXERROR(0x887800a0, "DSERR_OTHERAPPHASPRIO", "Another app has a higher priority level, preventing this call from succeeding")
565 DXERROR(0x887800aa, "DSERR_UNINITIALIZED", "This object has not been initialized")
566 DXERROR(0x887800b4, "DSERR_BUFFERTOOSMALL", "Tried to create a DSBCAPS_CTRLFX buffer shorter than DSBSIZE_FX_MIN milliseconds")
567 DXERROR(0x887800be, "DSERR_DS8_REQUIRED", "Attempt to use DirectSound 8 functionality on an older DirectSound object")
568 DXERROR(0x887800c8, "DSERR_SENDLOOP", "A circular loop of send effects was detected")
569 DXERROR(0x887800d2, "DSERR_BADSENDBUFFERGUID", "The GUID specified in an audiopath file does not match a valid MIXIN buffer")
570 DXERROR(0x88781101, "DMUS_E_DRIVER_FAILED", "An unexpected error was returned from a device driver, indicating possible failure of the driver or hardware.")
571 DXERROR(0x88781102, "DMUS_E_PORTS_OPEN", "The requested operation cannot be performed while there are instantiated ports in any process in the system.")
572 DXERROR(0x88781103, "DMUS_E_DEVICE_IN_USE", "The requested device is already in use (possibly by a non-DirectMusic client) and cannot be opened again.")
573 DXERROR(0x88781104, "DMUS_E_INSUFFICIENTBUFFER", "Buffer is not large enough for requested operation.")
574 DXERROR(0x88781105, "DMUS_E_BUFFERNOTSET", "No buffer was prepared for the download data.")
575 DXERROR(0x88781106, "DMUS_E_BUFFERNOTAVAILABLE", "Download failed due to inability to access or create download buffer.")
576 DXERROR(0x88781108, "DMUS_E_NOTADLSCOL", "Error parsing DLS collection. File is corrupt.")
577 DXERROR(0x88781109, "DMUS_E_INVALIDOFFSET", "Wave chunks in DLS collection file are at incorrect offsets.")
578 DXERROR(0x88781111, "DMUS_E_ALREADY_LOADED", "Second attempt to load a DLS collection that is currently open. ")
579 DXERROR(0x88781113, "DMUS_E_INVALIDPOS", "Error reading wave data from DLS collection. Indicates bad file.")
580 DXERROR(0x88781114, "DMUS_E_INVALIDPATCH", "There is no instrument in the collection that matches patch number.")
581 DXERROR(0x88781115, "DMUS_E_CANNOTSEEK", "The IStream* doesn't support Seek().")
582 DXERROR(0x88781116, "DMUS_E_CANNOTWRITE", "The IStream* doesn't support Write().")
583 DXERROR(0x88781117, "DMUS_E_CHUNKNOTFOUND", "The RIFF parser doesn't contain a required chunk while parsing file.")
584 DXERROR(0x88781119, "DMUS_E_INVALID_DOWNLOADID", "Invalid download id was used in the process of creating a download buffer.")
585 DXERROR(0x88781120, "DMUS_E_NOT_DOWNLOADED_TO_PORT", "Tried to unload an object that was not downloaded or previously unloaded.")
586 DXERROR(0x88781121, "DMUS_E_ALREADY_DOWNLOADED", "Buffer was already downloaded to synth.")
587 DXERROR(0x88781122, "DMUS_E_UNKNOWN_PROPERTY", "The specified property item was not recognized by the target object.")
588 DXERROR(0x88781123, "DMUS_E_SET_UNSUPPORTED", "The specified property item may not be set on the target object.")
589 DXERROR(0x88781124, "DMUS_E_GET_UNSUPPORTED", "* The specified property item may not be retrieved from the target object.")
590 DXERROR(0x88781125, "DMUS_E_NOTMONO", "Wave chunk has more than one interleaved channel. DLS format requires MONO.")
591 DXERROR(0x88781126, "DMUS_E_BADARTICULATION", "Invalid articulation chunk in DLS collection.")
592 DXERROR(0x88781127, "DMUS_E_BADINSTRUMENT", "Invalid instrument chunk in DLS collection.")
593 DXERROR(0x88781128, "DMUS_E_BADWAVELINK", "Wavelink chunk in DLS collection points to invalid wave.")
594 DXERROR(0x88781129, "DMUS_E_NOARTICULATION", "Articulation missing from instrument in DLS collection.")
595 DXERROR(0x8878112a, "DMUS_E_NOTPCM", "Downoaded DLS wave is not in PCM format. ")
596 DXERROR(0x8878112b, "DMUS_E_BADWAVE", "Bad wave chunk in DLS collection")
597 DXERROR(0x8878112c, "DMUS_E_BADOFFSETTABLE", "Offset Table for download buffer has errors. ")
598 DXERROR(0x8878112d, "DMUS_E_UNKNOWNDOWNLOAD", "Attempted to download unknown data type.")
599 DXERROR(0x8878112e, "DMUS_E_NOSYNTHSINK", "The operation could not be completed because no sink was connected to the synthesizer.")
600 DXERROR(0x8878112f, "DMUS_E_ALREADYOPEN", "An attempt was made to open the software synthesizer while it was already open.")
601 DXERROR(0x88781130, "DMUS_E_ALREADYCLOSED", "An attempt was made to close the software synthesizer while it was already open.")
602 DXERROR(0x88781131, "DMUS_E_SYNTHNOTCONFIGURED", "The operation could not be completed because the software synth has not yet been fully configured.")
603 DXERROR(0x88781132, "DMUS_E_SYNTHACTIVE", "The operation cannot be carried out while the synthesizer is active.")
604 DXERROR(0x88781133, "DMUS_E_CANNOTREAD", "An error occurred while attempting to read from the IStream* object.")
605 DXERROR(0x88781134, "DMUS_E_DMUSIC_RELEASED", "The operation cannot be performed because the final instance of the DirectMusic object was released. Ports cannot be used after final release of the DirectMusic object.")
606 DXERROR(0x88781135, "DMUS_E_BUFFER_EMPTY", "There was no data in the referenced buffer.")
607 DXERROR(0x88781136, "DMUS_E_BUFFER_FULL", "There is insufficient space to insert the given event into the buffer.")
608 DXERROR(0x88781137, "DMUS_E_PORT_NOT_CAPTURE", "The given operation could not be carried out because the port is a capture port.")
609 DXERROR(0x88781138, "DMUS_E_PORT_NOT_RENDER", "The given operation could not be carried out because the port is a render port.")
610 DXERROR(0x88781139, "DMUS_E_DSOUND_NOT_SET", "The port could not be created because no DirectSound has been specified. Specify a DirectSound interface via the IDirectMusic::SetDirectSound method; pass NULL to have DirectMusic manage usage of DirectSound.")
611 DXERROR(0x8878113a, "DMUS_E_ALREADY_ACTIVATED", "The operation cannot be carried out while the port is active.")
612 DXERROR(0x8878113b, "DMUS_E_INVALIDBUFFER", "Invalid DirectSound buffer was handed to port. ")
613 DXERROR(0x8878113c, "DMUS_E_WAVEFORMATNOTSUPPORTED", "Invalid buffer format was handed to the synth sink.")
614 DXERROR(0x8878113d, "DMUS_E_SYNTHINACTIVE", "The operation cannot be carried out while the synthesizer is inactive.")
615 DXERROR(0x8878113e, "DMUS_E_DSOUND_ALREADY_SET", "IDirectMusic::SetDirectSound has already been called. It may not be changed while in use.")
616 DXERROR(0x8878113f, "DMUS_E_INVALID_EVENT", "The given event is invalid (either it is not a valid MIDI message or it makes use of running status). The event cannot be packed into the buffer.")
617 DXERROR(0x88781150, "DMUS_E_UNSUPPORTED_STREAM", "The IStream* object does not contain data supported by the loading object.")
618 DXERROR(0x88781151, "DMUS_E_ALREADY_INITED", "The object has already been initialized.")
619 DXERROR(0x88781152, "DMUS_E_INVALID_BAND", "The file does not contain a valid band.")
620 DXERROR(0x88781155, "DMUS_E_TRACK_HDR_NOT_FIRST_CK", "The IStream* object's data does not have a track header as the first chunk, and therefore can not be read by the segment object.")
621 DXERROR(0x88781156, "DMUS_E_TOOL_HDR_NOT_FIRST_CK", "The IStream* object's data does not have a tool header as the first chunk, and therefore can not be read by the graph object.")
622 DXERROR(0x88781157, "DMUS_E_INVALID_TRACK_HDR", "The IStream* object's data contains an invalid track header (ckid is 0 and fccType is NULL,) and therefore can not be read by the segment object.")
623 DXERROR(0x88781158, "DMUS_E_INVALID_TOOL_HDR", "The IStream* object's data contains an invalid tool header (ckid is 0 and fccType is NULL,) and therefore can not be read by the graph object.")
624 DXERROR(0x88781159, "DMUS_E_ALL_TOOLS_FAILED", "The graph object was unable to load all tools from the IStream* object data. This may be due to errors in the stream, or the tools being incorrectly registered on the client.")
625 DXERROR(0x88781160, "DMUS_E_ALL_TRACKS_FAILED", "The segment object was unable to load all tracks from the IStream* object data. This may be due to errors in the stream, or the tracks being incorrectly registered on the client.")
626 DXERROR(0x88781161, "DSERR_OBJECTNOTFOUND", "The object requested was not found (numerically equal to DMUS_E_NOT_FOUND)")
627 DXERROR(0x88781162, "DMUS_E_NOT_INIT", "A required object is not initialized or failed to initialize.")
628 DXERROR(0x88781163, "DMUS_E_TYPE_DISABLED", "The requested parameter type is currently disabled. Parameter types may be enabled and disabled by certain calls to SetParam().")
629 DXERROR(0x88781164, "DMUS_E_TYPE_UNSUPPORTED", "The requested parameter type is not supported on the object.")
630 DXERROR(0x88781165, "DMUS_E_TIME_PAST", "The time is in the past, and the operation can not succeed.")
631 DXERROR(0x88781166, "DMUS_E_TRACK_NOT_FOUND", "The requested track is not contained by the segment.")
632 DXERROR(0x88781167, "DMUS_E_TRACK_NO_CLOCKTIME_SUPPORT", "The track does not support clock time playback or getparam.")
633 DXERROR(0x88781170, "DMUS_E_NO_MASTER_CLOCK", "There is no master clock in the performance. Be sure to call IDirectMusicPerformance::Init().")
634 DXERROR(0x88781180, "DMUS_E_LOADER_NOCLASSID", "The class id field is required and missing in the DMUS_OBJECTDESC.")
635 DXERROR(0x88781181, "DMUS_E_LOADER_BADPATH", "The requested file path is invalid.")
636 DXERROR(0x88781182, "DMUS_E_LOADER_FAILEDOPEN", "File open failed - either file doesn't exist or is locked.")
637 DXERROR(0x88781183, "DMUS_E_LOADER_FORMATNOTSUPPORTED", "Search data type is not supported.")
638 DXERROR(0x88781184, "DMUS_E_LOADER_FAILEDCREATE", "Unable to find or create object.")
639 DXERROR(0x88781185, "DMUS_E_LOADER_OBJECTNOTFOUND", "Object was not found.")
640 DXERROR(0x88781186, "DMUS_E_LOADER_NOFILENAME", "The file name is missing from the DMUS_OBJECTDESC.")
641 DXERROR(0x88781200, "DMUS_E_INVALIDFILE", "The file requested is not a valid file.")
642 DXERROR(0x88781201, "DMUS_E_ALREADY_EXISTS", "The tool is already contained in the graph. Create a new instance.")
643 DXERROR(0x88781202, "DMUS_E_OUT_OF_RANGE", "Value is out of range, for instance the requested length is longer than the segment.")
644 DXERROR(0x88781203, "DMUS_E_SEGMENT_INIT_FAILED", "Segment initialization failed, most likely due to a critical memory situation.")
645 DXERROR(0x88781204, "DMUS_E_ALREADY_SENT", "The DMUS_PMSG has already been sent to the performance object via IDirectMusicPerformance::SendPMsg().")
646 DXERROR(0x88781205, "DMUS_E_CANNOT_FREE", "The DMUS_PMSG was either not allocated by the performance via IDirectMusicPerformance::AllocPMsg() or it was already freed via IDirectMusicPerformance::FreePMsg().")
647 DXERROR(0x88781206, "DMUS_E_CANNOT_OPEN_PORT", "The default system port could not be opened.")
648 DXERROR(0x88781207, "DMUS_E_CANNOT_CONVERT", "A call to MIDIToMusic() or MusicToMIDI() resulted in an error because the requested conversion could not happen. This usually occurs when the provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.")
649 DXERROR(0x88781210, "DMUS_E_DESCEND_CHUNK_FAIL", "DMUS_E_DESCEND_CHUNK_FAIL is returned when the end of the file was reached before the desired chunk was found.")
650 DXERROR(0x88781211, "DMUS_E_NOT_LOADED", "An attempt to use this object failed because it first needs to be loaded.")
651 DXERROR(0x88781213, "DMUS_E_SCRIPT_LANGUAGE_INCOMPATIBLE", "The activeX scripting engine for the script's language is not compatible with DirectMusic.")
652 DXERROR(0x88781214, "DMUS_E_SCRIPT_UNSUPPORTED_VARTYPE", "A varient was used that had a type that is not supported by DirectMusic.")
653 DXERROR(0x88781215, "DMUS_E_SCRIPT_DXERROR_IN_SCRIPT", "An error was encountered while parsing or executing the script. The pErrorInfo parameter (if supplied) was filled with information about the error.")
654 DXERROR(0x88781216, "DMUS_E_SCRIPT_CANTLOAD_OLEAUT32", "Loading of oleaut32.dll failed. VBScript and other activeX scripting languages require use of oleaut32.dll. On platforms where oleaut32.dll is not present, only the DirectMusicScript language, which doesn't require oleaut32.dll can be used.")
655 DXERROR(0x88781217, "DMUS_E_SCRIPT_LOADSCRIPT_DXERROR", "An error occured while parsing a script loaded using LoadScript. The script that was loaded contains an error.")
656 DXERROR(0x88781218, "DMUS_E_SCRIPT_INVALID_FILE", "The script file is invalid.")
657 DXERROR(0x88781219, "DMUS_E_INVALID_SCRIPTTRACK", "The file contains an invalid script track.")
658 DXERROR(0x8878121a, "DMUS_E_SCRIPT_VARIABLE_NOT_FOUND", "The script does not contain a variable with the specified name.")
659 DXERROR(0x8878121b, "DMUS_E_SCRIPT_ROUTINE_NOT_FOUND", "The script does not contain a routine with the specified name.")
660 DXERROR(0x8878121c, "DMUS_E_SCRIPT_CONTENT_READONLY", "Scripts variables for content referenced or embedded in a script cannot be set.")
661 DXERROR(0x8878121d, "DMUS_E_SCRIPT_NOT_A_REFERENCE", "Attempt was made to set a script's variable by reference to a value that was not an object type.")
662 DXERROR(0x8878121e, "DMUS_E_SCRIPT_VALUE_NOT_SUPPORTED", "Attempt was made to set a script's variable by value to an object that does not support a default value property.")
663 DXERROR(0x88781220, "DMUS_E_INVALID_SEGMENTTRIGGERTRACK", "The file contains an invalid segment trigger track.")
664 DXERROR(0x88781221, "DMUS_E_INVALID_LYRICSTRACK", "The file contains an invalid lyrics track.")
665 DXERROR(0x88781222, "DMUS_E_INVALID_PARAMCONTROLTRACK", "The file contains an invalid parameter control track.")
666 DXERROR(0x88781223, "DMUS_E_AUDIOVBSCRIPT_SYNTAXDXERROR", "A script written in AudioVBScript could not be read because it contained a statement that is not allowed by the AudioVBScript language.")
667 DXERROR(0x88781224, "DMUS_E_AUDIOVBSCRIPT_RUNTIMEDXERROR", "A script routine written in AudioVBScript failed because an invalid operation occurred. For example, adding the number 3 to a segment object would produce this error. So would attempting to call a routine that doesn't exist.")
668 DXERROR(0x88781225, "DMUS_E_AUDIOVBSCRIPT_OPERATIONFAILURE", "A script routine written in AudioVBScript failed because a function outside of a script failed to complete. For example, a call to PlaySegment that fails to play because of low memory would return this error.")
669 DXERROR(0x88781226, "DMUS_E_AUDIOPATHS_NOT_VALID", "The Performance has set up some PChannels using the AssignPChannel command, which makes it not capable of supporting audio paths.")
670 DXERROR(0x88781227, "DMUS_E_AUDIOPATHS_IN_USE", "This is the inverse of the previous error. The Performance has set up some audio paths, which makes is incompatible with the calls to allocate pchannels, etc. ")
671 DXERROR(0x88781228, "DMUS_E_NO_AUDIOPATH_CONFIG", "A segment or song was asked for its embedded audio path configuration, but there isn't any. ")
672 DXERROR(0x88781229, "DMUS_E_AUDIOPATH_INACTIVE", "An audiopath is inactive, perhaps because closedown was called.")
673 DXERROR(0x8878122a, "DMUS_E_AUDIOPATH_NOBUFFER", "An audiopath failed to create because a requested buffer could not be created.")
674 DXERROR(0x8878122b, "DMUS_E_AUDIOPATH_NOPORT", "An audiopath could not be used for playback because it lacked port assignments.")
675 DXERROR(0x8878122c, "DMUS_E_NO_AUDIOPATH", "Attempt was made to play segment in audiopath mode and there was no audiopath.")
676 DXERROR(0x8878122d, "DMUS_E_INVALIDCHUNK", "Invalid data was found in a RIFF file chunk.")
677 DXERROR(0x8878122e, "DMUS_E_AUDIOPATH_NOGLOBALFXBUFFER", "Attempt was made to create an audiopath that sends to a global effects buffer which did not exist.")
678 DXERRORLAST(0x8878122f, "DMUS_E_INVALID_CONTAINER_OBJECT", "The file does not contain a valid container object.")
679};
680
681static Error UnknownError = DXERRORLAST(0xffffffff, "Unknown", "n/a");
682
683static Error *FindError(unsigned long hr)
684{
685 register Error *Base = &Errors[0];
686 register int Limit;
687 register Error *Ptr;
688
689 for (Limit = sizeof(Errors) / sizeof(Error); Limit != 0; Limit >>= 1)
690 {
691 Ptr = Base + (Limit >> 1);
692 if (hr == Ptr->Value)
693 return Ptr;
694 if (hr > Ptr->Value)
695 {
696 Base = Ptr + 1;
697 Limit--;
698 }
699 }
700 return &UnknownError;
701}
702
703const TCHAR * __stdcall DXGetErrorString(unsigned long);
704const TCHAR * __stdcall DXGetErrorString(unsigned long hr)
705{
706 return FindError(hr)->Name;
707}
708
709const TCHAR * __stdcall DXGetErrorDescription(unsigned long);
710const TCHAR * __stdcall DXGetErrorDescription(unsigned long hr)
711{
712 return FindError(hr)->Description;
713}
714
715HRESULT __stdcall DXTrace(char *strFile, DWORD, HRESULT, TCHAR *, BOOL);
716HRESULT __stdcall DXTrace(char *strFile, DWORD dwLine, HRESULT hr,
717 TCHAR *strMsg, BOOL bPopMsgBox)
718{
719// FIXME: Decide which version to use?
720// The first version uses dynamic memory allocation and is
721// safer. Second version uses static arrays and that is why
722// it can be better for debugging.
723#if 0
724 const TCHAR *ErrorName = DXGetErrorString9(hr);
725 TCHAR *DebugMessage;
726
727 DebugMessage = (TCHAR *)malloc((strlen(strFile) + (strMsg ? _tcslen(strMsg) : 0) + _tcslen(ErrorName) + 48) * sizeof(TCHAR));
728 if (DebugMessage == 0)
729 return hr;
730 wsprintf(DebugMessage, TEXT("%hs(%Lu): %s (hr=%s(0x%Lx))"), strFile, dwLine, (strMsg ? strMsg : TEXT("")) ErrorName, hr);
731 OutputDebugString(DebugMessage);
732 free(DebugMessage);
733
734 if (bPopMsgBox)
735 {
736 int Result;
737
738 DebugMessage = (TCHAR *)malloc((strlen(strFile) + (strMsg ? _tcslen(strMsg) : 0) + _tcslen(ErrorName) + 60) * sizeof(TCHAR));
739 if (DebugMessage == 0)
740 return DXERROR_NOT_ENOUGH_MEMORY;
741 wsprintf(DebugMessage,
742 TEXT("File: %hs\nLine: %Lu\nError Code: %s(0x%Lx)\nCalling: %s\n"
743 "Do you want to debug the application?"), strFile, dwLine,
744 ErrorName, hr, (strMsg ? strMsg : TEXT("")));
745 Result = MessageBox(0, DebugMessage, TEXT("Unexpected error encountred"), MB_YESNO | MB_ICONDXERROR);
746 if (Result == 0)
747 return hr;
748 if (Result == IDYES)
749 {
750 free(DebugMessage);
751 DebugBreak();
752 } else
753 free(DebugMessage);
754 }
755 return hr;
756#else
757 const TCHAR *ErrorName = DXGetErrorString(hr);
758 TCHAR DebugMessage[4096];
759
760 wsprintf(DebugMessage, TEXT("%hs(%Lu): %s (hr=%s(0x%Lx))"), strFile, dwLine, (strMsg ? strMsg : TEXT("")), ErrorName, hr);
761 OutputDebugString(DebugMessage);
762 if (bPopMsgBox)
763 {
764 int Result;
765 wsprintf(DebugMessage,
766 TEXT("File: %hs\nLine: %Lu\nError Code: %s(0x%Lx)\nCalling: %s\n"
767 "Do you want to debug the application?"), strFile, dwLine,
768 ErrorName, hr, (strMsg ? strMsg : TEXT("")));
769 Result = MessageBox(0, DebugMessage, TEXT("Unexpected error encountred"), MB_YESNO | MB_ICONERROR);
770 if (Result == IDYES)
771 DebugBreak();
772 }
773 return hr;
774#endif
775}
776
lib/libc/mingw/libsrc/dxerr8.c created+18
...@@ -0,0 +1,18 @@
1/*
2
3 dxerr8.c - DirectX 8 Error Functions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#define DXGetErrorString DXGetErrorString8A
14#define DXGetErrorDescription DXGetErrorDescription8A
15#define DXTrace DXTraceA
16#define DXERROR8(v,n,d) {v, n, d},
17#define DXERROR8LAST(v,n,d) {v, n, d}
18#include "dxerr.c"
lib/libc/mingw/libsrc/dxerr8w.c created+21
...@@ -0,0 +1,21 @@
1/*
2
3 dxerr8w.c - DirectX 8 Wide Character Error Functions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#define UNICODE
14#define _UNICODE
15#define DXGetErrorString DXGetErrorString8W
16#define DXGetErrorDescription DXGetErrorDescription8W
17#define DXTrace DXTraceW
18#define DXERROR8(v,n,d) {v, L##n, L##d},
19#define DXERROR8LAST(v,n,d) {v, L##n, L##d}
20#include "dxerr.c"
21
lib/libc/mingw/libsrc/dxerr9.c created+18
...@@ -0,0 +1,18 @@
1/*
2
3 dxerr9.c - DirectX 9 Error Functions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#define DXGetErrorString DXGetErrorString9A
14#define DXGetErrorDescription DXGetErrorDescription9A
15#define DXTrace DXTraceA
16#define DXERROR9(v,n,d) {v, n, d},
17#define DXERROR9LAST(v,n,d) {v, n, d}
18#include "dxerr.c"
lib/libc/mingw/libsrc/dxerr9w.c created+21
...@@ -0,0 +1,21 @@
1/*
2
3 dxerr9w.c - DirectX 9 Wide Character Error Functions
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#define UNICODE
14#define _UNICODE
15#define DXGetErrorString DXGetErrorString9W
16#define DXGetErrorDescription DXGetErrorDescription9W
17#define DXTrace DXTraceW
18#define DXERROR9(v,n,d) {v, L##n, L##d},
19#define DXERROR9LAST(v,n,d) {v, L##n, L##d}
20#include "dxerr.c"
21
lib/libc/mingw/libsrc/dxguid.c created+613
...@@ -0,0 +1,613 @@
1/*
2
3 dxguid.c - DirectX GUIDs
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#if defined(__LCC__) || defined(__GNUC__)
14#define INITGUID 1
15#include <windows.h>
16#else
17#include <basetyps.h>
18#endif
19
20#include <d3d9.h>
21#include <d3d10.h>
22#include <d3d11.h>
23#include <d3d11_1.h>
24#include <d3d11_2.h>
25#include <d3d11_3.h>
26#include <d3d11_4.h>
27#include <d3d11on12.h>
28#include <d3d11sdklayers.h>
29#include <d3d11shader.h>
30#include <d3d12.h>
31#include <d3d12sdklayers.h>
32#include <d3d12shader.h>
33#include <d3d12video.h>
34
35#include <dxgidebug.h>
36#include <dxgi.h>
37#include <dxgi1_2.h>
38#include <dxgi1_3.h>
39#include <dxgi1_4.h>
40#include <dxgi1_5.h>
41#include <dxgi1_6.h>
42
43DEFINE_GUID(CLSID_CDirect3DRM,0x4516ec41,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
44DEFINE_GUID(CLSID_CDirect3DRMAnimation,0x4fa35698,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
45DEFINE_GUID(CLSID_CDirect3DRMAnimationSet,0x4fa35699,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
46DEFINE_GUID(CLSID_CDirect3DRMClippedVisual,0x5434e72d,0x6d66,0x11d1,0xbb,0xb,0x0,0x0,0xf8,0x75,0x86,0x5a);
47DEFINE_GUID(CLSID_CDirect3DRMDevice,0x4fa3568e,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
48DEFINE_GUID(CLSID_CDirect3DRMFace,0x4fa35693,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
49DEFINE_GUID(CLSID_CDirect3DRMFrame,0x4fa35690,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
50DEFINE_GUID(CLSID_CDirect3DRMFrameInterpolator,0xde9eaa2,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
51DEFINE_GUID(CLSID_CDirect3DRMLight,0x4fa35694,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
52DEFINE_GUID(CLSID_CDirect3DRMLightInterpolator,0xde9eaa6,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
53DEFINE_GUID(CLSID_CDirect3DRMMaterial,0x4fa35697,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
54DEFINE_GUID(CLSID_CDirect3DRMMaterialInterpolator,0xde9eaa7,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
55DEFINE_GUID(CLSID_CDirect3DRMMesh,0x4fa35691,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
56DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder,0x4fa35692,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
57DEFINE_GUID(CLSID_CDirect3DRMMeshInterpolator,0xde9eaa3,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
58DEFINE_GUID(CLSID_CDirect3DRMProgressiveMesh,0x4516ec40,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
59DEFINE_GUID(CLSID_CDirect3DRMShadow,0x4fa3569b,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
60DEFINE_GUID(CLSID_CDirect3DRMTexture,0x4fa35695,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
61DEFINE_GUID(CLSID_CDirect3DRMTextureInterpolator,0xde9eaa8,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
62DEFINE_GUID(CLSID_CDirect3DRMUserVisual,0x4fa3569a,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
63DEFINE_GUID(CLSID_CDirect3DRMViewport,0x4fa3568f,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
64DEFINE_GUID(CLSID_CDirect3DRMViewportInterpolator,0xde9eaa1,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
65DEFINE_GUID(CLSID_CDirect3DRMWrap,0x4fa35696,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
66DEFINE_GUID(CLSID_CDirectXFile,0x4516ec43,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
67DEFINE_GUID(CLSID_DirectDraw,0xd7b70ee0,0x4340,0x11cf,0xb0,0x63,0x0,0x20,0xaf,0xc2,0xcd,0x35);
68DEFINE_GUID(CLSID_DirectDraw7,0x3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5);
69DEFINE_GUID(CLSID_DirectDrawClipper,0x593817a0,0x7db3,0x11cf,0xa2,0xde,0x0,0xaa,0x0,0xb9,0x33,0x56);
70DEFINE_GUID(CLSID_DirectDrawFactory2,0xb9dc4790,0x4af1,0x11d1,0x8c,0x4c,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
71DEFINE_GUID(CLSID_DirectInput,0x25e609e0,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x0,0x0);
72DEFINE_GUID(CLSID_DirectInput8,0x25e609e4,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
73DEFINE_GUID(CLSID_DirectInputDevice,0x25e609e1,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x0,0x0);
74DEFINE_GUID(CLSID_DirectInputDevice8,0x25e609e5,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
75DEFINE_GUID(CLSID_DirectMusic,0x636b9f10,0xc7d,0x11d1,0x95,0xb2,0x0,0x20,0xaf,0xdc,0x74,0x21);
76DEFINE_GUID(CLSID_DirectMusicAudioPathConfig,0xee0b9ca0,0xa81e,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
77DEFINE_GUID(CLSID_DirectMusicBand,0x79ba9e00,0xb6ee,0x11d1,0x86,0xbe,0x0,0xc0,0x4f,0xbf,0x8f,0xef);
78DEFINE_GUID(CLSID_DirectMusicBandTrack,0xd2ac2894,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
79DEFINE_GUID(CLSID_DirectMusicCollection,0x480ff4b0,0x28b2,0x11d1,0xbe,0xf7,0x0,0xc0,0x4f,0xbf,0x8f,0xef);
80DEFINE_GUID(CLSID_DirectMusicCommandTrack,0xd2ac288c,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
81DEFINE_GUID(CLSID_DirectMusicComposer,0xd2ac2890,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
82DEFINE_GUID(CLSID_DirectMusicContainer,0x9301e380,0x1f22,0x11d3,0x82,0x26,0xd2,0xfa,0x76,0x25,0x5d,0x47);
83DEFINE_GUID(CLSID_DirectMusicGraph,0xd2ac2884,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
84DEFINE_GUID(CLSID_DirectMusicChordMap,0xd2ac288f,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
85DEFINE_GUID(CLSID_DirectMusicChordMapTrack,0xd2ac2896,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
86DEFINE_GUID(CLSID_DirectMusicChordTrack,0xd2ac288b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
87DEFINE_GUID(CLSID_DirectMusicLoader,0xd2ac2892,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
88DEFINE_GUID(CLSID_DirectMusicLyricsTrack,0x995c1cf5,0x54ff,0x11d3,0x8b,0xda,0x0,0x60,0x8,0x93,0xb1,0xb6);
89DEFINE_GUID(CLSID_DirectMusicMarkerTrack,0x55a8fd00,0x4288,0x11d3,0x9b,0xd1,0x8a,0xd,0x61,0xc8,0x88,0x35);
90DEFINE_GUID(CLSID_DirectMusicMelodyFormulationTrack,0xb0684266,0xb57f,0x11d2,0x97,0xf9,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
91DEFINE_GUID(CLSID_DirectMusicMotifTrack,0xd2ac288e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
92DEFINE_GUID(CLSID_DirectMusicMuteTrack,0xd2ac2898,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
93DEFINE_GUID(CLSID_DirectMusicParamControlTrack,0x4be0537b,0x5c19,0x11d3,0x8b,0xdc,0x0,0x60,0x8,0x93,0xb1,0xb6);
94DEFINE_GUID(CLSID_DirectMusicPatternTrack,0xd2ac2897,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
95DEFINE_GUID(CLSID_DirectMusicPerformance,0xd2ac2881,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
96DEFINE_GUID(CLSID_DirectMusicScript,0x810b5013,0xe88d,0x11d2,0x8b,0xc1,0x0,0x60,0x8,0x93,0xb1,0xb6);
97DEFINE_GUID(CLSID_DirectMusicScriptTrack,0x4108fa85,0x3586,0x11d3,0x8b,0xd7,0x0,0x60,0x8,0x93,0xb1,0xb6);
98DEFINE_GUID(CLSID_DirectMusicSegment,0xd2ac2882,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
99DEFINE_GUID(CLSID_DirectMusicSegmentState,0xd2ac2883,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
100DEFINE_GUID(CLSID_DirectMusicSegmentTriggerTrack,0xbae4d665,0x4ea1,0x11d3,0x8b,0xda,0x0,0x60,0x8,0x93,0xb1,0xb6);
101DEFINE_GUID(CLSID_DirectMusicSeqTrack,0xd2ac2886,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
102DEFINE_GUID(CLSID_DirectMusicSignPostTrack,0xf17e8672,0xc3b4,0x11d1,0x87,0xb,0x0,0x60,0x8,0x93,0xb1,0xbd);
103DEFINE_GUID(CLSID_DirectMusicSong,0xaed5f0a5,0xd972,0x483d,0xa3,0x84,0x64,0x9d,0xfe,0xb9,0xc1,0x81);
104DEFINE_GUID(CLSID_DirectMusicStyle,0xd2ac288a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
105DEFINE_GUID(CLSID_DirectMusicStyleTrack,0xd2ac288d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
106DEFINE_GUID(CLSID_DirectMusicSynth,0x58c2b4d0,0x46e7,0x11d1,0x89,0xac,0x0,0xa0,0xc9,0x5,0x41,0x29);
107DEFINE_GUID(CLSID_DirectMusicSysExTrack,0xd2ac2887,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
108DEFINE_GUID(CLSID_DirectMusicTempoTrack,0xd2ac2885,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
109DEFINE_GUID(CLSID_DirectMusicTimeSigTrack,0xd2ac2888,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
110DEFINE_GUID(CLSID_DirectMusicWaveTrack,0xeed36461,0x9ea5,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
111DEFINE_GUID(CLSID_DirectPlay,0xd1eb6d20,0x8923,0x11d0,0x9d,0x97,0x0,0xa0,0xc9,0xa,0x43,0xcb);
112DEFINE_GUID(CLSID_DirectPlay8Address,0x934a9523,0xa3ca,0x4bc5,0xad,0xa0,0xd6,0xd9,0x5d,0x97,0x94,0x21);
113DEFINE_GUID(CLSID_DirectPlay8Client,0x743f1dc6,0x5aba,0x429f,0x8b,0xdf,0xc5,0x4d,0x3,0x25,0x3d,0xc2);
114DEFINE_GUID(CLSID_DirectPlay8LobbiedApplication,0x667955ad,0x6b3b,0x43ca,0xb9,0x49,0xbc,0x69,0xb5,0xba,0xff,0x7f);
115DEFINE_GUID(CLSID_DirectPlay8LobbyClient,0x3b2b6775,0x70b6,0x45af,0x8d,0xea,0xa2,0x9,0xc6,0x95,0x59,0xf3);
116DEFINE_GUID(CLSID_DirectPlay8ThreadPool,0xfc47060e,0x6153,0x4b34,0xb9,0x75,0x8e,0x41,0x21,0xeb,0x7f,0x3c);
117DEFINE_GUID(CLSID_DirectPlay8NATResolver,0xe4c1d9a2,0xcbf7,0x48bd,0x9a,0x69,0x34,0xa5,0x5e,0xd,0x89,0x41);
118DEFINE_GUID(CLSID_DirectPlay8Peer,0x286f484d,0x375e,0x4458,0xa2,0x72,0xb1,0x38,0xe2,0xf8,0xa,0x6a);
119DEFINE_GUID(CLSID_DirectPlay8Server,0xda825e1b,0x6830,0x43d7,0x83,0x5d,0xb,0x5a,0xd8,0x29,0x56,0xa2);
120DEFINE_GUID(CLSID_DirectPlayLobby,0x2fe8f810,0xb2a5,0x11d0,0xa7,0x87,0x0,0x0,0xf8,0x3,0xab,0xfc);
121DEFINE_GUID(CLSID_DirectPlayVoiceClient,0xb9f3eb85,0xb781,0x4ac1,0x8d,0x90,0x93,0xa0,0x5e,0xe3,0x7d,0x7d);
122DEFINE_GUID(CLSID_DirectPlayVoiceServer,0xd3f5b8e6,0x9b78,0x4a4c,0x94,0xea,0xca,0x23,0x97,0xb6,0x63,0xd3);
123DEFINE_GUID(CLSID_DirectPlayVoiceTest,0xf0f094b,0xb01c,0x4091,0xa1,0x4d,0xdd,0xc,0xd8,0x7,0x71,0x1a);
124DEFINE_GUID(CLSID_DirectSound,0x47d4d946,0x62e8,0x11cf,0x93,0xbc,0x44,0x45,0x53,0x54,0x0,0x0);
125DEFINE_GUID(CLSID_DirectSound8,0x3901cc3f,0x84b5,0x4fa4,0xba,0x35,0xaa,0x81,0x72,0xb8,0xa0,0x9b);
126DEFINE_GUID(CLSID_DirectSoundCapture,0xb0210780,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
127DEFINE_GUID(CLSID_DirectSoundCapture8,0xe4bcac13,0x7f99,0x4908,0x9a,0x8e,0x74,0xe3,0xbf,0x24,0xb6,0xe1);
128DEFINE_GUID(CLSID_DirectSoundFullDuplex,0xfea4300c,0x7959,0x4147,0xb2,0x6a,0x23,0x77,0xb9,0xe7,0xa9,0x1d);
129DEFINE_GUID(CLSID_DirectSoundWave,0x8a667154,0xf9cb,0x11d2,0xad,0x8a,0x0,0x60,0xb0,0x57,0x5a,0xbc);
130DEFINE_GUID(CLSID_DirectSoundPrivate,0x11ab3ec0,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
131DEFINE_GUID(DSPROPSETID_DirectSoundDevice,0x84624f82,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
132DEFINE_GUID(CLSID_DP8SP_IPX,0x53934290,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
133DEFINE_GUID(CLSID_DP8SP_MODEM,0x6d4a3650,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
134DEFINE_GUID(CLSID_DP8SP_SERIAL,0x743b5d60,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
135DEFINE_GUID(CLSID_DP8SP_TCPIP,0xebfe7ba0,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
136DEFINE_GUID(CLSID_DP8SP_BLUETOOTH,0x995513af,0x3027,0x4b9a,0x95,0x6e,0xc7,0x72,0xb3,0xf7,0x80,0x6);
137DEFINE_GUID(DDVPTYPE_BROOKTREE,0x1352a560l,0xda61,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
138DEFINE_GUID(DDVPTYPE_CCIR656,0xfca326a0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
139DEFINE_GUID(DDVPTYPE_E_HREFH_VREFH,0x54f39980l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
140DEFINE_GUID(DDVPTYPE_E_HREFH_VREFL,0x92783220l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
141DEFINE_GUID(DDVPTYPE_E_HREFL_VREFH,0xa07a02e0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
142DEFINE_GUID(DDVPTYPE_E_HREFL_VREFL,0xe09c77e0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
143DEFINE_GUID(DDVPTYPE_PHILIPS,0x332cf160l,0xda61,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
144DEFINE_GUID(DPAID_ComPort,0xf2f0ce00,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
145DEFINE_GUID(DPAID_INet,0xc4a54da0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
146DEFINE_GUID(DPAID_INetPort,0xe4524541,0x8ea5,0x11d1,0x8a,0x96,0x0,0x60,0x97,0xb0,0x14,0x11);
147DEFINE_GUID(DPAID_INetW,0xe63232a0,0x9dbf,0x11d0,0x9c,0xc1,0x0,0xa0,0xc9,0x5,0x42,0x5e);
148DEFINE_GUID(DPAID_LobbyProvider,0x59b95640,0x9667,0x11d0,0xa7,0x7d,0x0,0x0,0xf8,0x3,0xab,0xfc);
149DEFINE_GUID(DPAID_Modem,0xf6dcc200,0xa2fe,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
150DEFINE_GUID(DPAID_ModemW,0x1fd92e0,0xa2ff,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
151DEFINE_GUID(DPAID_Phone,0x78ec89a0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
152DEFINE_GUID(DPAID_PhoneW,0xba5a7a70,0x9dbf,0x11d0,0x9c,0xc1,0x0,0xa0,0xc9,0x5,0x42,0x5e);
153DEFINE_GUID(DPAID_ServiceProvider,0x7d916c0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
154DEFINE_GUID(DPAID_TotalSize,0x1318f560,0x912c,0x11d0,0x9d,0xaa,0x0,0xa0,0xc9,0xa,0x43,0xcb);
155DEFINE_GUID(DPLPROPERTY_LobbyGuid,0xf56920a0,0xd218,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
156DEFINE_GUID(DPLPROPERTY_MessagesSupported,0x762ccda1,0xd916,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
157DEFINE_GUID(DPLPROPERTY_PlayerGuid,0xb4319322,0xd20d,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
158DEFINE_GUID(DPLPROPERTY_PlayerScore,0x48784000,0xd219,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
159DEFINE_GUID(DPSPGUID_IPX,0x685bc400,0x9d2c,0x11cf,0xa9,0xcd,0x0,0xaa,0x0,0x68,0x86,0xe3);
160DEFINE_GUID(DPSPGUID_TCPIP,0x36e95ee0,0x8577,0x11cf,0x96,0xc,0x0,0x80,0xc7,0x53,0x4e,0x82);
161DEFINE_GUID(DPSPGUID_SERIAL,0xf1d6860,0x88d9,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
162DEFINE_GUID(DPSPGUID_MODEM,0x44eaa760,0xcb68,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
163DEFINE_GUID(DPVCTGUID_ADPCM,0x699b52c1,0xa885,0x46a8,0xa3,0x8,0x97,0x17,0x24,0x19,0xad,0xc7);
164DEFINE_GUID(DPVCTGUID_GSM,0x24768c60,0x5a0d,0x11d3,0x9b,0xe4,0x52,0x54,0x0,0xd9,0x85,0xe7);
165DEFINE_GUID(DPVCTGUID_NONE,0x8de12fd4,0x7cb3,0x48ce,0xa7,0xe8,0x9c,0x47,0xa2,0x2e,0x8a,0xc5);
166DEFINE_GUID(DPVCTGUID_SC03,0x7d82a29b,0x2242,0x4f82,0x8f,0x39,0x5d,0x11,0x53,0xdf,0x3e,0x41);
167DEFINE_GUID(DPVCTGUID_SC06,0x53def900,0x7168,0x4633,0xb4,0x7f,0xd1,0x43,0x91,0x6a,0x13,0xc7);
168DEFINE_GUID(DPVCTGUID_TRUESPEECH,0xd7954361,0x5a0b,0x11d3,0x9b,0xe4,0x52,0x54,0x0,0xd9,0x85,0xe7);
169DEFINE_GUID(DPVCTGUID_VR12,0xfe44a9fe,0x8ed4,0x48bf,0x9d,0x66,0x1b,0x1a,0xdf,0xf9,0xff,0x6d);
170DEFINE_GUID(DS3DALG_HRTF_FULL,0xc2413340,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
171DEFINE_GUID(DS3DALG_HRTF_LIGHT,0xc2413342,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
172DEFINE_GUID(DS3DALG_NO_VIRTUALIZATION,0xc241333f,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
173DEFINE_GUID(DSDEVID_DefaultCapture,0xdef00001,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
174DEFINE_GUID(DSDEVID_DefaultPlayback,0xdef00000,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
175DEFINE_GUID(DSDEVID_DefaultVoiceCapture,0xdef00003,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
176DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xdef00002,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
177DEFINE_GUID(GUID_All_Objects,0xaa114de5,0xc262,0x4169,0xa1,0xc8,0x23,0xd6,0x98,0xcc,0x73,0xb5);
178DEFINE_GUID(GUID_BandParam,0x2bb1938,0xcb8b,0x11d2,0x8b,0xb9,0x0,0x60,0x8,0x93,0xb1,0xb6);
179DEFINE_GUID(GUID_Buffer_3D_Dry,0x186cc546,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
180DEFINE_GUID(GUID_Buffer_EnvReverb,0x186cc542,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
181DEFINE_GUID(GUID_Buffer_Mono,0x186cc547,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
182DEFINE_GUID(GUID_Buffer_Reverb,0x186cc541,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
183DEFINE_GUID(GUID_Buffer_Stereo,0x186cc545,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
184DEFINE_GUID(GUID_Button,0xa36d02f0,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
185DEFINE_GUID(GUID_Clear_All_Bands,0xd2ac28ab,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
186DEFINE_GUID(GUID_Clear_All_MelodyFragments,0x8509fee6,0xb617,0x11d2,0x97,0xfa,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
187DEFINE_GUID(GUID_ColorControlCallbacks,0xefd60cc2,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
188DEFINE_GUID(GUID_CommandParam,0xd2ac289d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
189DEFINE_GUID(GUID_CommandParam2,0x28f97ef7,0x9538,0x11d2,0x97,0xa9,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
190DEFINE_GUID(GUID_CommandParamNext,0x472afe7a,0x281b,0x11d3,0x81,0x7d,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
191DEFINE_GUID(GUID_ConnectToDLSCollection,0x1db1ae6b,0xe92e,0x11d1,0xa8,0xc5,0x0,0xc0,0x4f,0xa3,0x72,0x6e);
192DEFINE_GUID(GUID_ConstantForce,0x13541c20,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
193DEFINE_GUID(GUID_CustomForce,0x13541c2b,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
194DEFINE_GUID(GUID_D3DCallbacks2,0xba584e1,0x70b6,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
195DEFINE_GUID(GUID_D3DCallbacks3,0xddf41230,0xec0a,0x11d0,0xa9,0xb6,0x0,0xaa,0x0,0xc0,0x99,0x3e);
196DEFINE_GUID(GUID_D3DExtendedCaps,0x7de41f80,0x9d93,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
197DEFINE_GUID(GUID_D3DParseUnknownCommandCallback,0x2e04ffa0,0x98e4,0x11d1,0x8c,0xe1,0x0,0xa0,0xc9,0x6,0x29,0xa8);
198DEFINE_GUID(GUID_Damper,0x13541c28,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
199DEFINE_GUID(GUID_DDMoreCaps,0x880baf30,0xb030,0x11d0,0x8e,0xa7,0x0,0x60,0x97,0x97,0xea,0x5b);
200DEFINE_GUID(GUID_DDMoreSurfaceCaps,0x3b8a0466,0xf269,0x11d1,0x88,0xb,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
201DEFINE_GUID(GUID_DDStereoMode,0xf828169c,0xa8e8,0x11d2,0xa1,0xf2,0x0,0xa0,0xc9,0x83,0xea,0xf6);
202DEFINE_GUID(GUID_DefaultGMCollection,0xf17e8673,0xc3b4,0x11d1,0x87,0xb,0x0,0x60,0x8,0x93,0xb1,0xbd);
203DEFINE_GUID(GUID_DirectDrawPaletteStream,0x730c7ffc,0x5347,0x11d1,0x8c,0x4d,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
204DEFINE_GUID(GUID_DirectDrawSurfaceStream,0xe043bc46,0x5317,0x11d1,0x8c,0x4d,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
205DEFINE_GUID(GUID_DirectMusicAllTypes,0xd2ac2893,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
206DEFINE_GUID(GUID_Disable_Auto_Download,0xd2ac28aa,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
207DEFINE_GUID(GUID_DisableTempo,0x45fc707d,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
208DEFINE_GUID(GUID_DisableTimeSig,0x45fc707b,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
209DEFINE_GUID(GUID_DMUS_PROP_DLS1,0x178f2f27,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
210DEFINE_GUID(GUID_DMUS_PROP_DLS2,0xf14599e5,0x4689,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
211DEFINE_GUID(GUID_DMUS_PROP_Effects,0xcda8d611,0x684a,0x11d2,0x87,0x1e,0x0,0x60,0x8,0x93,0xb1,0xbd);
212DEFINE_GUID(GUID_DMUS_PROP_GM_Hardware,0x178f2f24,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
213DEFINE_GUID(GUID_DMUS_PROP_GS_Capable,0x6496aba2,0x61b0,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
214DEFINE_GUID(GUID_DMUS_PROP_GS_Hardware,0x178f2f25,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
215DEFINE_GUID(GUID_DMUS_PROP_INSTRUMENT2,0x865fd372,0x9f67,0x11d2,0x87,0x2a,0x0,0x60,0x8,0x93,0xb1,0xbd);
216DEFINE_GUID(GUID_DMUS_PROP_LegacyCaps,0xcfa7cdc2,0x00a1,0x11d2,0xaa,0xd5,0x00,0x00,0xf8,0x75,0xac,0x12);
217DEFINE_GUID(GUID_DMUS_PROP_MemorySize,0x178f2f28,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
218DEFINE_GUID(GUID_DMUS_PROP_SampleMemorySize,0x178f2f28,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
219DEFINE_GUID(GUID_DMUS_PROP_SamplePlaybackRate,0x2a91f713,0xa4bf,0x11d2,0xbb,0xdf,0x0,0x60,0x8,0x33,0xdb,0xd8);
220DEFINE_GUID(GUID_DMUS_PROP_SynthSink_DSOUND,0xaa97844,0xc877,0x11d1,0x87,0xc,0x0,0x60,0x8,0x93,0xb1,0xbd);
221DEFINE_GUID(GUID_DMUS_PROP_SynthSink_WAVE,0xaa97845,0xc877,0x11d1,0x87,0xc,0x0,0x60,0x8,0x93,0xb1,0xbd);
222DEFINE_GUID(GUID_DMUS_PROP_Volume,0xfedfae25l,0xe46e,0x11d1,0xaa,0xce,0x00,0x00,0xf8,0x75,0xac,0x12);
223DEFINE_GUID(GUID_DMUS_PROP_WavesReverb,0x4cb5622,0x32e5,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
224DEFINE_GUID(GUID_DMUS_PROP_WriteLatency,0x268a0fa0,0x60f2,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
225DEFINE_GUID(GUID_DMUS_PROP_WritePeriod,0x268a0fa1,0x60f2,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
226DEFINE_GUID(GUID_DMUS_PROP_XG_Capable,0x6496aba1,0x61b0,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
227DEFINE_GUID(GUID_DMUS_PROP_XG_Hardware,0x178f2f26,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
228DEFINE_GUID(GUID_Download,0xd2ac28a7,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
229DEFINE_GUID(GUID_DownloadToAudioPath,0x9f2c0341,0xc5c4,0x11d3,0x9b,0xd1,0x44,0x45,0x53,0x54,0x0,0x0);
230DEFINE_GUID(GUID_DSCFX_CLASS_AEC,0xbf963d80l,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
231DEFINE_GUID(GUID_DSCFX_CLASS_NS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
232DEFINE_GUID(GUID_DSCFX_MS_AEC,0xcdebb919,0x379a,0x488a,0x87,0x65,0xf5,0x3c,0xfd,0x36,0xde,0x40);
233DEFINE_GUID(GUID_DSCFX_MS_NS,0x11c5c73b,0x66e9,0x4ba1,0xa0,0xba,0xe8,0x14,0xc6,0xee,0xd9,0x2d);
234DEFINE_GUID(GUID_DSCFX_SYSTEM_AEC,0x1c22c56d,0x9879,0x4f5b,0xa3,0x89,0x27,0x99,0x6d,0xdc,0x28,0x10);
235DEFINE_GUID(GUID_DSCFX_SYSTEM_NS,0x5ab0882e,0x7274,0x4516,0x87,0x7d,0x4e,0xee,0x99,0xba,0x4f,0xd0);
236DEFINE_GUID(GUID_DSFX_STANDARD_COMPRESSOR,0xef011f79,0x4000,0x406d,0x87,0xaf,0xbf,0xfb,0x3f,0xc3,0x9d,0x57);
237DEFINE_GUID(GUID_DSFX_STANDARD_DISTORTION,0xef114c90,0xcd1d,0x484e,0x96,0xe5,0x09,0xcf,0xaf,0x91,0x2a,0x21);
238DEFINE_GUID(GUID_DSFX_STANDARD_ECHO,0xef3e932c,0xd40b,0x4f51,0x8c,0xcf,0x3f,0x98,0xf1,0xb2,0x9d,0x5d);
239DEFINE_GUID(GUID_DSFX_STANDARD_FLANGER,0xefca3d92,0xdfd8,0x4672,0xa6,0x03,0x74,0x20,0x89,0x4b,0xad,0x98);
240DEFINE_GUID(GUID_DSFX_STANDARD_GARGLE,0xdafd8210,0x5711,0x4b91,0x9f,0xe3,0xf7,0x5b,0x7a,0xe2,0x79,0xbf);
241DEFINE_GUID(GUID_DSFX_STANDARD_CHORUS,0xefe6629c,0x81f7,0x4281,0xbd,0x91,0xc9,0xd6,0x04,0xa9,0x5a,0xf6);
242DEFINE_GUID(GUID_DSFX_STANDARD_I3DL2REVERB,0xef985e71,0xd5c7,0x42d4,0xba,0x4d,0x2d,0x07,0x3e,0x2e,0x96,0xf4);
243DEFINE_GUID(GUID_DSFX_STANDARD_PARAMEQ,0x120ced89,0x3bf4,0x4173,0xa1,0x32,0x3c,0xb4,0x06,0xcf,0x32,0x31);
244DEFINE_GUID(GUID_DSFX_WAVES_REVERB,0x87fc0268,0x9a55,0x4360,0x95,0xaa,0x00,0x4a,0x1d,0x9d,0xe2,0x6c);
245DEFINE_GUID(GUID_Enable_Auto_Download,0xd2ac28a9,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
246DEFINE_GUID(GUID_EnableTempo,0x45fc707e,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
247DEFINE_GUID(GUID_EnableTimeSig,0x45fc707c,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
248DEFINE_GUID(GUID_Friction,0x13541c2a,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
249DEFINE_GUID(GUID_HIDClass,0x745a17a0,0x74d3,0x11d0,0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda);
250DEFINE_GUID(GUID_ChordParam,0xd2ac289e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
251DEFINE_GUID(GUID_IDirectMusicBand,0xd2ac28ac,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
252DEFINE_GUID(GUID_IDirectMusicChordMap,0xd2ac28ad,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
253DEFINE_GUID(GUID_IDirectMusicStyle,0xd2ac28a1,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
254DEFINE_GUID(GUID_Inertia,0x13541c29,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
255DEFINE_GUID(GUID_Joystick,0x6f1d2b70,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
256DEFINE_GUID(GUID_KernelCallbacks,0x80863800,0x6b06,0x11d0,0x9b,0x6,0x0,0xa0,0xc9,0x3,0xa3,0xb8);
257DEFINE_GUID(GUID_KernelCaps,0xffaa7540,0x7aa8,0x11d0,0x9b,0x6,0x0,0xa0,0xc9,0x3,0xa3,0xb8);
258DEFINE_GUID(GUID_Key,0x55728220,0xd33c,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
259DEFINE_GUID(GUID_KeyboardClass,0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
260DEFINE_GUID(GUID_MediaClass,0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
261DEFINE_GUID(GUID_MelodyFragment,0xb291c7f2,0xb616,0x11d2,0x97,0xfa,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
262DEFINE_GUID(GUID_Miscellaneous2Callbacks,0x406b2f00,0x3e5a,0x11d1,0xb6,0x40,0x0,0xaa,0x0,0xa1,0xf9,0x6a);
263DEFINE_GUID(GUID_MiscellaneousCallbacks,0xefd60cc0,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
264DEFINE_GUID(GUID_MotionCompCallbacks,0xb1122b40,0x5da5,0x11d1,0x8f,0xcf,0x0,0xc0,0x4f,0xc2,0x9b,0x4e);
265DEFINE_GUID(GUID_MouseClass,0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
266DEFINE_GUID(GUID_MuteParam,0xd2ac28af,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
267DEFINE_GUID(GUID_NonLocalVidMemCaps,0x86c4fa80,0x8d84,0x11d0,0x94,0xe8,0x0,0xc0,0x4f,0xc3,0x41,0x37);
268DEFINE_GUID(GUID_NOTIFICATION_COMMAND,0xd2ac289c,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
269DEFINE_GUID(GUID_NOTIFICATION_CHORD,0xd2ac289b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
270DEFINE_GUID(GUID_NOTIFICATION_MEASUREANDBEAT,0xd2ac289a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
271DEFINE_GUID(GUID_NOTIFICATION_PERFORMANCE,0x81f75bc5,0x4e5d,0x11d2,0xbc,0xc7,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
272DEFINE_GUID(GUID_NOTIFICATION_RECOMPOSE,0xd348372b,0x945b,0x45ae,0xa5,0x22,0x45,0xf,0x12,0x5b,0x84,0xa5);
273DEFINE_GUID(GUID_NOTIFICATION_SEGMENT,0xd2ac2899,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
274DEFINE_GUID(GUID_NTCallbacks,0x6fe9ecde,0xdf89,0x11d1,0x9d,0xb0,0,0x60,0x8,0x27,0x71,0xba);
275DEFINE_GUID(GUID_OptSurfaceKmodeInfo,0xe05c8472,0x51d4,0x11d1,0x8c,0xce,0x0,0xa0,0xc9,0x6,0x29,0xa8);
276DEFINE_GUID(GUID_OptSurfaceUmodeInfo,0x9d792804,0x5fa8,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
277DEFINE_GUID(GUID_PerfAutoDownload,0xfb09565b,0x3631,0x11d2,0xbc,0xb8,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
278DEFINE_GUID(GUID_PerfMasterGrooveLevel,0xd2ac28b2,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
279DEFINE_GUID(GUID_PerfMasterTempo,0xd2ac28b0,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
280DEFINE_GUID(GUID_PerfMasterVolume,0xd2ac28b1,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
281DEFINE_GUID(GUID_Play_Marker,0xd8761a41,0x801a,0x11d3,0x9b,0xd1,0xda,0xf7,0xe1,0xc3,0xd8,0x34);
282DEFINE_GUID(GUID_POV,0xa36d02f2,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
283DEFINE_GUID(GUID_RampForce,0x13541c21,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
284DEFINE_GUID(GUID_RhythmParam,0xd2ac289f,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
285DEFINE_GUID(GUID_RxAxis,0xa36d02f4,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
286DEFINE_GUID(GUID_RyAxis,0xa36d02f5,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
287DEFINE_GUID(GUID_RzAxis,0xa36d02e3,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
288DEFINE_GUID(GUID_SawtoothDown,0x13541c26,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
289DEFINE_GUID(GUID_SawtoothUp,0x13541c25,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
290DEFINE_GUID(GUID_SeedVariations,0x65b76fa5,0xff37,0x11d2,0x81,0x4e,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
291DEFINE_GUID(GUID_Sine,0x13541c23,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
292DEFINE_GUID(GUID_Slider,0xa36d02e4,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
293DEFINE_GUID(GUID_Spring,0x13541c27,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
294DEFINE_GUID(GUID_Square,0x13541c22,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
295DEFINE_GUID(GUID_StandardMIDIFile,0x6621075,0xe92e,0x11d1,0xa8,0xc5,0x0,0xc0,0x4f,0xa3,0x72,0x6e);
296DEFINE_GUID(GUID_Synth_Default,0x26bb9432,0x45fe,0x48d3,0xa3,0x75,0x24,0x72,0xc5,0xe3,0xe7,0x86);
297DEFINE_GUID(GUID_SysKeyboard,0x6f1d2b61,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
298DEFINE_GUID(GUID_SysKeyboardEm,0x6f1d2b82,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
299DEFINE_GUID(GUID_SysKeyboardEm2,0x6f1d2b83,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
300DEFINE_GUID(GUID_SysMouse,0x6f1d2b60,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
301DEFINE_GUID(GUID_SysMouseEm,0x6f1d2b80,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
302DEFINE_GUID(GUID_SysMouseEm2,0x6f1d2b81,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
303DEFINE_GUID(GUID_TempoParam,0xd2ac28a5,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
304DEFINE_GUID(GUID_TimeSignature,0xd2ac28a4,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
305DEFINE_GUID(GUID_Triangle,0x13541c24,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
306DEFINE_GUID(GUID_Unknown,0xa36d02f3,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
307DEFINE_GUID(GUID_Unload,0xd2ac28a8,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
308DEFINE_GUID(GUID_UnloadFromAudioPath,0x9f2c0342,0xc5c4,0x11d3,0x9b,0xd1,0x44,0x45,0x53,0x54,0x0,0x0);
309DEFINE_GUID(GUID_UserModeDriverInfo,0xf0b0e8e2,0x5f97,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
310DEFINE_GUID(GUID_UserModeDriverPassword,0x97f861b6,0x60a1,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
311DEFINE_GUID(GUID_Valid_Start_Time,0x7f6b1760,0x1fdb,0x11d3,0x82,0x26,0x44,0x45,0x53,0x54,0x0,0x0);
312DEFINE_GUID(GUID_Variations,0x11f72cce,0x26e6,0x4ecd,0xaf,0x2e,0xd6,0x68,0xe6,0x67,0x7,0xd8);
313DEFINE_GUID(GUID_VideoPortCallbacks,0xefd60cc1,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
314DEFINE_GUID(GUID_VideoPortCaps,0xefd60cc3,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
315DEFINE_GUID(GUID_XAxis,0xa36d02e0,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
316DEFINE_GUID(GUID_YAxis,0xa36d02e1,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
317DEFINE_GUID(GUID_ZAxis,0xa36d02e2,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
318DEFINE_GUID(GUID_ZPixelFormats,0x93869880,0x36cf,0x11d1,0x9b,0x1b,0x0,0xaa,0x0,0xbb,0xb8,0xae);
319DEFINE_GUID(IID_ID3DXAnimationController,0x3a714d34,0xff61,0x421e,0x90,0x9f,0x63,0x9f,0x38,0x35,0x67,0x8);
320DEFINE_GUID(IID_ID3DXAnimationMixer,0x5eec992b,0x1046,0x44f6,0x92,0x4b,0xd1,0x75,0x96,0xb0,0x48,0x3e);
321DEFINE_GUID(IID_ID3DXAnimationSet,0x54b569ac,0xaef,0x473e,0x97,0x4,0x3f,0xef,0x31,0x7f,0x64,0xab);
322DEFINE_GUID(IID_ID3DXBaseMesh,0x2a835771,0xbf4d,0x43f4,0x8e,0x14,0x82,0xa8,0x9,0xf1,0x7d,0x8a);
323DEFINE_GUID(IID_ID3DXBuffer,0x932e6a7e,0xc68e,0x45dd,0xa7,0xbf,0x53,0xd1,0x9c,0x86,0xdb,0x1f);
324DEFINE_GUID(IID_ID3DXEffect,0x648b1ceb,0x8d4e,0x4d66,0xb6,0xfa,0xe4,0x49,0x69,0xe8,0x2e,0x89);
325DEFINE_GUID(IID_ID3DXEffectCompiler,0xf8ee90d3,0xfcc6,0x4f14,0x8a,0xe8,0x63,0x74,0xae,0x96,0x8e,0x33);
326DEFINE_GUID(IID_ID3DXEffectPool,0x53ca7768,0xc0d0,0x4664,0x8e,0x79,0xd1,0x56,0xe4,0xf5,0xb7,0xe0);
327DEFINE_GUID(IID_ID3DXInterpolator,0xade2c06d,0x3747,0x4b9f,0xa5,0x14,0x34,0x40,0xb8,0x28,0x49,0x80);
328DEFINE_GUID(IID_ID3DXKeyFrameInterpolator,0x6caa71f8,0x972,0x4cdb,0xa5,0x5b,0x43,0xb9,0x68,0x99,0x75,0x15);
329DEFINE_GUID(IID_ID3DXMatrixStack,0xe3357330,0xcc5e,0x11d2,0xa4,0x34,0x0,0xa0,0xc9,0x6,0x29,0xa8);
330DEFINE_GUID(IID_ID3DXMesh,0xccae5c3b,0x4dd1,0x4d0f,0x99,0x7e,0x46,0x84,0xca,0x64,0x55,0x7f);
331DEFINE_GUID(IID_ID3DXPMesh,0x19fbe386,0xc282,0x4659,0x97,0xbd,0xcb,0x86,0x9b,0x8,0x4a,0x6c);
332DEFINE_GUID(IID_ID3DXSkinMesh,0x8db06ecc,0xebfc,0x408a,0x94,0x4,0x30,0x74,0xb4,0x77,0x35,0x15);
333DEFINE_GUID(IID_ID3DXSPMesh,0x4e3ca05c,0xd4ff,0x4d11,0x8a,0x2,0x16,0x45,0x9e,0x8,0xf6,0xf4);
334DEFINE_GUID(IID_ID3DXTechnique,0xa00f378d,0xaf79,0x4917,0x90,0x7e,0x4d,0x63,0x5e,0xe6,0x38,0x44);
335DEFINE_GUID(IID_IDDVideoPortContainer,0x6c142760,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
336DEFINE_GUID(IID_IDirect3D,0x3bba0080,0x2421,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
337DEFINE_GUID(IID_IDirect3D2,0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
338DEFINE_GUID(IID_IDirect3D3,0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
339DEFINE_GUID(IID_IDirect3D7,0xf5049e77,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
340DEFINE_GUID(IID_IDirect3D8,0x1dd9e8da,0x1c77,0x4d40,0xb0,0xcf,0x98,0xfe,0xfd,0xff,0x95,0x12);
341DEFINE_GUID(IID_IDirect3DBaseTexture8,0xb4211cfa,0x51b9,0x4a9f,0xab,0x78,0xdb,0x99,0xb2,0xbb,0x67,0x8e);
342DEFINE_GUID(IID_IDirect3DCubeTexture8,0x3ee5b968,0x2aca,0x4c34,0x8b,0xb5,0x7e,0x0c,0x3d,0x19,0xb7,0x50);
343DEFINE_GUID(IID_IDirect3DDevice,0x64108800,0x957d,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
344DEFINE_GUID(IID_IDirect3DDevice2,0x93281501,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
345DEFINE_GUID(IID_IDirect3DDevice3,0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x0,0xc0,0x4f,0xd7,0xb1,0x74);
346DEFINE_GUID(IID_IDirect3DDevice7,0xf5049e79,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
347DEFINE_GUID(IID_IDirect3DDevice8,0x7385e5df,0x8fe8,0x41d5,0x86,0xb6,0xd7,0xb4,0x85,0x47,0xb6,0xcf);
348DEFINE_GUID(IID_IDirect3DExecuteBuffer,0x4417c145,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
349DEFINE_GUID(IID_IDirect3DHALDevice,0x84e63de0,0x46aa,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
350DEFINE_GUID(IID_IDirect3DIndexBuffer8,0x0e689c9a,0x053d,0x44a0,0x9d,0x92,0xdb,0x0e,0x3d,0x75,0x0f,0x86);
351DEFINE_GUID(IID_IDirect3DLight,0x4417c142,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
352DEFINE_GUID(IID_IDirect3DMaterial,0x4417c144,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
353DEFINE_GUID(IID_IDirect3DMaterial2,0x93281503,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
354DEFINE_GUID(IID_IDirect3DMaterial3,0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x0,0x60,0x8,0x52,0xb3,0x12);
355DEFINE_GUID(IID_IDirect3DMMXDevice,0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
356DEFINE_GUID(IID_IDirect3DNullDevice,0x8767df22,0xbacc,0x11d1,0x89,0x69,0x0,0xa0,0xc9,0x6,0x29,0xa8);
357DEFINE_GUID(IID_IDirect3DRampDevice,0xf2086b20,0x259f,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
358DEFINE_GUID(IID_IDirect3DRefDevice,0x50936643,0x13e9,0x11d1,0x89,0xaa,0x0,0xa0,0xc9,0x5,0x41,0x29);
359DEFINE_GUID(IID_IDirect3DResource8,0x1b36bb7b,0x9b7,0x410a,0xb4,0x45,0x7d,0x14,0x30,0xd7,0xb3,0x3f);
360DEFINE_GUID(IID_IDirect3DRGBDevice,0xa4665c60,0x2673,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
361DEFINE_GUID(IID_IDirect3DRM,0x2bc49361,0x8327,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
362DEFINE_GUID(IID_IDirect3DRM2,0x4516ecc8,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
363DEFINE_GUID(IID_IDirect3DRM3,0x4516ec83,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
364DEFINE_GUID(IID_IDirect3DRMAnimation,0xeb16cb0d,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
365DEFINE_GUID(IID_IDirect3DRMAnimation2,0xff6b7f77,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
366DEFINE_GUID(IID_IDirect3DRMAnimationArray,0xd5f1cae0,0x4bd7,0x11d1,0xb9,0x74,0x0,0x60,0x8,0x3e,0x45,0xf3);
367DEFINE_GUID(IID_IDirect3DRMAnimationSet,0xeb16cb0e,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
368DEFINE_GUID(IID_IDirect3DRMAnimationSet2,0xff6b7f79,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
369DEFINE_GUID(IID_IDirect3DRMClippedVisual,0x5434e733,0x6d66,0x11d1,0xbb,0xb,0x0,0x0,0xf8,0x75,0x86,0x5a);
370DEFINE_GUID(IID_IDirect3DRMDevice,0xe9e19280,0x6e05,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
371DEFINE_GUID(IID_IDirect3DRMDevice2,0x4516ec78,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
372DEFINE_GUID(IID_IDirect3DRMDevice3,0x549f498b,0xbfeb,0x11d1,0x8e,0xd8,0x0,0xa0,0xc9,0x67,0xa4,0x82);
373DEFINE_GUID(IID_IDirect3DRMDeviceArray,0xeb16cb10,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
374DEFINE_GUID(IID_IDirect3DRMFace,0xeb16cb07,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
375DEFINE_GUID(IID_IDirect3DRMFace2,0x4516ec81,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
376DEFINE_GUID(IID_IDirect3DRMFaceArray,0xeb16cb17,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
377DEFINE_GUID(IID_IDirect3DRMFrame,0xeb16cb03,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
378DEFINE_GUID(IID_IDirect3DRMFrame2,0xc3dfbd60,0x3988,0x11d0,0x9e,0xc2,0x0,0x0,0xc0,0x29,0x1a,0xc3);
379DEFINE_GUID(IID_IDirect3DRMFrame3,0xff6b7f70,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
380DEFINE_GUID(IID_IDirect3DRMFrameArray,0xeb16cb12,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
381DEFINE_GUID(IID_IDirect3DRMInterpolator,0x242f6bc1,0x3849,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
382DEFINE_GUID(IID_IDirect3DRMLight,0xeb16cb08,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
383DEFINE_GUID(IID_IDirect3DRMLightArray,0xeb16cb14,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
384DEFINE_GUID(IID_IDirect3DRMMaterial,0xeb16cb0b,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
385DEFINE_GUID(IID_IDirect3DRMMaterial2,0xff6b7f75,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
386DEFINE_GUID(IID_IDirect3DRMMesh,0xa3a80d01,0x6e12,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
387DEFINE_GUID(IID_IDirect3DRMMeshBuilder,0xa3a80d02,0x6e12,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
388DEFINE_GUID(IID_IDirect3DRMMeshBuilder2,0x4516ec77,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
389DEFINE_GUID(IID_IDirect3DRMMeshBuilder3,0x4516ec82,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
390DEFINE_GUID(IID_IDirect3DRMObject,0xeb16cb00,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
391DEFINE_GUID(IID_IDirect3DRMObject2,0x4516ec7c,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
392DEFINE_GUID(IID_IDirect3DRMObjectArray,0x242f6bc2,0x3849,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
393DEFINE_GUID(IID_IDirect3DRMPicked2Array,0x4516ec7b,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
394DEFINE_GUID(IID_IDirect3DRMPickedArray,0xeb16cb16,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
395DEFINE_GUID(IID_IDirect3DRMProgressiveMesh,0x4516ec79,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
396DEFINE_GUID(IID_IDirect3DRMShadow,0xaf359780,0x6ba3,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
397DEFINE_GUID(IID_IDirect3DRMShadow2,0x86b44e25,0x9c82,0x11d1,0xbb,0xb,0x0,0xa0,0xc9,0x81,0xa0,0xa6);
398DEFINE_GUID(IID_IDirect3DRMTexture,0xeb16cb09,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
399DEFINE_GUID(IID_IDirect3DRMTexture2,0x120f30c0,0x1629,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
400DEFINE_GUID(IID_IDirect3DRMTexture3,0xff6b7f73,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
401DEFINE_GUID(IID_IDirect3DRMUserVisual,0x59163de0,0x6d43,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
402DEFINE_GUID(IID_IDirect3DRMViewport,0xeb16cb02,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
403DEFINE_GUID(IID_IDirect3DRMViewport2,0x4a1b1be6,0xbfed,0x11d1,0x8e,0xd8,0x0,0xa0,0xc9,0x67,0xa4,0x82);
404DEFINE_GUID(IID_IDirect3DRMViewportArray,0xeb16cb11,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
405DEFINE_GUID(IID_IDirect3DRMVisual,0xeb16cb04,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
406DEFINE_GUID(IID_IDirect3DRMVisualArray,0xeb16cb13,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
407DEFINE_GUID(IID_IDirect3DRMWinDevice,0xc5016cc0,0xd273,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
408DEFINE_GUID(IID_IDirect3DRMWrap,0xeb16cb0a,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
409DEFINE_GUID(IID_IDirect3DSurface8,0xb96eebca,0xb326,0x4ea5,0x88,0x2f,0x2f,0xf5,0xba,0xe0,0x21,0xdd);
410DEFINE_GUID(IID_IDirect3DSwapChain8,0x928c088b,0x76b9,0x4c6b,0xa5,0x36,0xa5,0x90,0x85,0x38,0x76,0xcd);
411DEFINE_GUID(IID_IDirect3DTexture,0x2cdcd9e0,0x25a0,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
412DEFINE_GUID(IID_IDirect3DTexture2,0x93281502,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
413DEFINE_GUID(IID_IDirect3DTexture8,0xe4cdd575,0x2866,0x4f01,0xb1,0x2e,0x7e,0xec,0xe1,0xec,0x93,0x58);
414DEFINE_GUID(IID_IDirect3DTnLHalDevice,0xf5049e78,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
415DEFINE_GUID(IID_IDirect3DVertexBuffer,0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x0,0xa0,0xc9,0x3,0x67,0xf8);
416DEFINE_GUID(IID_IDirect3DVertexBuffer7,0xf5049e7d,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
417DEFINE_GUID(IID_IDirect3DVertexBuffer8,0x8aeeeac7,0x05f9,0x44d4,0xb5,0x91,0x00,0x0b,0x0d,0xf1,0xcb,0x95);
418DEFINE_GUID(IID_IDirect3DViewport,0x4417c146,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
419DEFINE_GUID(IID_IDirect3DViewport2,0x93281500,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
420DEFINE_GUID(IID_IDirect3DViewport3,0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x0,0xc0,0x4f,0xd7,0xb1,0x74);
421DEFINE_GUID(IID_IDirect3DVolume8,0xbd7349f5,0x14f1,0x42e4,0x9c,0x79,0x97,0x23,0x80,0xdb,0x40,0xc0);
422DEFINE_GUID(IID_IDirect3DVolumeTexture8,0x4b8aaafa,0x140f,0x42ba,0x91,0x31,0x59,0x7e,0xaf,0xaa,0x2e,0xad);
423DEFINE_GUID(IID_IDirectDraw,0x6c14db80,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
424DEFINE_GUID(IID_IDirectDraw2,0xb3a6f3e0,0x2b43,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
425DEFINE_GUID(IID_IDirectDraw4,0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5);
426DEFINE_GUID(IID_IDirectDraw7,0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);
427DEFINE_GUID(IID_IDirectDrawClipper,0x6c14db85,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
428DEFINE_GUID(IID_IDirectDrawColorControl,0x4b9f0ee0,0x0d7e,0x11d0,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
429DEFINE_GUID(IID_IDirectDrawFactory2,0x89b2c488,0x4af4,0x11d1,0x8c,0x4c,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
430DEFINE_GUID(IID_IDirectDrawGammaControl,0x69c11c3e,0xb46b,0x11d1,0xad,0x7a,0x00,0xc0,0x4f,0xc2,0x9b,0x4e);
431DEFINE_GUID(IID_IDirectDrawOptSurface,0x51191f1e,0x4f2b,0x11d1,0x8c,0xc3,0x0,0xa0,0xc9,0x6,0x29,0xa8);
432DEFINE_GUID(IID_IDirectDrawPalette,0x6c14db84,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
433DEFINE_GUID(IID_IDirectDrawPalette2,0xc03c477e,0x6519,0x11d1,0x8c,0x52,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
434DEFINE_GUID(IID_IDirectDrawSurface,0x6c14db81,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
435DEFINE_GUID(IID_IDirectDrawSurface2,0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27);
436DEFINE_GUID(IID_IDirectDrawSurface3,0xda044e00,0x69b2,0x11d0,0xa1,0xd5,0x00,0xaa,0x00,0xb8,0xdf,0xbb);
437DEFINE_GUID(IID_IDirectDrawSurface4,0x0b2b8630,0xad35,0x11d0,0x8e,0xa6,0x00,0x60,0x97,0x97,0xea,0x5b);
438DEFINE_GUID(IID_IDirectDrawSurface7,0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);
439//IID_IDirectDrawSurfaceNew
440DEFINE_GUID(IID_IDirectDrawVideoPort,0xb36d93e0,0x2b43,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
441DEFINE_GUID(IID_IDirectDrawVideoPortNotify,0xa655fb94,0x0589,0x4e57,0xb3,0x33,0x56,0x7a,0x89,0x46,0x8c,0x88);
442DEFINE_GUID(IID_IDirectInput2A,0x5944e662,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
443DEFINE_GUID(IID_IDirectInput2W,0x5944e663,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
444DEFINE_GUID(IID_IDirectInput7A,0x9a4cb684,0x236d,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
445DEFINE_GUID(IID_IDirectInput7W,0x9a4cb685,0x236d,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
446DEFINE_GUID(IID_IDirectInput8A,0xbf798030,0x483a,0x4da2,0xaa,0x99,0x5d,0x64,0xed,0x36,0x97,0x00);
447DEFINE_GUID(IID_IDirectInput8W,0xbf798031,0x483a,0x4da2,0xaa,0x99,0x5d,0x64,0xed,0x36,0x97,0x00);
448DEFINE_GUID(IID_IDirectInputA,0x89521360,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
449DEFINE_GUID(IID_IDirectInputDevice2A,0x5944e682,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
450DEFINE_GUID(IID_IDirectInputDevice2W,0x5944e683,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
451DEFINE_GUID(IID_IDirectInputDevice7A,0x57d7c6bc,0x2356,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
452DEFINE_GUID(IID_IDirectInputDevice7W,0x57d7c6bd,0x2356,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
453DEFINE_GUID(IID_IDirectInputDevice8A,0x54d41080,0xdc15,0x4833,0xa4,0x1b,0x74,0x8f,0x73,0xa3,0x81,0x79);
454DEFINE_GUID(IID_IDirectInputDevice8W,0x54d41081,0xdc15,0x4833,0xa4,0x1b,0x74,0x8f,0x73,0xa3,0x81,0x79);
455DEFINE_GUID(IID_IDirectInputDeviceA,0x5944e680,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
456DEFINE_GUID(IID_IDirectInputDeviceW,0x5944e681,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
457DEFINE_GUID(IID_IDirectInputEffect,0xe7e1f7c0,0x88d2,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
458DEFINE_GUID(IID_IDirectInputEffectDriver,0x02538130,0x898f,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
459DEFINE_GUID(IID_IDirectInputJoyConfig,0x1de12ab1,0xc9f5,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
460DEFINE_GUID(IID_IDirectInputJoyConfig8,0xeb0d7dfa,0x1990,0x4f27,0xb4,0xd6,0xed,0xf2,0xee,0xc4,0xa4,0x4c);
461DEFINE_GUID(IID_IDirectInputPIDDriver,0xeec6993a,0xb3fd,0x11d2,0xa9,0x16,0x00,0xc0,0x4f,0xb9,0x86,0x38);
462DEFINE_GUID(IID_IDirectInputW,0x89521361,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
463DEFINE_GUID(IID_IDirectMusic,0x6536115a,0x7b2d,0x11d2,0xba,0x18,0x00,0x00,0xf8,0x75,0xac,0x12);
464DEFINE_GUID(IID_IDirectMusic2,0x6fc2cae1, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
465DEFINE_GUID(IID_IDirectMusic8,0x2d3629f7,0x813d,0x4939,0x85,0x08,0xf0,0x5c,0x6b,0x75,0xfd,0x97);
466DEFINE_GUID(IID_IDirectMusicAudioPath,0xc87631f5, 0x23be, 0x4986, 0x88, 0x36, 0x5, 0x83, 0x2f, 0xcc, 0x48, 0xf9);
467DEFINE_GUID(IID_IDirectMusicBand,0xd2ac28c0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
468DEFINE_GUID(IID_IDirectMusicBuffer,0xd2ac2878, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
469DEFINE_GUID(IID_IDirectMusicCollection,0xd2ac287c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
470DEFINE_GUID(IID_IDirectMusicComposer,0xd2ac28bf,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
471DEFINE_GUID(IID_IDirectMusicContainer,0x9301e386,0x1f22,0x11d3,0x82,0x26,0xd2,0xfa,0x76,0x25,0x5d,0x47);
472DEFINE_GUID(IID_IDirectMusicDownload,0xd2ac287b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
473DEFINE_GUID(IID_IDirectMusicDownloadedInstrument,0xd2ac287e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
474DEFINE_GUID(IID_IDirectMusicGetLoader,0x68a04844,0xd13d,0x11d1,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
475DEFINE_GUID(IID_IDirectMusicGraph,0x2befc277,0x5497,0x11d2,0xbc,0xcb,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
476DEFINE_GUID(IID_IDirectMusicChordMap,0xd2ac28be,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
477DEFINE_GUID(IID_IDirectMusicInstrument,0xd2ac287d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
478DEFINE_GUID(IID_IDirectMusicLoader,0x2ffaaca2,0x5dca,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
479DEFINE_GUID(IID_IDirectMusicLoader8,0x19e7c08c,0xa44,0x4e6a,0xa1,0x16,0x59,0x5a,0x7c,0xd5,0xde,0x8c);
480DEFINE_GUID(IID_IDirectMusicObject,0xd2ac28b5,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
481DEFINE_GUID(IID_IDirectMusicPatternTrack,0x51c22e10,0xb49f,0x46fc,0xbe,0xc2,0xe6,0x28,0x8f,0xb9,0xed,0xe6);
482DEFINE_GUID(IID_IDirectMusicPerformance,0x7d43d03,0x6523,0x11d2,0x87,0x1d,0x0,0x60,0x8,0x93,0xb1,0xbd);
483DEFINE_GUID(IID_IDirectMusicPerformance2,0x6fc2cae0,0xbc78,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
484DEFINE_GUID(IID_IDirectMusicPerformance8,0x679c4137,0xc62e,0x4147,0xb2,0xb4,0x9d,0x56,0x9a,0xcb,0x25,0x4c);
485DEFINE_GUID(IID_IDirectMusicPort,0x08f2d8c9,0x37c2,0x11d2,0xb9,0xf9,0x00,0x00,0xf8,0x75,0xac,0x12);
486DEFINE_GUID(IID_IDirectMusicPortDownload,0xd2ac287a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
487DEFINE_GUID(IID_IDirectMusicScript,0x2252373a,0x5814,0x489b,0x82,0x9,0x31,0xfe,0xde,0xba,0xf1,0x37);/*{2252373a-5814-489b-8209-31fedebaf137}*/
488DEFINE_GUID(IID_IDirectMusicSegment,0xf96029a2,0x4282,0x11d2,0x87,0x17,0x0,0x60,0x8,0x93,0xb1,0xbd);
489DEFINE_GUID(IID_IDirectMusicSegment2,0xd38894d1,0xc052,0x11d2,0x87,0x2f,0x0,0x60,0x8,0x93,0xb1,0xbd);
490DEFINE_GUID(IID_IDirectMusicSegment8,0xc6784488,0x41a3,0x418f,0xaa,0x15,0xb3,0x50,0x93,0xba,0x42,0xd4);
491DEFINE_GUID(IID_IDirectMusicSegmentState,0xa3afdcc7,0xd3ee,0x11d1,0xbc,0x8d,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
492DEFINE_GUID(IID_IDirectMusicSegmentState8,0xa50e4730,0xae4,0x48a7,0x98,0x39,0xbc,0x4,0xbf,0xe0,0x77,0x72);
493DEFINE_GUID(IID_IDirectMusicSong,0xa862b2ec,0x3676,0x4982,0x85,0xa,0x78,0x42,0x77,0x5e,0x1d,0x86);
494DEFINE_GUID(IID_IDirectMusicStyle,0xd2ac28bd,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
495DEFINE_GUID(IID_IDirectMusicStyle8,0xfd24ad8a,0xa260,0x453d,0xbf,0x50,0x6f,0x93,0x84,0xf7,0x9,0x85);
496DEFINE_GUID(IID_IDirectMusicThru,0xced153e7,0x3606,0x11d2,0xb9,0xf9,0x00,0x00,0xf8,0x75,0xac,0x12);
497DEFINE_GUID(IID_IDirectMusicTool,0xd2ac28ba,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
498DEFINE_GUID(IID_IDirectMusicTrack,0xf96029a1,0x4282,0x11d2,0x87,0x17,0x0,0x60,0x8,0x93,0xb1,0xbd);
499DEFINE_GUID(IID_IDirectMusicTool8,0xe674303,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
500DEFINE_GUID(IID_IDirectMusicTrack8,0xe674304,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
501DEFINE_GUID(IID_IDirectPlay,0x5454e9a0,0xdb65,0x11ce,0x92,0x1c,0x00,0xaa,0x00,0x6c,0x49,0x72);
502DEFINE_GUID(IID_IDirectPlay2,0x2b74f7c0,0x9154,0x11cf,0xa9,0xcd,0x0,0xaa,0x0,0x68,0x86,0xe3);
503DEFINE_GUID(IID_IDirectPlay2A,0x9d460580,0xa822,0x11cf,0x96,0xc,0x0,0x80,0xc7,0x53,0x4e,0x82);
504DEFINE_GUID(IID_IDirectPlay3,0x133efe40,0x32dc,0x11d0,0x9c,0xfb,0x0,0xa0,0xc9,0xa,0x43,0xcb);
505DEFINE_GUID(IID_IDirectPlay3A,0x133efe41,0x32dc,0x11d0,0x9c,0xfb,0x0,0xa0,0xc9,0xa,0x43,0xcb);
506DEFINE_GUID(IID_IDirectPlay4,0xab1c530,0x4745,0x11d1,0xa7,0xa1,0x0,0x0,0xf8,0x3,0xab,0xfc);
507DEFINE_GUID(IID_IDirectPlay4A,0xab1c531,0x4745,0x11d1,0xa7,0xa1,0x0,0x0,0xf8,0x3,0xab,0xfc);
508DEFINE_GUID(IID_IDirectPlay8Address,0x83783300,0x4063,0x4c8a,0x9d,0xb3,0x82,0x83,0xa,0x7f,0xeb,0x31);
509DEFINE_GUID(IID_IDirectPlay8AddressIP,0xe5a0e990,0x2bad,0x430b,0x87,0xda,0xa1,0x42,0xcf,0x75,0xde,0x58);
510DEFINE_GUID(IID_IDirectPlay8Client,0x5102dacd,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
511DEFINE_GUID(IID_IDirectPlay8LobbiedApplication,0x819074a3,0x16c,0x11d3,0xae,0x14,0x0,0x60,0x97,0xb0,0x14,0x11);
512DEFINE_GUID(IID_IDirectPlay8LobbyClient,0x819074a2,0x16c,0x11d3,0xae,0x14,0x0,0x60,0x97,0xb0,0x14,0x11);
513DEFINE_GUID(IID_IDirectPlay8NATResolver,0xa9e213f2,0x9a60,0x486f,0xbf,0x3b,0x53,0x40,0x8b,0x6d,0x1c,0xbb);
514DEFINE_GUID(IID_IDirectPlay8Peer,0x5102dacf,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
515DEFINE_GUID(IID_IDirectPlay8Server,0x5102dace,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
516DEFINE_GUID(IID_IDirectPlay8ThreadPool,0xd22ee73,0x4a46,0x4a0d,0x89,0xb2,0x4,0x5b,0x4d,0x66,0x64,0x25);
517DEFINE_GUID(IID_IDirectPlayLobby,0xaf465c71,0x9588,0x11cf,0xa0,0x20,0x0,0xaa,0x0,0x61,0x57,0xac);
518DEFINE_GUID(IID_IDirectPlayLobby2,0x194c220,0xa303,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
519DEFINE_GUID(IID_IDirectPlayLobby2A,0x1bb4af80,0xa303,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
520DEFINE_GUID(IID_IDirectPlayLobby3,0x2db72490,0x652c,0x11d1,0xa7,0xa8,0x0,0x0,0xf8,0x3,0xab,0xfc);
521DEFINE_GUID(IID_IDirectPlayLobby3A,0x2db72491,0x652c,0x11d1,0xa7,0xa8,0x0,0x0,0xf8,0x3,0xab,0xfc);
522DEFINE_GUID(IID_IDirectPlayLobbyA,0x26c66a70,0xb367,0x11cf,0xa0,0x24,0x0,0xaa,0x0,0x61,0x57,0xac);
523DEFINE_GUID(IID_IDirectPlayVoiceClient,0x1dfdc8ea,0xbcf7,0x41d6,0xb2,0x95,0xab,0x64,0xb3,0xb2,0x33,0x6);
524DEFINE_GUID(IID_IDirectPlayVoiceServer,0xfaa1c173,0x468,0x43b6,0x8a,0x2a,0xea,0x8a,0x4f,0x20,0x76,0xc9);
525DEFINE_GUID(IID_IDirectPlayVoiceTest,0xd26af734,0x208b,0x41da,0x82,0x24,0xe0,0xce,0x79,0x81,0xb,0xe1);
526DEFINE_GUID(IID_IDirectSound,0x279afa83,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
527DEFINE_GUID(IID_IDirectSound3DBuffer,0x279afa86,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
528DEFINE_GUID(IID_IDirectSound3DListener,0x279afa84,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
529DEFINE_GUID(IID_IDirectSound8,0xc50a7e93,0xf395,0x4834,0x9e,0xf6,0x7f,0xa9,0x9d,0xe5,0x09,0x66);
530DEFINE_GUID(IID_IDirectSoundBuffer,0x279afa85,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
531DEFINE_GUID(IID_IDirectSoundBuffer8,0x6825a449,0x7524,0x4d82,0x92,0x0f,0x50,0xe3,0x6a,0xb3,0xab,0x1e);
532DEFINE_GUID(IID_IDirectSoundCapture,0xb0210781,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
533DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xb0210782,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
534DEFINE_GUID(IID_IDirectSoundCaptureBuffer8,0x990df4,0xdbb,0x4872,0x83,0x3e,0x6d,0x30,0x3e,0x80,0xae,0xb6);
535DEFINE_GUID(IID_IDirectSoundCaptureFXAec,0xad74143d,0x903d,0x4ab7,0x80,0x66,0x28,0xd3,0x63,0x03,0x6d,0x65);
536DEFINE_GUID(IID_IDirectSoundCaptureFXNoiseSuppress,0xed311e41,0xfbae,0x4175,0x96,0x25,0xcd,0x8,0x54,0xf6,0x93,0xca);
537DEFINE_GUID(IID_IDirectSoundFullDuplex,0xedcb4c7a,0xdaab,0x4216,0xa4,0x2e,0x6c,0x50,0x59,0x6d,0xdc,0x1d);
538DEFINE_GUID(IID_IDirectSoundFXCompressor,0x4bbd1154,0x62f6,0x4e2c,0xa1,0x5c,0xd3,0xb6,0xc4,0x17,0xf7,0xa0);
539DEFINE_GUID(IID_IDirectSoundFXDistortion,0x8ecf4326,0x455f,0x4d8b,0xbd,0xa9,0x8d,0x5d,0x3e,0x9e,0x3e,0x0b);
540DEFINE_GUID(IID_IDirectSoundFXEcho,0x8bd28edf,0x50db,0x4e92,0xa2,0xbd,0x44,0x54,0x88,0xd1,0xed,0x42);
541DEFINE_GUID(IID_IDirectSoundFXFlanger,0x903e9878,0x2c92,0x4072,0x9b,0x2c,0xea,0x68,0xf5,0x39,0x67,0x83);
542DEFINE_GUID(IID_IDirectSoundFXGargle,0xd616f352,0xd622,0x11ce,0xaa,0xc5,0x00,0x20,0xaf,0x0b,0x99,0xa3);
543DEFINE_GUID(IID_IDirectSoundFXChorus,0x880842e3,0x145f,0x43e6,0xa9,0x34,0xa7,0x18,0x06,0xe5,0x05,0x47);
544DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb,0x4b166a6a,0x0d66,0x43f3,0x80,0xe3,0xee,0x62,0x80,0xde,0xe1,0xa4);
545DEFINE_GUID(IID_IDirectSoundFXParamEq,0xc03ca9fe,0xfe90,0x4204,0x80,0x78,0x82,0x33,0x4c,0xd1,0x77,0xda);
546DEFINE_GUID(IID_IDirectSoundFXWavesReverb,0x46858c3a,0x0dc6,0x45e3,0xb7,0x60,0xd4,0xee,0xf1,0x6c,0xb3,0x25);
547DEFINE_GUID(IID_IDirectSoundNotify,0xb0210783,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
548DEFINE_GUID(IID_IDirectXFile,0x3d82ab40,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
549DEFINE_GUID(IID_IDirectXFileBinary,0x3d82ab46,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
550DEFINE_GUID(IID_IDirectXFileData,0x3d82ab44,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
551DEFINE_GUID(IID_IDirectXFileDataReference,0x3d82ab45,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
552DEFINE_GUID(IID_IDirectXFileEnumObject,0x3d82ab41,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
553DEFINE_GUID(IID_IDirectXFileObject,0x3d82ab43,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
554DEFINE_GUID(IID_IDirectXFileSaveObject,0x3d82ab42,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
555DEFINE_GUID(IID_IKsControl,0x28f54685l,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
556DEFINE_GUID(IID_IKsFastClock,0xc9902485,0xc180,0x11d2,0x84,0x73,0xd4,0x23,0x94,0x45,0x9e,0x5e);
557DEFINE_GUID(IID_IKsPropertySet,0x31efac30,0x515c,0x11d0,0xa9,0xaa,0x00,0xaa,0x00,0x61,0xbe,0x93);
558DEFINE_GUID(IID_IReferenceClock,0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
559DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC,0x1a82f8bc,0x3f8b,0x11d2,0xb7,0x74,0x00,0x60,0x08,0x33,0x16,0xc1);
560DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI,0x1d262760l,0xe957,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
561DEFINE_GUID(TID_D3DRMAnimation,0x3d82ab4f,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
562DEFINE_GUID(TID_D3DRMAnimationKey,0x10dd46a8,0x775b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
563DEFINE_GUID(TID_D3DRMAnimationOptions,0xe2bf56c0,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
564DEFINE_GUID(TID_D3DRMAnimationSet,0x3d82ab50,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
565DEFINE_GUID(TID_D3DRMAppData,0xe5745280,0xb24f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
566DEFINE_GUID(TID_D3DRMBoolean,0x537da6a0,0xca37,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
567DEFINE_GUID(TID_D3DRMBoolean2d,0x4885ae63,0x78e8,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
568DEFINE_GUID(TID_D3DRMCamera,0x3d82ab51,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
569DEFINE_GUID(TID_D3DRMColorRGB,0xd3e16e81,0x7835,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
570DEFINE_GUID(TID_D3DRMColorRGBA,0x35ff44e0,0x6c7c,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
571DEFINE_GUID(TID_D3DRMCoords2d,0xf6f23f44,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
572DEFINE_GUID(TID_D3DRMExternalVisual,0x98116aa0,0xbdba,0x11d1,0x82,0xc0,0x00,0xa0,0xc9,0x69,0x72,0x71);
573DEFINE_GUID(TID_D3DRMFloatKeys,0x10dd46a9,0x775b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
574DEFINE_GUID(TID_D3DRMFrame,0x3d82ab46,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
575DEFINE_GUID(TID_D3DRMFramePosition,0xe2bf56c1,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
576DEFINE_GUID(TID_D3DRMFrameRotation,0xe2bf56c3,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
577DEFINE_GUID(TID_D3DRMFrameTransformMatrix,0xf6f23f41,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
578DEFINE_GUID(TID_D3DRMFrameVelocity,0xe2bf56c2,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
579DEFINE_GUID(TID_D3DRMGuid,0xa42790e0,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
580DEFINE_GUID(TID_D3DRMIndexedColor,0x1630b820,0x7842,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
581DEFINE_GUID(TID_D3DRMInfo,0x2b957100,0x9e9a,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
582DEFINE_GUID(TID_D3DRMInlineData,0x3a23eea0,0x94b1,0x11d0,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
583DEFINE_GUID(TID_D3DRMLight,0x3d82ab4a,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
584DEFINE_GUID(TID_D3DRMLightAttenuation,0xa8a98ba0,0xc5e5,0x11cf,0xb9,0x41,0x0,0x80,0xc8,0xc,0xfa,0x7b);
585DEFINE_GUID(TID_D3DRMLightPenumbra,0xaed22741,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
586DEFINE_GUID(TID_D3DRMLightRange,0xaed22742,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
587DEFINE_GUID(TID_D3DRMLightUmbra,0xaed22740,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
588DEFINE_GUID(TID_D3DRMMaterial,0x3d82ab4d,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
589DEFINE_GUID(TID_D3DRMMaterialAmbientColor,0x01411840,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
590DEFINE_GUID(TID_D3DRMMaterialArray,0x35ff44e1,0x6c7c,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
591DEFINE_GUID(TID_D3DRMMaterialDiffuseColor,0x01411841,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
592DEFINE_GUID(TID_D3DRMMaterialEmissiveColor,0xd3e16e80,0x7835,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
593DEFINE_GUID(TID_D3DRMMaterialPower,0x01411843,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
594DEFINE_GUID(TID_D3DRMMaterialSpecularColor,0x01411842,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
595DEFINE_GUID(TID_D3DRMMaterialWrap,0x4885ae60,0x78e8,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
596DEFINE_GUID(TID_D3DRMMatrix4x4,0xf6f23f45,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
597DEFINE_GUID(TID_D3DRMMesh,0x3d82ab44,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
598DEFINE_GUID(TID_D3DRMMeshFace,0x3d82ab5f,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
599DEFINE_GUID(TID_D3DRMMeshFaceWraps,0xed1ec5c0,0xc0a8,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
600DEFINE_GUID(TID_D3DRMMeshMaterialList,0xf6f23f42,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
601DEFINE_GUID(TID_D3DRMMeshNormals,0xf6f23f43,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
602DEFINE_GUID(TID_D3DRMMeshTextureCoords,0xf6f23f40,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
603DEFINE_GUID(TID_D3DRMMeshVertexColors,0x1630b821,0x7842,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
604DEFINE_GUID(TID_D3DRMProgressiveMesh,0x8a63c360,0x997d,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0x0c,0xfa,0x7b);
605DEFINE_GUID(TID_D3DRMPropertyBag,0x7f0f21e1,0xbfe1,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
606DEFINE_GUID(TID_D3DRMRightHanded,0x7f5d5ea0,0xd53a,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
607DEFINE_GUID(TID_D3DRMStringProperty,0x7f0f21e0,0xbfe1,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
608DEFINE_GUID(TID_D3DRMTextureFilename,0xa42790e1,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
609DEFINE_GUID(TID_D3DRMTextureReference,0xa42790e2,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
610DEFINE_GUID(TID_D3DRMTimedFloatKeys,0xf406b180,0x7b3b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
611DEFINE_GUID(TID_D3DRMUrl,0x3a23eea1,0x94b1,0x11d0,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
612DEFINE_GUID(TID_D3DRMVector,0x3d82ab5e,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
613DEFINE_GUID(TID_DXFILEHeader,0x3d82ab43,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
lib/libc/mingw/libsrc/gdiplus.c created+66
...@@ -0,0 +1,66 @@
1/*
2 * Generate GUIDs for GDI+
3 *
4 * The Image Format GUIDs were generated by loading example images of
5 * various types with GdipLoadImageFromFile and then extracting the
6 * image format with GdipGetImageRawFormat.
7 *
8 * The Encoder Parameter GUIDs were taken from this .NET MSDN page:
9 * http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoder.quality.aspx
10 *
11 * The Frame Dimension GUIDs were generated by loading example multi-frame
12 * images (multi-page TIFF; animated GIF) and querying the frame dimension list
13 * using GdipImageGetFrameDimensionsList.
14 */
15
16/* TODO: find the remaining GUIDs */
17
18#include <initguid.h>
19
20void *_GdipFontFamilyCachedGenericMonospace = 0;
21void *_GdipFontFamilyCachedGenericSansSerif = 0;
22void *_GdipFontFamilyCachedGenericSerif = 0;
23void *_GdipStringFormatCachedGenericDefault = 0;
24void *_GdipStringFormatCachedGenericTypographic = 0;
25
26DEFINE_GUID(EncoderChrominanceTable,0xF2E455DC,0x09B3,0x4316,0x82,0x60,0x67,0x6A,0xDA,0x32,0x48,0x1C);
27DEFINE_GUID(EncoderColorDepth,0x66087055,0xAD66,0x4C7C,0x9A,0x18,0x38,0xA2,0x31,0x0B,0x83,0x37);
28/* EncoderColorSpace missing */
29DEFINE_GUID(EncoderCompression,0xE09D739D,0xCCD4,0x44EE,0x8E,0xBA,0x3F,0xBF,0x8B,0xE4,0xFC,0x58);
30/* EncoderImageItems missing */
31DEFINE_GUID(EncoderLuminanceTable,0xEDB33BCE,0x0266,0x4A77,0xB9,0x04,0x27,0x21,0x60,0x99,0xE7,0x17);
32DEFINE_GUID(EncoderQuality,0x1D5BE4B5,0xFA4A,0x452D,0x9C,0xDD,0x5D,0xB3,0x51,0x05,0xE7,0xEB);
33DEFINE_GUID(EncoderRenderMethod,0x6D42C53A,0x229A,0x4825,0x8B,0xB7,0x5C,0x99,0xE2,0xB9,0xA8,0xB8);
34/* EncoderSaveAsCMYK missing */
35DEFINE_GUID(EncoderSaveFlag,0x292266FC,0xAC40,0x47BF,0x8C,0xFC,0xA8,0x5B,0x89,0xA6,0x55,0xDE);
36DEFINE_GUID(EncoderScanMethod,0x3A4E2661,0x3109,0x4E56,0x85,0x36,0x42,0xC1,0x56,0xE7,0xDC,0xFA);
37DEFINE_GUID(EncoderTransformation,0x8D0EB2D1,0xA58E,0x4EA8,0xAA,0x14,0x10,0x80,0x74,0xB7,0xB6,0xF9);
38DEFINE_GUID(EncoderVersion,0x24D18C76,0x814A,0x41A4,0xBF,0x53,0x1C,0x21,0x9C,0xCC,0xF7,0x97);
39
40DEFINE_GUID(ImageFormatBMP,0xB96B3CAB,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
41DEFINE_GUID(ImageFormatEMF,0xB96B3CAC,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
42/* ImageFormatEXIF missing */
43DEFINE_GUID(ImageFormatGIF,0xB96B3CB0,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
44DEFINE_GUID(ImageFormatIcon,0xB96B3CB5,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
45DEFINE_GUID(ImageFormatJPEG,0xB96B3CAE,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
46DEFINE_GUID(ImageFormatMemoryBMP,0xB96B3CAA,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
47DEFINE_GUID(ImageFormatPNG,0xB96B3CAF,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
48DEFINE_GUID(ImageFormatTIFF,0xB96B3CB1,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
49/* ImageFormatUndefined missing */
50DEFINE_GUID(ImageFormatWMF,0xB96B3CAD,0x0728,0x11D3,0x9D,0x7B,0x00,0x00,0xF8,0x1E,0xF3,0x2E);
51
52DEFINE_GUID(FrameDimensionPage,0x7462DC86,0x6180,0x4C7E,0x8E,0x3F,0xEE,0x73,0x33,0xA7,0xA4,0x83);
53/* FrameDimensionResolution missing */
54DEFINE_GUID(FrameDimensionTime,0x6AEDBD6D,0x3FB5,0x418A,0x83,0xA6,0x7F,0x45,0x22,0x9D,0xC8,0x72);
55
56/* BlurEffectGuid missing */
57/* BrightnessContrastEffectGuid missing */
58/* ColorBalanceEffectGuid missing */
59/* ColorCurveEffectGuid missing */
60/* ColorLUTEffectGuid missing */
61/* ColorMatrixEffectGuid missing */
62/* HueSaturationLightnessEffectGuid missing */
63/* LevelsEffectGuid missing */
64/* RedEyeCorrectionEffectGuid missing */
65/* SharpenEffectGuid missing */
66/* TintEffectGuid missing */
lib/libc/mingw/libsrc/ksuser.c created+421
...@@ -0,0 +1,421 @@
1/*
2
3 ksuser.c - Kernel Streaming GUIDs
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#if defined(__LCC__) || defined(__GNUC__)
14#define INITGUID 1
15#include <windows.h>
16#else
17#include <basetyps.h>
18#endif
19
20DEFINE_GUID(BUSID_SoftwareDeviceEnumerator,0x4747b320,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
21DEFINE_GUID(CLSID_KsIBasicAudioInterfaceHandler,0xb9f8ac3e,0x0f71,0x11d2,0xb7,0x2c,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
22DEFINE_GUID(CLSID_Proxy,0x17cca71b,0xecd7,0x11d0,0xb9,0x08,0x00,0xa0,0xc9,0x22,0x31,0x96);
23DEFINE_GUID(EVENTSETID_CROSSBAR,0x6a2e0641,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
24DEFINE_GUID(EVENTSETID_TUNER,0x6a2e0606,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
25DEFINE_GUID(EVENTSETID_VIDEODECODER,0x6a2e0621,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
26DEFINE_GUID(GUID_BUS_INTERFACE_MEDIUMS,0x4ec35c3e,0x201b,0x11d2,0x87,0x45,0x00,0xa0,0xc9,0x22,0x31,0x96);
27DEFINE_GUID(IID_IKoInitializeParentDeviceObject,0x21b36996,0x8de3,0x11d1,0x8a,0xe0,0,0xa0,0xc9,0x22,0x31,0x96);
28DEFINE_GUID(IID_IKsAggregateControl,0x7f40eac0,0x3947,0x11d2,0x87,0x4e,0x00,0xa0,0xc9,0x22,0x31,0x96);
29DEFINE_GUID(IID_IKsAllocator,0x8da64899,0xc0d9,0x11d0,0x84,0x13,0x00,0x00,0xf8,0x22,0xfe,0x8a);
30DEFINE_GUID(IID_IKsAllocatorEx,0x091bb63a,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
31DEFINE_GUID(IID_IKsClockPropertySet,0x5c5cbd84,0xe755,0x11d0,0xac,0x18,0x00,0xa0,0xc9,0x22,0x31,0x96);
32DEFINE_GUID(IID_IKsControl,0x28f54685,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
33DEFINE_GUID(IID_IKsDataTypeCompletion,0x827d1a0e,0x0f73,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
34DEFINE_GUID(IID_IKsDataTypeHandler,0x5ffbaa02,0x49a3,0x11d0,0x9f,0x36,0x00,0xaa,0x00,0xa2,0x16,0xa1);
35DEFINE_GUID(IID_IKsInterfaceHandler,0xd3abc7e0,0x9a61,0x11d0,0xa4,0x0d,0x00,0xa0,0xc9,0x22,0x31,0x96);
36DEFINE_GUID(IID_IKsObject,0x423c13a2,0x2070,0x11d0,0x9e,0xf7,0x00,0xaa,0x00,0xa2,0x16,0xa1);
37DEFINE_GUID(IID_IKsPin,0xb61178d1,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1);
38DEFINE_GUID(IID_IKsPinEx,0x7bb38260,0xd19c,0x11d2,0xb3,0x8a,0x00,0xa0,0xc9,0x5e,0xc2,0x2e);
39DEFINE_GUID(IID_IKsPinPipe,0xe539cd90,0xa8b4,0x11d1,0x81,0x89,0x00,0xa0,0xc9,0x06,0x28,0x02);
40DEFINE_GUID(IID_IKsPropertySet,0x31efac30,0x515c,0x11d0,0xa9,0xaa,0x00,0xaa,0x00,0x61,0xbe,0x93);
41DEFINE_GUID(IID_IKsTopology,0x28f54683,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
42DEFINE_GUID(KoCreateObject,0x72cf721c,0x525a,0x11d1,0x9a,0xa1,0,0xa0,0xc9,0x22,0x31,0x96);
43DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL,0x1c22c56d,0x9879,0x4f5b,0xa3,0x89,0x27,0x99,0x6d,0xdc,0x28,0x10);
44DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_AGC,0x950e55b9,0x877c,0x4c67,0xbe,0x8,0xe4,0x7b,0x56,0x11,0x13,0xa);
45DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR,0xb6f5a0a0,0x9e61,0x4f8c,0x91,0xe3,0x76,0xcf,0xf,0x3c,0x47,0x1f);
46DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS,0x5ab0882e,0x7274,0x4516,0x87,0x7d,0x4e,0xee,0x99,0xba,0x4f,0xd0);
47DEFINE_GUID(KSAUDFNAME_3D_CENTER,0x9f0670b4,0x991f,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
48DEFINE_GUID(KSAUDFNAME_3D_DEPTH,0x63ff5747,0x991f,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
49DEFINE_GUID(KSAUDFNAME_3D_STEREO,0x185fede2,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
50DEFINE_GUID(KSAUDFNAME_ALTERNATE_MICROPHONE,0x2bc31d6b,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
51DEFINE_GUID(KSAUDFNAME_AUX,0x185fedfe,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
52DEFINE_GUID(KSAUDFNAME_AUX_MUTE,0x185fedfd,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
53DEFINE_GUID(KSAUDFNAME_AUX_VOLUME,0x185fedfc,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
54DEFINE_GUID(KSAUDFNAME_BASS,0x185fede0,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
55DEFINE_GUID(KSAUDFNAME_CD_AUDIO,0x185fedfb,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
56DEFINE_GUID(KSAUDFNAME_CD_IN_VOLUME,0x185fedf3,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
57DEFINE_GUID(KSAUDFNAME_CD_MUTE,0x185fedea,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
58DEFINE_GUID(KSAUDFNAME_CD_VOLUME,0x185fede9,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
59DEFINE_GUID(KSAUDFNAME_LINE_IN,0x185fedf9,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
60DEFINE_GUID(KSAUDFNAME_LINE_IN_VOLUME,0x185fedf4,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
61DEFINE_GUID(KSAUDFNAME_LINE_MUTE,0x185fedec,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
62DEFINE_GUID(KSAUDFNAME_LINE_VOLUME,0x185fedeb,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
63DEFINE_GUID(KSAUDFNAME_MASTER_MUTE,0x185fede4,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
64DEFINE_GUID(KSAUDFNAME_MASTER_VOLUME,0x185fede3,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
65DEFINE_GUID(KSAUDFNAME_MIC_IN_VOLUME,0x185fedf5,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
66DEFINE_GUID(KSAUDFNAME_MIC_MUTE,0x185fedee,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
67DEFINE_GUID(KSAUDFNAME_MIC_VOLUME,0x185feded,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
68DEFINE_GUID(KSAUDFNAME_MICROPHONE_BOOST,0x2bc31d6a,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
69DEFINE_GUID(KSAUDFNAME_MIDI,0x185fedf8,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
70DEFINE_GUID(KSAUDFNAME_MIDI_IN_VOLUME,0x185fedf2,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
71DEFINE_GUID(KSAUDFNAME_MIDI_MUTE,0x185fede8,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
72DEFINE_GUID(KSAUDFNAME_MIDI_VOLUME,0x185fede7,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
73DEFINE_GUID(KSAUDFNAME_MONO_MIX,0xdff078,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
74DEFINE_GUID(KSAUDFNAME_MONO_MIX_MUTE,0x2bc31d69,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
75DEFINE_GUID(KSAUDFNAME_MONO_MIX_VOLUME,0x22b0eafe,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
76DEFINE_GUID(KSAUDFNAME_MONO_OUT,0xf9b41dc3,0x96e2,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
77DEFINE_GUID(KSAUDFNAME_MONO_OUT_MUTE,0x1ad247ec,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
78DEFINE_GUID(KSAUDFNAME_MONO_OUT_VOLUME,0x1ad247eb,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
79DEFINE_GUID(KSAUDFNAME_PC_SPEAKER,0x185fedff,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
80DEFINE_GUID(KSAUDFNAME_PC_SPEAKER_MUTE,0x185fedf1,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
81DEFINE_GUID(KSAUDFNAME_PC_SPEAKER_VOLUME,0x185fedf0,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
82DEFINE_GUID(KSAUDFNAME_PEAKMETER,0x57e24340,0xfc5b,0x4612,0xa5,0x62,0x72,0xb1,0x1a,0x29,0xdf,0xae);
83DEFINE_GUID(KSAUDFNAME_RECORDING_CONTROL,0x185fedfa,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
84DEFINE_GUID(KSAUDFNAME_RECORDING_SOURCE,0x185fedef,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
85DEFINE_GUID(KSAUDFNAME_STEREO_MIX,0xdff077,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
86DEFINE_GUID(KSAUDFNAME_STEREO_MIX_MUTE,0x22b0eafd,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
87DEFINE_GUID(KSAUDFNAME_STEREO_MIX_VOLUME,0x1ad247ed,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
88DEFINE_GUID(KSAUDFNAME_TREBLE,0x185fede1,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
89DEFINE_GUID(KSAUDFNAME_VIDEO,0x915daec4,0xa434,0x11d2,0xac,0x52,0,0xc0,0x4f,0x8e,0xfb,0x68);
90DEFINE_GUID(KSAUDFNAME_VIDEO_MUTE,0x9b46e709,0x992a,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
91DEFINE_GUID(KSAUDFNAME_VIDEO_VOLUME,0x9b46e708,0x992a,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
92DEFINE_GUID(KSAUDFNAME_VOLUME_CONTROL,0x185fedf7,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
93DEFINE_GUID(KSAUDFNAME_WAVE_IN_VOLUME,0x185fedf6,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
94DEFINE_GUID(KSAUDFNAME_WAVE_MUTE,0x185fede6,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
95DEFINE_GUID(KSAUDFNAME_WAVE_OUT_MIX,0x185fee00,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
96DEFINE_GUID(KSAUDFNAME_WAVE_VOLUME,0x185fede5,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
97DEFINE_GUID(KSCATEGORY_ACOUSTIC_ECHO_CANCEL,0xbf963d80,0xc559,0x11d0,0x8a,0x2b,0,0xa0,0xc9,0x25,0x5a,0xc1);
98DEFINE_GUID(KSCATEGORY_AUDIO,0x6994ad04,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
99DEFINE_GUID(KSCATEGORY_AUDIO_DEVICE,0xfbf6f530,0x7b9,0x11d2,0xa7,0x1e,0,0,0xf8,0,0x47,0x88);
100DEFINE_GUID(KSCATEGORY_AUDIO_GFX,0x9baf9572,0x340c,0x11d3,0xab,0xdc,0,0xa0,0xc9,0xa,0xb1,0x6f);
101DEFINE_GUID(KSCATEGORY_AUDIO_SPLITTER,0x9ea331fa,0xb91b,0x45f8,0x92,0x85,0xbd,0x2b,0xc7,0x7a,0xfc,0xde);
102DEFINE_GUID(KSCATEGORY_BRIDGE,0x85aff00,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
103DEFINE_GUID(KSCATEGORY_CAPTURE,0x65e8773d,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
104DEFINE_GUID(KSCATEGORY_CLOCK,0x53172480,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
105DEFINE_GUID(KSCATEGORY_COMMUNICATIONSTRANSFORM,0xcf1dda2c,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
106DEFINE_GUID(KSCATEGORY_CROSSBAR,0xa799a801,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
107DEFINE_GUID(KSCATEGORY_DATACOMPRESSOR,0x1e84c900,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
108DEFINE_GUID(KSCATEGORY_DATADECOMPRESSOR,0x2721ae20,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
109DEFINE_GUID(KSCATEGORY_DATATRANSFORM,0x2eb07ea0,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
110DEFINE_GUID(KSCATEGORY_ENCODER,0x19689bf6,0xc384,0x48fd,0xad,0x51,0x90,0xe5,0x8c,0x79,0xf7,0xb);
111DEFINE_GUID(KSCATEGORY_ESCALANTE_PLATFORM_DRIVER,0x74f3aea8,0x9768,0x11d1,0x8e,0x7,0,0xa0,0xc9,0x5e,0xc2,0x2e);
112DEFINE_GUID(KSCATEGORY_FILESYSTEM,0x760fed5e,0x9357,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
113DEFINE_GUID(KSCATEGORY_INTERFACETRANSFORM,0xcf1dda2d,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
114DEFINE_GUID(KSCATEGORY_MEDIUMTRANSFORM,0xcf1dda2e,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
115DEFINE_GUID(KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR,0x830a44f2,0xa32d,0x476b,0xbe,0x97,0x42,0x84,0x56,0x73,0xb3,0x5a);
116DEFINE_GUID(KSCATEGORY_MIXER,0xad809c00,0x7b88,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
117DEFINE_GUID(KSCATEGORY_NETWORK,0x67c9cc3c,0x69c4,0x11d2,0x87,0x59,0,0xa0,0xc9,0x22,0x31,0x96);
118DEFINE_GUID(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE,0xd6c50674,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
119DEFINE_GUID(KSCATEGORY_PREFERRED_WAVEIN_DEVICE,0xd6c50671,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
120DEFINE_GUID(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE,0xd6c5066e,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
121DEFINE_GUID(KSCATEGORY_PROXY,0x97ebaaca,0x95bd,0x11d0,0xa3,0xea,0,0xa0,0xc9,0x22,0x31,0x96);
122DEFINE_GUID(KSCATEGORY_QUALITY,0x97ebaacb,0x95bd,0x11d0,0xa3,0xea,0,0xa0,0xc9,0x22,0x31,0x96);
123DEFINE_GUID(KSCATEGORY_RENDER,0x65e8773e,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
124DEFINE_GUID(KSCATEGORY_SPLITTER,0xa4252a0,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
125DEFINE_GUID(KSCATEGORY_SYSAUDIO,0xa7c7a5b1,0x5af3,0x11d1,0x9c,0xed,0,0xa0,0x24,0xbf,0x4,0x7);
126DEFINE_GUID(KSCATEGORY_TEXT,0x6994ad06,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
127DEFINE_GUID(KSCATEGORY_TOPOLOGY,0xdda54a40,0x1e4c,0x11d1,0xa0,0x50,0x40,0x57,0x5,0xc1,0,0);
128DEFINE_GUID(KSCATEGORY_TVAUDIO,0xa799a802,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
129DEFINE_GUID(KSCATEGORY_TVTUNER,0xa799a800,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
130DEFINE_GUID(KSCATEGORY_VBICODEC,0x7dad660,0x22f1,0x11d1,0xa9,0xf4,0,0xc0,0x4f,0xbb,0xde,0x8f);
131DEFINE_GUID(KSCATEGORY_VIDEO,0x6994ad05,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
132DEFINE_GUID(KSCATEGORY_VIDEO_CAMERA,0xe5323777,0xf976,0x4f5b,0x9b,0x55,0xb9,0x46,0x99,0xc4,0x6e,0x44);
133DEFINE_GUID(KSCATEGORY_VIRTUAL,0x3503eac4,0x1f26,0x11d1,0x8a,0xb0,0,0xa0,0xc9,0x22,0x31,0x96);
134DEFINE_GUID(KSCATEGORY_VPMUX,0xa799a803,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
135DEFINE_GUID(KSCATEGORY_WDMAUD,0x3e227e76,0x690d,0x11d2,0x81,0x61,0,0,0xf8,0x77,0x5b,0xf1);
136DEFINE_GUID(KSCATEGORY_WDMAUD_USE_PIN_NAME,0x47a4fa20,0xa251,0x11d1,0xa0,0x50,0,0,0xf8,0,0x47,0x88);
137DEFINE_GUID(KSCOMPONENTID_USBAUDIO,0x8f1275f0,0x26e9,0x4264,0xba,0x4d,0x39,0xff,0xf0,0x1d,0x94,0xaa);
138DEFINE_GUID(KSDATAFORMAT_SPECIFIER_AC3_AUDIO,0xe06d80e4,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
139DEFINE_GUID(KSDATAFORMAT_SPECIFIER_ANALOGVIDEO,0x482dde0,0x7817,0x11cf,0x8a,0x3,0,0xaa,0,0x6e,0xcb,0x65);
140DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO,0x36523b35,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
141DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO,0x36523b32,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
142DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO,0x36523b31,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
143DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO,0x36523b34,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
144DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO,0x36523b33,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
145DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DSOUND,0x518590a2,0xa184,0x11d0,0x85,0x22,0,0xc0,0x4f,0xd9,0xba,0xf3);
146DEFINE_GUID(KSDATAFORMAT_SPECIFIER_FILEHANDLE,0x65e8773c,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
147DEFINE_GUID(KSDATAFORMAT_SPECIFIER_FILENAME,0xaa797b40,0xe974,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
148DEFINE_GUID(KSDATAFORMAT_SPECIFIER_LPCM_AUDIO,0xe06d80e6,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
149DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO,0x5589f82,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
150DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO,0xe06d80e5,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
151DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO,0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
152DEFINE_GUID(KSDATAFORMAT_SPECIFIER_NONE,0xf6417d6,0xc318,0x11d0,0xa4,0x3f,0,0xa0,0xc9,0x22,0x31,0x96);
153DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VBI,0xf72a76e0,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
154DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VC_ID,0xad98d184,0xaac3,0x11d0,0xa4,0x1c,0,0xa0,0xc9,0x22,0x31,0x96);
155DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VIDEOINFO,0x5589f80,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
156DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VIDEOINFO2,0xf72a76a0,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
157DEFINE_GUID(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX,0x5589f81,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
158DEFINE_GUID(KSDATAFORMAT_SUBTYPE_AC3_AUDIO,0xe06d802c,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
159DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ADPCM,0x2,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
160DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ALAW,0x6,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
161DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ANALOG,0x6dba3190,0x67bd,0x11cf,0xa0,0xf7,0,0x20,0xaf,0xd1,0x56,0xe4);
162DEFINE_GUID(KSDATAFORMAT_SUBTYPE_CC,0x33214cc1,0x11f,0x11d2,0xb4,0xb1,0,0xa0,0xd1,0x2,0xcf,0xbe);
163DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DRM,0x9,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
164DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DSS_AUDIO,0xa0af4f82,0xe163,0x11d0,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
165DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DSS_VIDEO,0xa0af4f81,0xe163,0x11d0,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
166DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DTS_AUDIO,0xe06d8033,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
167DEFINE_GUID(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT,0x3,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
168DEFINE_GUID(KSDATAFORMAT_SUBTYPE_Line21_BytePair,0x6e8d4a22,0x310c,0x11d0,0xb7,0x9a,0,0xaa,0,0x37,0x67,0xa7);
169DEFINE_GUID(KSDATAFORMAT_SUBTYPE_Line21_GOPPacket,0x6e8d4a23,0x310c,0x11d0,0xb7,0x9a,0,0xaa,0,0x37,0x67,0xa7);
170DEFINE_GUID(KSDATAFORMAT_SUBTYPE_LPCM_AUDIO,0xe06d8032,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
171DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI,0x1d262760,0xe957,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
172DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI_BUS,0x2ca15fa0,0x6cfe,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
173DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG,0x50,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
174DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Packet,0xe436eb80,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
175DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Payload,0xe436eb81,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
176DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Video,0xe436eb86,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
177DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO,0xe06d802b,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
178DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO,0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
179DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MULAW,0x7,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
180DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NABTS,0xf72a76e2,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
181DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NABTS_FEC,0xe757bca1,0x39ac,0x11d1,0xa9,0xf5,0,0xc0,0x4f,0xbb,0xde,0x8f);
182DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NONE,0xe436eb8e,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
183DEFINE_GUID(KSDATAFORMAT_SUBTYPE_OVERLAY,0xe436eb7f,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
184DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM,0x1,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
185DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RAW8,0xca20d9a0,0x3e3e,0x11d1,0x9b,0xf9,0,0xc0,0x4f,0xbb,0xde,0xbf);
186DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFF,0x4995daee,0x9ee6,0x11d0,0xa4,0xe,0,0xa0,0xc9,0x22,0x31,0x96);
187DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFFMIDI,0x4995daf0,0x9ee6,0x11d0,0xa4,0xe,0,0xa0,0xc9,0x22,0x31,0x96);
188DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFFWAVE,0xe436eb8b,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
189DEFINE_GUID(KSDATAFORMAT_SUBTYPE_SDDS_AUDIO,0xe06d8034,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
190DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO,0x36523b25,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
191DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO,0x36523b22,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
192DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO,0x36523b21,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
193DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO,0x36523b24,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
194DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO,0x36523b23,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
195DEFINE_GUID(KSDATAFORMAT_SUBTYPE_SUBPICTURE,0xe06d802d,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
196DEFINE_GUID(KSDATAFORMAT_SUBTYPE_TELETEXT,0xf72a76e3,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
197DEFINE_GUID(KSDATAFORMAT_SUBTYPE_VPVBI,0x5a9b6a41,0x1a22,0x11d1,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
198DEFINE_GUID(KSDATAFORMAT_SUBTYPE_VPVideo,0x5a9b6a40,0x1a22,0x11d1,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
199DEFINE_GUID(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX,0,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
200DEFINE_GUID(KSDATAFORMAT_TYPE_ANALOGVIDEO,0x0482dde1,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
201DEFINE_GUID(KSDATAFORMAT_TYPE_AUDIO,0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
202DEFINE_GUID(KSDATAFORMAT_TYPE_AUXLine21Data,0x670aea80,0x3a82,0x11d0,0xb7,0x9b,0x00,0xaa,0x00,0x37,0x67,0xa7);
203DEFINE_GUID(KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK,0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x4f,0xc3,0x1d,0x60);
204DEFINE_GUID(KSDATAFORMAT_TYPE_MIDI,0x7364696d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
205DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_PES,0xe06d8020,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
206DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_PROGRAM,0xe06d8022,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
207DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_TRANSPORT,0xe06d8023,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
208DEFINE_GUID(KSDATAFORMAT_TYPE_MUSIC,0xe725d360,0x62cc,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
209DEFINE_GUID(KSDATAFORMAT_TYPE_NABTS,0xe757bca0,0x39ac,0x11d1,0xa9,0xf5,0x00,0xc0,0x4f,0xbb,0xde,0x8f);
210DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM,0x36523b11,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
211DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER,0x36523b13,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
212DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_PES_PACKET,0x36523b12,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
213DEFINE_GUID(KSDATAFORMAT_TYPE_STREAM,0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
214DEFINE_GUID(KSDATAFORMAT_TYPE_TEXT,0x73747874,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
215DEFINE_GUID(KSDATAFORMAT_TYPE_VBI,0xf72a76e1,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
216DEFINE_GUID(KSDATAFORMAT_TYPE_VIDEO,0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
217DEFINE_GUID(KSDEGRADESETID_Standard,0x9f564180,0x704c,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
218DEFINE_GUID(KSEVENTSETID_AudioControlChange,0xe85e9698,0xfa2f,0x11d1,0x95,0xbd,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
219DEFINE_GUID(KSEVENTSETID_Clock,0x364d8e20,0x62c7,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
220DEFINE_GUID(KSEVENTSETID_Connection,0x7f4bcbe0,0x9ea5,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
221DEFINE_GUID(KSEVENTSETID_Cyclic,0x142c1ac0,0x072a,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
222DEFINE_GUID(KSEVENTSETID_LoopedStreaming,0x4682b940,0xc6ef,0x11d0,0x96,0xd8,0x00,0xaa,0x00,0x51,0xe5,0x1d);
223DEFINE_GUID(KSEVENTSETID_StreamAllocator,0x75d95571,0x073c,0x11d0,0xa1,0x61,0x00,0x20,0xaf,0xd1,0x56,0xe4);
224DEFINE_GUID(KSEVENTSETID_Sysaudio,0x04800320,0x4491,0x11d1,0xa0,0x50,0x40,0x57,0x05,0xc1,0x00,0x00);
225DEFINE_GUID(KSEVENTSETID_VIDCAP_TVAUDIO,0x6a2e0651,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
226DEFINE_GUID(KSEVENTSETID_VIDCAPTOSTI,0xdb47de20,0xf628,0x11d1,0xba,0x41,0x00,0xa0,0xc9,0x0d,0x2b,0x05);
227DEFINE_GUID(KSEVENTSETID_VPNotify,0x20c5598e,0xd3c8,0x11d0,0x8d,0xfc,0x00,0xc0,0x4f,0xd7,0xc0,0x8b);
228DEFINE_GUID(KSEVENTSETID_VPVBINotify,0xec529b01,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
229DEFINE_GUID(KSINTERFACESETID_FileIo,0x8c6f932c,0xe771,0x11d0,0xb8,0xff,0x00,0xa0,0xc9,0x22,0x31,0x96);
230DEFINE_GUID(KSINTERFACESETID_Media,0x3a13eb40,0x30a7,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
231DEFINE_GUID(KSINTERFACESETID_Standard,0x1a8766a0,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
232DEFINE_GUID(KSMEDIUMSETID_MidiBus,0x05908040,0x3246,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
233DEFINE_GUID(KSMEDIUMSETID_Standard,0x4747b320,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
234DEFINE_GUID(KSMEDIUMSETID_VPBus,0xa18c15ec,0xce43,0x11d0,0xab,0xe7,0x00,0xa0,0xc9,0x22,0x31,0x96);
235DEFINE_GUID(KSMEMORY_TYPE_DEVICE_UNKNOWN,0x091bb639,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
236DEFINE_GUID(KSMEMORY_TYPE_KERNEL_NONPAGED,0x4a6d5fc4,0x7895,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
237DEFINE_GUID(KSMEMORY_TYPE_KERNEL_PAGED,0xd833f8f8,0x7894,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
238DEFINE_GUID(KSMEMORY_TYPE_SYSTEM,0x091bb638,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
239DEFINE_GUID(KSMEMORY_TYPE_USER,0x8cb0fc28,0x7893,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
240DEFINE_GUID(KSMETHODSETID_StreamAllocator,0xcf6e4341,0xec87,0x11cf,0xa1,0x30,0x00,0x20,0xaf,0xd1,0x56,0xe4);
241DEFINE_GUID(KSMETHODSETID_StreamIo,0x65d003ca,0x1523,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
242DEFINE_GUID(KSMETHODSETID_Wave_Queued,0x7432c160,0x8827,0x11cf,0xa1,0x02,0x00,0x20,0xaf,0xd1,0x56,0xe4);
243DEFINE_GUID(KSMETHODSETID_Wavetable,0xdcef31eb,0xd907,0x11d0,0x95,0x83,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
244DEFINE_GUID(KSMUSIC_TECHNOLOGY_FMSYNTH,0x252c5c80,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
245DEFINE_GUID(KSMUSIC_TECHNOLOGY_PORT,0x86c92e60,0x62e8,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
246DEFINE_GUID(KSMUSIC_TECHNOLOGY_SQSYNTH,0x0ecf4380,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
247DEFINE_GUID(KSMUSIC_TECHNOLOGY_SWSYNTH,0x37407736,0x3620,0x11d1,0x85,0xd3,0x00,0x00,0xf8,0x75,0x43,0x80);
248DEFINE_GUID(KSMUSIC_TECHNOLOGY_WAVETABLE,0x394ec7c0,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
249DEFINE_GUID(KSNAME_Allocator,0x642f5d00,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
250DEFINE_GUID(KSNAME_Clock,0x53172480,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
251DEFINE_GUID(KSNAME_Filter,0x9b365890,0x165f,0x11d0,0xa1,0x95,0x00,0x20,0xaf,0xd1,0x56,0xe4);
252DEFINE_GUID(KSNAME_Pin,0x146f1a80,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
253DEFINE_GUID(KSNAME_Server,0x3c0d501a,0x140b,0x11d1,0xb4,0xf,0,0xa0,0xc9,0x22,0x31,0x96);
254DEFINE_GUID(KSNAME_TopologyNode,0x0621061a,0xee75,0x11d0,0xb9,0x15,0x00,0xa0,0xc9,0x22,0x31,0x96);
255DEFINE_GUID(KSNODETYPE_1394_DA_STREAM,0xdff21fe6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
256DEFINE_GUID(KSNODETYPE_1394_DV_STREAM_SOUNDTRACK,0xdff21fe7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
257DEFINE_GUID(KSNODETYPE_3D_EFFECTS,0x55515860,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
258DEFINE_GUID(KSNODETYPE_ADC,0x4d837fe0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
259DEFINE_GUID(KSNODETYPE_AGC,0xe88c9ba0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
260DEFINE_GUID(KSNODETYPE_ANALOG_CONNECTOR,0xdff21fe1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
261DEFINE_GUID(KSNODETYPE_ANALOG_TAPE,0xdff220e7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
262DEFINE_GUID(KSNODETYPE_CABLE_TUNER_AUDIO,0xdff220ee,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
263DEFINE_GUID(KSNODETYPE_CD_PLAYER,0xdff220e3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
264DEFINE_GUID(KSNODETYPE_COMMUNICATION_SPEAKER,0xdff21ce6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
265DEFINE_GUID(KSNODETYPE_DAC,0x507ae360,0xc554,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
266DEFINE_GUID(KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE,0xdff220e4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
267DEFINE_GUID(KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE,0xdff220e5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
268DEFINE_GUID(KSNODETYPE_DELAY,0x144981e0,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
269DEFINE_GUID(KSNODETYPE_DEMUX,0xc0eb67d4,0xe807,0x11d0,0x95,0x8a,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
270DEFINE_GUID(KSNODETYPE_DESKTOP_MICROPHONE,0xdff21be2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
271DEFINE_GUID(KSNODETYPE_DESKTOP_SPEAKER,0xdff21ce4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
272DEFINE_GUID(KSNODETYPE_DEV_SPECIFIC,0x941c7ac0,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
273DEFINE_GUID(KSNODETYPE_DIGITAL_AUDIO_INTERFACE,0xdff21fe2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
274DEFINE_GUID(KSNODETYPE_DOWN_LINE_PHONE,0xdff21ee3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
275DEFINE_GUID(KSNODETYPE_DRM_DESCRAMBLE,0xffbb6e3f,0xccfe,0x4d84,0x90,0xd9,0x42,0x14,0x18,0xb0,0x3a,0x8e);
276DEFINE_GUID(KSNODETYPE_DSS_AUDIO,0xdff220ef,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
277DEFINE_GUID(KSNODETYPE_DVD_AUDIO,0xdff220eb,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
278DEFINE_GUID(KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE,0xdff21de5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
279DEFINE_GUID(KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE,0xdff21de3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
280DEFINE_GUID(KSNODETYPE_EQUALIZATION_NOISE,0xdff220e2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
281DEFINE_GUID(KSNODETYPE_EQUALIZER,0x9d41b4a0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
282DEFINE_GUID(KSNODETYPE_HANDSET,0xdff21de1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
283DEFINE_GUID(KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO,0xdff21ce3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
284DEFINE_GUID(KSNODETYPE_HEADPHONES,0xdff21ce2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
285DEFINE_GUID(KSNODETYPE_HEADSET,0xdff21de2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
286DEFINE_GUID(KSNODETYPE_CHORUS,0x20173f20,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
287DEFINE_GUID(KSNODETYPE_LEGACY_AUDIO_CONNECTOR,0xdff21fe4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
288DEFINE_GUID(KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE,0xdff220e1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
289DEFINE_GUID(KSNODETYPE_LINE_CONNECTOR,0xdff21fe3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
290DEFINE_GUID(KSNODETYPE_LOUDNESS,0x41887440,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
291DEFINE_GUID(KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER,0xdff21ce7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
292DEFINE_GUID(KSNODETYPE_MICROPHONE,0xdff21be1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
293DEFINE_GUID(KSNODETYPE_MICROPHONE_ARRAY,0xdff21be5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
294DEFINE_GUID(KSNODETYPE_MINIDISK,0xdff220e6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
295DEFINE_GUID(KSNODETYPE_MULTITRACK_RECORDER,0xdff220f2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
296DEFINE_GUID(KSNODETYPE_MUTE,0x02b223c0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
297DEFINE_GUID(KSNODETYPE_MUX,0x2ceaf780,0xc556,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
298DEFINE_GUID(KSNODETYPE_NOISE_SUPPRESS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
299DEFINE_GUID(KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE,0xdff21be4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
300DEFINE_GUID(KSNODETYPE_PEAKMETER,0xa085651e,0x5f0d,0x4b36,0xa8,0x69,0xd1,0x95,0xd6,0xab,0x4b,0x9e);
301DEFINE_GUID(KSNODETYPE_PERSONAL_MICROPHONE,0xdff21be3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
302DEFINE_GUID(KSNODETYPE_PHONE_LINE,0xdff21ee1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
303DEFINE_GUID(KSNODETYPE_PHONOGRAPH,0xdff220e8,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
304DEFINE_GUID(KSNODETYPE_PROCESSING_MICROPHONE_ARRAY,0xdff21be6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
305DEFINE_GUID(KSNODETYPE_PROLOGIC_DECODER,0x831c2c80,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
306DEFINE_GUID(KSNODETYPE_RADIO_RECEIVER,0xdff220f0,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
307DEFINE_GUID(KSNODETYPE_RADIO_TRANSMITTER,0xdff220f1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
308DEFINE_GUID(KSNODETYPE_REVERB,0xef0328e0,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
309DEFINE_GUID(KSNODETYPE_ROOM_SPEAKER,0xdff21ce5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
310DEFINE_GUID(KSNODETYPE_SATELLITE_RECEIVER_AUDIO,0xdff220ed,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
311DEFINE_GUID(KSNODETYPE_SPDIF_INTERFACE,0xdff21fe5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
312DEFINE_GUID(KSNODETYPE_SPEAKER,0xdff21ce1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
313DEFINE_GUID(KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION,0xdff21de3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
314DEFINE_GUID(KSNODETYPE_SRC,0x9db7b9e0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
315DEFINE_GUID(KSNODETYPE_STEREO_ENHANCE,0xaf6878ac,0xe83f,0x11d0,0x95,0x8a,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
316DEFINE_GUID(KSNODETYPE_STEREO_WIDE,0xa9e69800,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
317DEFINE_GUID(KSNODETYPE_SUM,0xda441a60,0xc556,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
318DEFINE_GUID(KSNODETYPE_SUPERMIX,0xe573adc0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
319DEFINE_GUID(KSNODETYPE_SURROUND_ENCODER,0x8074c5b2,0x3c66,0x11d2,0xb4,0x5a,0x30,0x78,0x30,0x2c,0x20,0x30);
320DEFINE_GUID(KSNODETYPE_SWMIDI,0xcb9befa0,0xa251,0x11d1,0xa0,0x50,0x00,0x00,0xf8,0x00,0x47,0x88);
321DEFINE_GUID(KSNODETYPE_SWSYNTH,0x423274a0,0x8b81,0x11d1,0xa0,0x50,0x00,0x00,0xf8,0x00,0x47,0x88);
322DEFINE_GUID(KSNODETYPE_SYNTHESIZER,0xdff220f3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
323DEFINE_GUID(KSNODETYPE_TELEPHONE,0xdff21ee2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
324DEFINE_GUID(KSNODETYPE_TONE,0x7607e580,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
325DEFINE_GUID(KSNODETYPE_TV_TUNER_AUDIO,0xdff220ec,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
326DEFINE_GUID(KSNODETYPE_VCR_AUDIO,0xdff220e9,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
327DEFINE_GUID(KSNODETYPE_VIDEO_DISC_AUDIO,0xdff220ea,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
328DEFINE_GUID(KSNODETYPE_VOLUME,0x3a5acc00,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
329DEFINE_GUID(KSPROPSETID_AC3,0xbfabe720,0x6e1f,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
330DEFINE_GUID(KSPROPSETID_Acoustic_Echo_Cancel,0xd7a4af8b,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0xe,0x5,0xb2);
331DEFINE_GUID(KSPROPSETID_Audio,0x45ffaaa0,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
332DEFINE_GUID(KSPROPSETID_AudioDecoderOut,0x6ca6e020,0x43bd,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9);
333DEFINE_GUID(KSPROPSETID_AudioGfx,0x79a9312e,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x24);
334DEFINE_GUID(KSPROPSETID_Bibliographic,0x07ba150e,0xe2b1,0x11d0,0xac,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
335DEFINE_GUID(KSPROPSETID_Clock,0xdf12a4c0,0xac17,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
336DEFINE_GUID(KSPROPSETID_Connection,0x1d58c920,0xac9b,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
337DEFINE_GUID(KSPROPSETID_CopyProt,0x0e8a0a40,0x6aef,0x11d0,0x9e,0xd0,0x00,0xa0,0x24,0xca,0x19,0xb3);
338DEFINE_GUID(KSPROPSETID_Cyclic,0x3ffeaea0,0x2bee,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
339DEFINE_GUID(KSPROPSETID_DirectSound3DBuffer,0x437b3411,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
340DEFINE_GUID(KSPROPSETID_DirectSound3DListener,0x437b3414,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
341DEFINE_GUID(KSPROPSETID_DrmAudioStream,0x2f2c8ddd,0x4198,0x4fac,0xba,0x29,0x61,0xbb,0x05,0xb7,0xde,0x06);
342DEFINE_GUID(KSPROPSETID_DvdSubPic,0xac390460,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9);
343DEFINE_GUID(KSPROPSETID_General,0x1464eda5,0x6a8f,0x11d1,0x9a,0xa7,0x00,0xa0,0xc9,0x22,0x31,0x96);
344DEFINE_GUID(KSPROPSETID_GM,0xaf627536,0xe719,0x11d2,0x8a,0x1d,0x00,0x60,0x97,0xd2,0xdf,0x5d);
345DEFINE_GUID(KSPROPSETID_Hrtf3d,0xb66decb0,0xa083,0x11d0,0x85,0x1e,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
346DEFINE_GUID(KSPROPSETID_Itd3d,0x6429f090,0x9fd9,0x11d0,0xa7,0x5b,0x00,0xa0,0xc9,0x03,0x65,0xe3);
347DEFINE_GUID(KSPROPSETID_Linear,0x5a2ffe80,0x16b9,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
348DEFINE_GUID(KSPROPSETID_MediaSeeking,0xee904f0c,0xd09b,0x11d0,0xab,0xe9,0x00,0xa0,0xc9,0x22,0x31,0x96);
349DEFINE_GUID(KSPROPSETID_MemoryTransport,0xa3d1c5d,0x5243,0x4819,0x9e,0xd0,0xae,0xe8,0x4,0x4c,0xee,0x2b);
350DEFINE_GUID(KSPROPSETID_Mpeg2Vid,0xc8e11b60,0x0cc9,0x11d0,0xbd,0x69,0x00,0x35,0x05,0xc1,0x03,0xa9);
351DEFINE_GUID(KSPROPSETID_OverlayUpdate,0x490ea5cf,0x7681,0x11d1,0xa2,0x1c,0x00,0xa0,0xc9,0x22,0x31,0x96);
352DEFINE_GUID(KSPROPSETID_Pin,0x8c134960,0x51ad,0x11cf,0x87,0x8a,0x94,0xf8,0x01,0xc1,0x00,0x00);
353DEFINE_GUID(KSPROPSETID_Quality,0xd16ad380,0xac1a,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
354DEFINE_GUID(KSPROPSETID_RtAudio,0xa855a48c,0x2f78,0x4729,0x90,0x51,0x19,0x68,0x74,0x6b,0x9e,0xef);
355DEFINE_GUID(KSPROPSETID_Service,0x3c0d501b,0x140b,0x11d1,0xb4,0xf,0,0xa0,0xc9,0x22,0x31,0x96);
356DEFINE_GUID(KSPROPSETID_Stream,0x65aaba60,0x98ae,0x11cf,0xa1,0x0d,0x00,0x20,0xaf,0xd1,0x56,0xe4);
357DEFINE_GUID(KSPROPSETID_StreamAllocator,0xcf6e4342,0xec87,0x11cf,0xa1,0x30,0x00,0x20,0xaf,0xd1,0x56,0xe4);
358DEFINE_GUID(KSPROPSETID_StreamInterface,0x1fdd8ee1,0x9cd3,0x11d0,0x82,0xaa,0x00,0x00,0xf8,0x22,0xfe,0x8a);
359DEFINE_GUID(KSPROPSETID_Sysaudio,0xcbe3faa0,0xcc75,0x11d0,0xb4,0x65,0x00,0x00,0x1a,0x18,0x18,0xe6);
360DEFINE_GUID(KSPROPSETID_Sysaudio_Pin,0xa3a53220,0xc6e4,0x11d0,0xb4,0x65,0x00,0x00,0x1a,0x18,0x18,0xe6);
361DEFINE_GUID(KSPROPSETID_Topology,0x45ffaaa1,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
362DEFINE_GUID(KSPROPSETID_TopologyNode,0x45ffaaa1,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
363DEFINE_GUID(KSPROPSETID_TSRateChange,0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x00,0x00);
364DEFINE_GUID(KSPROPSETID_VBICAP_PROPERTIES,0xf162c607,0x7b35,0x496f,0xad,0x7f,0x2d,0xca,0x3b,0x46,0xb7,0x18);
365DEFINE_GUID(KSPROPSETID_VBICodecFiltering,0xcafeb0ca,0x8715,0x11d0,0xbd,0x6a,0x00,0x35,0xc0,0xed,0xba,0xbe);
366DEFINE_GUID(KSPROPSETID_VPConfig,0xbc29a660,0x30e3,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
367DEFINE_GUID(KSPROPSETID_VPVBIConfig,0xec529b00,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
368DEFINE_GUID(KSPROPSETID_VramCapture,0xe73face3L,0x2880,0x4902,0xb7,0x99,0x88,0xd0,0xcd,0x63,0x4e,0xf);
369DEFINE_GUID(KSPROPSETID_Wave,0x924e54b0,0x630f,0x11cf,0xad,0xa7,0x08,0x00,0x3e,0x30,0x49,0x4a);
370DEFINE_GUID(KSPROPSETID_Wave_Queued,0x16a15b10,0x16f0,0x11d0,0xa1,0x95,0x00,0x20,0xaf,0xd1,0x56,0xe4);
371DEFINE_GUID(KSPROPSETID_WaveTable,0x8539e660,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
372DEFINE_GUID(KSPROPTYPESETID_General,0x97e99ba0,0xbdea,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
373DEFINE_GUID(KSTIME_FORMAT_BYTE,0x7b785571,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
374DEFINE_GUID(KSTIME_FORMAT_FIELD,0x7b785573,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
375DEFINE_GUID(KSTIME_FORMAT_FRAME,0x7b785570,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
376DEFINE_GUID(KSTIME_FORMAT_MEDIA_TIME,0x7b785574,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
377DEFINE_GUID(KSTIME_FORMAT_SAMPLE,0x7b785572,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
378DEFINE_GUID(PINNAME_VIDEO_ANALOGVIDEOIN,0xfb6c4283,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
379DEFINE_GUID(PINNAME_VIDEO_CAPTURE,0xfb6c4281,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
380DEFINE_GUID(PINNAME_VIDEO_CC,0xfb6c4289,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
381DEFINE_GUID(PINNAME_VIDEO_CC_CAPTURE,0x1aad8061,0x012d,0x11d2,0xb4,0xb1,0x00,0xa0,0xd1,0x02,0xcf,0xbe);
382DEFINE_GUID(PINNAME_VIDEO_EDS,0xfb6c4287,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
383DEFINE_GUID(PINNAME_VIDEO_NABTS,0xfb6c4286,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
384DEFINE_GUID(PINNAME_VIDEO_NABTS_CAPTURE,0x29703660,0x498a,0x11d2,0xb4,0xb1,0x00,0xa0,0xd1,0x02,0xcf,0xbe);
385DEFINE_GUID(PINNAME_VIDEO_PREVIEW,0xfb6c4282,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
386DEFINE_GUID(PINNAME_VIDEO_STILL,0xfb6c428a,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
387DEFINE_GUID(PINNAME_VIDEO_TELETEXT,0xfb6c4288,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
388DEFINE_GUID(PINNAME_VIDEO_TIMECODE,0xfb6c428b,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
389DEFINE_GUID(PINNAME_VIDEO_VBI,0xfb6c4284,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
390DEFINE_GUID(PINNAME_VIDEO_VIDEOPORT,0xfb6c4285,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
391DEFINE_GUID(PINNAME_VIDEO_VIDEOPORT_VBI,0xfb6c428c,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
392DEFINE_GUID(PROPSETID_ALLOCATOR_CONTROL,0x53171960,0x148e,0x11d2,0x99,0x79,0x00,0x00,0xc0,0xcc,0x16,0xba);
393DEFINE_GUID(PROPSETID_TUNER,0x6a2e0605,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
394DEFINE_GUID(PROPSETID_VIDCAP_CAMERACONTROL,0xc6e13370,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
395DEFINE_GUID(PROPSETID_VIDCAP_CROSSBAR,0x6a2e0640,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
396DEFINE_GUID(PROPSETID_VIDCAP_DROPPEDFRAMES,0xc6e13344,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
397DEFINE_GUID(PROPSETID_VIDCAP_TVAUDIO,0x6a2e0650,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
398DEFINE_GUID(PROPSETID_VIDCAP_VIDEOCOMPRESSION,0xc6e13343,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
399DEFINE_GUID(PROPSETID_VIDCAP_VIDEOCONTROL,0x6a2e0670,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
400DEFINE_GUID(PROPSETID_VIDCAP_VIDEODECODER,0xc6e13350,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
401DEFINE_GUID(PROPSETID_VIDCAP_VIDEOENCODER,0x6a2e0610,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
402DEFINE_GUID(PROPSETID_VIDCAP_VIDEOPROCAMP,0xc6e13360,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
403DEFINE_GUID(KSPROPSETID_BdaTopology, 0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0);
404DEFINE_GUID(KSMETHODSETID_BdaDeviceConfiguration, 0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0);
405DEFINE_GUID(KSPROPSETID_BdaPinControl, 0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d);
406DEFINE_GUID(KSMETHODSETID_BdaChangeSync, 0xfd0a5af3, 0xb41d, 0x11d2, 0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0);
407DEFINE_GUID(KSPROPSETID_BdaFrequencyFilter, 0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0);
408DEFINE_GUID(KSPROPSETID_BdaDigitalDemodulator, 0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0);
409DEFINE_GUID(KSPROPSETID_BdaLNBInfo, 0x992cf102, 0x49f9, 0x4719, 0xa6, 0x64, 0xc4, 0xf2, 0x3e, 0x24, 0x8, 0xf4);
410DEFINE_GUID(KSPROPSETID_BdaSignalStats, 0x1347d106, 0xcf3a, 0x428a, 0xa5, 0xcb, 0xac, 0xd, 0x9a, 0x2a, 0x43, 0x38);
411DEFINE_GUID(KSDATAFORMAT_TYPE_BDA_ANTENNA, 0x71985f41, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0);
412DEFINE_GUID(KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT, 0xf4aeb342, 0x0329, 0x4fdd, 0xa8, 0xfd, 0x4a, 0xff, 0x49, 0x26, 0xc9, 0x78);
413DEFINE_GUID(KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT, 0x8deda6fd, 0xac5f, 0x4334, 0x8e, 0xcf, 0xa4, 0xba, 0x8f, 0xa7, 0xd0, 0xf0);
414DEFINE_GUID(KSDATAFORMAT_TYPE_BDA_IF_SIGNAL, 0x61be0b47, 0xa5eb, 0x499b, 0x9a, 0x85, 0x5b, 0x16, 0xc0, 0x7f, 0x12, 0x58);
415DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_SECTIONS, 0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5);
416DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ATSC_SI, 0xb3c7397c, 0xd303, 0x414d, 0xb3, 0x3c, 0x4e, 0xd2, 0xc9, 0xd2, 0x97, 0x33);
417DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DVB_SI, 0xe9dd31a3, 0x221d, 0x4adb, 0x85, 0x32, 0x9a, 0xf3, 0x9, 0xc1, 0xa4, 0x8);
418DEFINE_GUID(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP, 0x762e3f66, 0x336f, 0x48d1, 0xbf, 0x83, 0x2b, 0x0, 0x35, 0x2c, 0x11, 0xf0);
419DEFINE_GUID(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP, 0x951727db, 0xd2ce, 0x4528, 0x96, 0xf6, 0x33, 0x1, 0xfa, 0xbb, 0x2d, 0xe0);
420DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ISDB_SI, 0x4a2eeb99, 0x6458, 0x4538, 0xb1, 0x87, 0x04, 0x01, 0x7c, 0x41, 0x41, 0x3f);
421DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW, 0x0d7aed42, 0xcb9a, 0x11db, 0x97, 0x05, 0x00, 0x50, 0x56, 0xc0, 0x00, 0x08);
lib/libc/mingw/libsrc/locationapi.c created+5
...@@ -0,0 +1,5 @@
1
2#include <sensorsapi.h>
3
4#include <initguid.h>
5#include <locationapi.h>
lib/libc/mingw/libsrc/mfuuid.c created+12
...@@ -0,0 +1,12 @@
1
2#include <windows.h>
3#include <propsys.h>
4#include <mediaobj.h>
5
6#include <initguid.h>
7#include <mfapi.h>
8#include <mfcaptureengine.h>
9#include <mfd3d12.h>
10#include <mfidl.h>
11#include <mfmediacapture.h>
12#include <mfreadwrite.h>
lib/libc/mingw/libsrc/msxml2.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
7#include <windows.h>
8#include <initguid.h>
9#include <msxml2.h>
lib/libc/mingw/libsrc/msxml6.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
7#include <windows.h>
8#include <initguid.h>
9#include <msxml6.h>
lib/libc/mingw/libsrc/portabledeviceguids.c created+4
...@@ -0,0 +1,4 @@
1#include <propsys.h>
2
3#include <initguid.h>
4#include <portabledevicetypes.h>
lib/libc/mingw/libsrc/sapi.c created+7
...@@ -0,0 +1,7 @@
1
2#include <windows.h>
3#include <ocidl.h>
4#include <oaidl.h>
5
6#include <initguid.h>
7#include <sapi.h>
lib/libc/mingw/libsrc/sensorsapi.c created+6
...@@ -0,0 +1,6 @@
1
2#include <portabledevicetypes.h>
3
4#include <initguid.h>
5#include <sensors.h>
6#include <sensorsapi.h>
lib/libc/mingw/libsrc/shell32.c created+23
...@@ -0,0 +1,23 @@
1#define INITGUID
2#include <basetyps.h>
3#define DEFINE_SHLGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
4
5DEFINE_SHLGUID(CLSID_ShellLink,0x00021401L,0,0);
6DEFINE_GUID(LIBID_SHDocVw,0xEAB22AC0,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
7DEFINE_GUID(IID_IShellExplorer,0xEAB22AC1,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
8DEFINE_GUID(DIID_DShellExplorerEvents,0xEAB22AC2,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
9DEFINE_GUID(CLSID_ShellExplorer,0xEAB22AC3,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
10DEFINE_GUID(IID_ISHItemOC,0xEAB22AC4,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
11DEFINE_GUID(DIID_DSHItemOCEvents,0xEAB22AC5,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
12DEFINE_GUID(CLSID_SHItemOC,0xEAB22AC6,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
13DEFINE_GUID(IID_DHyperLink,0x0002DF07,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
14DEFINE_GUID(IID_DIExplorer,0x0002DF05,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
15DEFINE_GUID(DIID_DExplorerEvents,0x0002DF06,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
16DEFINE_GUID(CLSID_InternetExplorer,0x0002DF01,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
17DEFINE_GUID(CLSID_StdHyperLink,0x0002DF09,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
18DEFINE_GUID(IID_IAutoComplete,0x00bb2762,0x6a77,0x11d0,0xa5,0x35,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
19DEFINE_GUID(IID_IAutoComplete2,0xeac04bc0,0x3791,0x11d2,0xbb,0x95,0x00,0x60,0x97,0x7b,0x46,0x4c);
20DEFINE_GUID(CLSID_TaskbarList,0x56FDF344L,0xFD6D,0x11D0,0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90);
21DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1);
22DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169,0xf994,0x40ac, 0x8f,0xc8,0x09,0x59,0xe8,0x87,0x47,0x10);
23DEFINE_GUID(IID_ITaskList3,0xEA1AFB91L,0x9E28,0x4B86,0x90,0xE9,0x9E,0x9F,0x8A,0x5E,0xEF,0xAF);
lib/libc/mingw/libsrc/strmiids.c created+510
...@@ -0,0 +1,510 @@
1/*
2
3 strmiids.c - DirectShow GUIDs
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#if defined(__LCC__) || defined(__GNUC__)
14#define INITGUID 1
15#include <windows.h>
16#else
17#include <basetyps.h>
18#endif
19
20#include <amstream.h>
21#include <austream.h>
22#include <ddraw.h>
23#include <ddstream.h>
24#include <mmstream.h>
25#include <qedit.h>
26#include <strmif.h>
27#include <uuids.h>
28
29DEFINE_GUID(CLSID_AMovie,0x5f2759c0,0x7685,0x11cf,0x8b,0x23,0x00,0x80,0x5f,0x6c,0xef,0x60);
30DEFINE_GUID(CLSID_AMTimelineComp,0x74d2ec80,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
31DEFINE_GUID(CLSID_AMTimelineEffect,0x74d2ec82,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
32DEFINE_GUID(CLSID_AMTimelineGroup,0xf6d371e1,0xb8a6,0x11d2,0x80,0x23,0x00,0xc0,0xdf,0x10,0xd4,0x34);
33DEFINE_GUID(CLSID_AMTimelineObj,0x78530b78,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
34DEFINE_GUID(CLSID_AMTimelineSrc,0x78530b7a,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
35DEFINE_GUID(CLSID_AMTimelineTrack,0x8f6c3c50,0x897b,0x11d2,0x8c,0xfb,0x00,0xa0,0xc9,0x44,0x1e,0x20);
36DEFINE_GUID(CLSID_AMTimelineTrans,0x74d2ec81,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
37DEFINE_GUID(CLSID_AnalogRadioTuningSpace,0x8a674b4c,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
38DEFINE_GUID(CLSID_AnalogTVTuningSpace,0x8a674b4d,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
39DEFINE_GUID(CLSID_ATSCComponentType,0xa8dcf3d5,0x0780,0x4ef4,0x8a,0x83,0x2c,0xff,0xaa,0xcb,0x8a,0xce);
40DEFINE_GUID(CLSID_ATSCChannelTuneRequest,0x0369b4e6,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
41DEFINE_GUID(CLSID_ATSCLocator,0x8872ff1b,0x98fa,0x4d7a,0x8d,0x93,0xc9,0xf1,0x05,0x5f,0x85,0xbb);
42DEFINE_GUID(CLSID_ATSCTuningSpace,0xa2e30750,0x6c3d,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
43DEFINE_GUID(CLSID_AudMixer,0x036a9790,0xc153,0x11d2,0x9e,0xf7,0x00,0x60,0x08,0x03,0x9e,0x37);
44DEFINE_GUID(CLSID_AuxInTuningSpace,0xf9769a06,0x7aca,0x4e39,0x9c,0xfb,0x97,0xbb,0x35,0xf0,0xe7,0x7e);
45DEFINE_GUID(CLSID_BroadcastEventService,0x0b3ffb92,0x0919,0x4934,0x9d,0x5b,0x61,0x9c,0x71,0x9d,0x02,0x02);
46DEFINE_GUID(CLSID_CADefaultDlg,0x11166990,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
47DEFINE_GUID(CLSID_CADenials,0x11166540,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
48DEFINE_GUID(CLSID_CAManager,0x11166100,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
49DEFINE_GUID(CLSID_CAManagerProxy,0x11166101,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
50DEFINE_GUID(CLSID_CAOffer,0x11166550,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
51DEFINE_GUID(CLSID_CAResDenialTree,0x11166998,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
52DEFINE_GUID(CLSID_ColorSource,0x0cfdd070,0x581a,0x11d2,0x9e,0xe6,0x00,0x60,0x08,0x03,0x9e,0x37);
53DEFINE_GUID(CLSID_Component,0x59dc47a8,0x116c,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
54DEFINE_GUID(CLSID_Components,0x809b6661,0x94c4,0x49e6,0xb6,0xec,0x3f,0x0f,0x86,0x22,0x15,0xaa);
55DEFINE_GUID(CLSID_ComponentType,0x823535a0,0x0318,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
56DEFINE_GUID(CLSID_ComponentTypes,0xa1a2b1c4,0x0e3a,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
57DEFINE_GUID(CLSID_CreatePropBagOnRegKey,0x8a674b49,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
58DEFINE_GUID(CLSID_DTFilter,0xc4c4c4f2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
59DEFINE_GUID(CLSID_DVBCLocator,0xc531d9fd,0x9685,0x4028,0x8b,0x68,0x6e,0x12,0x32,0x07,0x9f,0x1e);
60DEFINE_GUID(CLSID_DVBSLocator,0x1df7d126,0x4050,0x47f0,0xa7,0xcf,0x4c,0x4c,0xa9,0x24,0x13,0x33);
61DEFINE_GUID(CLSID_DVBSTuningSpace,0xb64016f3,0xc9a2,0x4066,0x96,0xf0,0xbd,0x95,0x63,0x31,0x47,0x26);
62DEFINE_GUID(CLSID_DVBTLocator,0x9cd64701,0xbdf3,0x4d14,0x8e,0x03,0xf1,0x29,0x83,0xd8,0x66,0x64);
63DEFINE_GUID(CLSID_DVBTuneRequest,0x15d6504a,0x5494,0x499c,0x88,0x6c,0x97,0x3c,0x9e,0x53,0xb9,0xf1);
64DEFINE_GUID(CLSID_DVBTuningSpace,0xc6b14b32,0x76aa,0x4a86,0xa7,0xac,0x5c,0x79,0xaa,0xf5,0x8d,0xa7);
65DEFINE_GUID(CLSID_DxtAlphaSetter,0x506d89ae,0x909a,0x44f7,0x94,0x44,0xab,0xd5,0x75,0x89,0x6e,0x35);
66DEFINE_GUID(CLSID_DxtCompositor,0xbb44391d,0x6abd,0x422f,0x9e,0x2e,0x38,0x5c,0x9d,0xff,0x51,0xfc);
67DEFINE_GUID(CLSID_DxtJpeg,0xde75d012,0x7a65,0x11d2,0x8c,0xea,0x00,0xa0,0xc9,0x44,0x1e,0x20);
68DEFINE_GUID(CLSID_DxtKey,0xc5b19592,0x145e,0x11d3,0x9f,0x04,0x00,0x60,0x08,0x03,0x9e,0x37);
69DEFINE_GUID(CLSID_ETFilter,0xc4c4c4f1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
70DEFINE_GUID(CLSID_EvalRat,0xc5c5c5f1,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
71DEFINE_GUID(CLSID_FilgraphManager,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
72DEFINE_GUID(CLSID_ChannelTuneRequest,0x0369b4e5,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
73DEFINE_GUID(CLSID_LanguageComponentType,0x1be49f30,0x0e1b,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
74DEFINE_GUID(CLSID_Locator,0x0888c883,0xac4f,0x4943,0xb5,0x16,0x2c,0x38,0xd9,0xb3,0x45,0x62);
75DEFINE_GUID(CLSID_MediaLocator,0xcc1101f2,0x79dc,0x11d2,0x8c,0xe6,0x00,0xa0,0xc9,0x44,0x1e,0x20);
76DEFINE_GUID(CLSID_MPEG2Component,0x055cb2d7,0x2969,0x45cd,0x91,0x4b,0x76,0x89,0x07,0x22,0xf1,0x12);
77DEFINE_GUID(CLSID_MPEG2ComponentType,0x418008f3,0xcf67,0x4668,0x96,0x28,0x10,0xdc,0x52,0xbe,0x1d,0x08);
78DEFINE_GUID(CLSID_MPEG2TuneRequest,0x0955ac62,0xbf2e,0x4cba,0xa2,0xb9,0xa6,0x3f,0x77,0x2d,0x46,0xcf);
79DEFINE_GUID(CLSID_MPEG2TuneRequestFactory,0x2c63e4eb,0x4cea,0x41b8,0x91,0x9c,0xe9,0x47,0xea,0x19,0xa7,0x7c);
80DEFINE_GUID(CLSID_MSEventBinder,0x577faa18,0x4518,0x445e,0x8f,0x70,0x14,0x73,0xf8,0xcf,0x4b,0xa4);
81DEFINE_GUID(CLSID_MSVidAnalogCaptureToDataServices,0xc5702cd6,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
82DEFINE_GUID(CLSID_MSVidAnalogCaptureToOverlayMixer,0xe18af75a,0x08af,0x11d3,0xb6,0x4a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
83DEFINE_GUID(CLSID_MSVidAnalogCaptureToStreamBufferSink,0x9f50e8b1,0x9530,0x4ddc,0x82,0x5e,0x1a,0xf8,0x1d,0x47,0xae,0xd6);
84DEFINE_GUID(CLSID_MSVidAnalogCaptureToXDS,0x3540d440,0x5b1d,0x49cb,0x82,0x1a,0xe8,0x4b,0x8c,0xf0,0x65,0xa7);
85DEFINE_GUID(CLSID_MSVidAnalogTunerDevice,0x1c15d484,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
86DEFINE_GUID(CLSID_MSVidAnalogTVToEncoder,0x28953661,0x231,0x41db,0x89,0x86,0x21,0xff,0x43,0x88,0xee,0x9b);
87DEFINE_GUID(CLSID_MSVidAudioRenderer,0x37b03544,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
88DEFINE_GUID(CLSID_MSVidAudioRendererDevices,0xc5702ccf,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
89DEFINE_GUID(CLSID_MSVidBDATunerDevice,0xa2e3074e,0x6c3d,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
90DEFINE_GUID(CLSID_MSVidCAGSeg,0x1600f101,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
91DEFINE_GUID(CLSID_MSVidClosedCaptioning,0x7f9cb14d,0x48e4,0x43b6,0x93,0x46,0x1a,0xeb,0xc3,0x9c,0x64,0xd3);
92DEFINE_GUID(CLSID_MSVidCtl,0xb0edf163,0x910a,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
93DEFINE_GUID(CLSID_MSVidDataServices,0x334125c0,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
94DEFINE_GUID(CLSID_MSVidDataServicesToStreamBufferSink,0x38f03426,0xe83b,0x4e68,0xb6,0x5b,0xdc,0xae,0x73,0x30,0x48,0x38);
95DEFINE_GUID(CLSID_MSVidDataServicesToXDS,0x429ec6e,0x1144,0x4bed,0xb8,0x8b,0x2f,0xb9,0x89,0x9a,0x4a,0x3d);
96DEFINE_GUID(CLSID_MSVidDevice,0x6e40476f,0x9c49,0x4c3e,0x8b,0xb9,0x85,0x87,0x95,0x8e,0xff,0x74);
97DEFINE_GUID(CLSID_MSVidDigitalCaptureToStreamBufferSink,0xabe40035,0x27c3,0x4a2f,0x81,0x53,0x66,0x24,0x47,0x16,0x8,0xaf);
98DEFINE_GUID(CLSID_MSVidEncoder,0xbb530c63,0xd9df,0x4b49,0x94,0x39,0x63,0x45,0x39,0x62,0xe5,0x98);
99DEFINE_GUID(CLSID_MSVidEncoderToStreamBufferSink,0xa0b9b497,0xafbc,0x45ad,0xa8,0xa6,0x9b,0x7,0x7c,0x40,0xd4,0xf2);
100DEFINE_GUID(CLSID_MSVidFeature,0x7748530b,0xc08a,0x47ea,0xb2,0x4c,0xbe,0x86,0x95,0xff,0x40,0x5f);
101DEFINE_GUID(CLSID_MSVidFeatures,0xc5702cd0,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
102DEFINE_GUID(CLSID_MSVidFilePlaybackDevice,0x37b0353c,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
103DEFINE_GUID(CLSID_MSVidFilePlaybackToAudioRenderer,0xcc23f537,0x18d4,0x4ece,0x93,0xbd,0x20,0x7a,0x84,0x72,0x69,0x79);
104DEFINE_GUID(CLSID_MSVidFilePlaybackToVideoRenderer,0xb401c5eb,0x8457,0x427f,0x84,0xea,0xa4,0xd2,0x36,0x33,0x64,0xb0);
105DEFINE_GUID(CLSID_MSVidGenericComposite,0x2764bce5,0xcc39,0x11d2,0xb6,0x39,0x00,0xc0,0x4f,0x79,0x49,0x8e);
106DEFINE_GUID(CLSID_MSVidInputDevice,0xac1972f2,0x138a,0x4ca3,0x90,0xda,0xae,0x51,0x11,0x2e,0xda,0x28);
107DEFINE_GUID(CLSID_MSVidInputDevices,0xc5702ccc,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
108DEFINE_GUID(CLSID_MSVidMPEG2DecoderToClosedCaptioning,0x6ad28ee1,0x5002,0x4e71,0xaa,0xf7,0xbd,0x07,0x79,0x07,0xb1,0xa4);
109DEFINE_GUID(CLSID_MSVidOutput,0x87eb890d,0x03ad,0x4e9d,0x98,0x66,0x37,0x6e,0x5e,0xc5,0x72,0xed);
110DEFINE_GUID(CLSID_MSVidOutputDevices,0xc5702ccd,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
111DEFINE_GUID(CLSID_MSVidRect,0xcb4276e6,0x7d5f,0x4cf1,0x97,0x27,0x62,0x9c,0x5e,0x6d,0xb6,0xae);
112DEFINE_GUID(CLSID_MSVidRenderFactory,0x11973c25,0x3529,0x40e4,0x9a,0xb1,0xdd,0xc1,0x64,0xcb,0xef,0x49);
113DEFINE_GUID(CLSID_MSVidSBESourceToCC,0x9193a8f9,0xcba,0x400e,0xaa,0x97,0xeb,0x47,0x9,0x16,0x45,0x76);
114DEFINE_GUID(CLSID_MSVidStreamBufferRecordingControl,0xcaafdd83,0xcefc,0x4e3d,0xba,0x3,0x17,0x5f,0x17,0xa2,0x4f,0x91);
115DEFINE_GUID(CLSID_MSVidStreamBufferSink,0x9e77aac4,0x35e5,0x42a1,0xbd,0xc2,0x8f,0x3f,0xf3,0x99,0x84,0x7c);
116DEFINE_GUID(CLSID_MSVidStreamBufferSource,0xad8e510d,0x217f,0x409b,0x80,0x76,0x29,0xc5,0xe7,0x3b,0x98,0xe8);
117DEFINE_GUID(CLSID_MSVidStreamBufferSourceToVideoRenderer,0x3c4708dc,0xb181,0x46a8,0x8d,0xa8,0x4a,0xb0,0x37,0x17,0x58,0xcd);
118DEFINE_GUID(CLSID_MSVidTVEGSeg,0x1600f001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
119DEFINE_GUID(CLSID_MSVidVideoInputDevice,0x95f4820b,0xbb3a,0x4e2d,0xbc,0x64,0x5b,0x81,0x7b,0xc2,0xc3,0x0e);
120DEFINE_GUID(CLSID_MSVidVideoPlaybackDevice,0x1990d634,0x1a5e,0x4071,0xa3,0x4a,0x53,0xaa,0xff,0xce,0x9f,0x36);
121DEFINE_GUID(CLSID_MSVidVideoRenderer,0x37b03543,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
122DEFINE_GUID(CLSID_MSVidVideoRendererDevices,0xc5702cce,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
123DEFINE_GUID(CLSID_MSVidWebDVD,0x011b3619,0xfe63,0x4814,0x8a,0x84,0x15,0xa1,0x94,0xce,0x9c,0xe3);
124DEFINE_GUID(CLSID_MSVidWebDVDAdm,0xfa7c375b,0x66a7,0x4280,0x87,0x9d,0xfd,0x45,0x9c,0x84,0xbb,0x02);
125DEFINE_GUID(CLSID_MSVidWebDVDToAudioRenderer,0x8d04238e,0x9fd1,0x41c6,0x8d,0xe3,0x9e,0x1e,0xe3,0x9,0xe9,0x35);
126DEFINE_GUID(CLSID_MSVidWebDVDToVideoRenderer,0x267db0b3,0x55e3,0x4902,0x94,0x9b,0xdf,0x8f,0x5c,0xec,0x01,0x91);
127DEFINE_GUID(CLSID_MSVidXDS,0x149eedf,0xd08f,0x4142,0x8d,0x73,0xd2,0x39,0x3,0xd2,0x1e,0x90);
128DEFINE_GUID(CLSID_NullRenderer,0xc1f400a4,0x3f08,0x11d3,0x9f,0x0b,0x00,0x60,0x08,0x03,0x9e,0x37);
129DEFINE_GUID(CLSID_PropertySetter,0xadf95821,0xded7,0x11d2,0xac,0xbe,0x00,0x80,0xc7,0x5e,0x24,0x6e);
130DEFINE_GUID(CLSID_RenderEngine,0x64d8a8e0,0x80a2,0x11d2,0x8c,0xf3,0x00,0xa0,0xc9,0x44,0x1e,0x20);
131DEFINE_GUID(CLSID_SmartRenderEngine,0x498b0949,0xbbe9,0x4072,0x98,0xbe,0x6c,0xca,0xeb,0x79,0xdc,0x6f);
132DEFINE_GUID(CLSID_SystemTuningSpaces,0xd02aac50,0x027e,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
133DEFINE_GUID(CLSID_TIFLoad,0x14eb8748,0x1753,0x4393,0x95,0xae,0x4f,0x7e,0x7a,0x87,0xaa,0xd6);
134DEFINE_GUID(CLSID_TuneRequest,0xb46e0d38,0xab35,0x4a06,0xa1,0x37,0x70,0x57,0x6b,0x01,0xb3,0x9f);
135DEFINE_GUID(CLSID_TuningSpace,0x5ffdc5e6,0xb83a,0x4b55,0xb6,0xe8,0xc6,0x9e,0x76,0x5f,0xe9,0xdb);
136DEFINE_GUID(CLSID_TVEAttrMap,0x05500021,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
137DEFINE_GUID(CLSID_TVEAttrTimeQ,0x05500022,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
138DEFINE_GUID(CLSID_TVECBAnnc,0x05500041,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
139DEFINE_GUID(CLSID_TVECBDummy,0x05500049,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
140DEFINE_GUID(CLSID_TVECBFile,0x05500043,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
141DEFINE_GUID(CLSID_TVECBTrig,0x05500042,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
142DEFINE_GUID(CLSID_TVEEnhancement,0x05500004,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
143DEFINE_GUID(CLSID_TVEEnhancements,0x05500014,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
144DEFINE_GUID(CLSID_TVEFeature,0x05500025,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
145DEFINE_GUID(CLSID_TVEFile,0x05500050,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
146DEFINE_GUID(CLSID_TVEFilter,0x05500080,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
147DEFINE_GUID(CLSID_TVEMCast,0x05500030,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
148DEFINE_GUID(CLSID_TVEMCastCallback,0x05500040,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
149DEFINE_GUID(CLSID_TVEMCastManager,0x05500032,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
150DEFINE_GUID(CLSID_TVEMCasts,0x05500031,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
151DEFINE_GUID(CLSID_TVENavAid,0x05500070,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
152DEFINE_GUID(CLSID_TVEService,0x05500005,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
153DEFINE_GUID(CLSID_TVEServices,0x05500015,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
154DEFINE_GUID(CLSID_TVESupervisor,0x05500006,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
155DEFINE_GUID(CLSID_TVETrack,0x05500002,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
156DEFINE_GUID(CLSID_TVETrigger,0x05500001,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
157DEFINE_GUID(CLSID_TVETriggerCtrl,0x05500090,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
158DEFINE_GUID(CLSID_TVEVariation,0x05500003,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
159DEFINE_GUID(CLSID_XDSCodec,0xc4c4c4f3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
160DEFINE_GUID(CLSID_XDSToRat,0xc5c5c5f0,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
161DEFINE_GUID(CLSID_Xml2Dex,0x18c628ee,0x962a,0x11d2,0x8d,0x08,0x00,0xa0,0xc9,0x44,0x1e,0x20);
162DEFINE_GUID(DIID__ICAComponentsEvents,0x11166260,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
163DEFINE_GUID(DIID__ICADefaultDlgEvents,0x11166991,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
164DEFINE_GUID(DIID__ICADenialsEvents,0x11166240,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
165DEFINE_GUID(DIID__ICAManagerEvents,0x11166200,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
166DEFINE_GUID(DIID__ICAOffersEvents,0x11166250,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
167DEFINE_GUID(DIID__ICAPoliciesEvents,0x11166220,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
168DEFINE_GUID(DIID__ICARequestEvents,0x11166210,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
169DEFINE_GUID(DIID__ICAResDenialTreeEvents,0x11166298,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
170DEFINE_GUID(DIID__ICATollsEvents,0x11166230,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
171DEFINE_GUID(DIID__IMSVidCtlEvents,0xb0edf164,0x910a,0x11d2,0xb6,0x32,0,0xc0,0x4f,0x79,0x49,0x8e);
172DEFINE_GUID(DIID__ITVEEvents,0x05500000,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
173DEFINE_GUID(DIID__ITVETriggerCtrlEvents,0x05500091,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
174DEFINE_GUID(DIID_IDTFilterEvents,0xc4c4c4c2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
175DEFINE_GUID(DIID_IETFilterEvents,0xc4c4c4c1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
176DEFINE_GUID(DIID_IXDSCodecEvents,0xc4c4c4c3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
177DEFINE_GUID(IID_IAMAnalogVideoDecoder,0xc6e13350,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
178DEFINE_GUID(IID_IAMAnalogVideoEncoder,0xc6e133b0,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
179DEFINE_GUID(IID_IAMAudioInputMixer,0x54c39221,0x8380,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
180DEFINE_GUID(IID_IAMAudioRendererStats,0x22320cb2,0xd41a,0x11d2,0xbf,0x7c,0xd7,0xcb,0x9d,0xf0,0xbf,0x93);
181DEFINE_GUID(IID_IAMClockAdjust,0x4d5466b0,0xa49c,0x11d1,0xab,0xe8,0x00,0xa0,0xc9,0x05,0xf3,0x75);
182DEFINE_GUID(IID_IAMCollection,0x56a868b9,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
183DEFINE_GUID(IID_IAMDecoderCaps,0xc0dff467,0xd499,0x4986,0x97,0x2b,0xe1,0xd9,0x09,0x0f,0xa9,0x41);
184DEFINE_GUID(IID_IAMDeviceRemoval,0xf90a6130,0xb658,0x11d2,0xae,0x49,0x00,0x00,0xf8,0x75,0x4b,0x99);
185DEFINE_GUID(IID_IAMDevMemoryAllocator,0xc6545bf0,0xe76b,0x11d0,0xbd,0x52,0x00,0xa0,0xc9,0x11,0xce,0x86);
186DEFINE_GUID(IID_IAMDevMemoryControl,0xc6545bf1,0xe76b,0x11d0,0xbd,0x52,0x00,0xa0,0xc9,0x11,0xce,0x86);
187DEFINE_GUID(IID_IAMExtDevice,0xb5730a90,0x1a2c,0x11cf,0x8c,0x23,0x00,0xaa,0x00,0x6b,0x68,0x14);
188DEFINE_GUID(IID_IAMExtTransport,0xa03cd5f0,0x3045,0x11cf,0x8c,0x44,0x00,0xaa,0x00,0x6b,0x68,0x14);
189DEFINE_GUID(IID_IAMGraphStreams,0x632105fa,0x072e,0x11d3,0x8a,0xf9,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
190DEFINE_GUID(IID_IAMOpenProgress,0x8e1c39a1,0xde53,0x11cf,0xaa,0x63,0x00,0x80,0xc7,0x44,0x52,0x8d);
191DEFINE_GUID(IID_IAMOverlayFX,0x62fae250,0x7e65,0x4460,0xbf,0xc9,0x63,0x98,0xb3,0x22,0x07,0x3c);
192DEFINE_GUID(IID_IAMovie,0x359ace10,0x7688,0x11cf,0x8b,0x23,0x00,0x80,0x5f,0x6c,0xef,0x60);
193DEFINE_GUID(IID_IAMPhysicalPinInfo,0xf938c991,0x3029,0x11cf,0x8c,0x44,0x00,0xaa,0x00,0x6b,0x68,0x14);
194DEFINE_GUID(IID_IAMResourceControl,0x8389d2d0,0x77d7,0x11d1,0xab,0xe6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
195DEFINE_GUID(IID_IAMStats,0xbc9bcf80,0xdcd2,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
196DEFINE_GUID(IID_IAMStreamSelect,0xc1960960,0x17f5,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75);
197DEFINE_GUID(IID_IAMTimecodeDisplay,0x9b496ce2,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
198DEFINE_GUID(IID_IAMTimecodeGenerator,0x9b496ce0,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
199DEFINE_GUID(IID_IAMTimecodeReader,0x9b496ce1,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
200DEFINE_GUID(IID_IAMTimelineComp,0xeae58536,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
201DEFINE_GUID(IID_IAMTimelineEffect,0xbce0c264,0x622d,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
202DEFINE_GUID(IID_IAMTimelineEffectable,0xeae58537,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
203DEFINE_GUID(IID_IAMTimelineSplittable,0xa0f840a0,0xd590,0x11d2,0x8d,0x55,0x00,0xa0,0xc9,0x44,0x1e,0x20);
204DEFINE_GUID(IID_IAMTimelineTrack,0xeae58538,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
205DEFINE_GUID(IID_IAMTimelineTrans,0xbce0c265,0x622d,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
206DEFINE_GUID(IID_IAMTimelineTransable,0x378fa386,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
207DEFINE_GUID(IID_IAMTimelineVirtualTrack,0xa8ed5f80,0xc2c7,0x11d2,0x8d,0x39,0x00,0xa0,0xc9,0x44,0x1e,0x20);
208DEFINE_GUID(IID_IAMTVAudio,0x83ec1c30,0x23d1,0x11d1,0x99,0xe6,0x00,0xa0,0xc9,0x56,0x02,0x66);
209DEFINE_GUID(IID_IAMTVAudioNotification,0x83ec1c33,0x23d1,0x11d1,0x99,0xe6,0x00,0xa0,0xc9,0x56,0x02,0x66);
210DEFINE_GUID(IID_IAMVfwCompressDialogs,0xd8d715a3,0x6e5e,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
211DEFINE_GUID(IID_IAMVideoAccelerator,0x256a6a22,0xfbad,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
212DEFINE_GUID(IID_IAMVideoAcceleratorNotify,0x256a6a21,0xfbad,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
213DEFINE_GUID(IID_IAMVideoDecimationProperties,0x60d32930,0x13da,0x11d3,0x9e,0xc6,0xc4,0xfc,0xae,0xf5,0xc7,0xbe);
214DEFINE_GUID(IID_IAnalogRadioTuningSpace,0x2a6e293b,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
215DEFINE_GUID(IID_IAnalogTVTuningSpace,0x2a6e293c,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
216DEFINE_GUID(IID_IATSCComponentType,0xfc189e4d,0x7bd4,0x4125,0xb3,0xb3,0x3a,0x76,0xa3,0x32,0xcc,0x96);
217DEFINE_GUID(IID_IATSCChannelTuneRequest,0x0369b4e1,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
218DEFINE_GUID(IID_IATSCLocator,0xbf8d986f,0x8c2b,0x4131,0x94,0xd7,0x4d,0x3d,0x9f,0xcc,0x21,0xef);
219DEFINE_GUID(IID_IATSCTuningSpace,0x0369b4e2,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
220DEFINE_GUID(IID_IAuxInTuningSpace,0xe48244b8,0x7e17,0x4f76,0xa7,0x63,0x50,0x90,0xff,0x1e,0x2f,0x30);
221DEFINE_GUID(IID_IBasicAudio,0x56a868b3,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
222DEFINE_GUID(IID_IBasicVideo,0x56a868b5,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
223DEFINE_GUID(IID_IBasicVideo2,0x329bb360,0xf6ea,0x11d1,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
224DEFINE_GUID(IID_IBDA_AutoDemodulate,0xddf15b12,0xbd25,0x11d2,0x9c,0xa0,0x00,0xc0,0x4f,0x79,0x71,0xe0);
225DEFINE_GUID(IID_IBDA_DeviceControl,0xfd0a5af3,0xb41d,0x11d2,0x9c,0x95,0x00,0xc0,0x4f,0x79,0x71,0xe0);
226DEFINE_GUID(IID_IBDA_DigitalDemodulator,0xef30f379,0x985b,0x4d10,0xb6,0x40,0xa7,0x9d,0x5e,0x04,0xe1,0xe0);
227DEFINE_GUID(IID_IBDA_EthernetFilter,0x71985f43,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
228DEFINE_GUID(IID_IBDA_FrequencyFilter,0x71985f47,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
229DEFINE_GUID(IID_IBDA_IPSinkControl,0x3f4dc8e2,0x4050,0x11d3,0x8f,0x4b,0x00,0xc0,0x4f,0x79,0x71,0xe2);
230DEFINE_GUID(IID_IBDA_IPSinkInfo,0xa750108f,0x492e,0x4d51,0x95,0xf7,0x64,0x9b,0x23,0xff,0x7a,0xd7);
231DEFINE_GUID(IID_IBDA_IPV4Filter,0x71985f44,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
232DEFINE_GUID(IID_IBDA_IPV6Filter,0xe1785a74,0x2a23,0x4fb3,0x92,0x45,0xa8,0xf8,0x80,0x17,0xef,0x33);
233DEFINE_GUID(IID_IBDA_LNBInfo,0x992cf102,0x49f9,0x4719,0xa6,0x64,0xc4,0xf2,0x3e,0x24,0x08,0xf4);
234DEFINE_GUID(IID_IBDA_NetworkProvider,0xfd501041,0x8ebe,0x11ce,0x81,0x83,0x00,0xaa,0x00,0x57,0x7d,0xa2);
235DEFINE_GUID(IID_IBDA_NullTransform,0xddf15b0d,0xbd25,0x11d2,0x9c,0xa0,0x00,0xc0,0x4f,0x79,0x71,0xe0);
236DEFINE_GUID(IID_IBDA_PinControl,0x0ded49d5,0xa8b7,0x4d5d,0x97,0xa1,0x12,0xb0,0xc1,0x95,0x87,0x4d);
237DEFINE_GUID(IID_IBDA_SignalProperties,0xd2f1644b,0xb409,0x11d2,0xbc,0x69,0x00,0xa0,0xc9,0xee,0x9e,0x16);
238DEFINE_GUID(IID_IBDA_SignalStatistics,0x1347d106,0xcf3a,0x428a,0xa5,0xcb,0xac,0x0d,0x9a,0x2a,0x43,0x38);
239DEFINE_GUID(IID_IBDA_TIF_REGISTRATION,0xdfef4a68,0xee61,0x415f,0x9c,0xcb,0xcd,0x95,0xf2,0xf9,0x8a,0x3a);
240DEFINE_GUID(IID_IBDA_Topology,0xa14ee835,0x0a23,0x11d3,0x9c,0xc7,0x00,0xc0,0x4f,0x79,0x71,0xe0);
241DEFINE_GUID(IID_IBDA_VoidTransform,0x71985f46,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
242DEFINE_GUID(IID_IBPCSatelliteTuner,0x211a8765,0x03ac,0x11d1,0x8d,0x13,0x00,0xaa,0x00,0xbd,0x83,0x39);
243DEFINE_GUID(IID_IBroadcastEvent,0x3b21263f,0x26e8,0x489d,0xaa,0xc4,0x92,0x4f,0x7e,0xfd,0x95,0x11);
244DEFINE_GUID(IID_ICAComponent,0x11166360,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
245DEFINE_GUID(IID_ICAComponentInternal,0x11166361,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
246DEFINE_GUID(IID_ICAComponents,0x11166470,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
247DEFINE_GUID(IID_ICADefaultDlg,0x860a3fe2,0xded1,0x40e2,0x89,0x6c,0x05,0x76,0x81,0xa8,0xa1,0xa8);
248DEFINE_GUID(IID_ICADenial,0x11166340,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
249DEFINE_GUID(IID_ICADenials,0x11166440,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
250DEFINE_GUID(IID_ICADenialsInternal,0x11166441,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
251DEFINE_GUID(IID_ICAManager,0x11166300,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
252DEFINE_GUID(IID_ICAManagerInternal,0x11166301,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
253DEFINE_GUID(IID_ICAOffer,0x11166350,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
254DEFINE_GUID(IID_ICAOffers,0x11166450,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
255DEFINE_GUID(IID_ICAPolicies,0x11166420,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
256DEFINE_GUID(IID_ICAPoliciesInternal,0x11166421,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
257DEFINE_GUID(IID_ICAPolicy,0x11166320,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
258DEFINE_GUID(IID_ICARequest,0x11166310,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
259DEFINE_GUID(IID_ICAResDenialTree,0x11166898,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
260DEFINE_GUID(IID_ICAToll,0x11166330,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
261DEFINE_GUID(IID_ICATolls,0x11166430,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
262DEFINE_GUID(IID_ICATollsInternal,0x11166431,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
263DEFINE_GUID(IID_ICodecAPI,0x901db4c7,0x31ce,0x41a2,0x85,0xdc,0x8f,0xa0,0xbf,0x41,0xb8,0xda);
264DEFINE_GUID(IID_IComponent,0x1a5576fc,0x0e19,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
265DEFINE_GUID(IID_IComponents,0xfcd01846,0x0e19,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
266DEFINE_GUID(IID_IComponentType,0x6a340dc0,0x0311,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
267DEFINE_GUID(IID_IComponentTypes,0x0dc13d4a,0x0313,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
268DEFINE_GUID(IID_ICreatePropBagOnRegKey,0x8a674b48,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
269DEFINE_GUID(IID_IDDrawExclModeVideo,0x153acc21,0xd83b,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
270DEFINE_GUID(IID_IDDrawExclModeVideoCallback,0x913c24a0,0x20ab,0x11d2,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
271DEFINE_GUID(IID_IDecimateVideoImage,0x2e5ea3e0,0xe924,0x11d2,0xb6,0xda,0x00,0xa0,0xc9,0x95,0xe8,0xdf);
272DEFINE_GUID(IID_IDeferredCommand,0x56a868b8,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
273DEFINE_GUID(IID_IDistributorNotify,0x56a868af,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
274DEFINE_GUID(IID_IDrawVideoImage,0x48efb120,0xab49,0x11d2,0xae,0xd2,0x00,0xa0,0xc9,0x95,0xe8,0xd5);
275DEFINE_GUID(IID_IDTFilter,0xc4c4c4b2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
276DEFINE_GUID(IID_IDTFilterConfig,0xc4c4c4d2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
277DEFINE_GUID(IID_IDVBCLocator,0x6e42f36e,0x1dd2,0x43c4,0x9f,0x78,0x69,0xd2,0x5a,0xe3,0x90,0x34);
278DEFINE_GUID(IID_IDVBSLocator,0x3d7c353c,0x0d04,0x45f1,0xa7,0x42,0xf9,0x7c,0xc1,0x18,0x8d,0xc8);
279DEFINE_GUID(IID_IDVBSTuningSpace,0xcdf7be60,0xd954,0x42fd,0xa9,0x72,0x78,0x97,0x19,0x58,0xe4,0x70);
280DEFINE_GUID(IID_IDVBTLocator,0x8664da16,0xdda2,0x42ac,0x92,0x6a,0xc1,0x8f,0x91,0x27,0xc3,0x02);
281DEFINE_GUID(IID_IDVBTuneRequest,0x0d6f567e,0xa636,0x42bb,0x83,0xba,0xce,0x4c,0x17,0x04,0xaf,0xa2);
282DEFINE_GUID(IID_IDVBTuningSpace,0xada0b268,0x3b19,0x4e5b,0xac,0xc4,0x49,0xf8,0x52,0xbe,0x13,0xba);
283DEFINE_GUID(IID_IDVBTuningSpace2,0x843188b4,0xce62,0x43db,0x96,0x6b,0x81,0x45,0xa0,0x94,0xe0,0x40);
284DEFINE_GUID(IID_IDvdCmd,0x5a4a97e4,0x94ee,0x4a55,0x97,0x51,0x74,0xb5,0x64,0x3a,0xa2,0x7d);
285DEFINE_GUID(IID_IDvdControl,0xa70efe61,0xe2a3,0x11d0,0xa9,0xbe,0x00,0xaa,0x00,0x61,0xbe,0x93);
286DEFINE_GUID(IID_IDvdControl2,0x33bc7430,0xeec0,0x11d2,0x82,0x01,0x00,0xa0,0xc9,0xd7,0x48,0x42);
287DEFINE_GUID(IID_IDvdGraphBuilder,0xfcc152b6,0xf372,0x11d0,0x8e,0x00,0x00,0xc0,0x4f,0xd7,0xc0,0x8b);
288DEFINE_GUID(IID_IDvdInfo,0xa70efe60,0xe2a3,0x11d0,0xa9,0xbe,0x00,0xaa,0x00,0x61,0xbe,0x93);
289DEFINE_GUID(IID_IDvdInfo2,0x34151510,0xeec0,0x11d2,0x82,0x01,0x00,0xa0,0xc9,0xd7,0x48,0x42);
290DEFINE_GUID(IID_IDvdState,0x86303d6d,0x1c4a,0x4087,0xab,0x42,0xf7,0x11,0x16,0x70,0x48,0xef);
291DEFINE_GUID(IID_IDVEnc,0xd18e17a0,0xaacb,0x11d0,0xaf,0xb0,0x00,0xaa,0x00,0xb6,0x7a,0x42);
292DEFINE_GUID(IID_IDVRGB219,0x58473a19,0x2bc8,0x4663,0x80,0x12,0x25,0xf8,0x1b,0xab,0xdd,0xd1);
293DEFINE_GUID(IID_IDVSplitter,0x92a3a302,0xda7c,0x4a1f,0xba,0x7e,0x18,0x02,0xbb,0x5d,0x2d,0x02);
294DEFINE_GUID(IID_IDxtAlphaSetter,0x4ee9ead9,0xda4d,0x43d0,0x93,0x83,0x06,0xb9,0x0c,0x08,0xb1,0x2b);
295DEFINE_GUID(IID_IDxtCompositor,0xbb44391e,0x6abd,0x422f,0x9e,0x2e,0x38,0x5c,0x9d,0xff,0x51,0xfc);
296DEFINE_GUID(IID_IDxtJpeg,0xde75d011,0x7a65,0x11d2,0x8c,0xea,0x00,0xa0,0xc9,0x44,0x1e,0x20);
297DEFINE_GUID(IID_IDxtKey,0x3255de56,0x38fb,0x4901,0xb9,0x80,0x94,0xb4,0x38,0x01,0x0d,0x7b);
298DEFINE_GUID(IID_IEncoderAPI,0x70423839,0x6acc,0x4b23,0xb0,0x79,0x21,0xdb,0xf0,0x81,0x56,0xa5);
299DEFINE_GUID(IID_IEnumComponents,0x2a6e2939,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
300DEFINE_GUID(IID_IEnumComponentTypes,0x8a674b4a,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
301DEFINE_GUID(IID_IEnumGuideDataProperties,0xae44423b,0x4571,0x475c,0xad,0x2c,0xf4,0xa,0x77,0x1d,0x80,0xef);
302DEFINE_GUID(IID_IEnumMSVidGraphSegment,0x3dd2903e,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
303DEFINE_GUID(IID_IEnumPIDMap,0xafb6c2a2,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a);
304DEFINE_GUID(IID_IEnumStreamBufferRecordingAttrib,0xc18a9162,0x1e82,0x4142,0x8c,0x73,0x56,0x90,0xfa,0x62,0xfe,0x33);
305DEFINE_GUID(IID_IEnumStreamIdMap,0x945c1566,0x6202,0x46fc,0x96,0xc7,0xd8,0x7f,0x28,0x9c,0x65,0x34);
306DEFINE_GUID(IID_IEnumTuneRequests,0x1993299c,0xced6,0x4788,0x87,0xa3,0x42,0,0x67,0xdc,0xe0,0xc7);
307DEFINE_GUID(IID_IEnumTuningSpaces,0x8b8eb248,0xfc2b,0x11d2,0x9d,0x8c,0x00,0xc0,0x4f,0x72,0xd9,0x80);
308DEFINE_GUID(IID_IETFilter,0xc4c4c4b1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
309DEFINE_GUID(IID_IETFilterConfig,0xc4c4c4d1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
310DEFINE_GUID(IID_IEvalRat,0xc5c5c5b1,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
311DEFINE_GUID(IID_IFilterChain,0xdcfbdcf6,0x0dc2,0x45f5,0x9a,0xb2,0x7c,0x33,0x0e,0xa0,0x9c,0x29);
312DEFINE_GUID(IID_IFilterInfo,0x56a868ba,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
313DEFINE_GUID(IID_IFindCompressorCB,0xf03fa8de,0x879a,0x4d59,0x9b,0x2c,0x26,0xbb,0x1c,0xf8,0x34,0x61);
314DEFINE_GUID(IID_IFrequencyMap,0x6fb45c1,0x693c,0x4ea7,0xb7,0x9f,0x7a,0x6a,0x54,0xd8,0xde,0xf2);
315DEFINE_GUID(IID_IGetCapabilitiesKey,0xa8809222,0x7bb,0x48ea,0x95,0x1c,0x33,0x15,0x81,0,0x62,0x5b);
316DEFINE_GUID(IID_IGraphConfig,0x03a1eb8e,0x32bf,0x4245,0x85,0x02,0x11,0x4d,0x08,0xa9,0xcb,0x88);
317DEFINE_GUID(IID_IGraphConfigCallback,0xade0fd60,0xd19d,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
318DEFINE_GUID(IID_IGrfCache,0xae9472be,0xb0c3,0x11d2,0x8d,0x24,0x00,0xa0,0xc9,0x44,0x1e,0x20);
319DEFINE_GUID(IID_IGuideData,0x61571138,0x5b01,0x43cd,0xae,0xaf,0x60,0xb7,0x84,0xa0,0xbf,0x93);
320DEFINE_GUID(IID_IGuideDataEvent,0xefda0c80,0xf395,0x42c3,0x9b,0x3c,0x56,0xb3,0x7d,0xec,0x7b,0xb7);
321DEFINE_GUID(IID_IGuideDataLoader,0x4764ff7c,0xfa95,0x4525,0xaf,0x4d,0xd3,0x22,0x36,0xdb,0x9e,0x38);
322DEFINE_GUID(IID_IGuideDataProperty,0x88ec5e58,0xbb73,0x41d6,0x99,0xce,0x66,0xc5,0x24,0xb8,0xb5,0x91);
323DEFINE_GUID(IID_IChannelTuneRequest,0x0369b4e0,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
324DEFINE_GUID(IID_IIPDVDec,0xb8e8bd60,0x0bfe,0x11d0,0xaf,0x91,0x00,0xaa,0x00,0xb6,0x7a,0x42);
325DEFINE_GUID(IID_ILanguageComponentType,0xb874c8ba,0x0fa2,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
326DEFINE_GUID(IID_ILocator,0x286d7f89,0x760c,0x4f89,0x80,0xc4,0x66,0x84,0x1d,0x25,0x07,0xaa);
327DEFINE_GUID(IID_IMediaControl,0x56a868b1,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
328DEFINE_GUID(IID_IMediaEvent,0x56a868b6,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
329DEFINE_GUID(IID_IMediaEventEx,0x56a868c0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
330DEFINE_GUID(IID_IMediaPosition,0x56a868b2,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
331DEFINE_GUID(IID_IMediaTypeInfo,0x56a868bc,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
332DEFINE_GUID(IID_IMixerOCX,0x81a3bd32,0xdee1,0x11d1,0x85,0x8,0,0xa0,0xc9,0x1f,0x9c,0xa0);
333DEFINE_GUID(IID_IMixerOCXNotify,0x81a3bd31,0xdee1,0x11d1,0x85,0x8,0,0xa0,0xc9,0x1f,0x9c,0xa0);
334DEFINE_GUID(IID_IMPEG2_TIF_CONTROL,0xf9bac2f9,0x4149,0x4916,0xb2,0xef,0xfa,0xa2,0x2,0x32,0x68,0x62);
335DEFINE_GUID(IID_IMPEG2Component,0x1493e353,0x1eb6,0x473c,0x80,0x2d,0x8e,0x6b,0x8e,0xc9,0xd2,0xa9);
336DEFINE_GUID(IID_IMPEG2ComponentType,0x2c073d84,0xb51c,0x48c9,0xaa,0x9f,0x68,0x97,0x1e,0x1f,0x6e,0x38);
337DEFINE_GUID(IID_IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12);
338DEFINE_GUID(IID_IMPEG2PIDMap,0xafb6c2a1,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a);
339DEFINE_GUID(IID_IMPEG2StreamIdMap,0xd0e04c47,0x25b8,0x4369,0x92,0x5a,0x36,0x2a,0x01,0xd9,0x54,0x44);
340DEFINE_GUID(IID_IMPEG2TuneRequest,0xeb7d987f,0x8a01,0x42ad,0xb8,0xae,0x57,0x4d,0xee,0xe4,0x4d,0x1a);
341DEFINE_GUID(IID_IMPEG2TuneRequestFactory,0x14e11abd,0xee37,0x4893,0x9e,0xa1,0x69,0x64,0xde,0x93,0x3e,0x39);
342DEFINE_GUID(IID_IMPEG2TuneRequestSupport,0x1b9d5fc3,0x5bbc,0x4b6c,0xbb,0x18,0xb9,0xd1,0x0e,0x3e,0xee,0xbf);
343DEFINE_GUID(IID_IMSEventBinder,0xc3a9f406,0x2222,0x436d,0x86,0xd5,0xba,0x32,0x29,0x27,0x9e,0xfb);
344DEFINE_GUID(IID_IMSVidAnalogTuner,0x1c15d47e,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
345DEFINE_GUID(IID_IMSVidAnalogTunerEvent,0x1c15d486,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
346DEFINE_GUID(IID_IMSVidAudioRenderer,0x37b0353f,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
347DEFINE_GUID(IID_IMSVidAudioRendererDevices,0xc5702cd4,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
348DEFINE_GUID(IID_IMSVidAudioRendererEvent,0x37b03541,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
349DEFINE_GUID(IID_IMSVidCAGSeg,0x1600d101,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
350DEFINE_GUID(IID_IMSVidClosedCaptioning,0x99652ea1,0xc1f7,0x414f,0xbb,0x7b,0x1c,0x96,0x7d,0xe7,0x59,0x83);
351DEFINE_GUID(IID_IMSVidClosedCaptioning2,0xe00cb864,0xa029,0x4310,0x99,0x87,0xa8,0x73,0xf5,0x88,0x7d,0x97);
352DEFINE_GUID(IID_IMSVidCompositionSegment,0x1c15d483,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
353DEFINE_GUID(IID_IMSVidCtl,0xb0edf162,0x910a,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
354DEFINE_GUID(IID_IMSVidDataServices,0x334125c1,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
355DEFINE_GUID(IID_IMSVidDataServicesEvent,0x334125c2,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
356DEFINE_GUID(IID_IMSVidDevice,0x1c15d47c,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
357DEFINE_GUID(IID_IMSVidDeviceEvent,0x1c15d480,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
358DEFINE_GUID(IID_IMSVidEncoder,0xc0020fd4,0xbee7,0x43d9,0xa4,0x95,0x9f,0x21,0x31,0x17,0x10,0x3d);
359DEFINE_GUID(IID_IMSVidFeature,0x37b03547,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
360DEFINE_GUID(IID_IMSVidFeatureEvent,0x3dd2903c,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
361DEFINE_GUID(IID_IMSVidFeatures,0xc5702cd5,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
362DEFINE_GUID(IID_IMSVidFilePlayback,0x37b03539,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
363DEFINE_GUID(IID_IMSVidFilePlaybackEvent,0x37b0353a,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
364DEFINE_GUID(IID_IMSVidGraphSegment,0x1c15d482,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
365DEFINE_GUID(IID_IMSVidGraphSegmentContainer,0x3dd2903d,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
366DEFINE_GUID(IID_IMSVidGraphSegmentUserInput,0x301c060e,0x20d9,0x4587,0x9b,0x03,0xf8,0x2e,0xd9,0xa9,0x94,0x3c);
367DEFINE_GUID(IID_IMSVidInputDevice,0x37b0353d,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
368DEFINE_GUID(IID_IMSVidInputDeviceEvent,0x37b0353e,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
369DEFINE_GUID(IID_IMSVidInputDevices,0xc5702cd1,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
370DEFINE_GUID(IID_IMSVidOutputDevice,0x37b03546,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
371DEFINE_GUID(IID_IMSVidOutputDeviceEvent,0x2e6a14e2,0x571c,0x11d3,0xb6,0x52,0x00,0xc0,0x4f,0x79,0x49,0x8e);
372DEFINE_GUID(IID_IMSVidOutputDevices,0xc5702cd2,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
373DEFINE_GUID(IID_IMSVidPlayback,0x37b03538,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
374DEFINE_GUID(IID_IMSVidPlaybackEvent,0x37b0353b,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
375DEFINE_GUID(IID_IMSVidRect,0x7f5000a6,0xa440,0x47ca,0x8a,0xcc,0xc0,0xe7,0x55,0x31,0xa2,0xc2);
376DEFINE_GUID(IID_IMSVidStreamBufferRecordingControl,0x160621aa,0xbbbc,0x4326,0xa8,0x24,0xc3,0x95,0xae,0xbc,0x6e,0x74);
377DEFINE_GUID(IID_IMSVidStreamBufferSink,0x159dbb45,0xcd1b,0x4dab,0x83,0xea,0x5c,0xb1,0xf4,0xf2,0x1d,0x7);
378DEFINE_GUID(IID_IMSVidStreamBufferSinkEvent,0xf798a36b,0xb05b,0x4bbe,0x97,0x3,0xea,0xea,0x7d,0x61,0xcd,0x51);
379DEFINE_GUID(IID_IMSVidStreamBufferSource,0xeb0c8cf9,0x6950,0x4772,0x87,0xb1,0x47,0xd1,0x1c,0xf3,0xa0,0x2f);
380DEFINE_GUID(IID_IMSVidStreamBufferSourceEvent,0x50ce8a7d,0x9c28,0x4da8,0x90,0x42,0xcd,0xfa,0x71,0x16,0xf9,0x79);
381DEFINE_GUID(IID_IMSVidTuner,0x1c15d47d,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
382DEFINE_GUID(IID_IMSVidTunerEvent,0x1c15d485,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
383DEFINE_GUID(IID_IMSVidTVEGSeg,0x1600d001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
384DEFINE_GUID(IID_IMSVidVideoInputDevice,0x1c15d47f,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
385DEFINE_GUID(IID_IMSVidVideoRenderer,0x37b03540,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
386DEFINE_GUID(IID_IMSVidVideoRenderer2,0x6bdd5c1e,0x2810,0x4159,0x94,0xbc,0x5,0x51,0x1a,0xe8,0x54,0x9b);
387DEFINE_GUID(IID_IMSVidVideoRendererDevices,0xc5702cd3,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
388DEFINE_GUID(IID_IMSVidVideoRendererEvent,0x37b03545,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
389DEFINE_GUID(IID_IMSVidVideoRendererEvent2,0x7145ed66,0x4730,0x4fdb,0x8a,0x53,0xfd,0xe7,0x50,0x8d,0x3e,0x5e);
390DEFINE_GUID(IID_IMSVidVRGraphSegment,0xdd47de3f,0x9874,0x4f7b,0x8b,0x22,0x7c,0xb2,0x68,0x84,0x61,0xe7);
391DEFINE_GUID(IID_IMSVidWebDVD,0xcf45f88b,0xac56,0x4ee2,0xa7,0x3a,0xed,0x04,0xe2,0x88,0x5d,0x3c);
392DEFINE_GUID(IID_IMSVidWebDVDAdm,0xb8be681a,0xeb2c,0x47f0,0xb4,0x15,0x94,0xd5,0x45,0x2f,0x0e,0x05);
393DEFINE_GUID(IID_IMSVidWebDVDEvent,0xb4f7a674,0x9b83,0x49cb,0xa3,0x57,0xc6,0x3b,0x87,0x1b,0xe9,0x58);
394DEFINE_GUID(IID_IMSVidXDS,0x11ebc158,0xe712,0x4d1f,0x8b,0xb3,0x1,0xed,0x52,0x74,0xc4,0xce);
395DEFINE_GUID(IID_IPinConnection,0x4a9a62d3,0x27d4,0x403d,0x91,0xe9,0x89,0xf5,0x40,0xe5,0x55,0x34);
396DEFINE_GUID(IID_IPinFlowControl,0xc56e9858,0xdbf3,0x4f6b,0x81,0x19,0x38,0x4a,0xf2,0x06,0x0d,0xeb);
397DEFINE_GUID(IID_IPinInfo,0x56a868bd,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
398DEFINE_GUID(IID_IQueueCommand,0x56a868b7,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
399DEFINE_GUID(IID_IRegFilterInfo,0x56a868bb,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
400DEFINE_GUID(IID_IRegisterServiceProvider,0x7b3a2f01,0x0751,0x48dd,0xb5,0x56,0x00,0x47,0x85,0x17,0x1c,0x54);
401DEFINE_GUID(IID_IRenderEngine,0x6bee3a81,0x66c9,0x11d2,0x91,0x8f,0x00,0xc0,0xdf,0x10,0xd4,0x34);
402DEFINE_GUID(IID_IRenderEngine2,0x6bee3a82,0x66c9,0x11d2,0x91,0x8f,0,0xc0,0xdf,0x10,0xd4,0x34);
403DEFINE_GUID(IID_IResize,0x4ada63a0,0x72d5,0x11d2,0x95,0x2a,0,0x60,0x8,0x18,0x40,0xbc);
404DEFINE_GUID(IID_IScanningTuner,0x1dfd0a5c,0x0284,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
405DEFINE_GUID(IID_ISignalEvents,0x85e2439e,0x0e23,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
406DEFINE_GUID(IID_ISmartRenderEngine,0xf03fa8ce,0x879a,0x4d59,0x9b,0x2c,0x26,0xbb,0x1c,0xf8,0x34,0x61);
407DEFINE_GUID(IID_IStreamBufferConfigure,0xce14dfae,0x4098,0x4af7,0xbb,0xf7,0xd6,0x51,0x1f,0x83,0x54,0x14);
408DEFINE_GUID(IID_IStreamBufferInitialize,0x9ce50f2d,0x6ba7,0x40fb,0xa0,0x34,0x50,0xb1,0xa6,0x74,0xec,0x78);
409DEFINE_GUID(IID_IStreamBufferMediaSeeking,0xf61f5c26,0x863d,0x4afa,0xb0,0xba,0x2f,0x81,0xdc,0x97,0x85,0x96);
410DEFINE_GUID(IID_IStreamBufferRecComp,0x9e259a9b,0x8815,0x42ae,0xb0,0x9f,0x22,0x19,0x70,0xb1,0x54,0xfd);
411DEFINE_GUID(IID_IStreamBufferRecordControl,0xba9b6c99,0xf3c7,0x4ff2,0x92,0xdb,0xcf,0xdd,0x48,0x51,0xbf,0x31);
412DEFINE_GUID(IID_IStreamBufferRecordingAttribute,0x16ca4e03,0xfe69,0x4705,0xbd,0x41,0x5b,0x7d,0xfc,0xc,0x95,0xf3);
413DEFINE_GUID(IID_IStreamBufferSink,0xafd1f242,0x7efd,0x45ee,0xba,0x4e,0x40,0x7a,0x25,0xc9,0xa7,0x7a);
414DEFINE_GUID(IID_IStreamBufferSource,0x1c5bd776,0x6ced,0x4f44,0x81,0x64,0x5e,0xab,0xe,0x98,0xdb,0x12);
415DEFINE_GUID(IID_ITuner,0x28c52640,0x018a,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
416DEFINE_GUID(IID_ITuneRequest,0x07ddc146,0xfc3d,0x11d2,0x9d,0x8c,0x00,0xc0,0x4f,0x72,0xd9,0x80);
417DEFINE_GUID(IID_ITuneRequestInfo,0xa3b152df,0x7a90,0x4218,0xac,0x54,0x98,0x30,0xbe,0xe8,0xc0,0xb6);
418DEFINE_GUID(IID_ITunerEvents,0x68481420,0x0280,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
419DEFINE_GUID(IID_ITuningSpace,0x061c6e30,0xe622,0x11d2,0x94,0x93,0x00,0xc0,0x4f,0x72,0xd9,0x80);
420DEFINE_GUID(IID_ITuningSpaceContainer,0x5b692e84,0xe2f1,0x11d2,0x94,0x93,0x00,0xc0,0x4f,0x72,0xd9,0x80);
421DEFINE_GUID(IID_ITuningSpaces,0x901284e4,0x33fe,0x4b69,0x8d,0x63,0x63,0x4a,0x59,0x6f,0x37,0x56);
422DEFINE_GUID(IID_ITVEAttrMap,0x05500121,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
423DEFINE_GUID(IID_ITVEAttrTimeQ,0x05500122,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
424DEFINE_GUID(IID_ITVECBAnnc,0x05500141,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
425DEFINE_GUID(IID_ITVECBDummy,0x05500144,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
426DEFINE_GUID(IID_ITVECBFile,0x05500143,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
427DEFINE_GUID(IID_ITVECBTrig,0x05500142,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
428DEFINE_GUID(IID_ITVEEnhancement,0x05500104,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
429DEFINE_GUID(IID_ITVEEnhancement_Helper,0x05500204,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
430DEFINE_GUID(IID_ITVEEnhancements,0x05500114,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
431DEFINE_GUID(IID_ITVEFeature,0x05500305,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
432DEFINE_GUID(IID_ITVEFile,0x05500151,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
433DEFINE_GUID(IID_ITVEFilter,0x05500180,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
434DEFINE_GUID(IID_ITVEFilter_Helper,0x05500280,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
435DEFINE_GUID(IID_ITVEMCast,0x05500130,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
436DEFINE_GUID(IID_ITVEMCastCallback,0x05500133,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
437DEFINE_GUID(IID_ITVEMCastManager,0x05500132,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
438DEFINE_GUID(IID_ITVEMCastManager_Helper,0x05500232,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
439DEFINE_GUID(IID_ITVEMCasts,0x05500131,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
440DEFINE_GUID(IID_ITVENavAid,0x05500160,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
441DEFINE_GUID(IID_ITVENavAid_Helper,0x05500260,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
442DEFINE_GUID(IID_ITVENavAid_NoVidCtl,0x05500360,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
443DEFINE_GUID(IID_ITVEService,0x05500105,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
444DEFINE_GUID(IID_ITVEService_Helper,0x05500205,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
445DEFINE_GUID(IID_ITVEServices,0x05500115,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
446DEFINE_GUID(IID_ITVESupervisor,0x05500106,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
447DEFINE_GUID(IID_ITVESupervisor_Helper,0x05500206,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
448DEFINE_GUID(IID_ITVESupervisorGITProxy,0x05500306,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
449DEFINE_GUID(IID_ITVETrack,0x05500102,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
450DEFINE_GUID(IID_ITVETrack_Helper,0x05500202,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
451DEFINE_GUID(IID_ITVETracks,0x05500112,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
452DEFINE_GUID(IID_ITVETrigger,0x05500101,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
453DEFINE_GUID(IID_ITVETrigger_Helper,0x05500201,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
454DEFINE_GUID(IID_ITVETriggerCtrl,0x05500190,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
455DEFINE_GUID(IID_ITVETriggerCtrl_Helper,0x05500191,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
456DEFINE_GUID(IID_ITVEVariation,0x05500103,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
457DEFINE_GUID(IID_ITVEVariation_Helper,0x05500203,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
458DEFINE_GUID(IID_ITVEVariations,0x05500113,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
459DEFINE_GUID(IID_IVideoEncoder,0x2997c3b,0x8e1b,0x460e,0x92,0x70,0x54,0x5e,0xd,0xe9,0x56,0x3e);
460DEFINE_GUID(IID_IVideoWindow,0x56a868b4,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
461DEFINE_GUID(IID_IVMRAspectRatioControl,0xede80b5c,0xbad6,0x4623,0xb5,0x37,0x65,0x58,0x6c,0x9f,0x8d,0xfd);
462DEFINE_GUID(IID_IVMRAspectRatioControl9,0xd96c29,0xbbde,0x4efc,0x99,0x1,0xbb,0x50,0x36,0x39,0x21,0x46);
463DEFINE_GUID(IID_IVMRDeinterlaceControl,0xbb057577,0xdb8,0x4e6a,0x87,0xa7,0x1a,0x8c,0x9a,0x50,0x5a,0xf);
464DEFINE_GUID(IID_IVMRDeinterlaceControl9,0xa215fb8d,0x13c2,0x4f7f,0x99,0x3c,0,0x3d,0x62,0x71,0xa4,0x59);
465DEFINE_GUID(IID_IVMRFilterConfig,0x9e5530c5,0x7034,0x48b4,0xbb,0x46,0x0b,0x8a,0x6e,0xfc,0x8e,0x36);
466DEFINE_GUID(IID_IVMRFilterConfig9,0x5a804648,0x4f66,0x4867,0x9c,0x43,0x4f,0x5c,0x82,0x2c,0xf1,0xb8);
467DEFINE_GUID(IID_IVMRImageCompositor,0x7a4fb5af,0x479f,0x4074,0xbb,0x40,0xce,0x67,0x22,0xe4,0x3c,0x82);
468DEFINE_GUID(IID_IVMRImageCompositor9,0x4a5c89eb,0xdf51,0x4654,0xac,0x2a,0xe4,0x8e,0x2,0xbb,0xab,0xf6);
469DEFINE_GUID(IID_IVMRImagePresenter,0xce704fe7,0xe71e,0x41fb,0xba,0xa2,0xc4,0x40,0x3e,0x11,0x82,0xf5);
470DEFINE_GUID(IID_IVMRImagePresenter9,0x69188c61,0x12a3,0x40f0,0x8f,0xfc,0x34,0x2e,0x7b,0x43,0x3f,0xd7);
471DEFINE_GUID(IID_IVMRImagePresenterConfig,0x9f3a1c85,0x8555,0x49ba,0x93,0x5f,0xbe,0x5b,0x5b,0x29,0xd1,0x78);
472DEFINE_GUID(IID_IVMRImagePresenterConfig9,0x45c15cab,0x6e22,0x420a,0x80,0x43,0xae,0x1f,0xa,0xc0,0x2c,0x7d);
473DEFINE_GUID(IID_IVMRImagePresenterExclModeConfig,0xe6f7ce40,0x4673,0x44f1,0x8f,0x77,0x54,0x99,0xd6,0x8c,0xb4,0xea);
474DEFINE_GUID(IID_IVMRMixerBitmap,0x1e673275,0x0257,0x40aa,0xaf,0x20,0x7c,0x60,0x8d,0x4a,0x04,0x28);
475DEFINE_GUID(IID_IVMRMixerBitmap9,0xced175e5,0x1935,0x4820,0x81,0xbd,0xff,0x6a,0xd0,0xc,0x91,0x8);
476DEFINE_GUID(IID_IVMRMixerControl,0x1c1a17b0,0xbed0,0x415d,0x97,0x4b,0xdc,0x66,0x96,0x13,0x15,0x99);
477DEFINE_GUID(IID_IVMRMixerControl9,0x1a777eaa,0x47c8,0x4930,0xb2,0xc9,0x8f,0xee,0x1c,0x1b,0xf,0x3b);
478DEFINE_GUID(IID_IVMRMonitorConfig,0x9cf0b1b6,0xfbaa,0x4b7f,0x88,0xcf,0xcf,0x1f,0x13,0x0a,0x0d,0xce);
479DEFINE_GUID(IID_IVMRMonitorConfig9,0x46c2e457,0x8ba0,0x4eef,0xb8,0xb,0x6,0x80,0xf0,0x97,0x87,0x49);
480DEFINE_GUID(IID_IVMRSurface,0xa9849bbe,0x9ec8,0x4263,0xb7,0x64,0x62,0x73,0x0f,0x0d,0x15,0xd0);
481DEFINE_GUID(IID_IVMRSurface9,0xdfc581a1,0x6e1f,0x4c3a,0x8d,0xa,0x5e,0x97,0x92,0xea,0x2a,0xfc);
482DEFINE_GUID(IID_IVMRSurfaceAllocator,0x31ce832e,0x4484,0x458b,0x8c,0xca,0xf4,0xd7,0xe3,0xdb,0x0b,0x52);
483DEFINE_GUID(IID_IVMRSurfaceAllocator9,0x8d5148ea,0x3f5d,0x46cf,0x9d,0xf1,0xd1,0xb8,0x96,0xee,0xdb,0x1f);
484DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify,0xaada05a8,0x5a4e,0x4729,0xaf,0x0b,0xce,0xa2,0x7a,0xed,0x51,0xe2);
485DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9,0xdca3f5df,0xbb3a,0x4d03,0xbd,0x81,0x84,0x61,0x4b,0xfb,0xfa,0xc);
486DEFINE_GUID(IID_IVMRVideoStreamControl,0x058d1f11,0x2a54,0x4bef,0xbd,0x54,0xdf,0x70,0x66,0x26,0xb7,0x27);
487DEFINE_GUID(IID_IVMRVideoStreamControl9,0xd0cfe38b,0x93e7,0x4772,0x89,0x57,0x4,0,0xc4,0x9a,0x44,0x85);
488DEFINE_GUID(IID_IVMRWindowlessControl,0x0eb1088c,0x4dcd,0x46f0,0x87,0x8f,0x39,0xda,0xe8,0x6a,0x51,0xb7);
489DEFINE_GUID(IID_IVMRWindowlessControl9,0x8f537d09,0xf85e,0x4414,0xb2,0x3b,0x50,0x2e,0x54,0xc7,0x99,0x27);
490DEFINE_GUID(IID_IVPManager,0xaac18c18,0xe186,0x46d2,0x82,0x5d,0xa1,0xf8,0xdc,0x8e,0x39,0x5a);
491DEFINE_GUID(IID_IXDSCodec,0xc4c4c4b3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
492DEFINE_GUID(IID_IXDSCodecConfig,0xc4c4c4d3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
493DEFINE_GUID(IID_IXDSToRat,0xc5c5c5b0,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
494DEFINE_GUID(IID_IXml2Dex,0x18c628ed,0x962a,0x11d2,0x8d,0x08,0x00,0xa0,0xc9,0x44,0x1e,0x20);
495DEFINE_GUID(LIBID_DexterLib,0x78530b68,0x61f9,0x11d2,0x8c,0xad,0,0xa0,0x24,0x58,0x9,0x2);
496DEFINE_GUID(LIBID_DirectShowStreamLib,0x4e6cde29,0xc0c4,0x11d0,0x8f,0xf1,0,0xc0,0x4f,0xd9,0x18,0x9d);
497DEFINE_GUID(LIBID_EncDec,0xc4c4c400,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
498DEFINE_GUID(LIBID_MSTvCALib,0x11166000,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
499DEFINE_GUID(LIBID_MSTvELib,0x1700c001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
500DEFINE_GUID(LIBID_MSVidCtlLib,0xb0edf154,0x910a,0x11d2,0xb6,0x32,0,0xc0,0x4f,0x79,0x49,0x8e);
501DEFINE_GUID(LIBID_PSISLOADLib,0x8224a083,0x7f8c,0x432d,0xb8,0x3e,0x3c,0x5e,0x9b,0xde,0x35,0x28);
502DEFINE_GUID(LIBID_QuartzTypeLib,0x56a868b0,0xad4,0x11ce,0xb0,0x3a,0,0x20,0xaf,0xb,0xa7,0x70);
503DEFINE_GUID(LIBID_TunerLib,0x9b085638,0x18e,0x11d3,0x9d,0x8e,0,0xc0,0x4f,0x72,0xd9,0x80);
504DEFINE_GUID(LIBID_TVRATINGSLib,0xc5c5c500,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
505DEFINE_GUID(MEDIASUBTYPE_I420,0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
506DEFINE_GUID(MR_VIDEO_RENDER_SERVICE,0x1092a86c,0xab1a,0x459a,0xa3,0x36,0x83,0x1f,0xbc,0x4d,0x11,0xff);
507DEFINE_GUID(MR_VIDEO_MIXER_SERVICE,0x73cd2fc,0x6cf4,0x40b7,0x88,0x59,0xe8,0x95,0x52,0xc8,0x41,0xf8);
508DEFINE_GUID(MR_VIDEO_ACCELERATION_SERVICE,0xefef5175,0x5c7d,0x4ce2,0xbb,0xbd,0x34,0xff,0x8b,0xca,0x65,0x54);
509DEFINE_GUID(MR_BUFFER_SERVICE,0xa562248c,0x9ac6,0x4ffc,0x9f,0xba,0x3a,0xf8,0xf8,0xad,0x1a,0x4d);
510DEFINE_GUID(VIDEO_ZOOM_RECT,0x7aaa1638,0x1b7f,0x4c93,0xbd,0x89,0x5b,0x9c,0x9f,0xb6,0xfc,0xf0);
lib/libc/mingw/libsrc/taskschd.c created+8
...@@ -0,0 +1,8 @@
1#include <rpc.h>
2#include <rpcndr.h>
3#include <windows.h>
4#include <ole2.h>
5#include <oaidl.h>
6#include <ocidl.h>
7#include <initguid.h>
8#include <taskschd.h>
lib/libc/mingw/libsrc/vss-uuid.c created+17
...@@ -0,0 +1,17 @@
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/* crt/libsrc/vss-uuid.c */
8/* Generate GUIDs for Volume Shadow Copy Service interfaces */
9
10#include <windows.h>
11#include <initguid.h>
12#include <vss.h>
13#include <vsadmin.h>
14#include <vsbackup.h>
15#include <vsmgmt.h>
16#include <vsprov.h>
17#include <vswriter.h>
lib/libc/mingw/libsrc/wbemuuid.c created+17
...@@ -0,0 +1,17 @@
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/* crt/libsrc/wbemuuid.c */
8/* Generate GUIDs for Windows Management Instrumentation (WMI) Provider interfaces */
9
10#define INITGUID
11#include <basetyps.h>
12#include <wbemads.h>
13#include <wbemcli.h>
14#include <wbemdisp.h>
15#include <wbemprov.h>
16#include <wbemtran.h>
17#include <wmiutils.h>
lib/libc/mingw/libsrc/windowscodecs.c created+7
...@@ -0,0 +1,7 @@
1
2#include <oaidl.h>
3#include <ocidl.h>
4
5#include <initguid.h>
6#include <dxgi.h>
7#include <wincodec.h>
lib/libc/mingw/libsrc/wmcodecdspuuid.c created+8
...@@ -0,0 +1,8 @@
1
2#include <windows.h>
3#include <propsys.h>
4#include <mediaobj.h>
5#include <strmif.h>
6
7#include <initguid.h>
8#include <wmcodecdsp.h>
lib/libc/mingw/libsrc/ws2_32.c created+6
...@@ -0,0 +1,6 @@
1#include <winsock2.h>
2#include <ws2tcpip.h>
3
4/* IPv6 constants for use in structure assignments (RFC 2553). */
5const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
6const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT;
lib/libc/mingw/libsrc/ws2tcpip/gai_strerrorA.c created+15
...@@ -0,0 +1,15 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <stdlib.h>
7#include <winsock2.h>
8#include <ws2tcpip.h>
9
10char *gai_strerrorA(int ecode)
11{
12 static char buff[GAI_STRERROR_BUFFER_SIZE + 1];
13 wcstombs(buff, gai_strerrorW(ecode), GAI_STRERROR_BUFFER_SIZE + 1);
14 return buff;
15}
lib/libc/mingw/libsrc/ws2tcpip/gai_strerrorW.c created+17
...@@ -0,0 +1,17 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9WCHAR *gai_strerrorW(int ecode)
10{
11 DWORD dwMsgLen __attribute__((unused));
12 static WCHAR buff[GAI_STRERROR_BUFFER_SIZE + 1];
13 dwMsgLen = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_MAX_WIDTH_MASK,
14 NULL, ecode, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPWSTR)buff,
15 GAI_STRERROR_BUFFER_SIZE, NULL);
16 return buff;
17}
lib/libc/mingw/libsrc/ws2tcpip/in6_addr_equal.c created+12
...@@ -0,0 +1,12 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_ADDR_EQUAL(const struct in6_addr *a,const struct in6_addr *b)
10{
11 return (memcmp(a, b, sizeof(struct in6_addr)) == 0);
12}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_linklocal.c created+13
...@@ -0,0 +1,13 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a)
10{
11 return ((a->s6_bytes[0] == 0xfe) &&
12 ((a->s6_bytes[1] & 0xc0) == 0x80));
13}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_loopback.c created+19
...@@ -0,0 +1,19 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a)
10{
11 return ((a->s6_words[0] == 0) &&
12 (a->s6_words[1] == 0) &&
13 (a->s6_words[2] == 0) &&
14 (a->s6_words[3] == 0) &&
15 (a->s6_words[4] == 0) &&
16 (a->s6_words[5] == 0) &&
17 (a->s6_words[6] == 0) &&
18 (a->s6_words[7] == 0x0100));
19}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_mc_global.c created+16
...@@ -0,0 +1,16 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_MULTICAST
10#define IN6_IS_ADDR_MULTICAST(a) ( (a)->s6_bytes[0] == 0xff )
11
12int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a)
13{
14 return IN6_IS_ADDR_MULTICAST(a) &&
15 ((a->s6_bytes[1] & 0xf) == 0xe);
16}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_mc_linklocal.c created+16
...@@ -0,0 +1,16 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_MULTICAST
10#define IN6_IS_ADDR_MULTICAST(a) ( (a)->s6_bytes[0] == 0xff )
11
12int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a)
13{
14 return IN6_IS_ADDR_MULTICAST(a) &&
15 ((a->s6_bytes[1] & 0xf) == 2);
16}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_mc_nodelocal.c created+16
...@@ -0,0 +1,16 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_MULTICAST
10#define IN6_IS_ADDR_MULTICAST(a) ( (a)->s6_bytes[0] == 0xff )
11
12int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a)
13{
14 return IN6_IS_ADDR_MULTICAST(a) &&
15 ((a->s6_bytes[1] & 0xf) == 1);
16}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_mc_orglocal.c created+16
...@@ -0,0 +1,16 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_MULTICAST
10#define IN6_IS_ADDR_MULTICAST(a) ( (a)->s6_bytes[0] == 0xff )
11
12int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a)
13{
14 return IN6_IS_ADDR_MULTICAST(a) &&
15 ((a->s6_bytes[1] & 0xf) == 8);
16}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_mc_sitelocal.c created+16
...@@ -0,0 +1,16 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_MULTICAST
10#define IN6_IS_ADDR_MULTICAST(a) ( (a)->s6_bytes[0] == 0xff )
11
12int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a)
13{
14 return IN6_IS_ADDR_MULTICAST(a) &&
15 ((a->s6_bytes[1] & 0xf) == 5);
16}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_multicast.c created+12
...@@ -0,0 +1,12 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a)
10{
11 return (a->s6_bytes[0] == 0xff);
12}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_sitelocal.c created+13
...@@ -0,0 +1,13 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a)
10{
11 return ((a->s6_bytes[0] == 0xfe) &&
12 ((a->s6_bytes[1] & 0xc0) == 0xc0));
13}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_unspecified.c created+19
...@@ -0,0 +1,19 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a)
10{
11 return ((a->s6_words[0] == 0) &&
12 (a->s6_words[1] == 0) &&
13 (a->s6_words[2] == 0) &&
14 (a->s6_words[3] == 0) &&
15 (a->s6_words[4] == 0) &&
16 (a->s6_words[5] == 0) &&
17 (a->s6_words[6] == 0) &&
18 (a->s6_words[7] == 0));
19}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_v4compat.c created+21
...@@ -0,0 +1,21 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a)
10{
11 return ((a->s6_words[0] == 0) &&
12 (a->s6_words[1] == 0) &&
13 (a->s6_words[2] == 0) &&
14 (a->s6_words[3] == 0) &&
15 (a->s6_words[4] == 0) &&
16 (a->s6_words[5] == 0) &&
17 !((a->s6_words[6] == 0) &&
18 (a->s6_addr[14] == 0) &&
19 ((a->s6_addr[15] == 0) ||
20 (a->s6_addr[15] == 1)) ) );
21}
lib/libc/mingw/libsrc/ws2tcpip/in6_is_addr_v4mapped.c created+17
...@@ -0,0 +1,17 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a)
10{
11 return ((a->s6_words[0] == 0) &&
12 (a->s6_words[1] == 0) &&
13 (a->s6_words[2] == 0) &&
14 (a->s6_words[3] == 0) &&
15 (a->s6_words[4] == 0) &&
16 (a->s6_words[5] == 0xffff));
17}
lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_loopback.c created+13
...@@ -0,0 +1,13 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a)
10{
11 memset(a->s6_bytes, 0, sizeof(struct in6_addr));
12 a->s6_bytes[15] = 1;
13}
lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_unspecified.c created+12
...@@ -0,0 +1,12 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a)
10{
11 memset(a->s6_bytes, 0, sizeof(struct in6_addr));
12}
lib/libc/mingw/libsrc/ws2tcpip/in6addr_isany.c created+23
...@@ -0,0 +1,23 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_UNSPECIFIED
10#define IN6_IS_ADDR_UNSPECIFIED(a) ( ((a)->s6_words[0] == 0) && \
11 ((a)->s6_words[1] == 0) && \
12 ((a)->s6_words[2] == 0) && \
13 ((a)->s6_words[3] == 0) && \
14 ((a)->s6_words[4] == 0) && \
15 ((a)->s6_words[5] == 0) && \
16 ((a)->s6_words[6] == 0) && \
17 ((a)->s6_words[7] == 0) )
18
19int IN6ADDR_ISANY(const struct sockaddr_in6 *a)
20{
21 return ((a->sin6_family == AF_INET6) &&
22 IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr));
23}
lib/libc/mingw/libsrc/ws2tcpip/in6addr_isloopback.c created+23
...@@ -0,0 +1,23 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_IS_ADDR_LOOPBACK
10#define IN6_IS_ADDR_LOOPBACK(a) ( ((a)->s6_words[0] == 0) && \
11 ((a)->s6_words[1] == 0) && \
12 ((a)->s6_words[2] == 0) && \
13 ((a)->s6_words[3] == 0) && \
14 ((a)->s6_words[4] == 0) && \
15 ((a)->s6_words[5] == 0) && \
16 ((a)->s6_words[6] == 0) && \
17 ((a)->s6_words[7] == 0x0100) )
18
19int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *a)
20{
21 return ((a->sin6_family==AF_INET6) &&
22 IN6_IS_ADDR_LOOPBACK(&a->sin6_addr));
23}
lib/libc/mingw/libsrc/ws2tcpip/in6addr_setany.c created+19
...@@ -0,0 +1,19 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_SET_ADDR_UNSPECIFIED
10#define IN6_SET_ADDR_UNSPECIFIED(a) memset((a)->s6_bytes,0,sizeof(struct in6_addr))
11
12void IN6ADDR_SETANY(struct sockaddr_in6 *a)
13{
14 a->sin6_family = AF_INET6;
15 a->sin6_port = 0;
16 a->sin6_flowinfo = 0;
17 IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr);
18 a->sin6_scope_id = 0;
19}
lib/libc/mingw/libsrc/ws2tcpip/in6addr_setloopback.c created+23
...@@ -0,0 +1,23 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <ws2tcpip.h>
8
9#undef IN6_SET_ADDR_LOOPBACK
10#define IN6_SET_ADDR_LOOPBACK(a) \
11 do { \
12 memset((a)->s6_bytes,0,sizeof(struct in6_addr));\
13 (a)->s6_bytes[15] = 1; \
14 } while (0)
15
16void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a)
17{
18 a->sin6_family = AF_INET6;
19 a->sin6_port = 0;
20 a->sin6_flowinfo = 0;
21 IN6_SET_ADDR_LOOPBACK(&a->sin6_addr);
22 a->sin6_scope_id = 0;
23}
lib/libc/mingw/libsrc/wspiapi/WspiapiClone.c created+28
...@@ -0,0 +1,28 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiClone (WORD wPort, struct addrinfo *ptResult)
11{
12 struct addrinfo *p = NULL;
13 struct addrinfo *n = NULL;
14
15 for (p = ptResult; p != NULL;)
16 {
17 n = WspiapiNewAddrInfo (SOCK_DGRAM, p->ai_protocol, wPort,
18 ((struct sockaddr_in *) p->ai_addr)->sin_addr.s_addr);
19 if (!n)
20 break;
21 n->ai_next = p->ai_next;
22 p->ai_next = n;
23 p = n->ai_next;
24 }
25 if (p != NULL)
26 return EAI_MEMORY;
27 return 0;
28}
lib/libc/mingw/libsrc/wspiapi/WspiapiFreeAddrInfo.c created+17
...@@ -0,0 +1,17 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9void WINAPI
10WspiapiFreeAddrInfo (struct addrinfo *ai)
11{
12 static WSPIAPI_PFREEADDRINFO pfFreeAddrInfo = NULL;
13
14 if (!pfFreeAddrInfo)
15 pfFreeAddrInfo = (WSPIAPI_PFREEADDRINFO) WspiapiLoad(2);
16 (*pfFreeAddrInfo) (ai);
17}
lib/libc/mingw/libsrc/wspiapi/WspiapiGetAddrInfo.c created+21
...@@ -0,0 +1,21 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiGetAddrInfo(const char *nodename, const char *servname,
11 const struct addrinfo *hints, struct addrinfo **res)
12{
13 static WSPIAPI_PGETADDRINFO pfGetAddrInfo = NULL;
14 int err;
15
16 if (!pfGetAddrInfo)
17 pfGetAddrInfo = (WSPIAPI_PGETADDRINFO) WspiapiLoad (0);
18 err = (*pfGetAddrInfo) (nodename, servname, hints, res);
19 WSASetLastError (err);
20 return err;
21}
lib/libc/mingw/libsrc/wspiapi/WspiapiGetNameInfo.c created+22
...@@ -0,0 +1,22 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiGetNameInfo (const struct sockaddr *sa, socklen_t salen,
11 char *host, size_t hostlen,
12 char *serv, size_t servlen, int flags)
13{
14 static WSPIAPI_PGETNAMEINFO pfGetNameInfo = NULL;
15 int err;
16
17 if (!pfGetNameInfo)
18 pfGetNameInfo = (WSPIAPI_PGETNAMEINFO) WspiapiLoad(1);
19 err = (*pfGetNameInfo) (sa, salen, host, hostlen, serv, servlen, flags);
20 WSASetLastError (err);
21 return err;
22}
lib/libc/mingw/libsrc/wspiapi/WspiapiLegacyFreeAddrInfo.c created+23
...@@ -0,0 +1,23 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9void WINAPI
10WspiapiLegacyFreeAddrInfo (struct addrinfo *ptHead)
11{
12 struct addrinfo *p;
13
14 for (p = ptHead; p != NULL; p = ptHead)
15 {
16 if (p->ai_canonname)
17 WspiapiFree (p->ai_canonname);
18 if (p->ai_addr)
19 WspiapiFree (p->ai_addr);
20 ptHead = p->ai_next;
21 WspiapiFree (p);
22 }
23}
lib/libc/mingw/libsrc/wspiapi/WspiapiLegacyGetAddrInfo.c created+112
...@@ -0,0 +1,112 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiLegacyGetAddrInfo(const char *pszNodeName,
11 const char *pszServiceName,
12 const struct addrinfo *ptHints,
13 struct addrinfo **pptResult)
14{
15 int err = 0, iFlags = 0, iFamily = PF_UNSPEC, iSocketType = 0, iProtocol = 0;
16 struct in_addr inAddress;
17 struct servent *svc = NULL;
18 char *pc = NULL;
19 WINBOOL isCloned = FALSE;
20 WORD tcpPort = 0, udpPort = 0, port = 0;
21
22 *pptResult = NULL;
23 if (!pszNodeName && !pszServiceName)
24 return EAI_NONAME;
25 if (ptHints)
26 {
27 if (ptHints->ai_addrlen != 0 || ptHints->ai_canonname != NULL
28 || ptHints->ai_addr!=NULL || ptHints->ai_next != NULL)
29 return EAI_FAIL;
30 iFlags = ptHints->ai_flags;
31 if ((iFlags & AI_CANONNAME) != 0 && !pszNodeName)
32 return EAI_BADFLAGS;
33 iFamily = ptHints->ai_family;
34 if (iFamily != PF_UNSPEC && iFamily != PF_INET)
35 return EAI_FAMILY;
36 iSocketType = ptHints->ai_socktype;
37 if (iSocketType != 0 && iSocketType != SOCK_STREAM && iSocketType != SOCK_DGRAM
38 && iSocketType != SOCK_RAW)
39 return EAI_SOCKTYPE;
40 iProtocol = ptHints->ai_protocol;
41 }
42
43 if (pszServiceName)
44 {
45 port = (WORD) strtoul (pszServiceName, &pc, 10);
46 if(*pc == 0)
47 {
48 port = tcpPort = udpPort = htons (port);
49 if (iSocketType == 0)
50 {
51 isCloned = TRUE;
52 iSocketType = SOCK_STREAM;
53 }
54 }
55 else
56 {
57 if (iSocketType == 0 || iSocketType == SOCK_DGRAM)
58 {
59 svc = getservbyname(pszServiceName, "udp");
60 if (svc)
61 port = udpPort = svc->s_port;
62 }
63 if (iSocketType == 0 || iSocketType == SOCK_STREAM)
64 {
65 svc = getservbyname(pszServiceName, "tcp");
66 if (svc)
67 port = tcpPort = svc->s_port;
68 }
69 if (port == 0)
70 return (iSocketType ? EAI_SERVICE : EAI_NONAME);
71 if (iSocketType==0)
72 {
73 iSocketType = (tcpPort) ? SOCK_STREAM : SOCK_DGRAM;
74 isCloned = (tcpPort && udpPort);
75 }
76 }
77 }
78 if (!pszNodeName || WspiapiParseV4Address(pszNodeName,&inAddress.s_addr))
79 {
80 if (!pszNodeName)
81 {
82 inAddress.s_addr = htonl ((iFlags & AI_PASSIVE) ? INADDR_ANY : INADDR_LOOPBACK);
83 }
84 *pptResult = WspiapiNewAddrInfo(iSocketType, iProtocol, port, inAddress.s_addr);
85 if (!(*pptResult))
86 err = EAI_MEMORY;
87 if (!err && pszNodeName)
88 {
89 (*pptResult)->ai_flags |= AI_NUMERICHOST;
90 if (iFlags & AI_CANONNAME)
91 {
92 (*pptResult)->ai_canonname =
93 WspiapiStrdup (inet_ntoa (inAddress));
94 if (!(*pptResult)->ai_canonname)
95 err = EAI_MEMORY;
96 }
97 }
98 }
99 else if (iFlags & AI_NUMERICHOST)
100 err = EAI_NONAME;
101 else
102 err = WspiapiLookupNode (pszNodeName, iSocketType, iProtocol, port,
103 (iFlags & AI_CANONNAME), pptResult);
104 if (!err && isCloned)
105 err = WspiapiClone(udpPort, *pptResult);
106 if (err)
107 {
108 WspiapiLegacyFreeAddrInfo (*pptResult);
109 *pptResult = NULL;
110 }
111 return err;
112}
lib/libc/mingw/libsrc/wspiapi/WspiapiLegacyGetNameInfo.c created+88
...@@ -0,0 +1,88 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiLegacyGetNameInfo (const struct sockaddr *ptSocketAddress,
11 socklen_t tSocketLength,
12 char *pszNodeName, size_t tNodeLength,
13 char *pszServiceName, size_t tServiceLength,
14 int iFlags)
15{
16 struct servent *svc;
17 WORD port;
18 char str[] = "65535";
19 char *pstr = str;
20 struct hostent *phost;
21 struct in_addr l_inaddr;
22 char *pnode = NULL, *pc = NULL;
23
24 if (!ptSocketAddress || tSocketLength < (int) sizeof (struct sockaddr))
25 return EAI_FAIL;
26 if (ptSocketAddress->sa_family != AF_INET)
27 return EAI_FAMILY;
28 if (tSocketLength < (int) sizeof (struct sockaddr_in))
29 return EAI_FAIL;
30 if (!(pszNodeName && tNodeLength) && !(pszServiceName && tServiceLength))
31 return EAI_NONAME;
32 if ((iFlags & NI_NUMERICHOST) != 0 && (iFlags & NI_NAMEREQD) != 0)
33 return EAI_BADFLAGS;
34 if (pszServiceName && tServiceLength)
35 {
36 port = ((struct sockaddr_in *) ptSocketAddress)->sin_port;
37 if (iFlags & NI_NUMERICSERV)
38 sprintf (str, "%u", ntohs (port));
39 else
40 {
41 svc = getservbyport(port, (iFlags & NI_DGRAM) ? "udp" : NULL);
42 if (svc && svc->s_name)
43 pstr = svc->s_name;
44 else
45 sprintf (str, "%u", ntohs (port));
46 }
47 if (tServiceLength > strlen (pstr))
48 strcpy (pszServiceName, pstr);
49 else
50 return EAI_FAIL;
51 }
52 if (pszNodeName && tNodeLength)
53 {
54 l_inaddr = ((struct sockaddr_in *) ptSocketAddress)->sin_addr;
55 if (iFlags & NI_NUMERICHOST)
56 pnode = inet_ntoa (l_inaddr);
57 else
58 {
59 phost = gethostbyaddr ((char *) &l_inaddr, sizeof (struct in_addr), AF_INET);
60 if (phost && phost->h_name)
61 {
62 pnode = phost->h_name;
63 if ((iFlags & NI_NOFQDN) != 0 && ((pc = strchr (pnode,'.')) != NULL))
64 *pc = 0;
65 }
66 else
67 {
68 if ((iFlags & NI_NAMEREQD) != 0)
69 {
70 switch(WSAGetLastError())
71 {
72 case WSAHOST_NOT_FOUND: return EAI_NONAME;
73 case WSATRY_AGAIN: return EAI_AGAIN;
74 case WSANO_RECOVERY: return EAI_FAIL;
75 default: return EAI_NONAME;
76 }
77 }
78 else
79 pnode = inet_ntoa (l_inaddr);
80 }
81 }
82 if (tNodeLength > strlen (pnode))
83 strcpy (pszNodeName, pnode);
84 else
85 return EAI_FAIL;
86 }
87 return 0;
88}
lib/libc/mingw/libsrc/wspiapi/WspiapiLoad.c created+75
...@@ -0,0 +1,75 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9FARPROC WINAPI
10WspiapiLoad (WORD wFunction)
11{
12 static WINBOOL isinit = FALSE;
13 static WSPIAPI_FUNCTION rgtGlobal[] = WSPIAPI_FUNCTION_ARRAY;
14 static const int iNumGlobal = (sizeof(rgtGlobal) / sizeof(WSPIAPI_FUNCTION));
15 HMODULE hlib = NULL;
16 WSPIAPI_FUNCTION rgtLocal[] = WSPIAPI_FUNCTION_ARRAY;
17 FARPROC fScratch = NULL;
18 int i = 0;
19
20 if (isinit)
21 return rgtGlobal[wFunction].pfAddress;
22
23 for (;;)
24 {
25 CHAR systemdir[MAX_PATH + 1], path[MAX_PATH + 8];
26
27 if (GetSystemDirectoryA (systemdir, MAX_PATH) == 0)
28 break;
29 strcpy (path, systemdir);
30 strcat (path, "\\ws2_32");
31 hlib = LoadLibraryA (path);
32 if(hlib != NULL)
33 {
34 fScratch = GetProcAddress (hlib, "getaddrinfo");
35 if (!fScratch)
36 {
37 FreeLibrary (hlib);
38 hlib = NULL;
39 }
40 }
41 if (hlib != NULL)
42 break;
43 strcpy (path, systemdir);
44 strcat (path, "\\wship6");
45 hlib = LoadLibraryA (path);
46 if (hlib != NULL)
47 {
48 if ((fScratch = GetProcAddress (hlib, "getaddrinfo")) == NULL)
49 {
50 FreeLibrary (hlib);
51 hlib = NULL;
52 }
53 }
54 break;
55 }
56 if (hlib != NULL)
57 {
58 for (i = 0; i < iNumGlobal; i++)
59 {
60 if ((rgtLocal[i].pfAddress = GetProcAddress (hlib, rgtLocal[i].pszName)) == NULL)
61 {
62 FreeLibrary (hlib);
63 hlib = NULL;
64 break;
65 }
66 }
67 if (hlib != NULL)
68 {
69 for (i = 0; i < iNumGlobal; i++)
70 rgtGlobal[i].pfAddress = rgtLocal[i].pfAddress;
71 }
72 }
73 isinit = TRUE;
74 return rgtGlobal[wFunction].pfAddress;
75}
lib/libc/mingw/libsrc/wspiapi/WspiapiLookupNode.c created+44
...@@ -0,0 +1,44 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiLookupNode (const char *pszNodeName,
11 int iSocketType, int iProtocol,
12 WORD wPort, WINBOOL bAI_CANONNAME,
13 struct addrinfo **pptResult)
14{
15 int err = 0, cntAlias = 0;
16 char name[NI_MAXHOST] = "";
17 char alias[NI_MAXHOST] = "";
18 char *pname = name, *palias = alias, *tmp = NULL;
19
20 strncpy (pname, pszNodeName, NI_MAXHOST - 1);
21 pname[NI_MAXHOST - 1] = 0;
22 for (;;)
23 {
24 err = WspiapiQueryDNS (pszNodeName, iSocketType, iProtocol, wPort, palias, pptResult);
25 if (err)
26 break;
27 if (*pptResult)
28 break;
29 ++cntAlias;
30 if (strlen (palias) == 0 || !strcmp (pname, palias) || cntAlias == 16)
31 {
32 err = EAI_FAIL;
33 break;
34 }
35 WspiapiSwap(pname, palias, tmp);
36 }
37 if (!err && bAI_CANONNAME)
38 {
39 (*pptResult)->ai_canonname = WspiapiStrdup (palias);
40 if (!(*pptResult)->ai_canonname)
41 err = EAI_MEMORY;
42 }
43 return err;
44}
lib/libc/mingw/libsrc/wspiapi/WspiapiNewAddrInfo.c created+31
...@@ -0,0 +1,31 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9struct addrinfo * WINAPI
10WspiapiNewAddrInfo (int iSocketType, int iProtocol, WORD wPort, DWORD dwAddress)
11{
12 struct addrinfo *n;
13 struct sockaddr_in *pa;
14
15 if ((n = (struct addrinfo *) WspiapiMalloc (sizeof (struct addrinfo))) == NULL)
16 return NULL;
17 if ((pa = (struct sockaddr_in *) WspiapiMalloc (sizeof(struct sockaddr_in))) == NULL)
18 {
19 WspiapiFree(n);
20 return NULL;
21 }
22 pa->sin_family = AF_INET;
23 pa->sin_port = wPort;
24 pa->sin_addr.s_addr = dwAddress;
25 n->ai_family = PF_INET;
26 n->ai_socktype = iSocketType;
27 n->ai_protocol = iProtocol;
28 n->ai_addrlen = sizeof (struct sockaddr_in);
29 n->ai_addr = (struct sockaddr *) pa;
30 return n;
31}
lib/libc/mingw/libsrc/wspiapi/WspiapiParseV4Address.c created+26
...@@ -0,0 +1,26 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9WINBOOL WINAPI
10WspiapiParseV4Address (const char *pszAddress, PDWORD pdwAddress)
11{
12 DWORD dwAddress = 0;
13 const char *h = NULL;
14 int cnt;
15
16 for (cnt = 0,h = pszAddress; *h != 0; h++)
17 if (h[0] == '.')
18 cnt++;
19 if (cnt != 3)
20 return FALSE;
21 dwAddress = inet_addr (pszAddress);
22 if (dwAddress == INADDR_NONE)
23 return FALSE;
24 *pdwAddress = dwAddress;
25 return TRUE;
26}
lib/libc/mingw/libsrc/wspiapi/WspiapiQueryDNS.c created+48
...@@ -0,0 +1,48 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9int WINAPI
10WspiapiQueryDNS(const char *pszNodeName,
11 int iSocketType, int iProtocol,
12 WORD wPort, char pszAlias[NI_MAXHOST],
13 struct addrinfo **pptResult)
14{
15 struct addrinfo **paddrinfo = pptResult;
16 struct hostent *phost = NULL;
17 char **h;
18
19 *paddrinfo = NULL;
20 pszAlias[0] = 0;
21 phost = gethostbyname (pszNodeName);
22 if (phost)
23 {
24 if (phost->h_addrtype == AF_INET && phost->h_length == sizeof(struct in_addr))
25 {
26 for (h = phost->h_addr_list; *h != NULL; h++)
27 {
28 *paddrinfo = WspiapiNewAddrInfo (iSocketType, iProtocol, wPort,
29 ((struct in_addr *) *h)->s_addr);
30 if (!*paddrinfo)
31 return EAI_MEMORY;
32 paddrinfo = &((*paddrinfo)->ai_next);
33 }
34 }
35 strncpy (pszAlias, phost->h_name, NI_MAXHOST - 1);
36 pszAlias[NI_MAXHOST - 1] = 0;
37 return 0;
38 }
39 switch(WSAGetLastError())
40 {
41 case WSAHOST_NOT_FOUND: break;
42 case WSATRY_AGAIN: return EAI_AGAIN;
43 case WSANO_RECOVERY: return EAI_FAIL;
44 case WSANO_DATA: return EAI_NODATA;
45 default: break;
46 }
47 return EAI_NONAME;
48}
lib/libc/mingw/libsrc/wspiapi/WspiapiStrdup.c created+23
...@@ -0,0 +1,23 @@
1#ifndef WIN32_LEAN_AND_MEAN
2#define WIN32_LEAN_AND_MEAN
3#endif
4#undef __CRT__NO_INLINE
5#define __CRT__NO_INLINE
6#include <winsock2.h>
7#include <wspiapi.h>
8
9char * WINAPI
10WspiapiStrdup (const char *pszString)
11{
12 char *rstr;
13 size_t szlen;
14
15 if(!pszString)
16 return NULL;
17 szlen = strlen(pszString) + 1;
18 rstr = (char *) WspiapiMalloc (szlen);
19 if (!rstr)
20 return NULL;
21 strcpy (rstr, pszString);
22 return rstr;
23}
lib/libc/mingw/math/_huge.c created+2
...@@ -0,0 +1,2 @@
1/* For UCRT, positive infinity */
2double const _HUGE = __builtin_huge_val();
lib/libc/mingw/math/arm-common/acosh.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
7#include <math.h>
8
9double acosh(double x)
10{
11 if (x < 1.0)
12 return NAN;
13 if (isinf(x*x))
14 return log(2) + log(x);
15 return log(x + sqrt(x*x - 1));
16}
lib/libc/mingw/math/arm-common/acoshf.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
7#include <math.h>
8
9float acoshf(float x)
10{
11 if (x < 1.0)
12 return NAN;
13 if (isinf(x*x))
14 return logf(2) + logf(x);
15 return logf(x + sqrtf(x*x - 1));
16}
lib/libc/mingw/math/arm-common/acoshl.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
7#include <math.h>
8
9long double acoshl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return acosh(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/asinh.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 <math.h>
8
9double asinh(double x)
10{
11 if (isinf(x*x + 1)) {
12 if (x > 0)
13 return log(2) + log(x);
14 else
15 return -log(2) - log(-x);
16 }
17 return log(x + sqrt(x*x + 1));
18}
lib/libc/mingw/math/arm-common/asinhf.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 <math.h>
8
9float asinhf(float x)
10{
11 if (isinf(x*x + 1)) {
12 if (x > 0)
13 return logf(2) + logf(x);
14 else
15 return -logf(2) - logf(-x);
16 }
17 return logf(x + sqrtf(x*x + 1));
18}
lib/libc/mingw/math/arm-common/asinhl.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
7#include <math.h>
8
9long double asinhl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return asinh(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/atanh.c deleted-17
...@@ -1,17 +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 <math.h>
8
9double atanh(double x)
10{
11 if (x > 1 || x < -1)
12 return NAN;
13 if (-1e-6 < x && x < 1e-6)
14 return x + x*x*x/3;
15 else
16 return (log(1 + x) - log(1 - x)) / 2;
17}
lib/libc/mingw/math/arm-common/atanhf.c deleted-17
...@@ -1,17 +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 <math.h>
8
9float atanhf(float x)
10{
11 if (x > 1 || x < -1)
12 return NAN;
13 if (-1e-6 < x && x < 1e-6)
14 return x + x*x*x/3;
15 else
16 return (logf(1 + x) - logf(1 - x)) / 2;
17}
lib/libc/mingw/math/arm-common/atanhl.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
7#include <math.h>
8
9long double atanhl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return atanh(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/copysignl.c deleted-11
...@@ -1,11 +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 <math.h>
7
8long double copysignl(long double x, long double y)
9{
10 return copysign(x, y);
11}
lib/libc/mingw/math/arm-common/expm1.c 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
7#include <math.h>
8
9double expm1(double x)
10{
11 return exp(x) - 1.0;
12}
lib/libc/mingw/math/arm-common/expm1f.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
7#include <math.h>
8
9float expm1f(float x)
10{
11 // Intentionally using double version of exp() here in the float version of
12 // expm1, to preserve as much accuracy as possible in the intermediate
13 // result.
14 return exp(x) - 1.0;
15}
lib/libc/mingw/math/arm-common/expm1l.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
7#include <math.h>
8
9long double expm1l(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return expm1(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/ilogb.c deleted-19
...@@ -1,19 +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 <math.h>
8#include <limits.h>
9
10int ilogb(double x)
11{
12 if (x == 0.0)
13 return FP_ILOGB0;
14 if (isinf(x))
15 return INT_MAX;
16 if (isnan(x))
17 return FP_ILOGBNAN;
18 return (int) logb(x);
19}
lib/libc/mingw/math/arm-common/ilogbf.c deleted-19
...@@ -1,19 +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 <math.h>
8#include <limits.h>
9
10int ilogbf(float x)
11{
12 if (x == 0.0)
13 return FP_ILOGB0;
14 if (isinf(x))
15 return INT_MAX;
16 if (isnan(x))
17 return FP_ILOGBNAN;
18 return (int) logbf(x);
19}
lib/libc/mingw/math/arm-common/ilogbl.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
7#include <math.h>
8
9int ilogbl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return ilogb(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/log1p.c 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
7#include <math.h>
8
9double log1p(double x)
10{
11 return log(x + 1.0);
12}
lib/libc/mingw/math/arm-common/log1pf.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
7#include <math.h>
8
9float log1pf(float x)
10{
11 // Intentionally using double version of log() here in the float version of
12 // log1p, to preserve as much accuracy as possible in the intermediate
13 // parameter.
14 return log(x + 1.0);
15}
lib/libc/mingw/math/arm-common/log1pl.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
7#include <math.h>
8
9long double log1pl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return log1p(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/log2.c deleted-55
...@@ -1,55 +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 <math.h>
8#include <stdint.h>
9
10typedef union ieee754_double_ {
11 struct __attribute__((__packed__)) {
12 uint64_t f52 : 52;
13 uint64_t exp : 11;
14 uint64_t sgn : 1;
15 };
16 double f;
17} ieee754_double;
18
19typedef union ieee754_float_ {
20 struct __attribute__((__packed__)) {
21 uint32_t f23 : 23;
22 uint32_t exp : 8;
23 uint32_t sgn : 1;
24 };
25 float f;
26} ieee754_float;
27
28double log2(double x)
29{
30 ieee754_double u = { .f = x };
31 if (u.sgn == 0 && u.f52 == 0 && u.exp > 0 && u.exp < 0x7ff) {
32 // Handle exact powers of two exactly
33 return (int)u.exp - 1023;
34 }
35 return log(x) / 0.69314718246459960938;
36}
37
38float log2f(float x)
39{
40 ieee754_float u = { .f = x };
41 if (u.sgn == 0 && u.f23 == 0 && u.exp > 0 && u.exp < 0xff) {
42 // Handle exact powers of two exactly
43 return (int)u.exp - 127;
44 }
45 return logf(x) / 0.69314718246459960938f;
46}
47
48long double log2l(long double x)
49{
50#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
51 return log2(x);
52#else
53#error Not supported on your platform yet
54#endif
55}
lib/libc/mingw/math/arm-common/logb.c deleted-17
...@@ -1,17 +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 <math.h>
8#include <limits.h>
9
10extern double (* __MINGW_IMP_SYMBOL(_logb))(double);
11
12double logb(double x)
13{
14 if (isinf(x))
15 return INFINITY;
16 return __MINGW_IMP_SYMBOL(_logb)(x);
17}
lib/libc/mingw/math/arm-common/logbf.c deleted-17
...@@ -1,17 +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 <math.h>
8#include <limits.h>
9
10extern float (* __MINGW_IMP_SYMBOL(_logbf))(float);
11
12float logbf(float x)
13{
14 if (isinf(x))
15 return INFINITY;
16 return __MINGW_IMP_SYMBOL(_logbf)(x);
17}
lib/libc/mingw/math/arm-common/logbl.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
7#include <math.h>
8
9long double logbl(long double x)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return logb(x);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/powf.c deleted-21
...@@ -1,21 +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 <math.h>
8#include <limits.h>
9
10extern float (* __MINGW_IMP_SYMBOL(powf))(float, float);
11
12float powf(float x, float y)
13{
14 if (x == 1.0f)
15 return 1.0f;
16 if (y == 0.0f)
17 return 1.0f;
18 if (x == -1.0f && isinf(y))
19 return 1.0f;
20 return __MINGW_IMP_SYMBOL(powf)(x, y);
21}
lib/libc/mingw/math/arm-common/powl.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
7#include <math.h>
8
9long double powl(long double x, long double y)
10{
11#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
12 return pow(x, y);
13#else
14#error Not supported on your platform yet
15#endif
16}
lib/libc/mingw/math/arm-common/remainder.c deleted-14
...@@ -1,14 +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 <math.h>
8#include <errno.h>
9
10double remainder(double x, double y)
11{
12 int iret;
13 return remquo(x, y, &iret);
14}
lib/libc/mingw/math/arm-common/remainderf.c deleted-14
...@@ -1,14 +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 <math.h>
8#include <errno.h>
9
10float remainderf(float x, float y)
11{
12 int iret;
13 return remquof(x, y, &iret);
14}
lib/libc/mingw/math/arm-common/remainderl.c deleted-17
...@@ -1,17 +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 <math.h>
8#include <errno.h>
9
10long double remainderl(long double x, long double y)
11{
12#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
13 return remainder(x, y);
14#else
15#error Not supported on your platform yet
16#endif
17}
lib/libc/mingw/math/arm-common/remquol.c deleted-17
...@@ -1,17 +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 <math.h>
8#include <errno.h>
9
10long double remquol(long double x, long double y, int *quo)
11{
12#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
13 return remquo(x, y, quo);
14#else
15#error Not supported on your platform yet
16#endif
17}
lib/libc/mingw/math/arm-common/s_remquo.c deleted-154
...@@ -1,154 +0,0 @@
1/* @(#)e_fmod.c 1.3 95/01/18 */
2/*-
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
6 * Developed at SunSoft, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
11 */
12
13#include <sys/cdefs.h>
14
15#include <float.h>
16
17#include <math.h>
18#include "../bsd_private_base.h"
19
20static const double Zero[] = {0.0, -0.0,};
21
22/*
23 * Return the IEEE remainder and set *quo to the last n bits of the
24 * quotient, rounded to the nearest integer. We choose n=31 because
25 * we wind up computing all the integer bits of the quotient anyway as
26 * a side-effect of computing the remainder by the shift and subtract
27 * method. In practice, this is far more bits than are needed to use
28 * remquo in reduction algorithms.
29 */
30double
31remquo(double x, double y, int *quo)
32{
33 int32_t n,hx,hy,hz,ix,iy,sx,i;
34 u_int32_t lx,ly,lz,q,sxy;
35
36 EXTRACT_WORDS(hx,lx,x);
37 EXTRACT_WORDS(hy,ly,y);
38 sxy = (hx ^ hy) & 0x80000000;
39 sx = hx&0x80000000; /* sign of x */
40 hx ^=sx; /* |x| */
41 hy &= 0x7fffffff; /* |y| */
42
43 /* purge off exception values */
44 if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
45 ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */
46 return nan_mix_op(x, y, *)/nan_mix_op(x, y, *);
47 if(hx<=hy) {
48 if((hx<hy)||(lx<ly)) {
49 q = 0;
50 goto fixup; /* |x|<|y| return x or x-y */
51 }
52 if(lx==ly) {
53 *quo = (sxy ? -1 : 1);
54 return Zero[(u_int32_t)sx>>31]; /* |x|=|y| return x*0*/
55 }
56 }
57
58 /* determine ix = ilogb(x) */
59 if(hx<0x00100000) { /* subnormal x */
60 if(hx==0) {
61 for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
62 } else {
63 for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
64 }
65 } else ix = (hx>>20)-1023;
66
67 /* determine iy = ilogb(y) */
68 if(hy<0x00100000) { /* subnormal y */
69 if(hy==0) {
70 for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
71 } else {
72 for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
73 }
74 } else iy = (hy>>20)-1023;
75
76 /* set up {hx,lx}, {hy,ly} and align y to x */
77 if(ix >= -1022)
78 hx = 0x00100000|(0x000fffff&hx);
79 else { /* subnormal x, shift x to normal */
80 n = -1022-ix;
81 if(n<=31) {
82 hx = (hx<<n)|(lx>>(32-n));
83 lx <<= n;
84 } else {
85 hx = lx<<(n-32);
86 lx = 0;
87 }
88 }
89 if(iy >= -1022)
90 hy = 0x00100000|(0x000fffff&hy);
91 else { /* subnormal y, shift y to normal */
92 n = -1022-iy;
93 if(n<=31) {
94 hy = (hy<<n)|(ly>>(32-n));
95 ly <<= n;
96 } else {
97 hy = ly<<(n-32);
98 ly = 0;
99 }
100 }
101
102 /* fix point fmod */
103 n = ix - iy;
104 q = 0;
105 while(n--) {
106 hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
107 if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
108 else {hx = hz+hz+(lz>>31); lx = lz+lz; q++;}
109 q <<= 1;
110 }
111 hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
112 if(hz>=0) {hx=hz;lx=lz;q++;}
113
114 /* convert back to floating value and restore the sign */
115 if((hx|lx)==0) { /* return sign(x)*0 */
116 q &= 0x7fffffff;
117 *quo = (sxy ? -q : q);
118 return Zero[(u_int32_t)sx>>31];
119 }
120 while(hx<0x00100000) { /* normalize x */
121 hx = hx+hx+(lx>>31); lx = lx+lx;
122 iy -= 1;
123 }
124 if(iy>= -1022) { /* normalize output */
125 hx = ((hx-0x00100000)|((iy+1023)<<20));
126 } else { /* subnormal output */
127 n = -1022 - iy;
128 if(n<=20) {
129 lx = (lx>>n)|((u_int32_t)hx<<(32-n));
130 hx >>= n;
131 } else if (n<=31) {
132 lx = (hx<<(32-n))|(lx>>n); hx = 0;
133 } else {
134 lx = hx>>(n-32); hx = 0;
135 }
136 }
137fixup:
138 INSERT_WORDS(x,hx,lx);
139 y = fabs(y);
140 if (y < 0x1p-1021) {
141 if (x+x>y || (x+x==y && (q & 1))) {
142 q++;
143 x-=y;
144 }
145 } else if (x>0.5*y || (x==0.5*y && (q & 1))) {
146 q++;
147 x-=y;
148 }
149 GET_HIGH_WORD(hx,x);
150 SET_HIGH_WORD(x,hx^sx);
151 q &= 0x7fffffff;
152 *quo = (sxy ? -q : q);
153 return x;
154}
lib/libc/mingw/math/arm-common/s_remquof.c deleted-121
...@@ -1,121 +0,0 @@
1/* @(#)e_fmod.c 1.3 95/01/18 */
2/*-
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
6 * Developed at SunSoft, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
11 */
12
13#include <sys/cdefs.h>
14
15#include <math.h>
16#include "../bsd_private_base.h"
17
18static const float Zero[] = {0.0, -0.0,};
19
20/*
21 * Return the IEEE remainder and set *quo to the last n bits of the
22 * quotient, rounded to the nearest integer. We choose n=31 because
23 * we wind up computing all the integer bits of the quotient anyway as
24 * a side-effect of computing the remainder by the shift and subtract
25 * method. In practice, this is far more bits than are needed to use
26 * remquo in reduction algorithms.
27 */
28float
29remquof(float x, float y, int *quo)
30{
31 int32_t n,hx,hy,hz,ix,iy,sx,i;
32 u_int32_t q,sxy;
33
34 GET_FLOAT_WORD(hx,x);
35 GET_FLOAT_WORD(hy,y);
36 sxy = (hx ^ hy) & 0x80000000;
37 sx = hx&0x80000000; /* sign of x */
38 hx ^=sx; /* |x| */
39 hy &= 0x7fffffff; /* |y| */
40
41 /* purge off exception values */
42 if(hy==0||hx>=0x7f800000||hy>0x7f800000) /* y=0,NaN;or x not finite */
43 return nan_mix_op(x, y, *)/nan_mix_op(x, y, *);
44 if(hx<hy) {
45 q = 0;
46 goto fixup; /* |x|<|y| return x or x-y */
47 } else if(hx==hy) {
48 *quo = (sxy ? -1 : 1);
49 return Zero[(u_int32_t)sx>>31]; /* |x|=|y| return x*0*/
50 }
51
52 /* determine ix = ilogb(x) */
53 if(hx<0x00800000) { /* subnormal x */
54 for (ix = -126,i=(hx<<8); i>0; i<<=1) ix -=1;
55 } else ix = (hx>>23)-127;
56
57 /* determine iy = ilogb(y) */
58 if(hy<0x00800000) { /* subnormal y */
59 for (iy = -126,i=(hy<<8); i>0; i<<=1) iy -=1;
60 } else iy = (hy>>23)-127;
61
62 /* set up {hx,lx}, {hy,ly} and align y to x */
63 if(ix >= -126)
64 hx = 0x00800000|(0x007fffff&hx);
65 else { /* subnormal x, shift x to normal */
66 n = -126-ix;
67 hx <<= n;
68 }
69 if(iy >= -126)
70 hy = 0x00800000|(0x007fffff&hy);
71 else { /* subnormal y, shift y to normal */
72 n = -126-iy;
73 hy <<= n;
74 }
75
76 /* fix point fmod */
77 n = ix - iy;
78 q = 0;
79 while(n--) {
80 hz=hx-hy;
81 if(hz<0) hx = hx << 1;
82 else {hx = hz << 1; q++;}
83 q <<= 1;
84 }
85 hz=hx-hy;
86 if(hz>=0) {hx=hz;q++;}
87
88 /* convert back to floating value and restore the sign */
89 if(hx==0) { /* return sign(x)*0 */
90 q &= 0x7fffffff;
91 *quo = (sxy ? -q : q);
92 return Zero[(u_int32_t)sx>>31];
93 }
94 while(hx<0x00800000) { /* normalize x */
95 hx <<= 1;
96 iy -= 1;
97 }
98 if(iy>= -126) { /* normalize output */
99 hx = ((hx-0x00800000)|((iy+127)<<23));
100 } else { /* subnormal output */
101 n = -126 - iy;
102 hx >>= n;
103 }
104fixup:
105 SET_FLOAT_WORD(x,hx);
106 y = fabsf(y);
107 if (y < 0x1p-125f) {
108 if (x+x>y || (x+x==y && (q & 1))) {
109 q++;
110 x-=y;
111 }
112 } else if (x>0.5f*y || (x==0.5f*y && (q & 1))) {
113 q++;
114 x-=y;
115 }
116 GET_FLOAT_WORD(hx,x);
117 SET_FLOAT_WORD(x,hx^sx);
118 q &= 0x7fffffff;
119 *quo = (sxy ? -q : q);
120 return x;
121}
lib/libc/mingw/math/arm-common/scalbn.c deleted-45
...@@ -1,45 +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 <math.h>
8
9double scalbn(double x, int exp)
10{
11 return x * exp2(exp);
12}
13
14float scalbnf(float x, int exp)
15{
16 return x * exp2f(exp);
17}
18
19long double scalbnl(long double x, int exp)
20{
21#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
22 return scalbn(x, exp);
23#else
24#error Not supported on your platform yet
25#endif
26}
27
28double scalbln(double x, long exp)
29{
30 return x * exp2(exp);
31}
32
33float scalblnf(float x, long exp)
34{
35 return x * exp2f(exp);
36}
37
38long double scalblnl(long double x, long exp)
39{
40#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
41 return scalbln(x, exp);
42#else
43#error Not supported on your platform yet
44#endif
45}
lib/libc/mingw/math/arm/exp2.S deleted-19
...@@ -1,19 +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 .file "exp2.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(exp2)
12 .globl __MINGW_USYMBOL(exp2l)
13 .def __MINGW_USYMBOL(exp2); .scl 2; .type 32; .endef
14 .def __MINGW_USYMBOL(exp2l); .scl 2; .type 32; .endef
15__MINGW_USYMBOL(exp2):
16__MINGW_USYMBOL(exp2l):
17 vmov.f64 d1, d0
18 vmov.f64 d0, #2.0
19 b pow
lib/libc/mingw/math/arm/exp2f.S 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#include <_mingw_mac.h>
7
8 .file "exp2f.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(exp2f)
12 .def __MINGW_USYMBOL(exp2f); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(exp2f):
14 vmov s1, s0
15 vmov.f32 s0, #2.0
16 b powf
lib/libc/mingw/math/arm/nearbyint.S 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#include <_mingw_mac.h>
7
8 .file "nearbyint.S"
9 .text
10 .align 4
11 .globl __MINGW_USYMBOL(nearbyint)
12 .def __MINGW_USYMBOL(nearbyint); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyint):
14 push {r4, lr}
15 vmrs r4, fpscr
16 bl rint
17 vmsr fpscr, r4
18 pop {r4, pc}
lib/libc/mingw/math/arm/nearbyintf.S 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#include <_mingw_mac.h>
7
8 .file "nearbyintf.S"
9 .text
10 .align 4
11 .globl __MINGW_USYMBOL(nearbyintf)
12 .def __MINGW_USYMBOL(nearbyintf); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyintf):
14 push {r4, lr}
15 vmrs r4, fpscr
16 bl rintf
17 vmsr fpscr, r4
18 pop {r4, pc}
lib/libc/mingw/math/arm/nearbyintl.S 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#include <_mingw_mac.h>
7
8 .file "nearbyintl.S"
9 .text
10 .align 4
11 .globl __MINGW_USYMBOL(nearbyintl)
12 .def __MINGW_USYMBOL(nearbyintl); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyintl):
14 push {r4, lr}
15 vmrs r4, fpscr
16 bl rintl
17 vmsr fpscr, r4
18 pop {r4, pc}
lib/libc/mingw/math/arm/s_trunc.c deleted-61
...@@ -1,61 +0,0 @@
1/* @(#)s_floor.c 5.1 93/09/24 */
2/*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
6 * Developed at SunPro, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
11 */
12
13#include <sys/cdefs.h>
14
15/*
16 * trunc(x)
17 * Return x rounded toward 0 to integral value
18 * Method:
19 * Bit twiddling.
20 * Exception:
21 * Inexact flag raised if x not equal to trunc(x).
22 */
23
24#include <float.h>
25
26#include "../bsd_private_base.h"
27
28static const double huge = 1.0e300;
29
30double
31trunc(double x)
32{
33 int32_t i0,i1,j0;
34 u_int32_t i;
35 EXTRACT_WORDS(i0,i1,x);
36 j0 = ((i0>>20)&0x7ff)-0x3ff;
37 if(j0<20) {
38 if(j0<0) { /* raise inexact if x != 0 */
39 if(huge+x>0.0) {/* |x|<1, so return 0*sign(x) */
40 i0 &= 0x80000000U;
41 i1 = 0;
42 }
43 } else {
44 i = (0x000fffff)>>j0;
45 if(((i0&i)|i1)==0) return x; /* x is integral */
46 if(huge+x>0.0) { /* raise inexact flag */
47 i0 &= (~i); i1=0;
48 }
49 }
50 } else if (j0>51) {
51 if(j0==0x400) return x+x; /* inf or NaN */
52 else return x; /* x is integral */
53 } else {
54 i = ((u_int32_t)(0xffffffff))>>(j0-20);
55 if((i1&i)==0) return x; /* x is integral */
56 if(huge+x>0.0) /* raise inexact flag */
57 i1 &= (~i);
58 }
59 INSERT_WORDS(x,i0,i1);
60 return x;
61}
lib/libc/mingw/math/arm/s_truncf.c deleted-51
...@@ -1,51 +0,0 @@
1/* @(#)s_floor.c 5.1 93/09/24 */
2/*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
6 * Developed at SunPro, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
11 */
12
13#include <sys/cdefs.h>
14
15/*
16 * truncf(x)
17 * Return x rounded toward 0 to integral value
18 * Method:
19 * Bit twiddling.
20 * Exception:
21 * Inexact flag raised if x not equal to truncf(x).
22 */
23
24#include "../bsd_private_base.h"
25
26static const float huge = 1.0e30F;
27
28float
29truncf(float x)
30{
31 int32_t i0,j0;
32 u_int32_t i;
33 GET_FLOAT_WORD(i0,x);
34 j0 = ((i0>>23)&0xff)-0x7f;
35 if(j0<23) {
36 if(j0<0) { /* raise inexact if x != 0 */
37 if(huge+x>0.0F) /* |x|<1, so return 0*sign(x) */
38 i0 &= 0x80000000;
39 } else {
40 i = (0x007fffff)>>j0;
41 if((i0&i)==0) return x; /* x is integral */
42 if(huge+x>0.0F) /* raise inexact flag */
43 i0 &= (~i);
44 }
45 } else {
46 if(j0==0x80) return x+x; /* inf or NaN */
47 else return x; /* x is integral */
48 }
49 SET_FLOAT_WORD(x,i0);
50 return x;
51}
lib/libc/mingw/math/arm64/exp2.S deleted-19
...@@ -1,19 +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 .file "exp2.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(exp2)
12 .globl __MINGW_USYMBOL(exp2l)
13 .def __MINGW_USYMBOL(exp2); .scl 2; .type 32; .endef
14 .def __MINGW_USYMBOL(exp2l); .scl 2; .type 32; .endef
15__MINGW_USYMBOL(exp2):
16__MINGW_USYMBOL(exp2l):
17 fmov d1, d0
18 fmov d0, #2.0
19 b pow
lib/libc/mingw/math/arm64/exp2f.S 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#include <_mingw_mac.h>
7
8 .file "exp2f.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(exp2f)
12 .def __MINGW_USYMBOL(exp2f); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(exp2f):
14 fmov s1, s0
15 fmov s0, #2.0
16 b powf
lib/libc/mingw/math/arm64/nearbyint.S deleted-17
...@@ -1,17 +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 .file "nearbyint.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(nearbyint)
12 .def __MINGW_USYMBOL(nearbyint); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyint):
14 mrs x1, fpcr
15 frintx d0, d0
16 msr fpcr, x1
17 ret
lib/libc/mingw/math/arm64/nearbyintf.S deleted-17
...@@ -1,17 +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 .file "nearbyintf.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(nearbyintf)
12 .def __MINGW_USYMBOL(nearbyintf); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyintf):
14 mrs x1, fpcr
15 frintx s0, s0
16 msr fpcr, x1
17 ret
lib/libc/mingw/math/arm64/nearbyintl.S deleted-17
...@@ -1,17 +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 .file "nearbyintl.S"
9 .text
10 .align 2
11 .globl __MINGW_USYMBOL(nearbyintl)
12 .def __MINGW_USYMBOL(nearbyintl); .scl 2; .type 32; .endef
13__MINGW_USYMBOL(nearbyintl):
14 mrs x1, fpcr
15 frintx d0, d0
16 msr fpcr, x1
17 ret
lib/libc/mingw/math/arm64/trunc.S 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#include <_mingw_mac.h>
7
8 .file "trunc.S"
9 .text
10 .p2align 2
11 .globl __MINGW_USYMBOL(trunc)
12 .def __MINGW_USYMBOL(trunc); .scl 2; .type 32; .endef
13
14__MINGW_USYMBOL(trunc):
15 frintz d0, d0
16 ret
lib/libc/mingw/math/arm64/truncf.S 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#include <_mingw_mac.h>
7
8 .file "truncf.S"
9 .text
10 .p2align 2
11 .globl __MINGW_USYMBOL(truncf)
12 .def __MINGW_USYMBOL(truncf); .scl 2; .type 32; .endef
13
14__MINGW_USYMBOL(truncf):
15 frintz s0, s0
16 ret
lib/libc/mingw/math/cbrt.c deleted-104
...@@ -1,104 +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 <math.h>
7#include "cephes_mconf.h"
8
9static const double CBRT2 = 1.2599210498948731647672;
10static const double CBRT4 = 1.5874010519681994747517;
11static const double CBRT2I = 0.79370052598409973737585;
12static const double CBRT4I = 0.62996052494743658238361;
13
14#ifndef __MINGW32__
15extern double frexp ( double, int * );
16extern double ldexp ( double, int );
17extern int isnan ( double );
18extern int isfinite ( double );
19#endif
20
21double cbrt(double x)
22{
23 int e, rem, sign;
24 double z;
25
26#ifdef __MINGW32__
27 if (!isfinite (x) || x == 0)
28 return x;
29#else
30#ifdef NANS
31 if (isnan(x))
32 return x;
33#endif
34#ifdef INFINITIES
35 if (!isfinite(x))
36 return x;
37#endif
38 if (x == 0)
39 return (x);
40#endif /* __MINGW32__ */
41
42 if (x > 0)
43 sign = 1;
44 else
45 {
46 sign = -1;
47 x = -x;
48 }
49
50 z = x;
51 /* extract power of 2, leaving
52 * mantissa between 0.5 and 1
53 */
54 x = frexp(x, &e);
55
56 /* Approximate cube root of number between .5 and 1,
57 * peak relative error = 9.2e-6
58 */
59 x = (((-1.3466110473359520655053e-1 * x
60 + 5.4664601366395524503440e-1) * x
61 - 9.5438224771509446525043e-1) * x
62 + 1.1399983354717293273738e0 ) * x
63 + 4.0238979564544752126924e-1;
64
65 /* exponent divided by 3 */
66 if (e >= 0)
67 {
68 rem = e;
69 e /= 3;
70 rem -= 3*e;
71 if (rem == 1)
72 x *= CBRT2;
73 else if (rem == 2)
74 x *= CBRT4;
75 }
76 /* argument less than 1 */
77 else
78 {
79 e = -e;
80 rem = e;
81 e /= 3;
82 rem -= 3*e;
83 if (rem == 1)
84 x *= CBRT2I;
85 else if (rem == 2)
86 x *= CBRT4I;
87 e = -e;
88 }
89
90 /* multiply by power of 2 */
91 x = ldexp(x, e);
92
93 /* Newton iteration */
94 x -= ( x - (z/(x*x)) )*0.33333333333333333333;
95#ifdef DEC
96 x -= ( x - (z/(x*x)) )/3.0;
97#else
98 x -= ( x - (z/(x*x)) )*0.33333333333333333333;
99#endif
100
101 if (sign < 0)
102 x = -x;
103 return (x);
104}
lib/libc/mingw/math/cbrtf.c deleted-75
...@@ -1,75 +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 <math.h>
7#include "cephes_mconf.h"
8
9static const float CBRT2 = 1.25992104989487316477;
10static const float CBRT4 = 1.58740105196819947475;
11
12float cbrtf (float x)
13{
14 int e, rem, sign;
15 float z;
16 if (!isfinite (x) || x == 0.0F)
17 return x;
18 if (x > 0)
19 sign = 1;
20 else
21 {
22 sign = -1;
23 x = -x;
24 }
25
26 z = x;
27 /* extract power of 2, leaving
28 * mantissa between 0.5 and 1
29 */
30 x = frexpf(x, &e);
31
32 /* Approximate cube root of number between .5 and 1,
33 * peak relative error = 9.2e-6
34 */
35 x = (((-0.13466110473359520655053 * x
36 + 0.54664601366395524503440 ) * x
37 - 0.95438224771509446525043 ) * x
38 + 1.1399983354717293273738 ) * x
39 + 0.40238979564544752126924;
40
41 /* exponent divided by 3 */
42 if (e >= 0)
43 {
44 rem = e;
45 e /= 3;
46 rem -= 3*e;
47 if (rem == 1)
48 x *= CBRT2;
49 else if (rem == 2)
50 x *= CBRT4;
51 }
52/* argument less than 1 */
53 else
54 {
55 e = -e;
56 rem = e;
57 e /= 3;
58 rem -= 3*e;
59 if (rem == 1)
60 x /= CBRT2;
61 else if (rem == 2)
62 x /= CBRT4;
63 e = -e;
64 }
65
66 /* multiply by power of 2 */
67 x = ldexpf(x, e);
68
69 /* Newton iteration */
70 x -= ( x - (z/(x*x)) ) * 0.333333333333;
71
72 if (sign < 0)
73 x = -x;
74 return (x);
75}
lib/libc/mingw/math/copysign.c deleted-21
...@@ -1,21 +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 <math.h>
7
8typedef union U
9{
10 unsigned int u[2];
11 double d;
12} U;
13
14double copysign(double x, double y)
15{
16 U h,j;
17 h.d = x;
18 j.d = y;
19 h.u[1] = (h.u[1] & 0x7fffffff) | (j.u[1] & 0x80000000);
20 return h.d;
21}
lib/libc/mingw/math/copysignf.c deleted-19
...@@ -1,19 +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 <math.h>
7
8typedef union ui_f {
9 float f;
10 unsigned int ui;
11} ui_f;
12
13float copysignf(float aX, float aY)
14{
15 ui_f x,y;
16 x.f=aX; y.f=aY;
17 x.ui= (x.ui & 0x7fffffff) | (y.ui & 0x80000000);
18 return x.f;
19}
lib/libc/mingw/math/fabs.c deleted-20
...@@ -1,20 +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 __CRT__NO_INLINE
7#include <math.h>
8
9double
10fabs (double x)
11{
12#if defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_)
13 return __builtin_fabs (x);
14#elif defined(__i386__) || defined(_X86_)
15 double res = 0.0;
16
17 asm volatile ("fabs;" : "=t" (res) : "0" (x));
18 return res;
19#endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */
20}
lib/libc/mingw/math/fdim.c deleted-24
...@@ -1,24 +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 <math.h>
7#include <errno.h>
8
9double
10fdim (double x, double y)
11{
12 int cx = fpclassify (x), cy = fpclassify (y);
13 double r;
14
15 if (cx == FP_NAN || cy == FP_NAN
16 || (y < 0 && cx == FP_INFINITE && cy == FP_INFINITE))
17 return x - y; /* Take care invalid flag is raised. */
18 if (x <= y)
19 return 0.0;
20 r = x - y;
21 if (fpclassify (r) == FP_INFINITE)
22 errno = ERANGE;
23 return r;
24}
lib/libc/mingw/math/fdimf.c deleted-24
...@@ -1,24 +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 <errno.h>
7#include <math.h>
8
9float
10fdimf (float x, float y)
11{
12 int cx = fpclassify (x), cy = fpclassify (y);
13 float r;
14
15 if (cx == FP_NAN || cy == FP_NAN
16 || (y < 0 && cx == FP_INFINITE && cy == FP_INFINITE))
17 return x - y; /* Take care invalid flag is raised. */
18 if (x <= y)
19 return 0.0f;
20 r = x - y;
21 if (fpclassify (r) == FP_INFINITE)
22 errno = ERANGE;
23 return r;
24}
lib/libc/mingw/math/fma.c deleted-97
...@@ -1,97 +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 */
6double fma(double x, double y, double z);
7
8#if defined(_ARM_) || defined(__arm__)
9
10/* Use hardware FMA on ARM. */
11double fma(double x, double y, double z){
12 __asm__ (
13 "fmacd %0, %1, %2 \n"
14 : "+w"(z)
15 : "w"(x), "w"(y)
16 );
17 return z;
18}
19
20#elif defined(_ARM64_) || defined(__aarch64__)
21
22/* Use hardware FMA on ARM64. */
23double fma(double x, double y, double z){
24 __asm__ (
25 "fmadd %d0, %d1, %d2, %d0 \n"
26 : "+w"(z)
27 : "w"(x), "w"(y)
28 );
29 return z;
30}
31
32#elif defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
33
34#include <math.h>
35#include <stdint.h>
36
37/* This is in accordance with the IEC 559 double-precision format.
38 * Be advised that due to the hidden bit, the higher half actually has 26 bits.
39 * Multiplying two 27-bit numbers will cause a 1-ULP error, which we cannot
40 * avoid. It is kept in the very last position.
41 */
42typedef union iec559_double_ {
43 struct __attribute__((__packed__)) {
44 uint64_t mlo : 27;
45 uint64_t mhi : 25;
46 uint64_t exp : 11;
47 uint64_t sgn : 1;
48 };
49 double f;
50} iec559_double;
51
52static inline void break_down(iec559_double *restrict lo, iec559_double *restrict hi, double x) {
53 hi->f = x;
54 /* Erase low-order significant bits. `hi->f` now has only 26 significant bits. */
55 hi->mlo = 0;
56 /* Store the low-order half. It will be normalized by the hardware. */
57 lo->f = x - hi->f;
58 /* Preserve signness in case of zero. */
59 lo->sgn = hi->sgn;
60}
61
62double fma(double x, double y, double z) {
63 /*
64 POSIX-2013:
65 1. If x or y are NaN, a NaN shall be returned.
66 2. If x multiplied by y is an exact infinity and z is also an infinity
67 but with the opposite sign, a domain error shall occur, and either a NaN
68 (if supported), or an implementation-defined value shall be returned.
69 3. If one of x and y is infinite, the other is zero, and z is not a NaN,
70 a domain error shall occur, and either a NaN (if supported), or an
71 implementation-defined value shall be returned.
72 4. If one of x and y is infinite, the other is zero, and z is a NaN, a NaN
73 shall be returned and a domain error may occur.
74 5. If x* y is not 0*Inf nor Inf*0 and z is a NaN, a NaN shall be returned.
75 */
76 /* Check whether the result is finite. */
77 double ret = x * y + z;
78 if(!isfinite(ret)) {
79 return ret; /* If this naive check doesn't yield a finite value, the FMA isn't
80 likely to return one either. Forward the value as is. */
81 }
82 iec559_double xlo, xhi, ylo, yhi;
83 break_down(&xlo, &xhi, x);
84 break_down(&ylo, &yhi, y);
85 /* The order of these four statements is essential. Don't move them around. */
86 ret = z;
87 ret += xhi.f * yhi.f; /* The most significant item comes first. */
88 ret += xhi.f * ylo.f + xlo.f * yhi.f; /* They are equally significant. */
89 ret += xlo.f * ylo.f; /* The least significant item comes last. */
90 return ret;
91}
92
93#else
94
95#error Please add FMA implementation for this platform.
96
97#endif
lib/libc/mingw/math/fmaf.c deleted-97
...@@ -1,97 +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 */
6float fmaf(float x, float y, float z);
7
8#if defined(_ARM_) || defined(__arm__)
9
10/* Use hardware FMA on ARM. */
11float fmaf(float x, float y, float z){
12 __asm__ (
13 "fmacs %0, %1, %2 \n"
14 : "+t"(z)
15 : "t"(x), "t"(y)
16 );
17 return z;
18}
19
20#elif defined(_ARM64_) || defined(__aarch64__)
21
22/* Use hardware FMA on ARM64. */
23float fmaf(float x, float y, float z){
24 __asm__ (
25 "fmadd %s0, %s1, %s2, %s0 \n"
26 : "+w"(z)
27 : "w"(x), "w"(y)
28 );
29 return z;
30}
31
32#elif defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
33
34#include <math.h>
35#include <stdint.h>
36
37/* This is in accordance with the IEC 559 single-precision format.
38 * Be advised that due to the hidden bit, the higher half actually has 11 bits.
39 * Multiplying two 13-bit numbers will cause a 1-ULP error, which we cannot
40 * avoid. It is kept in the very last position.
41 */
42typedef union iec559_float_ {
43 struct __attribute__((__packed__)) {
44 uint32_t mlo : 13;
45 uint32_t mhi : 10;
46 uint32_t exp : 8;
47 uint32_t sgn : 1;
48 };
49 float f;
50} iec559_float;
51
52static inline void break_down(iec559_float *restrict lo, iec559_float *restrict hi, float x) {
53 hi->f = x;
54 /* Erase low-order significant bits. `hi->f` now has only 11 significant bits. */
55 hi->mlo = 0;
56 /* Store the low-order half. It will be normalized by the hardware. */
57 lo->f = x - hi->f;
58 /* Preserve signness in case of zero. */
59 lo->sgn = hi->sgn;
60}
61
62float fmaf(float x, float y, float z) {
63 /*
64 POSIX-2013:
65 1. If x or y are NaN, a NaN shall be returned.
66 2. If x multiplied by y is an exact infinity and z is also an infinity
67 but with the opposite sign, a domain error shall occur, and either a NaN
68 (if supported), or an implementation-defined value shall be returned.
69 3. If one of x and y is infinite, the other is zero, and z is not a NaN,
70 a domain error shall occur, and either a NaN (if supported), or an
71 implementation-defined value shall be returned.
72 4. If one of x and y is infinite, the other is zero, and z is a NaN, a NaN
73 shall be returned and a domain error may occur.
74 5. If x* y is not 0*Inf nor Inf*0 and z is a NaN, a NaN shall be returned.
75 */
76 /* Check whether the result is finite. */
77 float ret = x * y + z;
78 if(!isfinite(ret)) {
79 return ret; /* If this naive check doesn't yield a finite value, the FMA isn't
80 likely to return one either. Forward the value as is. */
81 }
82 iec559_float xlo, xhi, ylo, yhi;
83 break_down(&xlo, &xhi, x);
84 break_down(&ylo, &yhi, y);
85 /* The order of these four statements is essential. Don't move them around. */
86 ret = z;
87 ret += xhi.f * yhi.f; /* The most significant item comes first. */
88 ret += xhi.f * ylo.f + xlo.f * yhi.f; /* They are equally significant. */
89 ret += xlo.f * ylo.f; /* The least significant item comes last. */
90 return ret;
91}
92
93#else
94
95#error Please add FMA implementation for this platform.
96
97#endif
lib/libc/mingw/math/fmax.c 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 <math.h>
7
8double
9fmax (double _x, double _y)
10{
11 return ( isgreaterequal (_x, _y)|| __isnan (_y) ? _x : _y );
12}
lib/libc/mingw/math/fmaxf.c 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 <math.h>
7
8float
9fmaxf (float _x, float _y)
10{
11 return (( isgreaterequal(_x, _y) || __isnanf (_y)) ? _x : _y );
12}
lib/libc/mingw/math/fmin.c 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 <math.h>
7
8double
9fmin (double _x, double _y)
10{
11 return ((islessequal(_x, _y) || __isnan (_y)) ? _x : _y );
12}
lib/libc/mingw/math/fminf.c 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 <math.h>
7
8float
9fminf (float _x, float _y)
10{
11 return ((islessequal(_x, _y) || __isnanf (_y)) ? _x : _y );
12}
lib/libc/mingw/math/frexp.c deleted-64
...@@ -1,64 +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 */
6double frexp(double value, int* exp);
7
8#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) || \
9 defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
10
11#include <stdint.h>
12
13/* It is assumed that `double` conforms to IEEE 754 and is little-endian.
14 * This is true on x86 and ARM. */
15
16typedef union ieee754_double_ {
17 struct __attribute__((__packed__)) {
18 uint64_t f52 : 52;
19 uint64_t exp : 11;
20 uint64_t sgn : 1;
21 };
22 double f;
23} ieee754_double;
24
25double frexp(double value, int* exp)
26{
27 int n;
28 ieee754_double reg;
29 reg.f = value;
30 if(reg.exp == 0x7FF) {
31 /* The value is an infinity or NaN.
32 * Store zero in `*exp`. Return the value as is. */
33 *exp = 0;
34 return reg.f;
35 }
36 if(reg.exp != 0) {
37 /* The value is normalized.
38 * Extract and zero out the exponent. */
39 *exp = reg.exp - 0x3FE;
40 reg.exp = 0x3FE;
41 return reg.f;
42 }
43 if(reg.f52 == 0) {
44 /* The value is zero.
45 * Store zero in `*exp`. Return the value as is.
46 * Note the signness. */
47 *exp = 0;
48 return reg.f;
49 }
50 /* The value is denormalized.
51 * Extract the exponent, normalize the value, then zero out
52 * the exponent. Note that the hidden bit is removed. */
53 n = __builtin_clzll(reg.f52) - 11;
54 reg.f52 <<= n;
55 *exp = 1 - 0x3FE - n;
56 reg.exp = 0x3FE;
57 return reg.f;
58}
59
60#else
61
62#error Please add `frexp()` implementation for this platform.
63
64#endif
lib/libc/mingw/math/hypot.c deleted-23
...@@ -1,23 +0,0 @@
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5#define _NEW_COMPLEX_DOUBLE 1
6
7#include "../complex/complex_internal.h"
8#include <errno.h>
9#include <math.h>
10
11double hypot (double x, double y)
12{
13 int x_class = fpclassify (x);
14 int y_class = fpclassify (y);
15
16 if (x_class == FP_INFINITE || y_class == FP_INFINITE)
17 return __FLT_HUGE_VAL;
18 else if (x_class == FP_NAN || y_class == FP_NAN)
19 return __FLT_NAN;
20
21 return _hypot (x, y);
22}
23
lib/libc/mingw/math/llrint.c deleted-42
...@@ -1,42 +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 <math.h>
7#include <fenv.h>
8
9long long llrint (double x)
10{
11 long long retval = 0ll;
12#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
13 __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st");
14#else
15 int mode = fegetround();
16 if (mode == FE_DOWNWARD)
17 retval = (long long)floor(x);
18 else if (mode == FE_UPWARD)
19 retval = (long long)ceil(x);
20 else if (mode == FE_TOWARDZERO)
21 retval = x >= 0 ? (long long)floor(x) : (long long)ceil(x);
22 else {
23 // Break `x` into integral and fractional parts.
24 double intg, frac;
25 frac = modf(x, &intg);
26 frac = fabs(frac);
27 // Convert the truncated integral part to an integer.
28 retval = intg;
29 if (frac < 0.5) {
30 // Round towards zero.
31 } else if (frac > 0.5) {
32 // Round towards infinities.
33 retval += signbit(x) ? -1 : 1;
34 } else {
35 // Round to the nearest even number.
36 retval += retval % 2;
37 }
38 }
39#endif
40 return retval;
41}
42
lib/libc/mingw/math/llrintf.c deleted-41
...@@ -1,41 +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 <math.h>
7#include <fenv.h>
8
9long long llrintf (float x)
10{
11 long long retval = 0ll;
12#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__)
13 __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st");
14#else
15 int mode = fegetround();
16 if (mode == FE_DOWNWARD)
17 retval = (long long)floorf(x);
18 else if (mode == FE_UPWARD)
19 retval = (long long)ceilf(x);
20 else if (mode == FE_TOWARDZERO)
21 retval = x >= 0 ? (long long)floorf(x) : (long long)ceilf(x);
22 else {
23 // Break `x` into integral and fractional parts.
24 float intg, frac;
25 frac = modff(x, &intg);
26 frac = fabsf(frac);
27 // Convert the truncated integral part to an integer.
28 retval = intg;
29 if (frac < 0.5) {
30 // Round towards zero.
31 } else if (frac > 0.5) {
32 // Round towards infinities.
33 retval += signbit(x) ? -1 : 1;
34 } else {
35 // Round to the nearest even number.
36 retval += retval % 2;
37 }
38 }
39#endif
40 return retval;
41}
lib/libc/mingw/math/llround.c deleted-38
...@@ -1,38 +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 <math.h>
7#include <limits.h>
8#include <errno.h>
9
10long long
11llround (double x)
12{
13 double res;
14
15 if (x >= 0.0)
16 {
17 res = ceil (x);
18 if (res - x > 0.5)
19 res -= 1.0;
20 }
21 else
22 {
23 res = ceil (-x);
24 if (res + x > 0.5)
25 res -= 1.0;
26 res = -res;
27 }
28 if (!isfinite (res)
29 || res > (double) LONG_LONG_MAX
30 || res < (double) LONG_LONG_MIN)
31 {
32 errno = ERANGE;
33 /* Undefined behaviour, so we could return anything. */
34 /* return res > 0.0 ? LONG_LONG_MAX : LONG_LONG_MIN; */
35 }
36 return (long long) res;
37}
38
lib/libc/mingw/math/llroundf.c deleted-38
...@@ -1,38 +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 <math.h>
7#include <limits.h>
8#include <errno.h>
9
10long long
11llroundf (float x)
12{
13 float res;
14
15 if (x >= 0.0F)
16 {
17 res = ceilf (x);
18 if (res - x > 0.5F)
19 res -= 1.0F;
20 }
21 else
22 {
23 res = ceilf (-x);
24 if (res + x > 0.5F)
25 res -= 1.0F;
26 res = -res;
27 }
28 if (!isfinite (res)
29 || res > (float) LONG_LONG_MAX
30 || res < (float) LONG_LONG_MIN)
31 {
32 errno = ERANGE;
33 /* Undefined behaviour, so we could return anything. */
34 /* return res > 0.0F ? LONG_LONG_MAX : LONG_LONG_MIN; */
35 }
36 return (long long) res;
37}
38
lib/libc/mingw/math/lrint.c 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#include <math.h>
7
8#if defined(_AMD64_) || defined(__x86_64__)
9#include <xmmintrin.h>
10#endif
11
12long lrint (double x)
13{
14 long retval = 0L;
15#if defined(_AMD64_) || defined(__x86_64__)
16 retval = _mm_cvtsd_si32(_mm_load_sd(&x));
17#elif defined(_X86_) || defined(__i386__)
18 __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
19#elif defined(__arm__) || defined(_ARM_)
20 float temp;
21 __asm__ __volatile__ (
22 "vcvtr.s32.f64 %[tmp], %[src]\n\t"
23 "fmrs %[dst], %[tmp]\n\t"
24 : [dst] "=r" (retval), [tmp] "=t" (temp) : [src] "w" (x));
25#elif defined(__aarch64__) || defined(_ARM64_)
26 __asm__ __volatile__ (
27 "frintx %d1, %d1\n\t"
28 "fcvtzs %w0, %d1\n\t"
29 : "=r" (retval), "+w" (x));
30#endif
31 return retval;
32}
lib/libc/mingw/math/lrintf.c deleted-31
...@@ -1,31 +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 <math.h>
7
8#if defined(_AMD64_) || defined(__x86_64__)
9#include <xmmintrin.h>
10#endif
11
12long lrintf (float x)
13{
14 long retval = 0l;
15#if defined(_AMD64_) || defined(__x86_64__)
16 retval = _mm_cvtss_si32(_mm_load_ss(&x));
17#elif defined(_X86_) || defined(__i386__)
18 __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
19#elif defined(__arm__) || defined(_ARM_)
20 __asm__ __volatile__ (
21 "vcvtr.s32.f32 %[src], %[src]\n\t"
22 "fmrs %[dst], %[src]\n\t"
23 : [dst] "=r" (retval), [src] "+w" (x));
24#elif defined(__aarch64__) || defined(_ARM64_)
25 __asm__ __volatile__ (
26 "frintx %s1, %s1\n\t"
27 "fcvtzs %w0, %s1\n\t"
28 : "=r" (retval), "+w" (x));
29#endif
30 return retval;
31}
lib/libc/mingw/math/lround.c deleted-37
...@@ -1,37 +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 <math.h>
7#include <limits.h>
8#include <errno.h>
9
10long
11lround (double x)
12{
13 double res;
14
15 if (x >= 0.0)
16 {
17 res = ceil (x);
18 if (res - x > 0.5)
19 res -= 1.0;
20 }
21 else
22 {
23 res = ceil (-x);
24 if (res + x > 0.5)
25 res -= 1.0;
26 res = -res;
27 }
28 if (!isfinite (res)
29 || res > (double) LONG_MAX
30 || res < (double) LONG_MIN)
31 {
32 errno = ERANGE;
33 /* Undefined behaviour, so we could return anything. */
34 /* return res > 0.0 ? LONG_MAX : LONG_MIN; */
35 }
36 return (long) res;
37}
lib/libc/mingw/math/lroundf.c deleted-37
...@@ -1,37 +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 <math.h>
7#include <limits.h>
8#include <errno.h>
9
10long
11lroundf (float x)
12{
13 float res;
14
15 if (x >= 0.0F)
16 {
17 res = ceilf (x);
18 if (res - x > 0.5F)
19 res -= 1.0F;
20 }
21 else
22 {
23 res = ceilf (-x);
24 if (res + x > 0.5F)
25 res -= 1.0F;
26 res = -res;
27 }
28 if (!isfinite (res)
29 || res > (float) LONG_MAX
30 || res < (float) LONG_MIN)
31 {
32 errno = ERANGE;
33 /* Undefined behaviour, so we could return anything. */
34 /* return res > 0.0F ? LONG_MAX : LONG_MIN; */
35 }
36 return (long) res;
37}
lib/libc/mingw/math/modf.c deleted-41
...@@ -1,41 +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 <fenv.h>
7#include <math.h>
8#include <errno.h>
9
10double
11modf (double value, double* iptr)
12{
13 double int_part = 0.0;
14 /* truncate */
15#if defined(_AMD64_) || defined(__x86_64__)
16 asm volatile ("subq $8, %%rsp\n"
17 "fnstcw 4(%%rsp)\n"
18 "movzwl 4(%%rsp), %%eax\n"
19 "orb $12, %%ah\n"
20 "movw %%ax, (%%rsp)\n"
21 "fldcw (%%rsp)\n"
22 "frndint\n"
23 "fldcw 4(%%rsp)\n"
24 "addq $8, %%rsp\n" : "=t" (int_part) : "0" (value) : "eax"); /* round */
25#elif defined(_X86_) || defined(__i386__)
26 asm volatile ("push %%eax\n\tsubl $8, %%esp\n"
27 "fnstcw 4(%%esp)\n"
28 "movzwl 4(%%esp), %%eax\n"
29 "orb $12, %%ah\n"
30 "movw %%ax, (%%esp)\n"
31 "fldcw (%%esp)\n"
32 "frndint\n"
33 "fldcw 4(%%esp)\n"
34 "addl $8, %%esp\n\tpop %%eax\n" : "=t" (int_part) : "0" (value) : "eax"); /* round */
35#else
36 int_part = trunc(value);
37#endif
38 if (iptr)
39 *iptr = int_part;
40 return (isinf (value) ? 0.0 : value - int_part);
41}
lib/libc/mingw/math/nextafterf.c 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#include <math.h>
7
8float
9nextafterf (float x, float y)
10{
11 union
12 {
13 float f;
14 unsigned int i;
15 } u;
16 if (isnan (y) || isnan (x))
17 return x + y;
18 if (x == y )
19 /* nextafter (0.0, -O.0) should return -0.0. */
20 return y;
21 u.f = x;
22 if (x == 0.0F)
23 {
24 u.i = 1;
25 return y > 0.0F ? u.f : -u.f;
26 }
27 if (((x > 0.0F) ^ (y > x)) == 0)
28 u.i++;
29 else
30 u.i--;
31 return u.f;
32}
lib/libc/mingw/math/round.c deleted-26
...@@ -1,26 +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 <math.h>
7
8double
9round (double x)
10{
11 double res;
12 if (x >= 0.0)
13 {
14 res = ceil (x);
15 if (res - x > 0.5)
16 res -= 1.0;
17 }
18 else
19 {
20 res = ceil (-x);
21 if (res + x > 0.5)
22 res -= 1.0;
23 res = -res;
24 }
25 return res;
26}
lib/libc/mingw/math/roundf.c deleted-26
...@@ -1,26 +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 <math.h>
7
8float
9roundf (float x)
10{
11 float res;
12 if (x >= 0.0F)
13 {
14 res = ceilf (x);
15 if (res - x > 0.5F)
16 res -= 1.0F;
17 }
18 else
19 {
20 res = ceilf (-x);
21 if (res + x > 0.5F)
22 res -= 1.0F;
23 res = -res;
24 }
25 return res;
26}
lib/libc/mingw/math/s_erf.c deleted-347
...@@ -1,347 +0,0 @@
1/* @(#)s_erf.c 1.3 95/01/18 */
2/*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
5 *
6 * Developed at SunSoft, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
11 */
12
13/* double erf(double x)
14 * double erfc(double x)
15 * x
16 * 2 |\
17 * erf(x) = --------- | exp(-t*t)dt
18 * sqrt(pi) \|
19 * 0
20 *
21 * erfc(x) = 1-erf(x)
22 * Note that
23 * erf(-x) = -erf(x)
24 * erfc(-x) = 2 - erfc(x)
25 *
26 * Method:
27 * 1. For |x| in [0, 0.84375]
28 * erf(x) = x + x*R(x^2)
29 * erfc(x) = 1 - erf(x) if x in [-.84375,0.25]
30 * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375]
31 * where R = P/Q where P is an odd poly of degree 8 and
32 * Q is an odd poly of degree 10.
33 * -57.90
34 * | R - (erf(x)-x)/x | <= 2
35 *
36 * Remark. The formula is derived by noting
37 * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
38 * and that
39 * 2/sqrt(pi) = 1.128379167095512573896158903121545171688
40 * is close to one. The interval is chosen because the fix
41 * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is
42 * near 0.6174), and by some experiment, 0.84375 is chosen to
43 * guarantee the error is less than one ulp for erf.
44 *
45 * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and
46 * c = 0.84506291151 rounded to single (24 bits)
47 * erf(x) = sign(x) * (c + P1(s)/Q1(s))
48 * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0
49 * 1+(c+P1(s)/Q1(s)) if x < 0
50 * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06
51 * Remark: here we use the taylor series expansion at x=1.
52 * erf(1+s) = erf(1) + s*Poly(s)
53 * = 0.845.. + P1(s)/Q1(s)
54 * That is, we use rational approximation to approximate
55 * erf(1+s) - (c = (single)0.84506291151)
56 * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
57 * where
58 * P1(s) = degree 6 poly in s
59 * Q1(s) = degree 6 poly in s
60 *
61 * 3. For x in [1.25,1/0.35(~2.857143)],
62 * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
63 * erf(x) = 1 - erfc(x)
64 * where
65 * R1(z) = degree 7 poly in z, (z=1/x^2)
66 * S1(z) = degree 8 poly in z
67 *
68 * 4. For x in [1/0.35,28]
69 * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
70 * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
71 * = 2.0 - tiny (if x <= -6)
72 * erf(x) = sign(x)*(1.0 - erfc(x)) if x < 6, else
73 * erf(x) = sign(x)*(1.0 - tiny)
74 * where
75 * R2(z) = degree 6 poly in z, (z=1/x^2)
76 * S2(z) = degree 7 poly in z
77 *
78 * Note1:
79 * To compute exp(-x*x-0.5625+R/S), let s be a single
80 * precision number and s := x; then
81 * -x*x = -s*s + (s-x)*(s+x)
82 * exp(-x*x-0.5626+R/S) =
83 * exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
84 * Note2:
85 * Here 4 and 5 make use of the asymptotic series
86 * exp(-x*x)
87 * erfc(x) ~ ---------- * ( 1 + Poly(1/x^2) )
88 * x*sqrt(pi)
89 * We use rational approximation to approximate
90 * g(s)=f(1/x^2) = log(erfc(x)*x) - x*x + 0.5625
91 * Here is the error bound for R1/S1 and R2/S2
92 * |R1/S1 - f(x)| < 2**(-62.57)
93 * |R2/S2 - f(x)| < 2**(-61.52)
94 *
95 * 5. For inf > x >= 28
96 * erf(x) = sign(x) *(1 - tiny) (raise inexact)
97 * erfc(x) = tiny*tiny (raise underflow) if x > 0
98 * = 2 - tiny if x<0
99 *
100 * 7. Special case:
101 * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
102 * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
103 * erfc/erf(NaN) is NaN
104 */
105
106
107/* #include "fdlibm.h" */
108
109#include <math.h>
110#include <stdint.h>
111#include <errno.h>
112
113#define __ieee754_exp exp
114
115typedef union
116{
117 double value;
118 struct
119 {
120 uint32_t lsw;
121 uint32_t msw;
122 } parts;
123} ieee_double_shape_type;
124
125
126static inline int __get_hi_word(const double x)
127{
128 ieee_double_shape_type u;
129 u.value = x;
130 return u.parts.msw;
131}
132
133static inline void __trunc_lo_word(double *x)
134{
135 ieee_double_shape_type u;
136 u.value = *x;
137 u.parts.lsw = 0;
138 *x = u.value;
139}
140
141
142static const double
143 tiny= 1e-300,
144 half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
145 one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
146 two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
147 /* c = (float)0.84506291151 */
148 erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */
149 /*
150 * Coefficients for approximation to erf on [0,0.84375]
151 */
152 efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */
153 efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */
154 pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */
155 pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */
156 pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */
157 pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */
158 pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */
159 qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */
160 qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */
161 qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
162 qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
163 qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
164 /*
165 * Coefficients for approximation to erf in [0.84375,1.25]
166 */
167 pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
168 pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
169 pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */
170 pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */
171 pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */
172 pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */
173 pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */
174 qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */
175 qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */
176 qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */
177 qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */
178 qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */
179 qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */
180 /*
181 * Coefficients for approximation to erfc in [1.25,1/0.35]
182 */
183 ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */
184 ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */
185 ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */
186 ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */
187 ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */
188 ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */
189 ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */
190 ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */
191 sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */
192 sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */
193 sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */
194 sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */
195 sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */
196 sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */
197 sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */
198 sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */
199 /*
200 * Coefficients for approximation to erfc in [1/.35,28]
201 */
202 rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */
203 rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */
204 rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */
205 rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */
206 rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */
207 rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */
208 rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */
209 sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */
210 sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */
211 sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */
212 sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */
213 sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
214 sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
215 sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
216
217
218double erf(double x)
219{
220 int hx, ix, i;
221 double R, S, P, Q, s, y, z, r;
222 hx = __get_hi_word(x);
223 ix = hx & 0x7fffffff;
224 if (ix >= 0x7ff00000) { /* erf(nan)=nan */
225 i = ((unsigned)hx>>31)<<1;
226 return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */
227 }
228
229 if (ix < 0x3feb0000) { /* |x|<0.84375 */
230 if (ix < 0x3e300000) { /* |x|<2**-28 */
231 if (ix < 0x00800000)
232 return 0.125*(8.0*x+efx8*x); /*avoid underflow */
233 return x + efx*x;
234 }
235 z = x*x;
236 r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
237 s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
238 y = r/s;
239 return x + x*y;
240 }
241 if (ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
242 s = fabs(x)-one;
243 P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
244 Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
245 if (hx >= 0)
246 return erx + P/Q;
247 else
248 return -erx - P/Q;
249 }
250 if (ix >= 0x40180000) { /* inf>|x|>=6 */
251 if (hx >= 0)
252 return one-tiny;
253 else
254 return tiny-one;
255 }
256 x = fabs(x);
257 s = one/(x*x);
258 if (ix < 0x4006DB6E) { /* |x| < 1/0.35 */
259 R = ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
260 ra5+s*(ra6+s*ra7))))));
261 S = one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
262 sa5+s*(sa6+s*(sa7+s*sa8)))))));
263 } else { /* |x| >= 1/0.35 */
264 R = rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
265 rb5+s*rb6)))));
266 S = one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
267 sb5+s*(sb6+s*sb7))))));
268 }
269 z = x;
270 __trunc_lo_word(&z);
271 r = __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
272 if (hx >= 0)
273 return one-r/x;
274 else
275 return r/x-one;
276}
277
278double erfc(double x)
279{
280 int hx,ix;
281 double R,S,P,Q,s,y,z,r;
282 hx = __get_hi_word(x);
283 ix = hx&0x7fffffff;
284 if (ix >= 0x7ff00000) { /* erfc(nan)=nan */
285 /* erfc(+-inf)=0,2 */
286 return (double)(((unsigned)hx>>31)<<1)+one/x;
287 }
288
289 if (ix < 0x3feb0000) { /* |x|<0.84375 */
290 if (ix < 0x3c700000) /* |x|<2**-56 */
291 return one-x;
292 z = x*x;
293 r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
294 s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
295 y = r/s;
296 if (hx < 0x3fd00000) { /* x<1/4 */
297 return one-(x+x*y);
298 } else {
299 r = x*y;
300 r += (x-half);
301 return half - r ;
302 }
303 }
304 if (ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
305 s = fabs(x)-one;
306 P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
307 Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
308 if (hx >= 0) {
309 z = one-erx; return z - P/Q;
310 } else {
311 z = erx+P/Q; return one+z;
312 }
313 }
314 if (ix < 0x403c0000) { /* |x|<28 */
315 x = fabs(x);
316 s = one/(x*x);
317 if (ix < 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/
318 R = ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
319 ra5+s*(ra6+s*ra7))))));
320 S = one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
321 sa5+s*(sa6+s*(sa7+s*sa8)))))));
322 } else { /* |x| >= 1/.35 ~ 2.857143 */
323 if (hx < 0 && ix >= 0x40180000)
324 return two-tiny; /* x < -6 */
325 R = rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
326 rb5+s*rb6)))));
327 S = one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
328 sb5+s*(sb6+s*sb7))))));
329 }
330 z = x;
331 __trunc_lo_word(&z);
332 r = __ieee754_exp(-z*z-0.5625)*
333 __ieee754_exp((z-x)*(z+x)+R/S);
334 if (hx > 0)
335 return r/x;
336 else
337 return two-r/x;
338 } else {
339 /* set range error */
340 errno = ERANGE;
341 if (hx > 0)
342 return tiny*tiny;
343 else
344 return two-tiny;
345 }
346}
347
lib/libc/mingw/math/sf_erf.c deleted-268
...@@ -1,268 +0,0 @@
1/* sf_erf.c -- float version of s_erf.c.
2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3 */
4
5/*
6 * ====================================================
7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8 *
9 * Developed at SunPro, a Sun Microsystems, Inc. business.
10 * Permission to use, copy, modify, and distribute this
11 * software is freely granted, provided that this notice
12 * is preserved.
13 * ====================================================
14 */
15
16/*
17#include "fdlibm.h"
18*/
19#include <math.h>
20#include <stdint.h>
21#include <errno.h>
22
23#define __ieee754_expf expf
24
25typedef union
26{
27 float value;
28 uint32_t word;
29} ieee_float_shape_type;
30
31/* Get a 32 bit int from a float. */
32
33static inline int
34__get_float_word(float d)
35{
36 ieee_float_shape_type u;
37 u.value = d;
38 return u.word;
39}
40
41/* Set a float from a 32 bit int. */
42
43#define SET_FLOAT_WORD(d,i) \
44do { \
45 ieee_float_shape_type sf_u; \
46 sf_u.word = (i); \
47 (d) = sf_u.value; \
48} while (0)
49
50static inline void __trunc_float_word(float * x)
51{
52 ieee_float_shape_type u;
53 u.value = * x;
54 u.word &= 0xfffff000;
55}
56
57#ifdef __v810__
58#define const
59#endif
60
61static const float
62 tiny= 1e-30,
63 half= 5.0000000000e-01, /* 0x3F000000 */
64 one = 1.0000000000e+00, /* 0x3F800000 */
65 two = 2.0000000000e+00, /* 0x40000000 */
66 /* c = (subfloat)0.84506291151 */
67 erx = 8.4506291151e-01, /* 0x3f58560b */
68 /*
69 * Coefficients for approximation to erf on [0,0.84375]
70 */
71 efx = 1.2837916613e-01, /* 0x3e0375d4 */
72 efx8= 1.0270333290e+00, /* 0x3f8375d4 */
73 pp0 = 1.2837916613e-01, /* 0x3e0375d4 */
74 pp1 = -3.2504209876e-01, /* 0xbea66beb */
75 pp2 = -2.8481749818e-02, /* 0xbce9528f */
76 pp3 = -5.7702702470e-03, /* 0xbbbd1489 */
77 pp4 = -2.3763017452e-05, /* 0xb7c756b1 */
78 qq1 = 3.9791721106e-01, /* 0x3ecbbbce */
79 qq2 = 6.5022252500e-02, /* 0x3d852a63 */
80 qq3 = 5.0813062117e-03, /* 0x3ba68116 */
81 qq4 = 1.3249473704e-04, /* 0x390aee49 */
82 qq5 = -3.9602282413e-06, /* 0xb684e21a */
83 /*
84 * Coefficients for approximation to erf in [0.84375,1.25]
85 */
86 pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */
87 pa1 = 4.1485610604e-01, /* 0x3ed46805 */
88 pa2 = -3.7220788002e-01, /* 0xbebe9208 */
89 pa3 = 3.1834661961e-01, /* 0x3ea2fe54 */
90 pa4 = -1.1089469492e-01, /* 0xbde31cc2 */
91 pa5 = 3.5478305072e-02, /* 0x3d1151b3 */
92 pa6 = -2.1663755178e-03, /* 0xbb0df9c0 */
93 qa1 = 1.0642088205e-01, /* 0x3dd9f331 */
94 qa2 = 5.4039794207e-01, /* 0x3f0a5785 */
95 qa3 = 7.1828655899e-02, /* 0x3d931ae7 */
96 qa4 = 1.2617121637e-01, /* 0x3e013307 */
97 qa5 = 1.3637083583e-02, /* 0x3c5f6e13 */
98 qa6 = 1.1984500103e-02, /* 0x3c445aa3 */
99 /*
100 * Coefficients for approximation to erfc in [1.25,1/0.35]
101 */
102 ra0 = -9.8649440333e-03, /* 0xbc21a093 */
103 ra1 = -6.9385856390e-01, /* 0xbf31a0b7 */
104 ra2 = -1.0558626175e+01, /* 0xc128f022 */
105 ra3 = -6.2375331879e+01, /* 0xc2798057 */
106 ra4 = -1.6239666748e+02, /* 0xc322658c */
107 ra5 = -1.8460508728e+02, /* 0xc3389ae7 */
108 ra6 = -8.1287437439e+01, /* 0xc2a2932b */
109 ra7 = -9.8143291473e+00, /* 0xc11d077e */
110 sa1 = 1.9651271820e+01, /* 0x419d35ce */
111 sa2 = 1.3765776062e+02, /* 0x4309a863 */
112 sa3 = 4.3456588745e+02, /* 0x43d9486f */
113 sa4 = 6.4538726807e+02, /* 0x442158c9 */
114 sa5 = 4.2900814819e+02, /* 0x43d6810b */
115 sa6 = 1.0863500214e+02, /* 0x42d9451f */
116 sa7 = 6.5702495575e+00, /* 0x40d23f7c */
117 sa8 = -6.0424413532e-02, /* 0xbd777f97 */
118 /*
119 * Coefficients for approximation to erfc in [1/.35,28]
120 */
121 rb0 = -9.8649431020e-03, /* 0xbc21a092 */
122 rb1 = -7.9928326607e-01, /* 0xbf4c9dd4 */
123 rb2 = -1.7757955551e+01, /* 0xc18e104b */
124 rb3 = -1.6063638306e+02, /* 0xc320a2ea */
125 rb4 = -6.3756646729e+02, /* 0xc41f6441 */
126 rb5 = -1.0250950928e+03, /* 0xc480230b */
127 rb6 = -4.8351919556e+02, /* 0xc3f1c275 */
128 sb1 = 3.0338060379e+01, /* 0x41f2b459 */
129 sb2 = 3.2579251099e+02, /* 0x43a2e571 */
130 sb3 = 1.5367296143e+03, /* 0x44c01759 */
131 sb4 = 3.1998581543e+03, /* 0x4547fdbb */
132 sb5 = 2.5530502930e+03, /* 0x451f90ce */
133 sb6 = 4.7452853394e+02, /* 0x43ed43a7 */
134 sb7 = -2.2440952301e+01; /* 0xc1b38712 */
135
136float erff(float x)
137{
138 int32_t hx, ix, i;
139 float R, S, P, Q, s, y, z, r;
140 hx = __get_float_word(x);
141 ix = hx & 0x7fffffff;
142 if (!(ix<0x7f800000L)) { /* erf(nan)=nan */
143 i = ((uint32_t)hx>>31)<<1;
144 return (float)(1-i)+one/x; /* erf(+-inf)=+-1 */
145 }
146
147 if (ix < 0x3f580000) { /* |x|<0.84375 */
148 if (ix < 0x31800000) { /* |x|<2**-28 */
149 if (ix < 0x04000000)
150 /*avoid underflow */
151 return (float)0.125*((float)8.0*x+efx8*x);
152 return x + efx*x;
153 }
154 z = x*x;
155 r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
156 s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
157 y = r/s;
158 return x + x*y;
159 }
160 if (ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
161 s = fabsf(x)-one;
162 P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
163 Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
164 if (hx >= 0)
165 return erx + P/Q;
166 else
167 return -erx - P/Q;
168 }
169 if (ix >= 0x40c00000) { /* inf>|x|>=6 */
170 if (hx >= 0)
171 return one-tiny;
172 else
173 return tiny-one;
174 }
175 x = fabsf(x);
176 s = one/(x*x);
177 if (ix< 0x4036DB6E) { /* |x| < 1/0.35 */
178 R = ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
179 ra5+s*(ra6+s*ra7))))));
180 S = one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
181 sa5+s*(sa6+s*(sa7+s*sa8)))))));
182 } else { /* |x| >= 1/0.35 */
183 R = rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
184 rb5+s*rb6)))));
185 S = one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
186 sb5+s*(sb6+s*sb7))))));
187 }
188
189 z = x;
190 __trunc_float_word (&z);
191 r = __ieee754_expf(-z*z-(float)0.5625)*__ieee754_expf((z-x)*(z+x)+R/S);
192 if (hx >= 0)
193 return one-r/x;
194 else
195 return r/x-one;
196}
197
198float erfcf(float x)
199{
200 int32_t hx, ix;
201 float R, S, P, Q, s, y, z, r;
202 hx = __get_float_word(x);
203 ix = hx & 0x7fffffff;
204 if (!(ix < 0x7f800000L)) { /* erfc(nan)=nan */
205 /* erfc(+-inf)=0,2 */
206 return (float)(((uint32_t)hx>>31)<<1)+one/x;
207 }
208
209 if (ix < 0x3f580000) { /* |x|<0.84375 */
210 if (ix < 0x23800000) /* |x|<2**-56 */
211 return one-x;
212 z = x*x;
213 r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
214 s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
215 y = r/s;
216 if (hx < 0x3e800000) { /* x<1/4 */
217 return one-(x+x*y);
218 } else {
219 r = x*y;
220 r += (x-half);
221 return half - r ;
222 }
223 }
224 if (ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
225 s = fabsf(x)-one;
226 P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
227 Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
228 if (hx >= 0) {
229 z = one-erx; return z - P/Q;
230 } else {
231 z = erx+P/Q; return one+z;
232 }
233 }
234
235 if (ix < 0x41e00000) { /* |x|<28 */
236 x = fabsf(x);
237 s = one/(x*x);
238 if (ix< 0x4036DB6D) { /* |x| < 1/.35 ~ 2.857143*/
239 R = ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
240 ra5+s*(ra6+s*ra7))))));
241 S = one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
242 sa5+s*(sa6+s*(sa7+s*sa8)))))));
243 } else { /* |x| >= 1/.35 ~ 2.857143 */
244 if (hx < 0 && ix >= 0x40c00000)
245 return two-tiny;/* x < -6 */
246 R = rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
247 rb5+s*rb6)))));
248 S = one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
249 sb5+s*(sb6+s*sb7))))));
250 }
251
252 z = x;
253 __trunc_float_word (&z);
254 r = __ieee754_expf(-z*z-(float)0.5625)*
255 __ieee754_expf((z-x)*(z+x)+R/S);
256 if (hx > 0)
257 return r/x;
258 else
259 return two-r/x;
260 } else {
261 /* set range error */
262 errno = ERANGE;
263 if (hx > 0)
264 return tiny*tiny;
265 else
266 return two-tiny;
267 }
268}
lib/libc/mingw/math/sqrt.c deleted-47
...@@ -1,47 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#define X64_ASM "sqrtsd"
47#include "sqrt.def.h"
lib/libc/mingw/math/tgamma.c deleted-268
...@@ -1,268 +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 "cephes_mconf.h"
7
8#ifdef UNK
9static const uD P[7] = {
10 { { 1.60119522476751861407E-4 } },
11 { { 1.19135147006586384913E-3 } },
12 { { 1.04213797561761569935E-2 } },
13 { { 4.76367800457137231464E-2 } },
14 { { 2.07448227648435975150E-1 } },
15 { { 4.94214826801497100753E-1 } },
16 { { 9.99999999999999996796E-1 } }
17};
18static const uD Q[8] = {
19 { { -2.31581873324120129819E-5 } },
20 { { 5.39605580493303397842E-4 } },
21 { { -4.45641913851797240494E-3 } },
22 { { 1.18139785222060435552E-2 } },
23 { { 3.58236398605498653373E-2 } },
24 { { -2.34591795718243348568E-1 } },
25 { { 7.14304917030273074085E-2 } },
26 { { 1.00000000000000000320E0 } }
27};
28#define MAXGAM 171.624376956302725
29static const double LOGPI = 1.14472988584940017414;
30#endif
31
32#ifdef IBMPC
33static const uD P[7] = {
34 { { 0x2153,0x3998,0xfcb8,0x3f24 } },
35 { { 0xbfab,0xe686,0x84e3,0x3f53 } },
36 { { 0x14b0,0xe9db,0x57cd,0x3f85 } },
37 { { 0x23d3,0x18c4,0x63d9,0x3fa8 } },
38 { { 0x7d31,0xdcae,0x8da9,0x3fca } },
39 { { 0xe312,0x3993,0xa137,0x3fdf } },
40 { { 0x0000,0x0000,0x0000,0x3ff0 } }
41};
42static const uD Q[8] = {
43 { { 0xd3af,0x8400,0x487a,0xbef8 } },
44 { { 0x2573,0x2915,0xae8a,0x3f41 } },
45 { { 0xb44a,0xe750,0x40e4,0xbf72 } },
46 { { 0xb117,0x5b1b,0x31ed,0x3f88 } },
47 { { 0xde67,0xe33f,0x5779,0x3fa2 } },
48 { { 0x87c2,0x9d42,0x071a,0xbfce } },
49 { { 0x3c51,0xc9cd,0x4944,0x3fb2 } },
50 { { 0x0000,0x0000,0x0000,0x3ff0 } }
51};
52#define MAXGAM 171.624376956302725
53#endif
54
55#ifdef MIEEE
56static const uD P[7] = {
57 { { 0x3f24,0xfcb8,0x3998,0x2153 } },
58 { { 0x3f53,0x84e3,0xe686,0xbfab } },
59 { { 0x3f85,0x57cd,0xe9db,0x14b0 } },
60 { { 0x3fa8,0x63d9,0x18c4,0x23d3 } },
61 { { 0x3fca,0x8da9,0xdcae,0x7d31 } },
62 { { 0x3fdf,0xa137,0x3993,0xe312 } },
63 { { 0x3ff0,0x0000,0x0000,0x0000 } }
64};
65static const unsigned short Q[8] = {
66 { { 0xbef8,0x487a,0x8400,0xd3af } },
67 { { 0x3f41,0xae8a,0x2915,0x2573 } },
68 { { 0xbf72,0x40e4,0xe750,0xb44a } },
69 { { 0x3f88,0x31ed,0x5b1b,0xb117 } },
70 { { 0x3fa2,0x5779,0xe33f,0xde67 } },
71 { { 0xbfce,0x071a,0x9d42,0x87c2 } },
72 { { 0x3fb2,0x4944,0xc9cd,0x3c51 } },
73 { { 0x3ff0,0x0000,0x0000,0x0000 } }
74};
75#define MAXGAM 171.624376956302725
76#endif
77
78/* Stirling's formula for the gamma function */
79#if UNK
80static const uD STIR[5] = {
81 { { 7.87311395793093628397E-4 } },
82 { { -2.29549961613378126380E-4 } },
83 { { -2.68132617805781232825E-3 } },
84 { { 3.47222221605458667310E-3 } },
85 { { 8.33333333333482257126E-2 } }
86};
87#define MAXSTIR 143.01608
88static const double SQTPI = 2.50662827463100050242E0;
89#endif
90#if IBMPC
91static const uD STIR[5] = {
92 { { 0x7293,0x592d,0xcc72,0x3f49 } },
93 { { 0x1d7c,0x27e6,0x166b,0xbf2e } },
94 { { 0x4fd7,0x07d4,0xf726,0xbf65 } },
95 { { 0xc5fd,0x1b98,0x71c7,0x3f6c } },
96 { { 0x5986,0x5555,0x5555,0x3fb5 } }
97};
98#define MAXSTIR 143.01608
99
100static const union
101{
102 unsigned short s[4];
103 double d;
104} sqt = {{0x2706,0x1ff6,0x0d93,0x4004}};
105#define SQTPI (sqt.d)
106#endif
107#if MIEEE
108static const uD STIR[5] = {
109 { { 0x3f49,0xcc72,0x592d,0x7293 } },
110 { { 0xbf2e,0x166b,0x27e6,0x1d7c } },
111 { { 0xbf65,0xf726,0x07d4,0x4fd7 } },
112 { { 0x3f6c,0x71c7,0x1b98,0xc5fd } },
113 { { 0x3fb5,0x5555,0x5555,0x5986 } }
114};
115#define MAXSTIR 143.01608
116static const uD SQT = {
117 { { 0x4004,0x0d93,0x1ff6,0x2706 } }
118};
119#define SQTPI SQT.d
120#endif
121
122static double stirf (double);
123
124/* Gamma function computed by Stirling's formula.
125 * The polynomial STIR is valid for 33 <= x <= 172.
126 */
127static double stirf(double x)
128{
129 double y, w, v;
130
131 w = 1.0/x;
132 w = 1.0 + w * polevl(w, STIR, 4);
133 y = exp(x);
134 if (x > MAXSTIR)
135 { /* Avoid overflow in pow() */
136 v = pow(x, 0.5 * x - 0.25);
137 y = v * (v / y);
138 }
139 else
140 {
141 y = pow(x, x - 0.5) / y;
142 }
143 y = SQTPI * y * w;
144 return (y);
145}
146
147
148double __tgamma_r(double x, int *sgngam);
149
150double __tgamma_r(double x, int *sgngam)
151{
152 double p, q, z;
153 int i;
154
155 *sgngam = 1;
156#ifdef NANS
157 if (isnan(x))
158 return (x);
159#endif
160#ifdef INFINITIES
161#ifdef NANS
162 if (x == INFINITY)
163 return (x);
164 if (x == -INFINITY)
165 return (NAN);
166#else
167 if (!isfinite(x))
168 return (x);
169#endif
170#endif
171 if (x == 0.0)
172 return copysign(HUGE_VAL, x);
173
174 q = fabs(x);
175
176 if (q > 33.0)
177 {
178 if (x < 0.0)
179 {
180 p = floor(q);
181 if (p == q)
182 {
183gsing:
184 _SET_ERRNO(EDOM);
185 mtherr("tgamma", SING);
186#ifdef NANS
187 return (NAN);
188#else
189 return (MAXNUM);
190#endif
191 }
192 i = p;
193 if ((i & 1) == 0)
194 *sgngam = -1;
195 z = q - p;
196 if (z > 0.5)
197 {
198 p += 1.0;
199 z = q - p;
200 }
201 z = q * sin(PI * z);
202 if (z == 0.0)
203 {
204 _SET_ERRNO(ERANGE);
205 mtherr("tgamma", OVERFLOW);
206#ifdef INFINITIES
207 return (*sgngam * INFINITY);
208#else
209 return (*sgngam * MAXNUM);
210#endif
211 }
212 z = fabs(z);
213 z = PI/(z * stirf(q));
214 }
215 else
216 {
217 z = stirf(x);
218 }
219 return (*sgngam * z);
220 }
221
222 z = 1.0;
223 while (x >= 3.0)
224 {
225 x -= 1.0;
226 z *= x;
227 }
228
229 while (x < 0.0)
230 {
231 if (x > -1.E-9)
232 goto Small;
233 z /= x;
234 x += 1.0;
235 }
236
237 while (x < 2.0)
238 {
239 if (x < 1.e-9)
240 goto Small;
241 z /= x;
242 x += 1.0;
243 }
244
245 if (x == 2.0)
246 return (z);
247
248 x -= 2.0;
249 p = polevl( x, P, 6 );
250 q = polevl( x, Q, 7 );
251 return (z * p / q);
252
253Small:
254 if (x == 0.0)
255 {
256 goto gsing;
257 }
258 else
259 return (z/((1.0 + 0.5772156649015329 * x) * x));
260}
261
262/* This is the C99 version */
263double tgamma(double x)
264{
265 int local_sgngam = 0;
266 return (__tgamma_r(x, &local_sgngam));
267}
268
lib/libc/mingw/math/tgammaf.c deleted-196
...@@ -1,196 +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 "cephes_mconf.h"
7
8/* define MAXGAM 34.84425627277176174 */
9
10/* Stirling's formula for the gamma function
11 * gamma(x) = sqrt(2 pi) x^(x-.5) exp(-x) ( 1 + 1/x P(1/x) )
12 * .028 < 1/x < .1
13 * relative error < 1.9e-11
14 */
15static const float STIR[] = {
16 -2.705194986674176E-003,
17 3.473255786154910E-003,
18 8.333331788340907E-002,
19};
20static const float MAXSTIR = 26.77;
21static const float SQTPIF = 2.50662827463100050242; /* sqrt( 2 pi ) */
22
23static float stirf(float);
24
25/* Gamma function computed by Stirling's formula,
26 * sqrt(2 pi) x^(x-.5) exp(-x) (1 + 1/x P(1/x))
27 * The polynomial STIR is valid for 33 <= x <= 172.
28 */
29static float stirf( float x )
30{
31 float y, w, v;
32
33 w = 1.0/x;
34 w = 1.0 + w * polevlf(w, STIR, 2);
35 y = expf(-x);
36 if (x > MAXSTIR)
37 { /* Avoid overflow in pow() */
38 v = powf(x, 0.5 * x - 0.25);
39 y *= v;
40 y *= v;
41 }
42 else
43 {
44 y = powf(x, x - 0.5) * y;
45 }
46 y = SQTPIF * y * w;
47 return (y);
48}
49
50
51/* gamma(x+2), 0 < x < 1 */
52static const float P[] = {
53 1.536830450601906E-003,
54 5.397581592950993E-003,
55 4.130370201859976E-003,
56 7.232307985516519E-002,
57 8.203960091619193E-002,
58 4.117857447645796E-001,
59 4.227867745131584E-001,
60 9.999999822945073E-001,
61};
62
63float __tgammaf_r( float x, int* sgngamf);
64
65float __tgammaf_r( float x, int* sgngamf)
66{
67 float p, q, z, nz;
68 int i, direction, negative;
69
70#ifdef NANS
71 if (isnan(x))
72 return (x);
73#endif
74#ifdef INFINITIES
75#ifdef NANS
76 if (x == INFINITYF)
77 return (x);
78 if (x == -INFINITYF)
79 return (NANF);
80#else
81 if (!isfinite(x))
82 return (x);
83#endif
84#endif
85 if (x == 0.0)
86 return copysignf(HUGE_VALF, x);
87
88 *sgngamf = 1;
89 negative = 0;
90 nz = 0.0;
91 if (x < 0.0)
92 {
93 negative = 1;
94 q = -x;
95 p = floorf(q);
96 if (p == q)
97 {
98gsing:
99 _SET_ERRNO(EDOM);
100 mtherr("tgammaf", SING);
101#ifdef NANS
102 return (NAN);
103#else
104 return (MAXNUMF);
105#endif
106 }
107 i = p;
108 if ((i & 1) == 0)
109 *sgngamf = -1;
110 nz = q - p;
111 if (nz > 0.5)
112 {
113 p += 1.0;
114 nz = q - p;
115 }
116 nz = q * sinf(PIF * nz);
117 if (nz == 0.0)
118 {
119 _SET_ERRNO(ERANGE);
120 mtherr("tgamma", OVERFLOW);
121#ifdef INFINITIES
122 return(*sgngamf * INFINITYF);
123#else
124 return(*sgngamf * MAXNUMF);
125#endif
126 }
127 if (nz < 0)
128 nz = -nz;
129 x = q;
130 }
131 if (x >= 10.0)
132 {
133 z = stirf(x);
134 }
135 if (x < 2.0)
136 direction = 1;
137 else
138 direction = 0;
139 z = 1.0;
140 while (x >= 3.0)
141 {
142 x -= 1.0;
143 z *= x;
144 }
145 /*
146 while (x < 0.0)
147 {
148 if (x > -1.E-4)
149 goto Small;
150 z *=x;
151 x += 1.0;
152 }
153 */
154 while (x < 2.0)
155 {
156 if (x < 1.e-4)
157 goto Small;
158 z *=x;
159 x += 1.0;
160 }
161
162 if (direction)
163 z = 1.0/z;
164
165 if (x == 2.0)
166 return (z);
167
168 x -= 2.0;
169 p = z * polevlf(x, P, 7);
170
171gdone:
172 if (negative)
173 {
174 p = *sgngamf * PIF/(nz * p );
175 }
176 return (p);
177
178Small:
179 if (x == 0.0)
180 {
181 goto gsing;
182 }
183 else
184 {
185 p = z / ((1.0 + 0.5772156649015329 * x) * x);
186 goto gdone;
187 }
188}
189
190/* This is the C99 version */
191float tgammaf(float x)
192{
193 int local_sgngamf = 0;
194 return (__tgammaf_r(x, &local_sgngamf));
195}
196
lib/libc/mingw/math/x86/acosh.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "acosh.def.h"
lib/libc/mingw/math/x86/acoshf.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_FLOAT 1
46#include "acosh.def.h"
lib/libc/mingw/math/x86/asinh.c deleted-74
...@@ -1,74 +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 <math.h>
7#include <errno.h>
8#include <float.h>
9#include "fastmath.h"
10
11 /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
12double asinh(double x)
13{
14 double z;
15 if (!isfinite (x))
16 return x;
17 z = fabs (x);
18
19 /* Avoid setting FPU underflow exception flag in x * x. */
20#if 0
21 if ( z < 0x1p-32)
22 return x;
23#endif
24
25 /* NB the previous formula
26 z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
27 was defective in two ways:
28 1: It ommitted required brackets:
29 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
30 ^ ^
31 so would still overflow for large z.
32 2: Even with the brackets, it still degraded quickly for large z
33 (where z*z+1 == z*z).
34 e.g. asinh (sinh 356.0)) gave 355.30685281944005
35 */
36
37 const double asinhCutover = pow(2,DBL_MAX_EXP/2); // 1.3407807929943e+154
38
39 if (z < asinhCutover)
40 /* After excluding large values, the rearranged formula gives better results
41 the original formula log(z + sqrt(z * z + 1.0)) for very small z.
42 e.g. rearranged asinh(sinh 2e-301)) = 2e-301
43 original asinh(sinh 2e-301)) = 0.
44 asinh(z) = log (z + sqrt (z * z + 1.0))
45 = log1p (z + sqrt (z * z + 1.0) - 1.0)
46 = log1p (z + (sqrt (z * z + 1.0) - 1.0)
47 * (sqrt (z * z + 1.0) + 1.0)
48 / (sqrt (z * z + 1.0) + 1.0))
49 = log1p (z + ((z * z + 1.0) - 1.0)
50 / (sqrt (z * z + 1.0) + 1.0))
51 = log1p (z + z * z / (sqrt (z * z + 1.0) + 1.0))
52 */
53 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
54 else
55 /* above this, z*z+1 == z*z, so we can simplify
56 (and avoid z*z being infinity).
57 asinh(z) = log (z + sqrt (z * z + 1.0))
58 = log (z + sqrt (z * z ))
59 = log (2 * z)
60 = log 2 + log z
61 Choosing asinhCutover is a little tricky.
62 We'd like something that's based on the nature of
63 the numeric type (DBL_MAX_EXP, etc).
64 If c = asinhCutover, then we need:
65 (1) c*c == c*c + 1
66 (2) log (2*c) = log 2 + log c.
67 For float:
68 9.490626562425156e7 is the smallest value that
69 achieves (1), but it fails (2). (It only just fails,
70 but enough to make the function erroneously non-monotonic).
71 */
72 z = __fast_log(2) + __fast_log(z);
73 return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
74}
lib/libc/mingw/math/x86/asinhf.c deleted-34
...@@ -1,34 +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 <math.h>
7#include <errno.h>
8#include <float.h>
9#include "fastmath.h"
10
11 /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
12float asinhf(float x)
13{
14 float z;
15 if (!isfinite (x))
16 return x;
17 z = fabsf (x);
18
19 /* Avoid setting FPU underflow exception flag in x * x. */
20#if 0
21 if ( z < 0x1p-32)
22 return x;
23#endif
24
25 /* See commentary in asinh */
26 const float asinhCutover = pow(2,FLT_MAX_EXP/2);
27
28 if (z < asinhCutover)
29 z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
30 //z = __fast_log(z + __fast_sqrt(z * z + 1.0));
31 else
32 z = __fast_log(2) + __fast_log(z);
33 return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
34}
lib/libc/mingw/math/x86/atan2.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
7#include <math.h>
8
9double
10atan2 (double y, double x)
11{
12 double res = 0.0;
13 asm volatile ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)");
14 return res;
15}
lib/libc/mingw/math/x86/atanh.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#include <math.h>
7#include <errno.h>
8#include "fastmath.h"
9
10/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */
11
12double atanh(double x)
13{
14 double z;
15 if (isnan (x))
16 return x;
17 z = fabs (x);
18 if (z == 1.0)
19 {
20 errno = ERANGE;
21 return (x > 0 ? INFINITY : -INFINITY);
22 }
23 if (z > 1.0)
24 {
25 errno = EDOM;
26 return nan("");
27 }
28 /* Rearrange formula to avoid precision loss for small x.
29
30 atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x))
31 = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0)
32 = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
33 = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
34 z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
35 return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
36}
lib/libc/mingw/math/x86/atanhf.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#include <math.h>
7#include <errno.h>
8#include "fastmath.h"
9
10/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */
11float atanhf (float x)
12{
13 float z;
14 if (isnan (x))
15 return x;
16 z = fabsf (x);
17 if (z == 1.0)
18 {
19 errno = ERANGE;
20 return (x > 0 ? INFINITY : -INFINITY);
21 }
22 if ( z > 1.0)
23 {
24 errno = EDOM;
25 return nanf("");
26 }
27 /* Rearrange formula to avoid precision loss for small x.
28
29 atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x))
30 = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0)
31 = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
32 = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
33 z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
34 return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
35}
lib/libc/mingw/math/x86/ceil.S deleted-115
...@@ -1,115 +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 .file "ceil.S"
9 .text
10 .align 4
11 .globl __MINGW_USYMBOL(ceil)
12 .def __MINGW_USYMBOL(ceil); .scl 2; .type 32; .endef
13#ifdef __x86_64__
14 .seh_proc __MINGW_USYMBOL(ceil)
15#endif
16
17__MINGW_USYMBOL(ceil):
18#if defined(_AMD64_) || defined(__x86_64__)
19 .seh_endprologue
20 movd %xmm0, %rax
21 movq %rax, %rcx
22 sarq $52, %rcx
23 andl $2047, %ecx
24 subl $1023, %ecx
25 cmpl $51, %ecx
26 jg .is_intnaninf
27 /* Is x zero? */
28 testq %rax, %rax
29 je .ret_org
30 /* Is x signed? */
31 testl %ecx, %ecx
32 js .signed_val
33 /* Is x integral? */
34 movabsq $4503599627370495, %rdx
35 sarq %cl, %rdx
36 testq %rax, %rdx
37 je .ret_org
38 addsd .huge(%rip), %xmm0
39 ucomisd .zero(%rip), %xmm0
40 jbe .doret
41 testq %rax, %rax
42 jle .l1
43 /* inexact ... */
44 movabsq $4503599627370496, %r8
45 shrq %cl, %r8
46 addq %r8, %rax
47.l1:
48 notq %rdx
49 andq %rdx, %rax
50.doret:
51 movd %rax, %xmm0
52 ret
53 .p2align 4,,10
54.signed_val:
55 addsd .huge(%rip), %xmm0
56 ucomisd .zero(%rip), %xmm0
57 jbe .doret2
58 testq %rax, %rax
59 movabsq $4607182418800017408, %rdx
60 movabsq $-9223372036854775808, %rax
61 cmovns %rdx, %rax
62 .p2align 4,,10
63.doret2:
64 movd %rax, %xmm0
65 ret
66
67 .p2align 4,,10
68.is_intnaninf:
69 /* Is Nan or Inf? */
70 cmpl $1024, %ecx
71 je .ret_naninf
72 .p2align 4,,10
73.ret_org:
74 /* return x. */
75 rep
76 ret
77 .p2align 4,,10
78.ret_naninf:
79 /* return x + x; */
80 addsd %xmm0, %xmm0
81 ret
82 .seh_endproc
83
84/* local data. */
85 .section .rdata,"dr"
86 .align 8
87.huge:
88 .long -2013235812
89 .long 2117592124
90 .align 8
91.zero:
92 .long 0
93 .long 0
94#elif defined(_X86_) || defined(__i386__)
95 fldl 4(%esp)
96 subl $8,%esp
97
98 fstcw 4(%esp) /* store fpu control word */
99
100 /* We use here %edx although only the low 1 bits are defined.
101 But none of the operations should care and they are faster
102 than the 16 bit operations. */
103 movl $0x0800,%edx /* round towards +oo */
104 orl 4(%esp),%edx
105 andl $0xfbff,%edx
106 movl %edx,(%esp)
107 fldcw (%esp) /* load modified control word */
108
109 frndint /* round */
110
111 fldcw 4(%esp) /* restore original control word */
112
113 addl $8,%esp
114 ret
115#endif
lib/libc/mingw/math/x86/cos.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "cos.def.h"
lib/libc/mingw/math/x86/exp.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "exp.def.h"
lib/libc/mingw/math/x86/exp2.S deleted-94
...@@ -1,94 +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 .file "exp2.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(exp2)
16 .def __MINGW_USYMBOL(exp2); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(exp2):
18#ifdef __x86_64__
19 subq $24, %rsp
20 movsd %xmm0,(%rsp)
21 fldl (%rsp)
22 fxam /* Is NaN or +-Inf? */
23 fstsw %ax
24 movb $0x45, %dh
25 andb %ah, %dh
26 cmpb $0x05, %dh
27 je 1f /* Is +-Inf, jump. */
28 fld %st
29 subq $8, %rsp /* int(x) */
30 fnstcw 4(%rsp)
31 movzwl 4(%rsp), %eax
32 orb $12, %ah
33 movw %ax, (%rsp)
34 fldcw (%rsp)
35 frndint
36 fldcw 4(%rsp)
37 addq $8, %rsp
38 fsubr %st,%st(1) /* fract(x) */
39 fxch
40 f2xm1 /* 2^(fract(x)) - 1 */
41 fld1
42 faddp /* 2^(fract(x)) */
43 fscale /* e^x */
44 fstp %st(1)
45 fstpl (%rsp)
46 movsd (%rsp),%xmm0
47 addq $24, %rsp
48 ret
49
501: testl $0x200, %eax /* Test sign. */
51 jz 2f /* If positive, jump. */
52 fstp %st
53 fldz /* Set result to 0. */
542: fstpl (%rsp)
55 movsd (%rsp),%xmm0
56 addq $24,%rsp
57 ret
58#else
59 fldl 4(%esp)
60/* I added the following ugly construct because exp(+-Inf) resulted
61 in NaN. The ugliness results from the bright minds at Intel.
62 For the i686 the code can be written better.
63 -- drepper@cygnus.com. */
64 fxam /* Is NaN or +-Inf? */
65 fstsw %ax
66 movb $0x45, %dh
67 andb %ah, %dh
68 cmpb $0x05, %dh
69 je 1f /* Is +-Inf, jump. */
70 fld %st
71 subl $8, %esp /* int(x) */
72 fnstcw 4(%esp)
73 movzwl 4(%esp), %eax
74 orb $12, %ah
75 movw %ax, (%esp)
76 fldcw (%esp)
77 frndint
78 fldcw 4(%esp)
79 addl $8, %esp
80 fsubr %st,%st(1) /* fract(x) */
81 fxch
82 f2xm1 /* 2^(fract(x)) - 1 */
83 fld1
84 faddp /* 2^(fract(x)) */
85 fscale /* e^x */
86 fstp %st(1)
87 ret
88
891: testl $0x200, %eax /* Test sign. */
90 jz 2f /* If positive, jump. */
91 fstp %st
92 fldz /* Set result to 0. */
932: ret
94#endif
lib/libc/mingw/math/x86/exp2f.S deleted-94
...@@ -1,94 +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 .file "exp2f.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(exp2f)
16 .def __MINGW_USYMBOL(exp2f); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(exp2f):
18#ifdef __x86_64__
19 subq $24, %rsp
20 movss %xmm0,(%rsp)
21 flds (%rsp)
22 fxam /* Is NaN or +-Inf? */
23 fstsw %ax
24 movb $0x45, %dh
25 andb %ah, %dh
26 cmpb $0x05, %dh
27 je 1f /* Is +-Inf, jump. */
28 fld %st
29 subq $8, %rsp /* int(x) */
30 fnstcw 4(%rsp)
31 movzwl 4(%rsp), %eax
32 orb $12, %ah
33 movw %ax, (%rsp)
34 fldcw (%rsp)
35 frndint
36 fldcw 4(%rsp)
37 addq $8, %rsp
38 fsubr %st,%st(1) /* fract(x) */
39 fxch
40 f2xm1 /* 2^(fract(x)) - 1 */
41 fld1
42 faddp /* 2^(fract(x)) */
43 fscale /* e^x */
44 fstp %st(1)
45 fstps (%rsp)
46 movss (%rsp),%xmm0
47 addq $24, %rsp
48 ret
49
501: testl $0x200, %eax /* Test sign. */
51 jz 2f /* If positive, jump. */
52 fstp %st
53 fldz /* Set result to 0. */
542: fstps (%rsp)
55 movss (%rsp),%xmm0
56 addq $24, %rsp
57 ret
58#else
59 flds 4(%esp)
60/* I added the following ugly construct because exp(+-Inf) resulted
61 in NaN. The ugliness results from the bright minds at Intel.
62 For the i686 the code can be written better.
63 -- drepper@cygnus.com. */
64 fxam /* Is NaN or +-Inf? */
65 fstsw %ax
66 movb $0x45, %dh
67 andb %ah, %dh
68 cmpb $0x05, %dh
69 je 1f /* Is +-Inf, jump. */
70 fld %st
71 subl $8, %esp /* int(x) */
72 fnstcw 4(%esp)
73 movzwl 4(%esp), %eax
74 orb $12, %ah
75 movw %ax, (%esp)
76 fldcw (%esp)
77 frndint
78 fldcw 4(%esp)
79 addl $8, %esp
80 fsubr %st,%st(1) /* fract(x) */
81 fxch
82 f2xm1 /* 2^(fract(x)) - 1 */
83 fld1
84 faddp /* 2^(fract(x)) */
85 fscale /* e^x */
86 fstp %st(1)
87 ret
88
891: testl $0x200, %eax /* Test sign. */
90 jz 2f /* If positive, jump. */
91 fstp %st
92 fldz /* Set result to 0. */
932: ret
94#endif
lib/libc/mingw/math/x86/expm1.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "expm1.def.h"
lib/libc/mingw/math/x86/expm1f.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_FLOAT 1
46#include "expm1.def.h"
lib/libc/mingw/math/x86/floor.S deleted-167
...@@ -1,167 +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 .file "floor.S"
9 .text
10 .p2align 4,,15
11 .globl __MINGW_USYMBOL(floor)
12 .def __MINGW_USYMBOL(floor); .scl 2; .type 32; .endef
13#ifdef __x86_64__
14 .seh_proc __MINGW_USYMBOL(floor)
15#endif
16__MINGW_USYMBOL(floor):
17#if defined(_AMD64_) || defined(__x86_64__)
18 pushq %rbx
19 .seh_pushreg %rbx
20 subq $16, %rsp
21 .seh_stackalloc 16
22 .seh_endprologue
23 movsd %xmm0, 8(%rsp)
24 movq 8(%rsp), %r9
25 movq %r9, %rdx
26 movl %r9d, %r10d
27 shrq $32, %rdx
28 movl %edx, %eax
29 movl %edx, %r11d
30 sarl $20, %eax
31 andl $2047, %eax
32 leal -1023(%rax), %r8d
33 cmpl $51, %r8d
34 jle .L2
35 cmpl $1024, %r8d
36 je .L27
37.L3:
38 addq $16, %rsp
39 popq %rbx
40 ret
41 .p2align 4,,10
42.L2:
43 cmpl $19, %r8d
44 jg .L4
45 testl %r8d, %r8d
46 js .L28
47 movl $1048575, %eax
48 movl %r8d, %ecx
49 shrl %cl, %eax
50 testl %r9d, %r9d
51 jne .L8
52 testl %edx, %eax
53 je .L3
54.L8:
55 movsd .hugeval(%rip), %xmm1
56 xorpd %xmm2, %xmm2
57 addsd %xmm0, %xmm1
58 ucomisd %xmm1, %xmm2
59 jae .L3
60 xorl %r9d, %r9d
61 testl %edx, %edx
62 jns .L9
63 movl $1048576, %r9d
64 movl %r8d, %ecx
65 sarl %cl, %r9d
66.L9:
67 addl %r9d, %edx
68 notl %eax
69 andl %edx, %eax
70 salq $32, %rax
71 movq %rax, 8(%rsp)
72 movsd 8(%rsp), %xmm0
73 addq $16, %rsp
74 popq %rbx
75 ret
76 .p2align 4,,10
77.L4:
78 leal -1043(%rax), %ecx
79 movl $-1, %ebx
80 shrl %cl, %ebx
81 testl %r9d, %ebx
82 je .L3
83 movsd .hugeval(%rip), %xmm1
84 xorpd %xmm2, %xmm2
85 addsd %xmm0, %xmm1
86 ucomisd %xmm1, %xmm2
87 jae .L3
88 testl %edx, %edx
89 js .L29
90.L11:
91 notl %ebx
92 salq $32, %r11
93 andl %ebx, %r10d
94 orq %r10, %r11
95 movq %r11, 8(%rsp)
96 movsd 8(%rsp), %xmm0
97 addq $16, %rsp
98 popq %rbx
99 ret
100 .p2align 4,,10
101.L27:
102 addsd %xmm0, %xmm0
103 addq $16, %rsp
104 popq %rbx
105 ret
106 .p2align 4,,10
107.L28:
108 movsd .hugeval(%rip), %xmm2
109 xorpd %xmm1, %xmm1
110 addsd %xmm0, %xmm2
111 ucomisd %xmm1, %xmm2
112 jbe .L3
113 testl %edx, %edx
114 js .L7
115 movapd %xmm1, %xmm0
116 jmp .L3
117 .p2align 4,,10
118.L7:
119 andl $2147483647, %edx
120 orl %r9d, %edx
121 je .L3
122 movabsq $-4616189618054758400, %rax
123 movq %rax, 8(%rsp)
124 movsd 8(%rsp), %xmm0
125 jmp .L3
126 .p2align 4,,10
127.L29:
128 cmpl $20, %r8d
129 je .L25
130 movl $1075, %ecx
131 movl $1, %r10d
132 subl %eax, %ecx
133 sall %cl, %r10d
134 addl %r9d, %r10d
135 jae .L11
136.L25:
137 leal 1(%rdx), %r11d
138 jmp .L11
139 .seh_endproc
140
141 .section .rdata,"dr"
142 .align 8
143.hugeval:
144 .long -2013235812
145 .long 2117592124
146#elif defined(_X86_) || defined(__i386__)
147 fldl 4(%esp)
148 subl $8,%esp
149
150 fstcw 4(%esp) /* store fpu control word */
151
152 /* We use here %edx although only the low 1 bits are defined.
153 But none of the operations should care and they are faster
154 than the 16 bit operations. */
155 movl $0x400,%edx /* round towards -oo */
156 orl 4(%esp),%edx
157 andl $0xf7ff,%edx
158 movl %edx,(%esp)
159 fldcw (%esp) /* load modified control word */
160
161 frndint /* round */
162
163 fldcw 4(%esp) /* restore original control word */
164
165 addl $8,%esp
166 ret
167#endif
lib/libc/mingw/math/x86/fmod.c deleted-21
...@@ -1,21 +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 */
6double fmod (double x, double y);
7
8double
9fmod (double x, double y)
10{
11 double res = 0.0;
12
13 asm volatile (
14 "1:\tfprem\n\t"
15 "fstsw %%ax\n\t"
16 "sahf\n\t"
17 "jp 1b\n\t"
18 "fstp %%st(1)"
19 : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
20 return res;
21}
lib/libc/mingw/math/x86/ilogb.S deleted-137
...@@ -1,137 +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 .file "ilogb.S"
9 .text
10 .p2align 4,,15
11.globl __MINGW_USYMBOL(ilogb)
12 .def __MINGW_USYMBOL(ilogb); .scl 2; .type 32; .endef
13#ifdef __x86_64__
14 .seh_proc __MINGW_USYMBOL(ilogb)
15#endif
16__MINGW_USYMBOL(ilogb):
17#ifdef __x86_64__
18/* Generated code by:
19int
20ilogb (double x)
21{
22 __mingw_dbl_type_t hlp;
23 int hx, lx, ix;
24
25 hlp.x = x;
26 hx = hpl.lh.high & 0x7fffffff;
27 if (hx < 0x100000)
28 {
29 lx = hlp.lh.low;
30 if ((hx | lx) == 0)
31 return 0x80000000; // ilogb(0) = FP_ILOGB0
32 // subnormal x
33 if (hx == 0)
34 {
35 for (ix = -1043; lx > 0; lx <<= 1)
36 ix -=1;
37 }
38 else
39 {
40 for (ix = -1022,hx <<= 11; hx > 0; hx <<= 1)
41 ix -=1;
42 }
43 return ix;
44 }
45 if (hx < 0x7ff00000)
46 return (hx >> 20) - 1023;
47 lx = hlp.lh.low;
48 return 0x7fffffff;
49} */
50 subq $24, %rsp
51 .seh_stackalloc 24
52 .seh_endprologue
53 movsd %xmm0, 8(%rsp)
54 movq 8(%rsp), %rdx
55 shrq $32, %rdx
56 andl $2147483647, %edx
57 cmpl $1048575, %edx
58 jg .L2
59 movq 8(%rsp), %rcx
60 movl %edx, %eax
61 orl %ecx, %eax
62 je .L8
63 testl %edx, %edx
64 jne .L4
65 testl %ecx, %ecx
66 movl %ecx, %edx
67 movl $-1043, %eax
68 jle .L3
69 .p2align 4,,10
70.L5:
71 addl %edx, %edx
72 subl $1, %eax
73 testl %edx, %edx
74 jg .L5
75 addq $24, %rsp
76 ret
77 .p2align 4,,10
78.L2:
79 cmpl $2146435071, %edx
80 jle .L13
81 movl $2147483647, %eax
82.L3:
83 addq $24, %rsp
84 ret
85 .p2align 4,,10
86.L4:
87 sall $11, %edx
88 movl $-1022, %eax
89 testl %edx, %edx
90 jle .L3
91 .p2align 4,,10
92.L6:
93 addl %edx, %edx
94 subl $1, %eax
95 testl %edx, %edx
96 jg .L6
97 addq $24, %rsp
98 ret
99 .p2align 4,,10
100.L13:
101 sarl $20, %edx
102 leal -1023(%rdx), %eax
103 addq $24, %rsp
104 ret
105.L8:
106 movl $-2147483648, %eax
107 jmp .L3
108 .seh_endproc
109#else
110
111 fldl 4(%esp)
112/* I added the following ugly construct because ilogb(+-Inf) is
113 required to return INT_MAX in ISO C99.
114 -- jakub@redhat.com. */
115 fxam /* Is NaN or +-Inf? */
116 fstsw %ax
117 movb $0x45, %dh
118 andb %ah, %dh
119 cmpb $0x05, %dh
120 je 1f /* Is +-Inf, jump. */
121 cmpb $0x01, %dh
122 je 1f /* Is NaN, jump. */
123
124 fxtract
125 pushl %eax
126 fstp %st
127
128 fistpl (%esp)
129 fwait
130 popl %eax
131
132 ret
133
1341: fstp %st
135 movl $0x7fffffff, %eax
136 ret
137#endif
lib/libc/mingw/math/x86/ilogbf.S deleted-106
...@@ -1,106 +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 .file "ilogbf.S"
9 .text
10 .p2align 4,,15
11.globl __MINGW_USYMBOL(ilogbf)
12 .def __MINGW_USYMBOL(ilogbf); .scl 2; .type 32; .endef
13#ifdef __x86_64__
14 .seh_proc __MINGW_USYMBOL(ilogbf)
15#endif
16__MINGW_USYMBOL(ilogbf):
17#ifdef __x86_64__
18/* generated code for:
19int
20ilogbf (float x)
21{
22 __mingw_flt_type_t hlp;
23 int hx, ix;
24
25 hlp.x = x;
26 hx = (int) hlp.val & 0x7fffffff;
27 if (hx < 0x800000)
28 {
29 if (hx == 0)
30 return 0x80000000; // ilogb(0) = FP_ILOGB0
31 for (ix = -126, hx <<= 8; hx > 0; hx <<= 1)
32 ix -= 1;
33 return ix;
34 }
35 if (hx < 0x7f800000)
36 return (hx >> 23) - 127;
37 return 0x7fffffff;
38} */
39 subq $24, %rsp
40 .seh_stackalloc 24
41 .seh_endprologue
42 movss %xmm0, 12(%rsp)
43 movl 12(%rsp), %edx
44 andl $2147483647, %edx
45 cmpl $8388607, %edx
46 jg .L2
47 testl %edx, %edx
48 je .L6
49 sall $8, %edx
50 movl $-126, %eax
51 testl %edx, %edx
52 jle .L3
53 .p2align 4,,10
54.L4:
55 addl %edx, %edx
56 subl $1, %eax
57 testl %edx, %edx
58 jg .L4
59.L3:
60 addq $24, %rsp
61 ret
62 .p2align 4,,10
63.L2:
64 cmpl $2139095039, %edx
65 jle .L10
66 movl $2147483647, %eax
67 addq $24, %rsp
68 ret
69 .p2align 4,,10
70.L10:
71 sarl $23, %edx
72 leal -127(%rdx), %eax
73 addq $24, %rsp
74 ret
75.L6:
76 movl $-2147483648, %eax
77 jmp .L3
78 .seh_endproc
79#else
80 flds 4(%esp)
81/* I added the following ugly construct because ilogb(+-Inf) is
82 required to return INT_MAX in ISO C99.
83 -- jakub@redhat.com. */
84 fxam /* Is NaN or +-Inf? */
85 fstsw %ax
86 movb $0x45, %dh
87 andb %ah, %dh
88 cmpb $0x05, %dh
89 je 1f /* Is +-Inf, jump. */
90 cmpb $0x01, %dh
91 je 1f /* Is Nan, jump. */
92
93 fxtract
94 pushl %eax
95 fstp %st
96
97 fistpl (%esp)
98 fwait
99 popl %eax
100
101 ret
102
1031: fstp %st
104 movl $0x7fffffff, %eax
105 ret
106#endif
lib/libc/mingw/math/x86/log1p.S deleted-85
...@@ -1,85 +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 .file "log1p.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15 /* The fyl2xp1 can only be used for values in
16 -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
17 0.29 is a safe value.
18 */
19limit: .double 0.29
20one: .double 1.0
21/*
22 * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
23 * otherwise fyl2x with the needed extra computation.
24 */
25.globl __MINGW_USYMBOL(log1p)
26 .def __MINGW_USYMBOL(log1p); .scl 2; .type 32; .endef
27__MINGW_USYMBOL(log1p):
28#ifdef __x86_64__
29 movsd %xmm0,-16(%rsp)
30 fldln2
31 fldl -16(%rsp)
32 fxam
33 fnstsw
34 fld %st
35 sahf
36 jc 3f // in case x is NaN or �Inf
37
384: fabs
39 fcompl limit(%rip)
40 fnstsw
41 sahf
42 jc 2f
43 faddl one(%rip)
44 fyl2x
45 fstpl -16(%rsp)
46 movsd -16(%rsp),%xmm0
47 ret
48
492: fyl2xp1
50 fstpl -16(%rsp)
51 movsd -16(%rsp),%xmm0
52 ret
53
543: jp 4b // in case x is �Inf
55 fstp %st(1)
56 fstp %st(1)
57 fstpl -16(%rsp)
58 movsd -16(%rsp),%xmm0
59 ret
60#else
61 fldln2
62 fldl 4(%esp)
63 fxam
64 fnstsw
65 fld %st
66 sahf
67 jc 3f // in case x is NaN or �Inf
68
694: fabs
70 fcompl limit
71 fnstsw
72 sahf
73 jc 2f
74 faddl one
75 fyl2x
76 ret
77
782: fyl2xp1
79 ret
80
813: jp 4b // in case x is �Inf
82 fstp %st(1)
83 fstp %st(1)
84 ret
85#endif
lib/libc/mingw/math/x86/log1pf.S deleted-85
...@@ -1,85 +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 .file "log1pf.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15 /* The fyl2xp1 can only be used for values in
16 -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
17 0.29 is a safe value.
18 */
19limit: .float 0.29
20one: .float 1.0
21/*
22 * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
23 * otherwise fyl2x with the needed extra computation.
24 */
25.globl __MINGW_USYMBOL(log1pf)
26 .def __MINGW_USYMBOL(log1pf); .scl 2; .type 32; .endef
27__MINGW_USYMBOL(log1pf):
28#ifdef __x86_64__
29 movss %xmm0,-12(%rsp)
30 fldln2
31 flds -12(%rsp)
32 fxam
33 fnstsw
34 fld %st
35 sahf
36 jc 3f // in case x is NaN or �Inf
37
384: fabs
39 fcomps limit(%rip)
40 fnstsw
41 sahf
42 jc 2f
43 fadds one(%rip)
44 fyl2x
45 fstps -12(%rsp)
46 movss -12(%rsp),%xmm0
47 ret
48
492: fyl2xp1
50 fstps -12(%rsp)
51 movss -12(%rsp),%xmm0
52 ret
53
543: jp 4b // in case x is �Inf
55 fstp %st(1)
56 fstp %st(1)
57 fstps -12(%rsp)
58 movss -12(%rsp),%xmm0
59 ret
60#else
61 fldln2
62 flds 4(%esp)
63 fxam
64 fnstsw
65 fld %st
66 sahf
67 jc 3f // in case x is NaN or �Inf
68
694: fabs
70 fcomps limit
71 fnstsw
72 sahf
73 jc 2f
74 fadds one
75 fyl2x
76 ret
77
782: fyl2xp1
79 ret
80
813: jp 4b // in case x is �Inf
82 fstp %st(1)
83 fstp %st(1)
84 ret
85#endif
lib/libc/mingw/math/x86/log2.S deleted-85
...@@ -1,85 +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 .file "log2.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15one: .double 1.0
16 /* It is not important that this constant is precise. It is only
17 a value which is known to be on the safe side for using the
18 fyl2xp1 instruction. */
19limit: .double 0.29
20
21.globl __MINGW_USYMBOL(log2)
22 .def __MINGW_USYMBOL(log2); .scl 2; .type 32; .endef
23__MINGW_USYMBOL(log2):
24#ifdef __x86_64__
25 movsd %xmm0,-16(%rsp)
26 fldl one(%rip)
27 fldl -16(%rsp) // x : 1
28 fxam
29 fnstsw
30 fld %st // x : x : 1
31 sahf
32 jc 3f // in case x is NaN or �Inf
334: fsub %st(2), %st // x-1 : x : 1
34 fld %st // x-1 : x-1 : x : 1
35 fabs // |x-1| : x-1 : x : 1
36 fcompl limit(%rip) // x-1 : x : 1
37 fnstsw // x-1 : x : 1
38 andb $0x45, %ah
39 jz 2f
40 fstp %st(1) // x-1 : 1
41 fyl2xp1 // log(x)
42 fstpl -16(%rsp)
43 movsd -16(%rsp),%xmm0
44 ret
45
462: fstp %st(0) // x : 1
47 fyl2x // log(x)
48 fstpl -16(%rsp)
49 movsd -16(%rsp),%xmm0
50 ret
51
523: jp 4b // in case x is �Inf
53 fstp %st(1)
54 fstp %st(1)
55 fstpl -16(%rsp)
56 movsd -16(%rsp),%xmm0
57 ret
58#else
59 fldl one
60 fldl 4(%esp) // x : 1
61 fxam
62 fnstsw
63 fld %st // x : x : 1
64 sahf
65 jc 3f // in case x is NaN or �Inf
664: fsub %st(2), %st // x-1 : x : 1
67 fld %st // x-1 : x-1 : x : 1
68 fabs // |x-1| : x-1 : x : 1
69 fcompl limit // x-1 : x : 1
70 fnstsw // x-1 : x : 1
71 andb $0x45, %ah
72 jz 2f
73 fstp %st(1) // x-1 : 1
74 fyl2xp1 // log(x)
75 ret
76
772: fstp %st(0) // x : 1
78 fyl2x // log(x)
79 ret
80
813: jp 4b // in case x is �Inf
82 fstp %st(1)
83 fstp %st(1)
84 ret
85#endif
lib/libc/mingw/math/x86/logb.c deleted-40
...@@ -1,40 +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 * Written by J.T. Conklin <jtc@netbsd.org>.
8 * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
9 * Public domain.
10 */
11
12#include <math.h>
13
14double
15logb (double x)
16{
17#ifdef __x86_64__
18 __mingw_dbl_type_t hlp;
19 int lx, hx;
20
21 hlp.x = x;
22 lx = hlp.lh.low;
23 hx = hlp.lh.high & 0x7fffffff; /* high |x| */
24 if ((hx | lx) == 0)
25 return -1.0 / fabs (x);
26 if (hx >= 0x7ff00000)
27 return x * x;
28 if ((hx >>= 20) == 0) {
29 unsigned long long mantissa = hlp.val & 0xfffffffffffffULL;
30 return -1023.0 - (__builtin_clzll(mantissa) - 12);
31 }
32 return (double) (hx - 1023);
33#else
34 double res = 0.0;
35 asm volatile (
36 "fxtract\n\t"
37 "fstp %%st" : "=t" (res) : "0" (x));
38 return res;
39#endif
40}
lib/libc/mingw/math/x86/logbf.c deleted-37
...@@ -1,37 +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 * Written by J.T. Conklin <jtc@netbsd.org>.
8 * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
9 * Public domain.
10 */
11
12#include <math.h>
13
14float
15logbf (float x)
16{
17#ifdef __x86_64__
18 int v;
19 __mingw_flt_type_t hlp;
20
21 hlp.x = x;
22 v = hlp.val & 0x7fffffff; /* high |x| */
23 if (!v)
24 return (float)-1.0 / fabsf (x);
25 if (v >= 0x7f800000)
26 return x * x;
27 if ((v >>= 23) == 0)
28 return -127.0 - (__builtin_clzl(hlp.val & 0x7fffff) - 9);
29 return (float) (v - 127);
30#else
31 float res = 0.0F;
32 asm volatile (
33 "fxtract\n\t"
34 "fstp %%st" : "=t" (res) : "0" (x));
35 return res;
36#endif
37}
lib/libc/mingw/math/x86/nearbyint.S deleted-51
...@@ -1,51 +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 .file "nearbyint.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15 .globl __MINGW_USYMBOL(nearbyint)
16 .def __MINGW_USYMBOL(nearbyint); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(nearbyint):
18#if defined(_AMD64_) || defined(__x86_64__)
19 movsd %xmm0,-16(%rsp)
20 fldl -16(%rsp)
21 pushq %rax
22 pushq %rcx
23 fnstcw (%rsp)
24 movq (%rsp), %rax
25 orq $0x20, %rax
26 movq %rax, 8(%rsp)
27 fldcw 8(%rsp)
28 frndint
29 fclex
30 fldcw (%rsp)
31 popq %rcx
32 popq %rax
33 fstpl -16(%rsp)
34 movsd -16(%rsp),%xmm0
35 ret
36#elif defined(_X86_) || defined(__i386__)
37 fldl 4(%esp)
38 pushl %eax
39 pushl %ecx
40 fnstcw (%esp)
41 movl (%esp), %eax
42 orl $0x20, %eax
43 movl %eax, 4(%esp)
44 fldcw 4(%esp)
45 frndint
46 fclex
47 fldcw (%esp)
48 popl %ecx
49 popl %eax
50 ret
51#endif
lib/libc/mingw/math/x86/nearbyintf.S deleted-51
...@@ -1,51 +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 .file "nearbyintf.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15 .globl __MINGW_USYMBOL(nearbyintf)
16 .def __MINGW_USYMBOL(nearbyintf); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(nearbyintf):
18#if defined(_AMD64_) || defined(__x86_64__)
19 movss %xmm0,-12(%rsp)
20 flds -12(%rsp)
21 pushq %rax
22 pushq %rcx
23 fnstcw (%rsp)
24 movq (%rsp), %rax
25 orq $0x20, %rax
26 movq %rax, 8(%rsp)
27 fldcw 8(%rsp)
28 frndint
29 fclex
30 fldcw (%rsp)
31 popq %rcx
32 popq %rax
33 fstps -12(%rsp)
34 movss -12(%rsp),%xmm0
35 ret
36#elif defined(_X86_) || defined(__i386__)
37 flds 4(%esp)
38 pushl %eax
39 pushl %ecx
40 fnstcw (%esp)
41 movl (%esp), %eax
42 orl $0x20, %eax
43 movl %eax, 4(%esp)
44 fldcw 4(%esp)
45 frndint
46 fclex
47 fldcw (%esp)
48 popl %ecx
49 popl %eax
50 ret
51#endif
lib/libc/mingw/math/x86/pow.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "pow.def.h"
lib/libc/mingw/math/x86/remainder.S deleted-40
...@@ -1,40 +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 .file "remainder.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(remainder)
16 .def __MINGW_USYMBOL(remainder); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(remainder):
18#ifdef __x86_64__
19 movsd %xmm0,-16(%rsp)
20 movsd %xmm1,-32(%rsp)
21 fldl -32(%rsp)
22 fldl -16(%rsp)
231: fprem1
24 fstsw %ax
25 sahf
26 jp 1b
27 fstp %st(1)
28 fstpl -16(%rsp)
29 movsd -16(%rsp),%xmm0
30 ret
31#else
32 fldl 12(%esp)
33 fldl 4(%esp)
341: fprem1
35 fstsw %ax
36 sahf
37 jp 1b
38 fstp %st(1)
39 ret
40#endif
lib/libc/mingw/math/x86/remainderf.S deleted-40
...@@ -1,40 +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 .file "remainderf.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(remainder)
16 .def __MINGW_USYMBOL(remainderf); .scl 2; .type 32; .endef
17__MINGW_USYMBOL(remainderf):
18#ifdef __x86_64__
19 movss %xmm1,-12(%rsp)
20 flds -12(%rsp)
21 movss %xmm0,-12(%rsp)
22 flds -12(%rsp)
231: fprem1
24 fstsw %ax
25 sahf
26 jp 1b
27 fstp %st(1)
28 fstps -12(%rsp)
29 movss -12(%rsp),%xmm0
30 ret
31#else
32 flds 8(%esp)
33 flds 4(%esp)
341: fprem1
35 fstsw %ax
36 sahf
37 jp 1b
38 fstp %st(1)
39 ret
40#endif
lib/libc/mingw/math/x86/remquo.S deleted-75
...@@ -1,75 +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 .file "remquo.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(remquo)
16__MINGW_USYMBOL(remquo):
17#ifdef __x86_64__
18 movsd %xmm1,-16(%rsp)
19 fldl -16(%rsp)
20 movsd %xmm0,-16(%rsp)
21 fldl -16(%rsp)
221: fprem1
23 fstsw %ax
24 sahf
25 jp 1b
26 fstp %st(1)
27 movl %eax, %ecx
28 shrl $8, %eax
29 shrl $12, %ecx
30 andl $4, %ecx
31 andl $3, %eax
32 orl %eax, %ecx
33 leal (%ecx,%ecx,2),%ecx
34 movl $0xef2a60, %eax
35 shrl %cl, %eax
36 andl $7, %eax
37 movl -12(%rsp), %edx
38 movsd %xmm1,-16(%rsp)
39 xorl -12(%rsp), %edx
40 testl $0x80000000, %edx
41 jz 1f
42 negl %eax
431: movl %eax, (%r8)
44
45 fstpl -16(%rsp)
46 movsd -16(%rsp),%xmm0
47 ret
48#else
49 fldl 4 +8(%esp)
50 fldl 4(%esp)
511: fprem1
52 fstsw %ax
53 sahf
54 jp 1b
55 fstp %st(1)
56 movl %eax, %ecx
57 shrl $8, %eax
58 shrl $12, %ecx
59 andl $4, %ecx
60 andl $3, %eax
61 orl %eax, %ecx
62 leal (%ecx,%ecx,2),%ecx
63 movl $0xef2a60, %eax
64 shrl %cl, %eax
65 andl $7, %eax
66 movl 4 +8 +8(%esp), %ecx
67 movl 4 +4(%esp), %edx
68 xorl 4 +8 +4(%esp), %edx
69 testl $0x80000000, %edx
70 jz 1f
71 negl %eax
721: movl %eax, (%ecx)
73
74 ret
75#endif
lib/libc/mingw/math/x86/remquof.S deleted-76
...@@ -1,76 +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 .file "remquof.S"
9 .text
10#ifdef __x86_64__
11 .align 8
12#else
13 .align 4
14#endif
15.globl __MINGW_USYMBOL(remquof)
16__MINGW_USYMBOL(remquof):
17#ifdef __x86_64__
18 movss %xmm1,-12(%rsp)
19 flds -12(%rsp)
20 movss %xmm0,-12(%rsp)
21 flds -12(%rsp)
221: fprem1
23 fstsw %ax
24 sahf
25 jp 1b
26 fstp %st(1)
27 movl %eax, %ecx
28 shrl $8, %eax
29 shrl $12, %ecx
30 andl $4, %ecx
31 andl $3, %eax
32 orl %eax, %ecx
33 movl $0xef2a60, %eax
34 leal (%ecx,%ecx,2),%ecx
35 shrl %cl, %eax
36 andl $7, %eax
37 movss %xmm0,-12(%rsp)
38 movl -12(%rsp), %edx
39 movss %xmm1,-12(%rsp)
40 xorl -12(%rsp), %edx
41 testl $0x80000000, %edx
42 jz 1f
43 negl %eax
441: movl %eax, (%r8)
45
46 fstps -12(%rsp)
47 movss -12(%rsp),%xmm0
48 ret
49#else
50 flds 4 +4(%esp)
51 flds 4(%esp)
521: fprem1
53 fstsw %ax
54 sahf
55 jp 1b
56 fstp %st(1)
57 movl %eax, %ecx
58 shrl $8, %eax
59 shrl $12, %ecx
60 andl $4, %ecx
61 andl $3, %eax
62 orl %eax, %ecx
63 movl $0xef2a60, %eax
64 leal (%ecx,%ecx,2),%ecx
65 shrl %cl, %eax
66 andl $7, %eax
67 movl 4 +4 +4(%esp), %ecx
68 movl 4(%esp), %edx
69 xorl 4 +4(%esp), %edx
70 testl $0x80000000, %edx
71 jz 1f
72 negl %eax
731: movl %eax, (%ecx)
74
75 ret
76#endif
lib/libc/mingw/math/x86/rint.c 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 <math.h>
7
8double rint (double x) {
9 double retval = 0.0;
10 __asm__ __volatile__ ("frndint;" : "=t" (retval) : "0" (x));
11 return retval;
12}
lib/libc/mingw/math/x86/rintf.c 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 <math.h>
7
8float rintf (float x) {
9 float retval = 0.0F;
10 __asm__ __volatile__ ("frndint;": "=t" (retval) : "0" (x));
11 return retval;
12}
lib/libc/mingw/math/x86/sin.c deleted-46
...@@ -1,46 +0,0 @@
1/*
2 This Software is provided under the Zope Public License (ZPL) Version 2.1.
3
4 Copyright (c) 2009, 2010 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 _NEW_COMPLEX_DOUBLE 1
46#include "sin.def.h"
lib/libc/mingw/math/x86/trunc.S deleted-91
...@@ -1,91 +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 .file "trunc.S"
9 .text
10 .p2align 4,,15
11 .globl __MINGW_USYMBOL(trunc)
12 .def __MINGW_USYMBOL(trunc); .scl 2; .type 32; .endef
13
14#ifdef __x86_64__
15 .seh_proc __MINGW_USYMBOL(trunc)
16#endif
17__MINGW_USYMBOL(trunc):
18#if defined(_AMD64_) || defined(__x86_64__)
19 subq $24, %rsp
20 .seh_stackalloc 24
21 .seh_endprologue
22 movsd %xmm0, 8(%rsp)
23 movq 8(%rsp), %r8
24 movq %r8, %rdx
25 shrq $32, %rdx
26 movl %edx, %eax
27 sarl $20, %eax
28 andl $2047, %eax
29 leal -1023(%rax), %ecx
30 cmpl $19, %ecx
31 jg .l1
32 movl %edx, %r8d
33 andl $-2147483648, %r8d
34 testl %ecx, %ecx
35 js .l3
36 movl $1048575, %eax
37 sarl %cl, %eax
38 notl %eax
39 andl %edx, %eax
40 orl %r8d, %eax
41 salq $32, %rax
42 movq %rax, 8(%rsp)
43 movsd 8(%rsp), %xmm0
44 addq $24, %rsp
45 ret
46 .p2align 4,,10
47.l1:
48 cmpl $51, %ecx
49 jle .l2
50 /* Is x inf/nan? */
51 cmpl $1024, %ecx
52 jne .noinfnan
53 addsd %xmm0, %xmm0
54.noinfnan:
55 addq $24, %rsp
56 ret
57 .p2align 4,,10
58.l2:
59 leal -1043(%rax), %ecx
60 movl $-1, %r9d
61 salq $32, %rdx
62 shrl %cl, %r9d
63 notl %r9d
64 andl %r9d, %r8d
65 orq %r8, %rdx
66 movq %rdx, 8(%rsp)
67 movsd 8(%rsp), %xmm0
68 addq $24, %rsp
69 ret
70 .p2align 4,,10
71.l3:
72 salq $32, %r8
73 movq %r8, 8(%rsp)
74 movsd 8(%rsp), %xmm0
75 addq $24, %rsp
76 ret
77 .seh_endproc
78#elif defined(_X86_) || defined(__i386__)
79 fldl 4(%esp)
80 subl $8, %esp
81 fstcw (%esp)
82 /* FE_TOWARDZERO */
83 movzwl (%esp), %eax
84 orb $0xc, %ah
85 movw %ax, 4(%esp)
86 fldcw 4(%esp)
87 frndint
88 fldcw (%esp)
89 addl $8, %esp
90 ret
91#endif
lib/libc/mingw/math/x86/truncf.S deleted-71
...@@ -1,71 +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 .file "truncf.S"
9 .text
10 .p2align 4,,15
11 .globl __MINGW_USYMBOL(truncf)
12 .def __MINGW_USYMBOL(truncf); .scl 2; .type 32; .endef
13
14#ifdef __x86_64__
15 .seh_proc __MINGW_USYMBOL(truncf)
16#endif
17__MINGW_USYMBOL(truncf):
18#if defined(_AMD64_) || defined(__x86_64__)
19 subq $24, %rsp
20 .seh_stackalloc 24
21 .seh_endprologue
22 movd %xmm0, 12(%rsp)
23 movl 12(%rsp), %edx
24 movl %edx, %ecx
25 sarl $23, %ecx
26 andl $255, %ecx
27 subl $127, %ecx
28 cmpl $22, %ecx
29 jg .l1
30 movl %edx, %r8d
31 andl $-2147483648, %r8d
32 testl %ecx, %ecx
33 js .l2
34 movl $8388607, %eax
35 sarl %cl, %eax
36 notl %eax
37 andl %edx, %eax
38 orl %r8d, %eax
39 movl %eax, 8(%rsp)
40 movss 8(%rsp), %xmm0
41 addq $24, %rsp
42 ret
43 .p2align 4,,10
44.l1:
45 addl $-128, %ecx
46 jne .noinfnan
47 addss %xmm0, %xmm0
48.noinfnan:
49 addq $24, %rsp
50 ret
51 .p2align 4,,10
52.l2:
53 movl %r8d, 8(%rsp)
54 movss 8(%rsp), %xmm0
55 addq $24, %rsp
56 ret
57 .seh_endproc
58#elif defined(_X86_) || defined(__i386__)
59 flds 4(%esp)
60 subl $8, %esp
61 fstcw (%esp)
62 /* FE_TOWARDZERO */
63 movzwl (%esp), %eax
64 orb $0xc, %ah
65 movw %ax, 4(%esp)
66 fldcw 4(%esp)
67 frndint
68 fldcw (%esp)
69 addl $8, %esp
70 ret
71#endif
lib/libc/mingw/misc/___mb_cur_max_func.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 <_mingw.h>
8
9extern int* __MINGW_IMP_SYMBOL(__mb_cur_max);
10
11int __cdecl ___mb_cur_max_func(void);
12int __cdecl ___mb_cur_max_func(void)
13{
14 return *__MINGW_IMP_SYMBOL(__mb_cur_max);
15}
16
17typedef int __cdecl (*_f___mb_cur_max_func)(void);
18_f___mb_cur_max_func __MINGW_IMP_SYMBOL(___mb_cur_max_func) = ___mb_cur_max_func;
lib/libc/mingw/misc/__p___argv.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
7#include <stdlib.h>
8
9char ***__cdecl __p___argv(void)
10{
11 return __MINGW_IMP_SYMBOL(__argv);
12}
13
14typedef char ***__cdecl (*_f__p___argv)(void);
15_f__p___argv __MINGW_IMP_SYMBOL(__p___argv) = __p___argv;
lib/libc/mingw/misc/__p__acmdln.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 <_mingw.h>
8
9extern char ** __MINGW_IMP_SYMBOL(_acmdln);
10
11char **__cdecl __p__acmdln(void);
12char **__cdecl __p__acmdln(void)
13{
14 return __MINGW_IMP_SYMBOL(_acmdln);
15}
16
17typedef char **__cdecl (*_f__p__acmdln)(void);
18_f__p__acmdln __MINGW_IMP_SYMBOL(__p__acmdln) = __p__acmdln;
lib/libc/mingw/misc/__p__commode.c deleted-17
...@@ -1,17 +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 <_mingw.h>
8
9extern int * __MINGW_IMP_SYMBOL(_commode);
10
11int *__cdecl __p__commode(void);
12int *__cdecl __p__commode(void)
13{
14 return __MINGW_IMP_SYMBOL(_commode);
15}
16
17typeof(__p__commode) *__MINGW_IMP_SYMBOL(__p__commode) = __p__commode;
lib/libc/mingw/misc/__p__fmode.c deleted-17
...@@ -1,17 +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 <_mingw.h>
8
9extern int * __MINGW_IMP_SYMBOL(_fmode);
10
11int *__cdecl __p__fmode(void);
12int *__cdecl __p__fmode(void)
13{
14 return __MINGW_IMP_SYMBOL(_fmode);
15}
16
17typeof(__p__fmode) *__MINGW_IMP_SYMBOL(__p__fmode) = __p__fmode;
lib/libc/mingw/misc/__p__wcmdln.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 <wchar.h>
8
9extern wchar_t ** __MINGW_IMP_SYMBOL(_wcmdln);
10
11wchar_t **__cdecl __p__wcmdln(void);
12wchar_t **__cdecl __p__wcmdln(void)
13{
14 return __MINGW_IMP_SYMBOL(_wcmdln);
15}
16
17typedef wchar_t **__cdecl (*_f__p__wcmdln)(void);
18_f__p__wcmdln __MINGW_IMP_SYMBOL(__p__wcmdln) = __p__wcmdln;
lib/libc/mingw/misc/_configthreadlocale.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
7#include <locale.h>
8
9int __cdecl _configthreadlocale(int flag)
10{
11 /* _ENABLE_PER_THREAD_LOCALE can't work on msvcrt.dll. */
12 return flag == _ENABLE_PER_THREAD_LOCALE ? -1 : _DISABLE_PER_THREAD_LOCALE;
13}
14
15void *__MINGW_IMP_SYMBOL(_configthreadlocale) = _configthreadlocale;
16
lib/libc/mingw/misc/_create_locale.c deleted-33
...@@ -1,33 +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 <windows.h>
8#include <locale.h>
9#include <msvcrt.h>
10
11static _locale_t __cdecl init_func(int category, const char *locale);
12_locale_t (__cdecl *__MINGW_IMP_SYMBOL(_create_locale))(int, const char *) = init_func;
13
14static _locale_t __cdecl null_func(int category, const char *locale)
15{
16 (void)category;
17 (void)locale;
18 return NULL;
19}
20
21static _locale_t __cdecl init_func(int category, const char *locale)
22{
23 HMODULE msvcrt = __mingw_get_msvcrt_handle();
24 _locale_t (__cdecl *func)(int, const char *) = NULL;
25
26 if (msvcrt)
27 func = (void*)GetProcAddress(msvcrt, "_create_locale");
28
29 if (!func)
30 func = null_func;
31
32 return (__MINGW_IMP_SYMBOL(_create_locale) = func)(category, locale);
33}
lib/libc/mingw/misc/_free_locale.c deleted-31
...@@ -1,31 +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 <windows.h>
8#include <locale.h>
9#include <msvcrt.h>
10
11static void __cdecl init_func(_locale_t locale);
12void (__cdecl *__MINGW_IMP_SYMBOL(_free_locale))(_locale_t) = init_func;
13
14static void __cdecl stub_func(_locale_t locale)
15{
16 (void)locale;
17}
18
19static void __cdecl init_func(_locale_t locale)
20{
21 HMODULE msvcrt = __mingw_get_msvcrt_handle();
22 void (__cdecl *func)(_locale_t) = NULL;
23
24 if (msvcrt)
25 func = (void*)GetProcAddress(msvcrt, "_free_locale");
26
27 if (!func)
28 func = stub_func;
29
30 (__MINGW_IMP_SYMBOL(_free_locale) = func)(locale);
31}
lib/libc/mingw/misc/_get_current_locale.c deleted-26
...@@ -1,26 +0,0 @@
1#include <windows.h>
2#include <locale.h>
3#include <msvcrt.h>
4
5static _locale_t __cdecl init_func(void);
6_locale_t (__cdecl *__MINGW_IMP_SYMBOL(_get_current_locale))(void) = init_func;
7
8static _locale_t __cdecl null_func(void)
9{
10 return NULL;
11}
12
13static _locale_t __cdecl init_func(void)
14{
15 HMODULE msvcrt = __mingw_get_msvcrt_handle();
16 _locale_t (__cdecl *func)(void) = NULL;
17
18 if (msvcrt) {
19 func = (void*)GetProcAddress(msvcrt, "_get_current_locale");
20 }
21
22 if (!func)
23 func = null_func;
24
25 return (__MINGW_IMP_SYMBOL(_get_current_locale) = func)();
26}
lib/libc/mingw/misc/imaxabs.c deleted-28
...@@ -1,28 +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 This source code was extracted from the Q8 package created and
8 placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
9 last edit: 1999/11/05 gwyn@arl.mil
10
11 Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
12
13 This particular implementation requires the matching <inttypes.h>.
14*/
15#define __CRT__NO_INLINE
16#include <inttypes.h>
17
18intmax_t
19__cdecl
20imaxabs (intmax_t _j)
21 { return _j >= 0 ? _j : -_j; }
22intmax_t (__cdecl *__MINGW_IMP_SYMBOL(imaxabs))(intmax_t) = imaxabs;
23
24long long __attribute__ ((alias ("imaxabs"))) __cdecl llabs (long long);
25long long (__cdecl *__MINGW_IMP_SYMBOL(llabs))(long long) = llabs;
26
27__int64 __attribute__ ((alias ("imaxabs"))) __cdecl _abs64 (__int64);
28__int64 (__cdecl *__MINGW_IMP_SYMBOL(_abs64))(__int64) = _abs64;
lib/libc/mingw/misc/imaxdiv.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 This source code was extracted from the Q8 package created and
8 placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
9 last edit: 1999/11/05 gwyn@arl.mil
10
11
12 last edit: 1999/11/05 gwyn@arl.mil
13
14 Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
15
16*/
17
18#include <inttypes.h>
19#include <stdlib.h>
20
21imaxdiv_t
22__cdecl
23imaxdiv(intmax_t numer, intmax_t denom)
24{
25 imaxdiv_t result;
26 result.quot = numer / denom;
27 result.rem = numer % denom;
28 return result;
29}
30imaxdiv_t (__cdecl *__MINGW_IMP_SYMBOL(imaxdiv))(intmax_t, intmax_t) = imaxdiv;
31
32lldiv_t __attribute__ ((alias ("imaxdiv")))
33__cdecl
34lldiv (long long, long long);
35lldiv_t (__cdecl *__MINGW_IMP_SYMBOL(lldiv))(long long, long long) = lldiv;
lib/libc/mingw/misc/invalid_parameter_handler.c deleted-23
...@@ -1,23 +0,0 @@
1#define _CRTIMP
2#include <windows.h>
3
4typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
5static _invalid_parameter_handler handler;
6
7static _invalid_parameter_handler __cdecl mingw_set_invalid_parameter_handler(_invalid_parameter_handler new_handler)
8{
9 return InterlockedExchangePointer((void**)&handler, new_handler);
10}
11
12_invalid_parameter_handler (__cdecl *__MINGW_IMP_SYMBOL(_set_invalid_parameter_handler))(_invalid_parameter_handler) =
13 mingw_set_invalid_parameter_handler;
14
15static _invalid_parameter_handler __cdecl mingw_get_invalid_parameter_handler(void)
16{
17 return handler;
18}
19
20_invalid_parameter_handler (__cdecl *__MINGW_IMP_SYMBOL(_get_invalid_parameter_handler))(void) = mingw_get_invalid_parameter_handler;
21
22_invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void) __attribute__ ((alias ("mingw_get_invalid_parameter_handler")));
23_invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler new_handler) __attribute__ ((alias ("mingw_set_invalid_parameter_handler")));
lib/libc/mingw/misc/lc_locale_func.c deleted-59
...@@ -1,59 +0,0 @@
1#define __lc_codepage __dummy_lc_codepage
2#define ___lc_codepage_func __dummy____lc_codepage_func
3#include <windows.h>
4#include <locale.h>
5
6#undef __lc_codepage
7#undef ___lc_codepage_func
8#include "mb_wc_common.h"
9
10static unsigned int __cdecl setlocale_codepage_hack(void)
11{
12 /* locale :: "lang[_country[.code_page]]" | ".code_page" */
13 const char *cp_str = strchr (setlocale(LC_CTYPE, NULL), '.');
14 return cp_str ? atoi(cp_str + 1) : 0;
15}
16
17#ifndef __LIBMSVCRT_OS__
18
19unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = setlocale_codepage_hack;
20
21#else
22
23#include <msvcrt.h>
24
25static unsigned int *msvcrt__lc_codepage;
26static unsigned int __cdecl msvcrt___lc_codepage_func(void)
27{
28 return *msvcrt__lc_codepage;
29}
30
31static unsigned int __cdecl init_codepage_func(void);
32unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func;
33
34static unsigned int __cdecl init_codepage_func(void)
35{
36 HMODULE msvcrt = __mingw_get_msvcrt_handle();
37 unsigned int (__cdecl *func)(void) = NULL;
38
39 if(msvcrt) {
40 func = (void*)GetProcAddress(msvcrt, "___lc_codepage_func");
41 if(!func) {
42 msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, "__lc_codepage");
43 if(msvcrt__lc_codepage)
44 func = msvcrt___lc_codepage_func;
45 }
46 }
47
48 if(!func)
49 func = setlocale_codepage_hack;
50
51 return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)();
52}
53
54#endif
55
56unsigned int __cdecl ___lc_codepage_func(void)
57{
58 return __MINGW_IMP_SYMBOL(___lc_codepage_func)();
59}
lib/libc/mingw/misc/mbrtowc.c deleted-156
...@@ -1,156 +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#ifndef WIN32_LEAN_AND_MEAN
7#define WIN32_LEAN_AND_MEAN
8#endif
9#include "mb_wc_common.h"
10#include <wchar.h>
11#include <stdlib.h>
12#include <errno.h>
13#include <windows.h>
14
15static int __MINGW_ATTRIB_NONNULL(1) __MINGW_ATTRIB_NONNULL(4)
16__mbrtowc_cp (wchar_t * __restrict__ pwc, const char * __restrict__ s,
17 size_t n, mbstate_t* __restrict__ ps,
18 const unsigned int cp, const unsigned int mb_max)
19{
20 union {
21 mbstate_t val;
22 char mbcs[4];
23 } shift_state;
24
25 /* Do the prelim checks */
26 if (s == NULL)
27 return 0;
28
29 if (n == 0)
30 /* The standard doesn't mention this case explicitly. Tell
31 caller that the conversion from a non-null s is incomplete. */
32 return -2;
33
34 /* Save the current shift state, in case we need it in DBCS case. */
35 shift_state.val = *ps;
36 *ps = 0;
37
38 if (!*s)
39 {
40 *pwc = 0;
41 return 0;
42 }
43
44 if (mb_max > 1)
45 {
46 if (shift_state.mbcs[0] != 0)
47 {
48 /* Complete the mb char with the trailing byte. */
49 shift_state.mbcs[1] = *s; /* the second byte */
50 if (MultiByteToWideChar(cp, MB_ERR_INVALID_CHARS,
51 shift_state.mbcs, 2, pwc, 1)
52 == 0)
53 {
54 /* An invalid trailing byte */
55 errno = EILSEQ;
56 return -1;
57 }
58 return 2;
59 }
60 else if (IsDBCSLeadByteEx (cp, *s))
61 {
62 /* If told to translate one byte, just save the leadbyte
63 in *ps. */
64 if (n < 2)
65 {
66 ((char*) ps)[0] = *s;
67 return -2;
68 }
69 /* Else translate the first two bytes */
70 else if (MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS,
71 s, 2, pwc, 1)
72 == 0)
73 {
74 errno = EILSEQ;
75 return -1;
76 }
77 return 2;
78 }
79 }
80
81 /* Fall through to single byte char */
82 if (cp == 0)
83 *pwc = (wchar_t)(unsigned char)*s;
84
85 else if (MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, s, 1, pwc, 1)
86 == 0)
87 {
88 errno = EILSEQ;
89 return -1;
90 }
91
92 return 1;
93}
94
95size_t
96mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s,
97 size_t n, mbstate_t* __restrict__ ps)
98{
99 static mbstate_t internal_mbstate = 0;
100 wchar_t byte_bucket = 0;
101 wchar_t* dst = pwc ? pwc : &byte_bucket;
102
103 return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : &internal_mbstate,
104 ___lc_codepage_func(), MB_CUR_MAX);
105}
106
107
108size_t
109mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src,
110 size_t len, mbstate_t* __restrict__ ps)
111{
112 int ret =0 ;
113 size_t n = 0;
114 static mbstate_t internal_mbstate = 0;
115 mbstate_t* internal_ps = ps ? ps : &internal_mbstate;
116 const unsigned int cp = ___lc_codepage_func();
117 const unsigned int mb_max = MB_CUR_MAX;
118
119 if (src == NULL || *src == NULL) /* undefined behavior */
120 return 0;
121
122 if (dst != NULL)
123 {
124 while (n < len
125 && (ret = __mbrtowc_cp(dst, *src, len - n,
126 internal_ps, cp, mb_max))
127 > 0)
128 {
129 ++dst;
130 *src += ret;
131 n += ret;
132 }
133
134 if (n < len && ret == 0)
135 *src = (char *)NULL;
136 }
137 else
138 {
139 wchar_t byte_bucket = 0;
140 while ((ret = __mbrtowc_cp (&byte_bucket, *src + n, mb_max,
141 internal_ps, cp, mb_max))
142 > 0)
143 n += ret;
144 }
145 return n;
146}
147
148size_t
149mbrlen (const char * __restrict__ s, size_t n,
150 mbstate_t * __restrict__ ps)
151{
152 static mbstate_t s_mbstate = 0;
153 wchar_t byte_bucket = 0;
154 return __mbrtowc_cp (&byte_bucket, s, n, (ps) ? ps : &s_mbstate,
155 ___lc_codepage_func(), MB_CUR_MAX);
156}
lib/libc/mingw/misc/mbsinit.c 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/* This source code was extracted from the Q8 package created and placed
7 in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
8 last edit: 1999/11/05 gwyn@arl.mil
9
10 Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
11
12 It supports an encoding where all char codes are mapped
13 to the *same* code values within a wchar_t or wint_t,
14 so long as no other wchar_t codes are used by the program.
15
16*/
17
18#define __CRT__NO_INLINE
19#include <wchar.h>
20
21#if 0
22int mbsinit(const mbstate_t *ps)
23{
24 return 1; /* don't have shift states */
25}
26#endif
27
28int __cdecl mbsinit(const mbstate_t *_P)
29{
30 return (!_P || *_P == 0);
31}
32
lib/libc/mingw/misc/onexit_table.c deleted-77
...@@ -1,77 +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 <process.h>
8#include <stdlib.h>
9
10#define _EXIT_LOCK1 8
11
12void __cdecl _lock (int _File);
13void __cdecl _unlock (int _File);
14
15int __cdecl _initialize_onexit_table(_onexit_table_t *table)
16{
17 if (!table) return -1;
18 table->_first = table->_last = table->_end = NULL;
19 return 0;
20}
21
22int __cdecl _register_onexit_function(_onexit_table_t *table, _onexit_t func)
23{
24 if (!table) return -1;
25
26 _lock(_EXIT_LOCK1);
27
28 if (!table->_first) {
29 table->_first = calloc(32, sizeof(void*));
30 if (!table->_first) {
31 _unlock(_EXIT_LOCK1);
32 return -1;
33 }
34 table->_last = table->_first;
35 table->_end = table->_first + 32;
36 }
37
38 if (table->_last == table->_end) {
39 size_t len = table->_end - table->_first;
40 _PVFV *new_buf = realloc(table->_first, len * sizeof(void*) * 2);
41 if (!new_buf) {
42 _unlock(_EXIT_LOCK1);
43 return -1;
44 }
45 table->_first = new_buf;
46 table->_last = new_buf + len;
47 table->_end = new_buf + len * 2;
48 }
49
50 *table->_last++ = (_PVFV)func;
51 _unlock(_EXIT_LOCK1);
52 return 0;
53}
54
55int __cdecl _execute_onexit_table(_onexit_table_t *table)
56{
57 _PVFV *first, *last;
58
59 _lock(_EXIT_LOCK1);
60 first = table->_first;
61 last = table->_last;
62 _initialize_onexit_table(table);
63 _unlock(_EXIT_LOCK1);
64
65 if (!first) return 0;
66
67 while (--last >= first)
68 if (*last)
69 (**last)();
70
71 free(first);
72 return 0;
73}
74
75typeof(_initialize_onexit_table) *__MINGW_IMP_SYMBOL(_initialize_onexit_table) = _initialize_onexit_table;
76typeof(_register_onexit_function) *__MINGW_IMP_SYMBOL(_register_onexit_function) = _register_onexit_function;
77typeof(_execute_onexit_table) *__MINGW_IMP_SYMBOL(_execute_onexit_table) = _execute_onexit_table;
lib/libc/mingw/misc/output_format.c deleted-62
...@@ -1,62 +0,0 @@
1#define _get_output_format __dummy__get_output_format
2#define _set_output_format __dummy__set_output_format
3#include <windows.h>
4#include <msvcrt.h>
5
6#undef _get_output_format
7#undef _set_output_format
8
9static unsigned int last_value = 0;
10typedef unsigned int (*f_get_output_format)(void);
11typedef unsigned int (*f_set_output_format)(unsigned int);
12
13static unsigned int init_set_output_format(unsigned int);
14f_set_output_format __MINGW_IMP_SYMBOL(_set_output_format) = init_set_output_format;
15
16unsigned int _set_output_format(unsigned int format);
17unsigned int _set_output_format(unsigned int format)
18{
19 return __MINGW_IMP_SYMBOL(_set_output_format)(format);
20}
21
22static unsigned int fake_set_output_format(unsigned int value)
23{
24 return InterlockedExchange((LONG*)&last_value, value);
25}
26
27static unsigned int init_set_output_format(unsigned int format)
28{
29 f_set_output_format sof;
30
31 sof = (f_set_output_format) GetProcAddress (__mingw_get_msvcrt_handle(), "_set_output_format");
32 if(!sof)
33 sof = fake_set_output_format;
34
35 return (__MINGW_IMP_SYMBOL(_set_output_format) = sof)(format);
36}
37
38
39static unsigned int init_get_output_format(void);
40f_get_output_format __MINGW_IMP_SYMBOL(_get_output_format) = init_get_output_format;
41
42unsigned int _get_output_format(void);
43unsigned int _get_output_format(void)
44{
45 return __MINGW_IMP_SYMBOL(_get_output_format)();
46}
47
48static unsigned int fake_get_output_format(void)
49{
50 return last_value;
51}
52
53static unsigned int init_get_output_format(void)
54{
55 f_get_output_format gof;
56
57 gof = (f_get_output_format) GetProcAddress (__mingw_get_msvcrt_handle(), "_get_output_format");
58 if(!gof)
59 gof = fake_get_output_format;
60
61 return (__MINGW_IMP_SYMBOL(_get_output_format) = gof)();
62}
lib/libc/mingw/misc/purecall.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#define _CRTIMP
8#include <stdlib.h>
9#include <windows.h>
10
11_purecall_handler __cdecl _set_purecall_handler(_purecall_handler handler)
12{
13 static _purecall_handler prev_handler;
14 return InterlockedExchangePointer((void**)&prev_handler, handler);
15}
16
17void *__MINGW_IMP_SYMBOL(_set_purecall_handler) = _set_purecall_handler;
18
lib/libc/mingw/misc/register_tls_atexit.c deleted-29
...@@ -1,29 +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 <process.h>
8#include <windows.h>
9#include <winnt.h>
10#include <stdlib.h>
11
12static _tls_callback_type callback;
13
14static void run_callback(void)
15{
16 if (callback)
17 callback(NULL, DLL_PROCESS_DETACH, 0);
18 callback = NULL;
19}
20
21void __cdecl _register_thread_local_exe_atexit_callback(_tls_callback_type cb)
22{
23 callback = cb;
24 /* This should guarantee that the callback is called. It won't be run in the
25 * exact right spot as intended to, but it will be run. */
26 atexit(run_callback);
27}
28
29typeof(_register_thread_local_exe_atexit_callback) *__MINGW_IMP_SYMBOL(_register_thread_local_exe_atexit_callback) = _register_thread_local_exe_atexit_callback;
lib/libc/mingw/misc/seterrno.c deleted-24
...@@ -1,24 +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 <errno.h>
7
8errno_t __cdecl _set_errno (int _Value)
9{
10 errno = _Value;
11 return 0;
12}
13
14errno_t __cdecl _get_errno (int *_Value)
15{
16 if(!_Value)
17 {
18 errno = EINVAL;
19 return EINVAL;
20 }
21
22 *_Value = errno;
23 return 0;
24}
lib/libc/mingw/misc/strtoimax.c deleted-123
...@@ -1,123 +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 This source code was extracted from the Q8 package created and
8 placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
9 last edit: 1999/11/05 gwyn@arl.mil
10
11 Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
12
13 This particular implementation requires the matching <inttypes.h>.
14 It also assumes that character codes for A..Z and a..z are in
15 contiguous ascending order; this is true for ASCII but not EBCDIC.
16*/
17#include <stdlib.h>
18#include <errno.h>
19#include <ctype.h>
20#include <inttypes.h>
21
22/* Helper macros */
23
24/* convert digit character to number, in any base */
25#define ToNumber(c) (isdigit(c) ? (c) - '0' : \
26 isupper(c) ? (c) - 'A' + 10 : \
27 islower(c) ? (c) - 'a' + 10 : \
28 -1 /* "invalid" flag */ \
29 )
30/* validate converted digit character for specific base */
31#define valid(n, b) ((n) >= 0 && (n) < (b))
32
33intmax_t
34__cdecl
35strtoimax(const char * __restrict__ nptr, char ** __restrict__ endptr, int base)
36 {
37 register uintmax_t accum; /* accumulates converted value */
38 register int n; /* numeral from digit character */
39 int minus; /* set iff minus sign seen */
40 int toobig; /* set iff value overflows */
41
42 if ( endptr != NULL )
43 *endptr = (char *)nptr; /* in case no conversion's performed */
44
45 if ( base < 0 || base == 1 || base > 36 )
46 {
47 errno = EDOM;
48 return 0; /* unspecified behavior */
49 }
50
51 /* skip initial, possibly empty sequence of white-space characters */
52
53 while ( isspace(*nptr) )
54 ++nptr;
55
56 /* process subject sequence: */
57
58 /* optional sign */
59 if ( (minus = *nptr == '-') || *nptr == '+' )
60 ++nptr;
61
62 if ( base == 0 ) {
63 if ( *nptr == '0' ) {
64 if ( nptr[1] == 'X' || nptr[1] == 'x' )
65 base = 16;
66 else
67 base = 8;
68 }
69 else
70 base = 10;
71 }
72 /* optional "0x" or "0X" for base 16 */
73
74 if ( base == 16 && *nptr == '0' && (nptr[1] == 'X' || nptr[1] == 'x') )
75 nptr += 2; /* skip past this prefix */
76
77 /* check whether there is at least one valid digit */
78
79 n = ToNumber(*nptr);
80 ++nptr;
81
82 if ( !valid(n, base) )
83 return 0; /* subject seq. not of expected form */
84
85 accum = n;
86
87 for ( toobig = 0; n = ToNumber(*nptr), valid(n, base); ++nptr )
88 if ( accum > (uintmax_t)(INTMAX_MAX / base + 2) ) /* major wrap-around */
89 toobig = 1; /* but keep scanning */
90 else
91 accum = base * accum + n;
92
93 if ( endptr != NULL )
94 *endptr = (char *)nptr; /* points to first not-valid-digit */
95
96 if ( minus )
97 {
98 if ( accum > (uintmax_t)INTMAX_MAX + 1 )
99 toobig = 1;
100 }
101 else
102 if ( accum > (uintmax_t)INTMAX_MAX )
103 toobig = 1;
104
105 if ( toobig )
106 {
107 errno = ERANGE;
108 return minus ? INTMAX_MIN : INTMAX_MAX;
109 }
110 else
111 return (intmax_t)(minus ? -accum : accum);
112 }
113intmax_t (__cdecl *__MINGW_IMP_SYMBOL(strtoimax))(const char* __restrict__, char ** __restrict__, int) = strtoimax;
114
115long long __attribute__ ((alias ("strtoimax")))
116__cdecl
117strtoll (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
118long long (__cdecl *__MINGW_IMP_SYMBOL(strtoll))(const char* __restrict__, char ** __restrict__, int) = strtoll;
119
120__int64 __attribute__ ((alias ("strtoimax")))
121__cdecl
122_strtoi64 (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
123__int64 (__cdecl *__MINGW_IMP_SYMBOL(_strtoi64))(const char* __restrict__, char ** __restrict__, int) = _strtoi64;
lib/libc/mingw/misc/strtoumax.c deleted-121
...@@ -1,121 +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 This source code was extracted from the Q8 package created and
8 placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
9 last edit: 1999/11/05 gwyn@arl.mil
10
11 Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
12
13 This particular implementation requires the matching <inttypes.h>.
14 It also assumes that character codes for A..Z and a..z are in
15 contiguous ascending order; this is true for ASCII but not EBCDIC.
16*/
17#include <stdlib.h>
18#include <errno.h>
19#include <ctype.h>
20#include <inttypes.h>
21
22/* Helper macros */
23
24/* convert digit character to number, in any base */
25#define ToNumber(c) (isdigit(c) ? (c) - '0' : \
26 isupper(c) ? (c) - 'A' + 10 : \
27 islower(c) ? (c) - 'a' + 10 : \
28 -1 /* "invalid" flag */ \
29 )
30/* validate converted digit character for specific base */
31#define valid(n, b) ((n) >= 0 && (n) < (b))
32
33uintmax_t
34__cdecl
35strtoumax(const char * __restrict__ nptr, char ** __restrict__ endptr, int base)
36 {
37 register uintmax_t accum; /* accumulates converted value */
38 register uintmax_t next; /* for computing next value of accum */
39 register int n; /* numeral from digit character */
40 int minus; /* set iff minus sign seen (yes!) */
41 int toobig; /* set iff value overflows */
42
43 if ( endptr != NULL )
44 *endptr = (char *)nptr; /* in case no conversion's performed */
45
46 if ( base < 0 || base == 1 || base > 36 )
47 {
48 errno = EDOM;
49 return 0; /* unspecified behavior */
50 }
51
52 /* skip initial, possibly empty sequence of white-space characters */
53
54 while ( isspace(*nptr) )
55 ++nptr;
56
57 /* process subject sequence: */
58
59 /* optional sign (yes!) */
60
61 if ( (minus = *nptr == '-') || *nptr == '+' )
62 ++nptr;
63
64 if ( base == 0 )
65 {
66 if ( *nptr == '0' )
67 {
68 if ( nptr[1] == 'X' || nptr[1] == 'x' )
69 base = 16;
70 else
71 base = 8;
72 }
73 else
74 base = 10;
75 }
76
77 /* optional "0x" or "0X" for base 16 */
78
79 if ( base == 16 && *nptr == '0' && (nptr[1] == 'X' || nptr[1] == 'x') )
80 nptr += 2; /* skip past this prefix */
81
82 /* check whether there is at least one valid digit */
83
84 n = ToNumber(*nptr);
85 ++nptr;
86
87 if ( !valid(n, base) )
88 return 0; /* subject seq. not of expected form */
89
90 accum = n;
91
92 for ( toobig = 0; n = ToNumber(*nptr), valid(n, base); ++nptr )
93 if ( accum > UINTMAX_MAX / base + 1 /* major wrap-around */
94 || (next = base * accum + n) < accum /* minor wrap-around */
95 )
96 toobig = 1; /* but keep scanning */
97 else
98 accum = next;
99
100 if ( endptr != NULL )
101 *endptr = (char *)nptr; /* points to first not-valid-digit */
102
103 if ( toobig )
104 {
105 errno = ERANGE;
106 return UINTMAX_MAX;
107 }
108 else
109 return minus ? -accum : accum; /* (yes!) */
110 }
111uintmax_t (__cdecl *__MINGW_IMP_SYMBOL(strtoumax))(const char* __restrict__, char ** __restrict__, int) = strtoumax;
112
113unsigned long long __attribute__ ((alias ("strtoumax")))
114__cdecl
115strtoull (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
116unsigned long long (__cdecl *__MINGW_IMP_SYMBOL(strtoull))(const char* __restrict__, char ** __restrict__, int) = strtoull;
117
118unsigned __int64 __attribute__ ((alias ("strtoumax")))
119__cdecl
120_strtoui64 (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
121unsigned __int64 (__cdecl *__MINGW_IMP_SYMBOL(_strtoui64))(const char* __restrict__, char ** __restrict__, int) = _strtoui64;
lib/libc/mingw/misc/tdestroy.c created+25
...@@ -0,0 +1,25 @@
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 <assert.h>
8#define _SEARCH_PRIVATE
9#define _GNU_SOURCE
10#include <stdlib.h>
11#include <search.h>
12
13
14/* destroy tree recursively and call free_node on each node key */
15void tdestroy(void *root, void (*free_node)(void *))
16{
17 node_t *p = (node_t *)root;
18 if (!p)
19 return;
20
21 tdestroy(p->llink , free_node);
22 tdestroy(p->rlink, free_node);
23 free_node((void*)p->key);
24 free(p);
25}
lib/libc/mingw/misc/wassert.c deleted-49
...@@ -1,49 +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 <assert.h>
8#include <stdlib.h>
9#include <windows.h>
10#include "msvcrt.h"
11
12/* _wassert is not available on XP, so forward it to _assert if needed */
13static void __cdecl mingw_wassert(const wchar_t *_Message, const wchar_t *_File, unsigned _Line)
14{
15 char *message = NULL, *file = NULL;
16 size_t len;
17
18 if ((len = wcstombs(NULL, _Message, 0)) != (size_t)-1)
19 {
20 message = malloc(len + 1);
21 wcstombs(message, _Message, len + 1);
22 }
23
24 if ((len = wcstombs(NULL, _File, 0)) != (size_t)-1)
25 {
26 file = malloc(len + 1);
27 wcstombs(file, _File, len + 1);
28 }
29
30 _assert(message, file, _Line);
31
32 free(message);
33 free(file);
34}
35
36static void __cdecl init_wassert(const wchar_t *message, const wchar_t *file, unsigned line);
37
38void (__cdecl *__MINGW_IMP_SYMBOL(_wassert))(const wchar_t*, const wchar_t*,unsigned) = init_wassert;
39
40static void __cdecl init_wassert(const wchar_t *message, const wchar_t *file, unsigned line)
41{
42 void *func;
43
44 func = (void*)GetProcAddress(__mingw_get_msvcrt_handle(), "_wassert");
45 if(!func)
46 func = mingw_wassert;
47
48 return (__MINGW_IMP_SYMBOL(_wassert) = func)(message, file, line);
49}
lib/libc/mingw/misc/wcrtomb.c deleted-100
...@@ -1,100 +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#ifndef WIN32_LEAN_AND_MEAN
7#define WIN32_LEAN_AND_MEAN
8#endif
9#include "mb_wc_common.h"
10#include <wchar.h>
11#include <stdlib.h>
12#include <errno.h>
13#include <limits.h>
14#include <windows.h>
15
16__attribute__((noinline))
17static int __MINGW_ATTRIB_NONNULL(1)
18 __wcrtomb_cp (char *dst, wchar_t wc, const unsigned int cp,
19 const unsigned int mb_max)
20{
21 if (cp == 0)
22 {
23 if (wc > 255)
24 {
25 errno = EILSEQ;
26 return -1;
27 }
28 *dst = (char) wc;
29 return 1;
30 }
31 else
32 {
33 int invalid_char = 0;
34
35 int size = WideCharToMultiByte (cp, 0 /* Is this correct flag? */,
36 &wc, 1, dst, mb_max,
37 NULL, &invalid_char);
38 if (size == 0 || invalid_char)
39 {
40 errno = EILSEQ;
41 return -1;
42 }
43 return size;
44 }
45}
46
47size_t
48wcrtomb (char *dst, wchar_t wc, mbstate_t * __UNUSED_PARAM (ps))
49{
50 char byte_bucket [MB_LEN_MAX];
51 char* tmp_dst = dst ? dst : &byte_bucket[0];
52 return (size_t)__wcrtomb_cp (tmp_dst, wc, ___lc_codepage_func(),
53 MB_CUR_MAX);
54}
55
56size_t wcsrtombs (char *dst, const wchar_t **src, size_t len,
57 mbstate_t * __UNUSED_PARAM (ps))
58{
59 int ret = 0;
60 size_t n = 0;
61 const unsigned int cp = ___lc_codepage_func();
62 const unsigned int mb_max = MB_CUR_MAX;
63 const wchar_t *pwc = *src;
64
65 if (src == NULL || *src == NULL) /* undefined behavior */
66 return 0;
67
68 if (dst != NULL)
69 {
70 while (n < len)
71 {
72 if ((ret = __wcrtomb_cp (dst, *pwc, cp, mb_max)) <= 0)
73 return (size_t) -1;
74 n += ret;
75 dst += ret;
76 if (*(dst - 1) == '\0')
77 {
78 *src = (wchar_t *) NULL;
79 return (n - 1);
80 }
81 pwc++;
82 }
83 *src = pwc;
84 }
85 else
86 {
87 char byte_bucket [MB_LEN_MAX];
88 while (1)
89 {
90 if ((ret = __wcrtomb_cp (&byte_bucket[0], *pwc, cp, mb_max)) <= 0)
91 return (size_t) -1;
92 n += ret;
93 if (byte_bucket [ret - 1] == '\0')
94 return (n - 1);
95 pwc++;
96 }
97 }
98
99 return n;
100}
lib/libc/mingw/secapi/_access_s.c deleted-46
...@@ -1,46 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <io.h>
6
7static errno_t __cdecl _int_access_s (const char *, int);
8static errno_t __cdecl _stub (const char *, int);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_access_s))(const char *, int) =
11 _stub;
12
13static errno_t __cdecl
14_stub (const char *s, int m)
15{
16 errno_t __cdecl (*f)(const char *, int) = __MINGW_IMP_SYMBOL(_access_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(const char *, int))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_access_s");
22 if (!f)
23 f = _int_access_s;
24 __MINGW_IMP_SYMBOL(_access_s) = f;
25 }
26 return (*f)(s, m);
27}
28
29errno_t __cdecl
30_access_s (const char *s, int m)
31{
32 return _stub (s, m);
33}
34
35static errno_t __cdecl
36_int_access_s (const char *s, int m)
37{
38 if (!s || (m & ~6) != 0)
39 {
40 _access (NULL, m);
41 return EINVAL;
42 }
43 if (!_access (s, m))
44 return 0;
45 return errno;
46}
lib/libc/mingw/secapi/_cgets_s.c deleted-55
...@@ -1,55 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7static errno_t __cdecl _int_cgets_s (char *, size_t, size_t *);
8static errno_t __cdecl _stub (char *, size_t, size_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_cgets_s))(char *, size_t, size_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *s, size_t l, size_t *r_len)
15{
16 errno_t __cdecl (*f)(char *, size_t, size_t *) = __MINGW_IMP_SYMBOL(_cgets_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t, size_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_cgets_s");
22 if (!f)
23 f = _int_cgets_s;
24 __MINGW_IMP_SYMBOL(_cgets_s) = f;
25 }
26 return (*f)(s, l, r_len);
27}
28
29errno_t __cdecl
30_cgets_s (char *s, size_t l, size_t *r_len)
31{
32 return _stub (s, l, r_len);
33}
34
35static errno_t __cdecl
36_int_cgets_s (char *s, size_t l, size_t *r_len)
37{
38 char *h, *p;
39
40 if (s && l)
41 s[0] = 0;
42 if (!s || !l || !r_len)
43 {
44 _cgets (NULL);
45 return EINVAL;
46 }
47 p = (char *) alloca (l + 2);
48 p[0] = l;
49 h = _cgets (s);
50 if (!h)
51 return EINVAL;
52 *r_len = (size_t) p[1];
53 memcpy (s, &p[2], *r_len);
54 return 0;
55}
lib/libc/mingw/secapi/_cgetws_s.c deleted-55
...@@ -1,55 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7static errno_t __cdecl _int_cgetws_s (wchar_t *, size_t, size_t *);
8static errno_t __cdecl _stub (wchar_t *, size_t, size_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_cgetws_s))(wchar_t *, size_t, size_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *s, size_t l, size_t *r_len)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t, size_t *) = __MINGW_IMP_SYMBOL(_cgetws_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, size_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_cgetws_s");
22 if (!f)
23 f = _int_cgetws_s;
24 __MINGW_IMP_SYMBOL(_cgetws_s) = f;
25 }
26 return (*f)(s, l, r_len);
27}
28
29errno_t __cdecl
30_cgetws_s (wchar_t *s, size_t l, size_t *r_len)
31{
32 return _stub (s, l, r_len);
33}
34
35static errno_t __cdecl
36_int_cgetws_s (wchar_t *s, size_t l, size_t *r_len)
37{
38 wchar_t *h, *p;
39
40 if (s && l)
41 s[0] = 0;
42 if (!s || !l || !r_len)
43 {
44 _cgetws (NULL);
45 return EINVAL;
46 }
47 p = (wchar_t *) alloca ((l + 2) * sizeof (wchar_t));
48 p[0] = l;
49 h = _cgetws (s);
50 if (!h)
51 return EINVAL;
52 *r_len = (size_t) p[1];
53 memcpy (s, &p[2], *r_len);
54 return 0;
55}
lib/libc/mingw/secapi/_chsize_s.c deleted-46
...@@ -1,46 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <io.h>
6
7static errno_t __cdecl _int_chsize_s (int, long long);
8static errno_t __cdecl _stub (int, long long);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_chsize_s))(int, long long) =
11 _stub;
12
13static errno_t __cdecl
14_stub (int fd, long long sz)
15{
16 errno_t __cdecl (*f)(int, long long) = __MINGW_IMP_SYMBOL(_chsize_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(int, long long))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_chsize_s");
22 if (!f)
23 f = _int_chsize_s;
24 __MINGW_IMP_SYMBOL(_chsize_s) = f;
25 }
26 return (*f)(fd, sz);
27}
28
29errno_t __cdecl
30_chsize_s (int fd, long long sz)
31{
32 return _stub (fd, sz);
33}
34
35static errno_t __cdecl
36_int_chsize_s (int fd, long long sz)
37{
38 if (sz > 0x7fffffffll)
39 {
40 /* We can't set file bigger as 2GB, so return EACCES. */
41 return (errno = EACCES);
42 }
43 if (!_chsize (fd, sz))
44 return 0;
45 return errno;
46}
lib/libc/mingw/secapi/_controlfp_s.c deleted-56
...@@ -1,56 +0,0 @@
1#include <float.h>
2#include <errno.h>
3#include <windows.h>
4#include <msvcrt.h>
5
6static errno_t __cdecl _stub(
7 unsigned int *currentControl,
8 unsigned int newControl,
9 unsigned int mask
10);
11
12errno_t __cdecl (*__MINGW_IMP_SYMBOL(_controlfp_s))(unsigned int *, unsigned int, unsigned int) = _stub;
13
14errno_t __cdecl _controlfp_s(
15 unsigned int *currentControl,
16 unsigned int newControl,
17 unsigned int mask
18){
19 return __MINGW_IMP_SYMBOL(_controlfp_s)(currentControl,newControl,mask);
20}
21
22static const unsigned int allflags = _MCW_DN | _MCW_EM | _MCW_IC | _MCW_RC | _MCW_PC;
23static errno_t __cdecl _int_controlfp_s(
24 unsigned int *currentControl,
25 unsigned int newControl,
26 unsigned int mask
27){
28 unsigned int cont;
29 if(!(newControl & mask & ~allflags)){
30 if (currentControl) *currentControl = _controlfp( 0, 0 );
31 return EINVAL;
32 }
33 cont = _controlfp( newControl, mask );
34 if(currentControl) *currentControl = cont;
35 return 0;
36}
37
38static errno_t __cdecl _stub (
39 unsigned int *currentControl,
40 unsigned int newControl,
41 unsigned int mask
42)
43{
44 errno_t __cdecl (*f)(unsigned int *, unsigned int, unsigned int) = __MINGW_IMP_SYMBOL(_controlfp_s);
45
46 if (f == _stub)
47 {
48 f = (errno_t __cdecl (*)(unsigned int *, unsigned int, unsigned int))
49 GetProcAddress (__mingw_get_msvcrt_handle (), "_controlfp_s");
50 if (!f)
51 f = _int_controlfp_s;
52 __MINGW_IMP_SYMBOL(_controlfp_s) = f;
53 }
54 return (*f)(currentControl, newControl, mask);
55}
56
lib/libc/mingw/secapi/_cprintf_s.c deleted-20
...@@ -1,20 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7int __cdecl (*__MINGW_IMP_SYMBOL(_cprintf_s))(const char *,...) =
8 _cprintf_s;
9
10int __cdecl
11_cprintf_s (const char *s, ...)
12{
13 va_list argp;
14 int r;
15
16 va_start (argp, s);
17 r = _vcprintf_s (s, argp);
18 va_end (argp);
19 return r;
20}
lib/libc/mingw/secapi/_cprintf_s_l.c deleted-20
...@@ -1,20 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7int __cdecl (*__MINGW_IMP_SYMBOL(_cprintf_s_l))(const char *, _locale_t, ...) =
8 _cprintf_s_l;
9
10int __cdecl
11_cprintf_s_l (const char *s, _locale_t loc, ...)
12{
13 va_list argp;
14 int r;
15
16 va_start (argp, loc);
17 r = _vcprintf_s_l (s, loc, argp);
18 va_end (argp);
19 return r;
20}
lib/libc/mingw/secapi/_ctime32_s.c deleted-56
...@@ -1,56 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_ctime32_s (char *, size_t, const __time32_t *);
8static errno_t __cdecl _stub (char *, size_t, const __time32_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_ctime32_s))(char *, size_t, const __time32_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn, const __time32_t *pt)
15{
16 errno_t __cdecl (*f)(char *, size_t, const __time32_t *) = __MINGW_IMP_SYMBOL(_ctime32_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t, const __time32_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_ctime32_s");
22 if (!f)
23 f = _int_ctime32_s;
24 __MINGW_IMP_SYMBOL(_ctime32_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30_ctime32_s (char *d, size_t dn, const __time32_t *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_ctime32_s (char *d, size_t dn, const __time32_t *pt)
37{
38 struct tm ltm;
39 errno_t e;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46 d[0] = 0;
47 if (!pt)
48 {
49 errno = EINVAL;
50 return EINVAL;
51 }
52
53 if ((e = _localtime32_s (&ltm, pt)) != 0)
54 return e;
55 return asctime_s (d, dn, &ltm);
56}
lib/libc/mingw/secapi/_ctime64_s.c deleted-56
...@@ -1,56 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_ctime64_s (char *, size_t, const __time64_t *);
8static errno_t __cdecl _stub (char *, size_t, const __time64_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_ctime64_s))(char *, size_t, const __time64_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn, const __time64_t *pt)
15{
16 errno_t __cdecl (*f)(char *, size_t, const __time64_t *) = __MINGW_IMP_SYMBOL(_ctime64_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t, const __time64_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_ctime64_s");
22 if (!f)
23 f = _int_ctime64_s;
24 __MINGW_IMP_SYMBOL(_ctime64_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30_ctime64_s (char *d, size_t dn, const __time64_t *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_ctime64_s (char *d, size_t dn, const __time64_t *pt)
37{
38 struct tm ltm;
39 errno_t e;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46 d[0] = 0;
47 if (!pt)
48 {
49 errno = EINVAL;
50 return EINVAL;
51 }
52
53 if ((e = _localtime64_s (&ltm, pt)) != 0)
54 return e;
55 return asctime_s (d, dn, &ltm);
56}
lib/libc/mingw/secapi/_cwprintf_s.c deleted-20
...@@ -1,20 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7int __cdecl (*__MINGW_IMP_SYMBOL(_cwprintf_s))(const wchar_t *,...) =
8 _cwprintf_s;
9
10int __cdecl
11_cwprintf_s (const wchar_t *s, ...)
12{
13 va_list argp;
14 int r;
15
16 va_start (argp, s);
17 r = _vcwprintf_s (s, argp);
18 va_end (argp);
19 return r;
20}
lib/libc/mingw/secapi/_cwprintf_s_l.c deleted-20
...@@ -1,20 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7int __cdecl (*__MINGW_IMP_SYMBOL(_cwprintf_s_l))(const wchar_t *, _locale_t, ...) =
8 _cwprintf_s_l;
9
10int __cdecl
11_cwprintf_s_l (const wchar_t *s, _locale_t loc, ...)
12{
13 va_list argp;
14 int r;
15
16 va_start (argp, loc);
17 r = _vcwprintf_s_l (s, loc, argp);
18 va_end (argp);
19 return r;
20}
lib/libc/mingw/secapi/_gmtime32_s.c deleted-51
...@@ -1,51 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_gmtime32_s (struct tm *, const __time32_t *);
8static errno_t __cdecl _stub (struct tm *, const __time32_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_gmtime32_s))(struct tm *, const __time32_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (struct tm *ptm, const __time32_t *pt)
15{
16 errno_t __cdecl (*f)(struct tm *, const __time32_t *) = __MINGW_IMP_SYMBOL(_gmtime32_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(struct tm *, const __time32_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_gmtime32_s");
22 if (!f)
23 f = _int_gmtime32_s;
24 __MINGW_IMP_SYMBOL(_gmtime32_s) = f;
25 }
26 return (*f)(ptm, pt);
27}
28
29errno_t __cdecl
30_gmtime32_s (struct tm *ptm, const __time32_t *pt)
31{
32 return _stub (ptm, pt);
33}
34
35static errno_t __cdecl
36_int_gmtime32_s (struct tm *ptm, const __time32_t *pt)
37{
38 struct tm *ltm;
39
40 if (ptm)
41 memset (ptm, 0xff, sizeof (*ptm));
42 if (!ptm || !pt)
43 {
44 errno = EINVAL;
45 return EINVAL;
46 }
47 if ((ltm = _gmtime32 (pt)) == NULL)
48 return errno;
49 *ptm = *ltm;
50 return 0;
51}
lib/libc/mingw/secapi/_gmtime64_s.c deleted-51
...@@ -1,51 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_gmtime64_s (struct tm *, const __time64_t *);
8static errno_t __cdecl _stub (struct tm *, const __time64_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_gmtime64_s))(struct tm *, const __time64_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (struct tm *ptm, const __time64_t *pt)
15{
16 errno_t __cdecl (*f)(struct tm *, const __time64_t *) = __MINGW_IMP_SYMBOL(_gmtime64_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(struct tm *, const __time64_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_gmtime64_s");
22 if (!f)
23 f = _int_gmtime64_s;
24 __MINGW_IMP_SYMBOL(_gmtime64_s) = f;
25 }
26 return (*f)(ptm, pt);
27}
28
29errno_t __cdecl
30_gmtime64_s (struct tm *ptm, const __time64_t *pt)
31{
32 return _stub (ptm, pt);
33}
34
35static errno_t __cdecl
36_int_gmtime64_s (struct tm *ptm, const __time64_t *pt)
37{
38 struct tm *ltm;
39
40 if (ptm)
41 memset (ptm, 0xff, sizeof (*ptm));
42 if (!ptm || !pt)
43 {
44 errno = EINVAL;
45 return EINVAL;
46 }
47 if ((ltm = _gmtime64 (pt)) == NULL)
48 return errno;
49 *ptm = *ltm;
50 return 0;
51}
lib/libc/mingw/secapi/_localtime32_s.c deleted-51
...@@ -1,51 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_localtime32_s (struct tm *, const __time32_t *);
8static errno_t __cdecl _stub (struct tm *, const __time32_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_localtime32_s))(struct tm *, const __time32_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (struct tm *ptm, const __time32_t *pt)
15{
16 errno_t __cdecl (*f)(struct tm *, const __time32_t *) = __MINGW_IMP_SYMBOL(_localtime32_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(struct tm *, const __time32_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_localtime32_s");
22 if (!f)
23 f = _int_localtime32_s;
24 __MINGW_IMP_SYMBOL(_localtime32_s) = f;
25 }
26 return (*f)(ptm, pt);
27}
28
29errno_t __cdecl
30_localtime32_s (struct tm *ptm, const __time32_t *pt)
31{
32 return _stub (ptm, pt);
33}
34
35static errno_t __cdecl
36_int_localtime32_s (struct tm *ptm, const __time32_t *pt)
37{
38 struct tm *ltm;
39
40 if (ptm)
41 memset (ptm, 0xff, sizeof (*ptm));
42 if (!ptm || !pt)
43 {
44 errno = EINVAL;
45 return EINVAL;
46 }
47 if ((ltm = _localtime32 (pt)) == NULL)
48 return errno;
49 *ptm = *ltm;
50 return 0;
51}
lib/libc/mingw/secapi/_localtime64_s.c deleted-51
...@@ -1,51 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_localtime64_s (struct tm *, const __time64_t *);
8static errno_t __cdecl _stub (struct tm *, const __time64_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_localtime64_s))(struct tm *, const __time64_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (struct tm *ptm, const __time64_t *pt)
15{
16 errno_t __cdecl (*f)(struct tm *, const __time64_t *) = __MINGW_IMP_SYMBOL(_localtime64_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(struct tm *, const __time64_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_localtime64_s");
22 if (!f)
23 f = _int_localtime64_s;
24 __MINGW_IMP_SYMBOL(_localtime64_s) = f;
25 }
26 return (*f)(ptm, pt);
27}
28
29errno_t __cdecl
30_localtime64_s (struct tm *ptm, const __time64_t *pt)
31{
32 return _stub (ptm, pt);
33}
34
35static errno_t __cdecl
36_int_localtime64_s (struct tm *ptm, const __time64_t *pt)
37{
38 struct tm *ltm;
39
40 if (ptm)
41 memset (ptm, 0xff, sizeof (*ptm));
42 if (!ptm || !pt)
43 {
44 errno = EINVAL;
45 return EINVAL;
46 }
47 if ((ltm = _localtime64 (pt)) == NULL)
48 return errno;
49 *ptm = *ltm;
50 return 0;
51}
lib/libc/mingw/secapi/_mktemp_s.c deleted-54
...@@ -1,54 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <io.h>
6
7static errno_t __cdecl _int_mktemp_s (char *, size_t);
8static errno_t __cdecl _stub (char *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_mktemp_s))(char *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn)
15{
16 errno_t __cdecl (*f)(char *, size_t) = __MINGW_IMP_SYMBOL(_mktemp_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_mktemp_s");
22 if (!f)
23 f = _int_mktemp_s;
24 __MINGW_IMP_SYMBOL(_mktemp_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_mktemp_s (char *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_mktemp_s (char *d, size_t dn)
37{
38 size_t sz;
39 if (!d || !dn)
40 {
41 _mktemp (NULL);
42 return EINVAL;
43 }
44 sz = strnlen (d, dn);
45 if (sz >= dn || sz < 6)
46 {
47 d[0] = 0;
48 _mktemp (NULL);
49 return EINVAL;
50 }
51 if (_mktemp (d) != NULL)
52 return 0;
53 return errno;
54}
lib/libc/mingw/secapi/_sopen_s.c deleted-42
...@@ -1,42 +0,0 @@
1#include <windows.h>
2#include <io.h>
3#include <errno.h>
4#include <msvcrt.h>
5
6static errno_t __cdecl _int_sopen_s(int *, const char *, int, int, int);
7static errno_t __cdecl _stub(int *, const char *, int, int, int);
8
9errno_t __cdecl (*__MINGW_IMP_SYMBOL(_sopen_s))(int *, const char *, int, int, int) = _stub;
10
11static errno_t __cdecl
12_stub (int* pfh, const char *filename, int oflag, int shflag, int pmode)
13{
14 errno_t __cdecl (*f)(int *, const char *, int, int, int) = __MINGW_IMP_SYMBOL(_sopen_s);
15
16 if (f == _stub) {
17 f = (errno_t __cdecl (*)(int *, const char *, int, int, int))
18 GetProcAddress (__mingw_get_msvcrt_handle (), "_sopen_s");
19 if (f == NULL)
20 f = _int_sopen_s;
21 __MINGW_IMP_SYMBOL(_sopen_s) = f;
22 }
23
24 return (*f)(pfh, filename, oflag, shflag, pmode);
25}
26
27static errno_t __cdecl _int_sopen_s(int* pfh, const char *filename, int oflag, int shflag, int pmode)
28{
29 if (pfh == NULL || filename == NULL) {
30 if (pfh != NULL) *pfh = -1;
31 errno = EINVAL;
32 return EINVAL;
33 }
34
35 *pfh = _sopen(filename, oflag, shflag, pmode);
36 return errno;
37}
38
39errno_t __cdecl _sopen_s(int* pfh, const char *filename, int oflag, int shflag, int pmode)
40{
41 return _stub (pfh, filename, oflag, shflag, pmode);
42}
lib/libc/mingw/secapi/_strdate_s.c deleted-68
...@@ -1,68 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_strdate_s (char *, size_t);
8static errno_t __cdecl _stub (char *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_strdate_s))(char *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn)
15{
16 errno_t __cdecl (*f)(char *, size_t) = __MINGW_IMP_SYMBOL(_strdate_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_strdate_s");
22 if (!f)
23 f = _int_strdate_s;
24 __MINGW_IMP_SYMBOL(_strdate_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_strdate_s (char *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_strdate_s (char *d, size_t dn)
37{
38 SYSTEMTIME dt;
39
40 if (!d || !dn)
41 {
42 errno = EINVAL;
43 return EINVAL;
44 }
45
46 d[0] = 0;
47
48 if (dn < 9)
49 {
50 errno = ERANGE;
51 return ERANGE;
52 }
53
54 GetLocalTime (&dt);
55 dt.wYear %= 100;
56
57 d[0] = (char) (dt.wMonth / 10 + '0');
58 d[1] = (char) (dt.wMonth % 10 + '0');
59 d[2] = '/';
60 d[3] = (char) (dt.wDay / 10 + '0');
61 d[4] = (char) (dt.wDay % 10 + '0');
62 d[5] = '/';
63 d[6] = (char) (dt.wYear / 10 + '0');
64 d[7] = (char) (dt.wYear % 10 + '0');
65 d[8] = 0;
66
67 return 0;
68}
lib/libc/mingw/secapi/_strtime_s.c deleted-72
...@@ -1,72 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_strtime_s (char *, size_t);
8static errno_t __cdecl _stub (char *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_strtime_s))(char *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn)
15{
16 errno_t __cdecl (*f)(char *, size_t) = __MINGW_IMP_SYMBOL(_strtime_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_strtime_s");
22 if (!f)
23 f = _int_strtime_s;
24 __MINGW_IMP_SYMBOL(_strtime_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_strtime_s (char *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_strtime_s (char *d, size_t dn)
37{
38 SYSTEMTIME dt;
39 int hours, minutes, seconds;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46
47 d[0] = 0;
48
49 if (dn < 9)
50 {
51 errno = ERANGE;
52 return ERANGE;
53 }
54
55 GetLocalTime (&dt);
56 dt.wYear %= 100;
57
58 hours = dt.wHour;
59 minutes = dt.wMinute;
60 seconds = dt.wSecond;
61
62 d[2] = d[5] = ':';
63 d[0] = (char) (hours / 10 + '0');
64 d[1] = (char) (hours % 10 + '0');
65 d[3] = (char) (minutes / 10 + '0');
66 d[4] = (char) (minutes % 10 + '0');
67 d[6] = (char) (seconds / 10 + '0');
68 d[7] = (char) (seconds % 10 + '0');
69 d[8] = 0;
70
71 return 0;
72}
lib/libc/mingw/secapi/_umask_s.c deleted-45
...@@ -1,45 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <io.h>
6
7static errno_t __cdecl _int_umask_s (int, int *);
8static errno_t __cdecl _stub (int, int *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_umask_s))(int, int *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (int m, int *pold)
15{
16 errno_t __cdecl (*f)(int, int *) = __MINGW_IMP_SYMBOL(_umask_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(int, int *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_umask_s");
22 if (!f)
23 f = _int_umask_s;
24 __MINGW_IMP_SYMBOL(_umask_s) = f;
25 }
26 return (*f)(m, pold);
27}
28
29errno_t __cdecl
30_umask_s (int m, int *pold)
31{
32 return _stub (m, pold);
33}
34
35static errno_t __cdecl
36_int_umask_s (int m, int *pold)
37{
38 if (!pold)
39 {
40 errno = EINVAL;
41 return EINVAL;
42 }
43 *pold = _umask (m);
44 return 0;
45}
lib/libc/mingw/secapi/_vcprintf_s.c deleted-39
...@@ -1,39 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7static int __cdecl _int_vcprintf_s (const char *, va_list);
8static int __cdecl _stub (const char *, va_list);
9
10int __cdecl (*__MINGW_IMP_SYMBOL(_vcprintf_s))(const char *, va_list) =
11 _stub;
12
13static int __cdecl
14_stub (const char *s, va_list argp)
15{
16 int __cdecl (*f)(const char *, va_list) = __MINGW_IMP_SYMBOL(_vcprintf_s);
17
18 if (f == _stub)
19 {
20 f = (int __cdecl (*)(const char *, va_list))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_vcprintf_s");
22 if (!f)
23 f = _int_vcprintf_s;
24 __MINGW_IMP_SYMBOL(_vcprintf_s) = f;
25 }
26 return (*f)(s, argp);
27}
28
29int __cdecl
30_vcprintf_s (const char *s, va_list argp)
31{
32 return _stub (s, argp);
33}
34
35static int __cdecl
36_int_vcprintf_s (const char *s, va_list argp)
37{
38 return _vcprintf (s, argp);
39}
lib/libc/mingw/secapi/_vcprintf_s_l.c deleted-39
...@@ -1,39 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/conio_s.h>
6
7static int __cdecl _int_vcprintf_s_l (const char *, _locale_t, va_list);
8static int __cdecl _stub (const char *, _locale_t, va_list);
9
10int __cdecl (*__MINGW_IMP_SYMBOL(_vcprintf_s_l))(const char *, _locale_t, va_list) =
11 _stub;
12
13static int __cdecl
14_stub (const char *s, _locale_t loc, va_list argp)
15{
16 int __cdecl (*f)(const char *, _locale_t, va_list) = __MINGW_IMP_SYMBOL(_vcprintf_s_l);
17
18 if (f == _stub)
19 {
20 f = (int __cdecl (*)(const char *, _locale_t, va_list))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_vcprintf_s_l");
22 if (!f)
23 f = _int_vcprintf_s_l;
24 __MINGW_IMP_SYMBOL(_vcprintf_s_l) = f;
25 }
26 return (*f)(s, loc, argp);
27}
28
29int __cdecl
30_vcprintf_s_l (const char *s, _locale_t loc, va_list argp)
31{
32 return _stub (s, loc, argp);
33}
34
35static int __cdecl
36_int_vcprintf_s_l (const char *s, _locale_t loc, va_list argp)
37{
38 return _vcprintf_l (s, loc, argp);
39}
lib/libc/mingw/secapi/_vcwprintf_s.c deleted-39
...@@ -1,39 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static int __cdecl _int_vcwprintf_s (const wchar_t *, va_list);
8static int __cdecl _stub (const wchar_t *, va_list);
9
10int __cdecl (*__MINGW_IMP_SYMBOL(_vcwprintf_s))(const wchar_t *, va_list) =
11 _stub;
12
13static int __cdecl
14_stub (const wchar_t *s, va_list argp)
15{
16 int __cdecl (*f)(const wchar_t *, va_list) = __MINGW_IMP_SYMBOL(_vcwprintf_s);
17
18 if (f == _stub)
19 {
20 f = (int __cdecl (*)(const wchar_t *, va_list))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_vcwprintf_s");
22 if (!f)
23 f = _int_vcwprintf_s;
24 __MINGW_IMP_SYMBOL(_vcwprintf_s) = f;
25 }
26 return (*f)(s, argp);
27}
28
29int __cdecl
30_vcwprintf_s (const wchar_t *s, va_list argp)
31{
32 return _stub (s, argp);
33}
34
35static int __cdecl
36_int_vcwprintf_s (const wchar_t *s, va_list argp)
37{
38 return _vcwprintf (s, argp);
39}
lib/libc/mingw/secapi/_vcwprintf_s_l.c deleted-39
...@@ -1,39 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static int __cdecl _int_vcwprintf_s_l (const wchar_t *, _locale_t, va_list);
8static int __cdecl _stub (const wchar_t *, _locale_t, va_list);
9
10int __cdecl (*__MINGW_IMP_SYMBOL(_vcwprintf_s_l))(const wchar_t *, _locale_t, va_list) =
11 _stub;
12
13static int __cdecl
14_stub (const wchar_t *s, _locale_t loc, va_list argp)
15{
16 int __cdecl (*f)(const wchar_t *, _locale_t, va_list) = __MINGW_IMP_SYMBOL(_vcwprintf_s_l);
17
18 if (f == _stub)
19 {
20 f = (int __cdecl (*)(const wchar_t *, _locale_t, va_list))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_vcwprintf_s_l");
22 if (!f)
23 f = _int_vcwprintf_s_l;
24 __MINGW_IMP_SYMBOL(_vcwprintf_s_l) = f;
25 }
26 return (*f)(s, loc, argp);
27}
28
29int __cdecl
30_vcwprintf_s_l (const wchar_t *s, _locale_t loc, va_list argp)
31{
32 return _stub (s, loc, argp);
33}
34
35static int __cdecl
36_int_vcwprintf_s_l (const wchar_t *s, _locale_t loc, va_list argp)
37{
38 return _vcwprintf_l (s, loc, argp);
39}
lib/libc/mingw/secapi/_vscprintf_p.c deleted-8
...@@ -1,8 +0,0 @@
1#include <sec_api/stdio_s.h>
2
3int __cdecl _vscprintf_p(const char *format, va_list arglist)
4{
5 return _vscprintf_p_l(format, NULL, arglist);
6}
7
8int __cdecl (*__MINGW_IMP_SYMBOL(_vscprintf_p))(const char *, va_list) = _vscprintf_p;
lib/libc/mingw/secapi/_vscwprintf_p.c deleted-8
...@@ -1,8 +0,0 @@
1#include <sec_api/stdio_s.h>
2
3int __cdecl _vscwprintf_p(const wchar_t *format, va_list arglist)
4{
5 return _vscwprintf_p_l(format, NULL, arglist);
6}
7
8int __cdecl (*__MINGW_IMP_SYMBOL(_vscwprintf_p))(const wchar_t *, va_list) = _vscwprintf_p;
lib/libc/mingw/secapi/_vswprintf_p.c deleted-8
...@@ -1,8 +0,0 @@
1#include <sec_api/stdio_s.h>
2
3int __cdecl _vswprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList)
4{
5 return _vswprintf_p_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList);
6}
7
8int __cdecl (*__MINGW_IMP_SYMBOL(_vswprintf_p))(wchar_t*,size_t,const wchar_t*,va_list) = _vswprintf_p;
lib/libc/mingw/secapi/_waccess_s.c deleted-46
...@@ -1,46 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static errno_t __cdecl _int_waccess_s (const wchar_t *, int);
8static errno_t __cdecl _stub (const wchar_t *, int);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_waccess_s))(const wchar_t *, int) =
11 _stub;
12
13static errno_t __cdecl
14_stub (const wchar_t *s, int m)
15{
16 errno_t __cdecl (*f)(const wchar_t *, int) = __MINGW_IMP_SYMBOL(_waccess_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(const wchar_t *, int))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_waccess_s");
22 if (!f)
23 f = _int_waccess_s;
24 __MINGW_IMP_SYMBOL(_waccess_s) = f;
25 }
26 return (*f)(s, m);
27}
28
29errno_t __cdecl
30_waccess_s (const wchar_t *s, int m)
31{
32 return _stub (s, m);
33}
34
35static errno_t __cdecl
36_int_waccess_s (const wchar_t *s, int m)
37{
38 if (!s || (m & ~6) != 0)
39 {
40 _waccess (NULL, m);
41 return EINVAL;
42 }
43 if (!_waccess (s, m))
44 return 0;
45 return errno;
46}
lib/libc/mingw/secapi/_wasctime_s.c deleted-52
...@@ -1,52 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_wasctime_s (wchar_t *, size_t, const struct tm *);
8static errno_t __cdecl _stub (wchar_t *, size_t, const struct tm *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wasctime_s))(wchar_t *, size_t, const struct tm *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn, const struct tm *pt)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t, const struct tm *) = __MINGW_IMP_SYMBOL(_wasctime_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, const struct tm *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wasctime_s");
22 if (!f)
23 f = _int_wasctime_s;
24 __MINGW_IMP_SYMBOL(_wasctime_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30_wasctime_s (wchar_t *d, size_t dn, const struct tm *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_wasctime_s (wchar_t *d, size_t dn, const struct tm *pt)
37{
38 wchar_t *tmp;
39 size_t i;
40
41 if (d && dn)
42 d[0] = 0;
43 if (!d || dn < 26 || !pt || (tmp = _wasctime (pt)) == NULL)
44 {
45 errno = EINVAL;
46 return EINVAL;
47 }
48 for (i = 0; tmp[i] != 0; i++)
49 d[i] = tmp[i];
50 d[i] = 0;
51 return 0;
52}
lib/libc/mingw/secapi/_wctime32_s.c deleted-56
...@@ -1,56 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_wctime32_s (wchar_t *, size_t, const __time32_t *);
8static errno_t __cdecl _stub (wchar_t *, size_t, const __time32_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wctime32_s))(wchar_t *, size_t, const __time32_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn, const __time32_t *pt)
15{
16 errno_t __cdecl (*f)(wchar_t*,size_t, const __time32_t *) = __MINGW_IMP_SYMBOL(_wctime32_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, const __time32_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wctime32_s");
22 if (!f)
23 f = _int_wctime32_s;
24 __MINGW_IMP_SYMBOL(_wctime32_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30_wctime32_s (wchar_t *d, size_t dn, const __time32_t *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_wctime32_s (wchar_t *d, size_t dn, const __time32_t *pt)
37{
38 struct tm ltm;
39 errno_t e;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46 d[0] = 0;
47 if (!pt)
48 {
49 errno = EINVAL;
50 return EINVAL;
51 }
52
53 if ((e = _localtime32_s (&ltm, pt)) != 0)
54 return e;
55 return _wasctime_s (d, dn, &ltm);
56}
lib/libc/mingw/secapi/_wctime64_s.c deleted-56
...@@ -1,56 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_wctime64_s (wchar_t *, size_t, const __time64_t *);
8static errno_t __cdecl _stub (wchar_t *, size_t, const __time64_t *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wctime64_s))(wchar_t *, size_t, const __time64_t *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn, const __time64_t *pt)
15{
16 errno_t __cdecl (*f)(wchar_t*,size_t, const __time64_t *) = __MINGW_IMP_SYMBOL(_wctime64_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, const __time64_t *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wctime64_s");
22 if (!f)
23 f = _int_wctime64_s;
24 __MINGW_IMP_SYMBOL(_wctime64_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30_wctime64_s (wchar_t *d, size_t dn, const __time64_t *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_wctime64_s (wchar_t *d, size_t dn, const __time64_t *pt)
37{
38 struct tm ltm;
39 errno_t e;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46 d[0] = 0;
47 if (!pt)
48 {
49 errno = EINVAL;
50 return EINVAL;
51 }
52
53 if ((e = _localtime64_s (&ltm, pt)) != 0)
54 return e;
55 return _wasctime_s (d, dn, &ltm);
56}
lib/libc/mingw/secapi/_wmktemp_s.c deleted-54
...@@ -1,54 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static errno_t __cdecl _int_wmktemp_s (wchar_t *, size_t);
8static errno_t __cdecl _stub (wchar_t *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wmktemp_s))(wchar_t *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t) = __MINGW_IMP_SYMBOL(_wmktemp_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wmktemp_s");
22 if (!f)
23 f = _int_wmktemp_s;
24 __MINGW_IMP_SYMBOL(_wmktemp_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_wmktemp_s (wchar_t *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_wmktemp_s (wchar_t *d, size_t dn)
37{
38 size_t sz;
39 if (!d || !dn)
40 {
41 _wmktemp (NULL);
42 return EINVAL;
43 }
44 sz = wcsnlen (d, dn);
45 if (sz >= dn || sz < 6)
46 {
47 d[0] = 0;
48 _wmktemp (NULL);
49 return EINVAL;
50 }
51 if (_wmktemp (d) != NULL)
52 return 0;
53 return errno;
54}
lib/libc/mingw/secapi/_wstrdate_s.c deleted-68
...@@ -1,68 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_wstrdate_s (wchar_t *, size_t);
8static errno_t __cdecl _stub (wchar_t *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wstrdate_s))(wchar_t *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t) = __MINGW_IMP_SYMBOL(_wstrdate_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wstrdate_s");
22 if (!f)
23 f = _int_wstrdate_s;
24 __MINGW_IMP_SYMBOL(_wstrdate_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_wstrdate_s (wchar_t *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_wstrdate_s (wchar_t *d, size_t dn)
37{
38 SYSTEMTIME dt;
39
40 if (!d || !dn)
41 {
42 errno = EINVAL;
43 return EINVAL;
44 }
45
46 d[0] = 0;
47
48 if (dn < 9)
49 {
50 errno = ERANGE;
51 return ERANGE;
52 }
53
54 GetLocalTime (&dt);
55 dt.wYear %= 100;
56
57 d[0] = (wchar_t) (dt.wMonth / 10 + '0');
58 d[1] = (wchar_t) (dt.wMonth % 10 + '0');
59 d[2] = '/';
60 d[3] = (wchar_t) (dt.wDay / 10 + '0');
61 d[4] = (wchar_t) (dt.wDay % 10 + '0');
62 d[5] = '/';
63 d[6] = (wchar_t) (dt.wYear / 10 + '0');
64 d[7] = (wchar_t) (dt.wYear % 10 + '0');
65 d[8] = 0;
66
67 return 0;
68}
lib/libc/mingw/secapi/_wstrtime_s.c deleted-71
...@@ -1,71 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_wstrtime_s (wchar_t *, size_t);
8static errno_t __cdecl _stub (wchar_t *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(_wstrtime_s))(wchar_t *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t) = __MINGW_IMP_SYMBOL(_wstrtime_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "_wstrtime_s");
22 if (!f)
23 f = _int_wstrtime_s;
24 __MINGW_IMP_SYMBOL(_wstrtime_s) = f;
25 }
26 return (*f)(d, dn);
27}
28
29errno_t __cdecl
30_wstrtime_s (wchar_t *d, size_t dn)
31{
32 return _stub (d, dn);
33}
34
35static errno_t __cdecl
36_int_wstrtime_s (wchar_t *d, size_t dn)
37{
38 SYSTEMTIME dt;
39 int hours, minutes, seconds;
40
41 if (!d || !dn)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46
47 d[0] = 0;
48
49 if (dn < 9)
50 {
51 errno = ERANGE;
52 return ERANGE;
53 }
54
55 GetLocalTime (&dt);
56
57 hours = dt.wHour;
58 minutes = dt.wMinute;
59 seconds = dt.wSecond;
60
61 d[2] = d[5] = ':';
62 d[0] = (wchar_t) (hours / 10 + '0');
63 d[1] = (wchar_t) (hours % 10 + '0');
64 d[3] = (wchar_t) (minutes / 10 + '0');
65 d[4] = (wchar_t) (minutes % 10 + '0');
66 d[6] = (wchar_t) (seconds / 10 + '0');
67 d[7] = (wchar_t) (seconds % 10 + '0');
68 d[8] = 0;
69
70 return 0;
71}
lib/libc/mingw/secapi/asctime_s.c deleted-52
...@@ -1,52 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <time.h>
4#include <errno.h>
5#include <msvcrt.h>
6
7static errno_t __cdecl _int_asctime_s (char *, size_t, const struct tm *);
8static errno_t __cdecl _stub (char *, size_t, const struct tm *);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(asctime_s))(char *, size_t, const struct tm *) =
11 _stub;
12
13static errno_t __cdecl
14_stub (char *d, size_t dn, const struct tm *pt)
15{
16 errno_t __cdecl (*f)(char *, size_t, const struct tm *) = __MINGW_IMP_SYMBOL(asctime_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(char *, size_t, const struct tm *))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "asctime_s");
22 if (!f)
23 f = _int_asctime_s;
24 __MINGW_IMP_SYMBOL(asctime_s) = f;
25 }
26 return (*f)(d, dn, pt);
27}
28
29errno_t __cdecl
30asctime_s (char *d, size_t dn, const struct tm *pt)
31{
32 return _stub (d, dn, pt);
33}
34
35static errno_t __cdecl
36_int_asctime_s (char *d, size_t dn, const struct tm *pt)
37{
38 char *tmp;
39 size_t i;
40
41 if (d && dn)
42 d[0] = 0;
43 if (!d || dn < 26 || !pt || (tmp = asctime (pt)) == NULL)
44 {
45 errno = EINVAL;
46 return EINVAL;
47 }
48 for (i = 0; tmp[i] != 0; i++)
49 d[i] = tmp[i];
50 d[i] = 0;
51 return 0;
52}
lib/libc/mingw/secapi/memcpy_s.c deleted-59
...@@ -1,59 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5
6static errno_t __cdecl _int_memcpy_s (void *, size_t, const void *, size_t);
7static errno_t __cdecl _stub (void *, size_t, const void *, size_t);
8
9errno_t __cdecl (*__MINGW_IMP_SYMBOL(memcpy_s))(void *, size_t, const void *, size_t) =
10 _stub;
11
12static errno_t __cdecl
13_stub (void *d, size_t dn, const void *s, size_t n)
14{
15 errno_t __cdecl (*f)(void *, size_t, const void *, size_t) = __MINGW_IMP_SYMBOL(memcpy_s);
16
17 if (f == _stub)
18 {
19 f = (errno_t __cdecl (*)(void *, size_t, const void *, size_t))
20 GetProcAddress (__mingw_get_msvcrt_handle (), "memcpy_s");
21 if (!f)
22 f = _int_memcpy_s;
23 __MINGW_IMP_SYMBOL(memcpy_s) = f;
24 }
25 return (*f)(d, dn, s, n);
26}
27
28errno_t __cdecl
29memcpy_s (void *d, size_t dn, const void *s, size_t n)
30{
31 return _stub (d, dn, s, n);
32}
33
34static errno_t __cdecl
35_int_memcpy_s (void *d, size_t dn, const void *s, size_t n)
36{
37 if (!n)
38 return 0;
39
40 if (!d || !s)
41 {
42 if (d)
43 memset (d, 0, dn);
44 errno = EINVAL;
45 return EINVAL;
46 }
47
48 if (dn < n)
49 {
50 memset (d, 0, dn);
51
52 errno = ERANGE;
53 return ERANGE;
54 }
55
56 memcpy (d, s, n);
57
58 return 0;
59}
lib/libc/mingw/secapi/memmove_s.c deleted-59
...@@ -1,59 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5
6static errno_t __cdecl _int_memmove_s (void *, size_t, const void *, size_t);
7static errno_t __cdecl _stub (void *, size_t, const void *, size_t);
8
9errno_t __cdecl (*__MINGW_IMP_SYMBOL(memmove_s))(void *, size_t, const void *, size_t) =
10 _stub;
11
12static errno_t __cdecl
13_stub (void *d, size_t dn, const void *s, size_t n)
14{
15 errno_t __cdecl (*f)(void *, size_t, const void *, size_t) = __MINGW_IMP_SYMBOL(memmove_s);
16
17 if (f == _stub)
18 {
19 f = (errno_t __cdecl (*)(void *, size_t, const void *, size_t))
20 GetProcAddress (__mingw_get_msvcrt_handle (), "memmove_s");
21 if (!f)
22 f = _int_memmove_s;
23 __MINGW_IMP_SYMBOL(memmove_s) = f;
24 }
25 return (*f)(d, dn, s, n);
26}
27
28errno_t __cdecl
29memmove_s (void *d, size_t dn, const void *s, size_t n)
30{
31 return _stub (d, dn, s, n);
32}
33
34static errno_t __cdecl
35_int_memmove_s (void *d, size_t dn, const void *s, size_t n)
36{
37 if (!n)
38 return 0;
39
40 if (!d || !s)
41 {
42 if (d)
43 memset (d, 0, dn);
44 errno = EINVAL;
45 return EINVAL;
46 }
47
48 if (dn < n)
49 {
50 memset (d, 0, dn);
51
52 errno = ERANGE;
53 return ERANGE;
54 }
55
56 memmove (d, s, n);
57
58 return 0;
59}
lib/libc/mingw/secapi/rand_s.c deleted-36
...@@ -1,36 +0,0 @@
1#define _CRT_RAND_S
2#include <stdlib.h>
3#include <windows.h>
4#include <ntsecapi.h>
5#include <errno.h>
6#include <msvcrt.h>
7
8static BOOLEAN (WINAPI *pRtlGenRandom)(void*,ULONG);
9
10static errno_t mingw_rand_s(unsigned int *pval)
11{
12 return !pval || !pRtlGenRandom || !pRtlGenRandom(pval, sizeof(*pval)) ? EINVAL : 0;
13}
14
15static errno_t __cdecl init_rand_s(unsigned int*);
16
17errno_t (__cdecl *__MINGW_IMP_SYMBOL(rand_s))(unsigned int*) = init_rand_s;
18
19errno_t __cdecl
20rand_s(unsigned int *val)
21{
22 return __MINGW_IMP_SYMBOL(rand_s)(val);
23}
24
25static errno_t __cdecl init_rand_s(unsigned int *val)
26{
27 int (__cdecl *func)(unsigned int*);
28
29 func = (void*)GetProcAddress(__mingw_get_msvcrt_handle(), "rand_s");
30 if(!func) {
31 func = mingw_rand_s;
32 pRtlGenRandom = (void*)GetProcAddress(LoadLibraryW(L"advapi32.dll"), "SystemFunction036");
33 }
34
35 return (__MINGW_IMP_SYMBOL(rand_s) = func)(val);
36}
lib/libc/mingw/secapi/sprintf_s.c deleted-19
...@@ -1,19 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/stdio_s.h>
6
7int __cdecl (*__MINGW_IMP_SYMBOL(sprintf_s))(char *, size_t, const char *,...) = sprintf_s;
8
9int __cdecl
10sprintf_s (char *_DstBuf, size_t _Size, const char *_Format, ...)
11{
12 va_list argp;
13 int r;
14
15 va_start (argp, _Format);
16 r = vsprintf_s (_DstBuf, _Size, _Format, argp);
17 va_end (argp);
18 return r;
19}
lib/libc/mingw/secapi/strerror_s.c deleted-54
...@@ -1,54 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/stdio_s.h>
6
7static errno_t __cdecl _int_strerror_s (char *, size_t, int);
8static errno_t __cdecl _stub (char *, size_t, int);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(strerror_s))(char *, size_t, int) = _stub;
11
12static errno_t __cdecl
13_stub (char *buffer, size_t numberOfElements, int errnum)
14{
15 errno_t __cdecl (*f)(char *, size_t, int) = __MINGW_IMP_SYMBOL(strerror_s);
16
17 if (f == _stub)
18 {
19 f = (errno_t __cdecl (*)(char *, size_t, int))
20 GetProcAddress (__mingw_get_msvcrt_handle (), "strerror_s");
21 if (!f)
22 {
23 f = _int_strerror_s;
24 }
25 __MINGW_IMP_SYMBOL(strerror_s) = f;
26 }
27 return (*f)(buffer, numberOfElements, errnum);
28}
29
30errno_t __cdecl
31strerror_s (char *buffer, size_t numberOfElements, int errnum)
32{
33 return _stub (buffer, numberOfElements, errnum);
34}
35
36static errno_t __cdecl
37_int_strerror_s (char *buffer, size_t numberOfElements, int errnum)
38{
39 char *errmsg = strerror(errnum);
40
41 if (!errmsg || !buffer || numberOfElements == 0)
42 {
43 errno = EINVAL;
44 return EINVAL;
45 }
46
47 if (sprintf_s(buffer, numberOfElements, "%s", errmsg) == -1)
48 {
49 errno = EINVAL;
50 return EINVAL;
51 }
52
53 return 0;
54}
lib/libc/mingw/secapi/vsprintf_s.c deleted-40
...@@ -1,40 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <stdio.h>
6#include <sec_api/stdio_s.h>
7
8static int __cdecl _int_vsprintf_s (char *, size_t, const char *, va_list);
9static int __cdecl _stub (char *, size_t, const char *, va_list);
10
11int __cdecl (*__MINGW_IMP_SYMBOL(vsprintf_s))(char *, size_t, const char *, va_list) =
12 _stub;
13
14static int __cdecl
15_stub (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
16{
17 int __cdecl (*f)(char *, size_t, const char *, va_list) = __MINGW_IMP_SYMBOL(vsprintf_s);
18
19 if (f == _stub)
20 {
21 f = (int __cdecl (*)(char *, size_t, const char *, va_list))
22 GetProcAddress (__mingw_get_msvcrt_handle (), "vsprintf_s");
23 if (!f)
24 f = _int_vsprintf_s;
25 __MINGW_IMP_SYMBOL(vsprintf_s) = f;
26 }
27 return (*f)(_DstBuf, _Size, _Format, _ArgList);
28}
29
30int __cdecl
31vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
32{
33 return _stub (_DstBuf, _Size, _Format, _ArgList);
34}
35
36static int __cdecl
37_int_vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
38{
39 return __ms_vsnprintf (_DstBuf, _Size, _Format, _ArgList);
40}
lib/libc/mingw/secapi/wmemcpy_s.c deleted-60
...@@ -1,60 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static errno_t __cdecl _int_wmemcpy_s (wchar_t *, size_t, const wchar_t *, size_t);
8static errno_t __cdecl _stub (wchar_t *, size_t, const wchar_t *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(wmemcpy_s))(wchar_t *, size_t, const wchar_t *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t, const wchar_t *, size_t) = __MINGW_IMP_SYMBOL(wmemcpy_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, const wchar_t *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "wmemcpy_s");
22 if (!f)
23 f = _int_wmemcpy_s;
24 __MINGW_IMP_SYMBOL(wmemcpy_s) = f;
25 }
26 return (*f)(d, dn, s, n);
27}
28
29errno_t __cdecl
30wmemcpy_s (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
31{
32 return _stub (d, dn, s, n);
33}
34
35static errno_t __cdecl
36_int_wmemcpy_s (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
37{
38 if (!n)
39 return 0;
40
41 if (!d || !s)
42 {
43 if (d)
44 memset (d, 0, dn * sizeof (wchar_t));
45 errno = EINVAL;
46 return EINVAL;
47 }
48
49 if (dn < n)
50 {
51 memset (d, 0, dn * sizeof (wchar_t));
52
53 errno = ERANGE;
54 return ERANGE;
55 }
56
57 memcpy (d, s, n * sizeof (wchar_t));
58
59 return 0;
60}
lib/libc/mingw/secapi/wmemmove_s.c deleted-60
...@@ -1,60 +0,0 @@
1#include <windows.h>
2#include <malloc.h>
3#include <errno.h>
4#include <msvcrt.h>
5#include <sec_api/wchar_s.h>
6
7static errno_t __cdecl _int_wmemmove_s (wchar_t *, size_t, const wchar_t*, size_t);
8static errno_t __cdecl _stub (wchar_t *, size_t, const wchar_t *, size_t);
9
10errno_t __cdecl (*__MINGW_IMP_SYMBOL(wmemmove_s))(wchar_t *, size_t, const wchar_t *, size_t) =
11 _stub;
12
13static errno_t __cdecl
14_stub (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
15{
16 errno_t __cdecl (*f)(wchar_t *, size_t, const wchar_t *, size_t) = __MINGW_IMP_SYMBOL(wmemmove_s);
17
18 if (f == _stub)
19 {
20 f = (errno_t __cdecl (*)(wchar_t *, size_t, const wchar_t *, size_t))
21 GetProcAddress (__mingw_get_msvcrt_handle (), "wmemmove_s");
22 if (!f)
23 f = _int_wmemmove_s;
24 __MINGW_IMP_SYMBOL(wmemmove_s) = f;
25 }
26 return (*f)(d, dn, s, n);
27}
28
29errno_t __cdecl
30wmemmove_s (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
31{
32 return _stub (d, dn, s, n);
33}
34
35static errno_t __cdecl
36_int_wmemmove_s (wchar_t *d, size_t dn, const wchar_t *s, size_t n)
37{
38 if (!n)
39 return 0;
40
41 if (!d || !s)
42 {
43 if (d)
44 memset (d, 0, dn * sizeof (wchar_t));
45 errno = EINVAL;
46 return EINVAL;
47 }
48
49 if (dn < n)
50 {
51 memset (d, 0, dn * sizeof (wchar_t));
52
53 errno = ERANGE;
54 return ERANGE;
55 }
56
57 memmove (d, s, n * sizeof (wchar_t));
58
59 return 0;
60}
lib/libc/mingw/stdio/_getc_nolock.c deleted-8
...@@ -1,8 +0,0 @@
1#include <stdio.h>
2
3#undef _getc_nolock
4int __cdecl _getc_nolock(FILE *stream);
5int __cdecl _getc_nolock(FILE *stream)
6{
7 return _fgetc_nolock(stream);
8}
lib/libc/mingw/stdio/_getwc_nolock.c deleted-10
...@@ -1,10 +0,0 @@
1#undef __MSVCRT_VERSION__
2#define __MSVCRT_VERSION__ 0x800
3#include <stdio.h>
4
5#undef _getwc_nolock
6wint_t __cdecl _getwc_nolock(FILE *stream);
7wint_t __cdecl _getwc_nolock(FILE *stream)
8{
9 return _fgetwc_nolock(stream);
10}
lib/libc/mingw/stdio/_putc_nolock.c deleted-8
...@@ -1,8 +0,0 @@
1#include <stdio.h>
2
3#undef _putc_nolock
4int __cdecl _putc_nolock(int c, FILE *stream);
5int __cdecl _putc_nolock(int c, FILE *stream)
6{
7 return _fputc_nolock(c, stream);
8}
lib/libc/mingw/stdio/_putwc_nolock.c deleted-10
...@@ -1,10 +0,0 @@
1#undef __MSVCRT_VERSION__
2#define __MSVCRT_VERSION__ 0x800
3#include <stdio.h>
4
5#undef _putwc_nolock
6wint_t __cdecl _putwc_nolock(wchar_t c, FILE *stream);
7wint_t __cdecl _putwc_nolock(wchar_t c, FILE *stream)
8{
9 return _fputwc_nolock(c, stream);
10}
lib/libc/mingw/stdio/_vscprintf.c deleted-86
...@@ -1,86 +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 <windows.h>
7#include <stdarg.h>
8#include <stdio.h>
9#include <stdlib.h>
10#include <string.h>
11#include <errno.h>
12
13/* emulation of _vscprintf() via _vsnprintf() */
14static int __cdecl emu_vscprintf(const char * __restrict__ format, va_list arglist)
15{
16 char *buffer, *new_buffer;
17 size_t size;
18 int ret = -1;
19
20 /* if format is a null pointer, _vscprintf() returns -1 and sets errno to EINVAL */
21 if (!format) {
22 _set_errno(EINVAL);
23 return -1;
24 }
25
26 /* size for _vsnprintf() must be non-zero and buffer must have place for terminating null character */
27 size = strlen(format) * 2 + 1;
28 buffer = malloc(size);
29
30 if (!buffer) {
31 _set_errno(ENOMEM);
32 return -1;
33 }
34
35 /* if the number of characters to write is greater than size, _vsnprintf() returns -1 */
36 while (size < SIZE_MAX/2 && (ret = _vsnprintf(buffer, size, format, arglist)) < 0) {
37 /* in this case try with larger buffer */
38 size *= 2;
39 new_buffer = realloc(buffer, size);
40 if (!new_buffer)
41 break;
42 buffer = new_buffer;
43 }
44
45 free(buffer);
46
47 if (ret < 0) {
48 _set_errno(ENOMEM);
49 return -1;
50 }
51
52 return ret;
53}
54
55#ifndef __LIBMSVCRT_OS__
56
57int (__cdecl *__MINGW_IMP_SYMBOL(_vscprintf))(const char * __restrict__, va_list) = emu_vscprintf;
58
59#else
60
61#include <msvcrt.h>
62
63static int __cdecl init_vscprintf(const char * __restrict__ format, va_list arglist);
64
65int (__cdecl *__MINGW_IMP_SYMBOL(_vscprintf))(const char * __restrict__, va_list) = init_vscprintf;
66
67static int __cdecl init_vscprintf(const char * __restrict__ format, va_list arglist)
68{
69 HMODULE msvcrt = __mingw_get_msvcrt_handle();
70 int (__cdecl *func)(const char * __restrict__, va_list) = NULL;
71
72 if (msvcrt)
73 func = (int (__cdecl *)(const char * __restrict__, va_list))GetProcAddress(msvcrt, "_vscprintf");
74
75 if (!func)
76 func = emu_vscprintf;
77
78 return (__MINGW_IMP_SYMBOL(_vscprintf) = func)(format, arglist);
79}
80
81#endif
82
83int __cdecl _vscprintf(const char * __restrict__ format, va_list arglist)
84{
85 return __MINGW_IMP_SYMBOL(_vscprintf)(format, arglist);
86}
lib/libc/mingw/stdio/acrt_iob_func.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
7#include <stdio.h>
8
9FILE *__cdecl __acrt_iob_func(unsigned index)
10{
11 return &(__iob_func()[index]);
12}
13
14typedef FILE *__cdecl (*_f__acrt_iob_func)(unsigned index);
15_f__acrt_iob_func __MINGW_IMP_SYMBOL(__acrt_iob_func) = __acrt_iob_func;
lib/libc/mingw/stdio/atoll.c deleted-13
...@@ -1,13 +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 __CRT__NO_INLINE
7#include <stdlib.h>
8
9long long __cdecl atoll(const char * nptr) { return strtoll(nptr, NULL, 10); }
10long long (__cdecl *__MINGW_IMP_SYMBOL(atoll))(const char *) = atoll;
11
12__int64 __attribute__((alias("atoll"))) __cdecl _atoi64(const char * nptr);
13__int64 (__cdecl *__MINGW_IMP_SYMBOL(_atoi64))(const char *) = _atoi64;
lib/libc/mingw/stdio/fseeki64.c deleted-50
...@@ -1,50 +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 <stdio.h>
7#include <io.h>
8#include <errno.h>
9
10#if !defined(__arm__) && !defined(__aarch64__) /* we have F_ARM_ANY(_fseeki64) in msvcrt.def.in */
11int __cdecl _fseeki64(FILE* stream, __int64 offset, int whence)
12{
13 fpos_t pos;
14 if (whence == SEEK_CUR)
15 {
16 /* If stream is invalid, fgetpos sets errno. */
17 if (fgetpos (stream, &pos))
18 return (-1);
19 pos += (fpos_t) offset;
20 }
21 else if (whence == SEEK_END)
22 {
23 /* If writing, we need to flush before getting file length. */
24 fflush (stream);
25 pos = (fpos_t) (_filelengthi64 (_fileno (stream)) + offset);
26 }
27 else if (whence == SEEK_SET)
28 pos = (fpos_t) offset;
29 else
30 {
31 errno = EINVAL;
32 return (-1);
33 }
34 return fsetpos (stream, &pos);
35}
36
37int __cdecl (*__MINGW_IMP_SYMBOL(_fseeki64))(FILE*, __int64, int) = _fseeki64;
38#endif /* !defined(__arm__) && !defined(__aarch64__) */
39
40__int64 __cdecl _ftelli64(FILE* stream)
41{
42 fpos_t pos;
43 if (fgetpos (stream, &pos))
44 return -1LL;
45 else
46 return (__int64) pos;
47}
48
49__int64 __cdecl (*__MINGW_IMP_SYMBOL(_ftelli64))(FILE*) = _ftelli64;
50
lib/libc/mingw/stdio/mingw_dummy__lock.c 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
7#include <internal.h>
8
9void __cdecl _lock(int locknum);
10void __cdecl _unlock(int locknum);
11void __cdecl _lock(__UNUSED_PARAM(int locknum)) { }
12void __cdecl _unlock(__UNUSED_PARAM(int locknum)) { }
lib/libc/mingw/stdio/mingw_lock.c deleted-102
...@@ -1,102 +0,0 @@
1#define _CRTIMP
2#include <stdio.h>
3#include <synchapi.h>
4#include "internal.h"
5
6/***
7 * Copy of MS functions _lock_file, _unlock_file which are missing from
8 * msvcrt.dll and msvcr80.dll. They are needed to atomic/lock stdio
9 * functions (printf, fprintf, vprintf, vfprintf). We need exactly the same
10 * lock that MS uses in msvcrt.dll because we can mix mingw-w64 code with
11 * original MS functions (puts, fputs for example).
12***/
13
14
15_CRTIMP void __cdecl _lock(int locknum);
16_CRTIMP void __cdecl _unlock(int locknum);
17#define _STREAM_LOCKS 16
18#define _IOLOCKED 0x8000
19
20
21/***
22* _lock_file - Lock a FILE
23*
24*Purpose:
25* Assert the lock for a stdio-level file
26*
27*Entry:
28* pf = __piob[] entry (pointer to a FILE or _FILEX)
29*
30*Exit:
31*
32*Exceptions:
33*
34*******************************************************************************/
35
36void __cdecl _lock_file( FILE *pf )
37{
38 /*
39 * The way the FILE (pointed to by pf) is locked depends on whether
40 * it is part of _iob[] or not
41 */
42 if ( (pf >= __acrt_iob_func(0)) && (pf <= __acrt_iob_func(_IOB_ENTRIES-1)) )
43 {
44 /*
45 * FILE lies in _iob[] so the lock lies in _locktable[].
46 */
47 _lock( _STREAM_LOCKS + (int)(pf - __acrt_iob_func(0)) );
48 /* We set _IOLOCKED to indicate we locked the stream */
49 pf->_flag |= _IOLOCKED;
50 }
51 else
52 /*
53 * Not part of _iob[]. Therefore, *pf is a _FILEX and the
54 * lock field of the struct is an initialized critical
55 * section.
56 */
57 EnterCriticalSection( &(((_FILEX *)pf)->lock) );
58}
59
60void *__MINGW_IMP_SYMBOL(_lock_file) = _lock_file;
61
62
63/***
64* _unlock_file - Unlock a FILE
65*
66*Purpose:
67* Release the lock for a stdio-level file
68*
69*Entry:
70* pf = __piob[] entry (pointer to a FILE or _FILEX)
71*
72*Exit:
73*
74*Exceptions:
75*
76*******************************************************************************/
77
78void __cdecl _unlock_file( FILE *pf )
79{
80 /*
81 * The way the FILE (pointed to by pf) is unlocked depends on whether
82 * it is part of _iob[] or not
83 */
84 if ( (pf >= __acrt_iob_func(0)) && (pf <= __acrt_iob_func(_IOB_ENTRIES-1)) )
85 {
86 /*
87 * FILE lies in _iob[] so the lock lies in _locktable[].
88 * We reset _IOLOCKED to indicate we unlock the stream.
89 */
90 pf->_flag &= ~_IOLOCKED;
91 _unlock( _STREAM_LOCKS + (int)(pf - __acrt_iob_func(0)) );
92 }
93 else
94 /*
95 * Not part of _iob[]. Therefore, *pf is a _FILEX and the
96 * lock field of the struct is an initialized critical
97 * section.
98 */
99 LeaveCriticalSection( &(((_FILEX *)pf)->lock) );
100}
101
102void *__MINGW_IMP_SYMBOL(_unlock_file) = _unlock_file;
lib/libc/mingw/stdio/scanf2-argcount-char.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
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 created+18
...@@ -0,0 +1,18 @@
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
9size_t FUNC(const TYPE *format);
10size_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 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
7#define FUNC __ms_wscanf_max_arg_count_internal
8#define TYPE wchar_t
9#include "scanf2-argcount-template.c"
lib/libc/mingw/stdio/snprintf_alias.c deleted-26
...@@ -1,26 +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 <stddef.h>
9
10/* Intentionally not including stdio.h, as it unconditionally defines the
11 * snprintf inline, and it can't be renamed with "#define snprintf othername"
12 * either, as stdio.h contains "#undef snprintf". */
13
14int __cdecl __ms_vsnprintf(char *buffer, size_t n, const char *format, va_list arg);
15
16int __cdecl snprintf(char *buffer, size_t n, const char *format, ...);
17int __cdecl snprintf(char *buffer, size_t n, const char *format, ...)
18{
19 int retval;
20 va_list argptr;
21
22 va_start(argptr, format);
23 retval = __ms_vsnprintf(buffer, n, format, argptr);
24 va_end(argptr);
25 return retval;
26}
lib/libc/mingw/stdio/strtof.c deleted-27
...@@ -1,27 +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 <stdlib.h>
7#include <float.h>
8#include <errno.h>
9#include <math.h>
10
11float strtof( const char *nptr, char **endptr)
12{
13 double ret = strtod(nptr, endptr);
14 if (isfinite(ret)) {
15 /* Check for cases that aren't out of range for doubles, but that are
16 * for floats. */
17 if (ret > FLT_MAX)
18 errno = ERANGE;
19 else if (ret < -FLT_MAX)
20 errno = ERANGE;
21 else if (ret > 0 && ret < FLT_MIN)
22 errno = ERANGE;
23 else if (ret < 0 && ret > -FLT_MIN)
24 errno = ERANGE;
25 }
26 return ret;
27}
lib/libc/mingw/stdio/vsnprintf_alias.c deleted-20
...@@ -1,20 +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 <stddef.h>
9
10/* Intentionally not including stdio.h, as it unconditionally defines the
11 * vsnprintf inline, and it can't be renamed with "#define vsnprintf othername"
12 * either, as stdio.h contains "#undef vsnprintf". */
13
14int __cdecl __ms_vsnprintf(char *buffer, size_t n, const char *format, va_list arg);
15
16int __cdecl vsnprintf(char *buffer, size_t n, const char *format, va_list arg);
17int __cdecl vsnprintf(char *buffer, size_t n, const char *format, va_list arg)
18{
19 return __ms_vsnprintf(buffer, n, format, arg);
20}
lib/std/Target.zig+40-2
...@@ -2636,14 +2636,52 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool {...@@ -2636,14 +2636,52 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool {
2636 if (target.isMinGW()) {2636 if (target.isMinGW()) {
2637 if (eqlIgnoreCase(ignore_case, name, "m"))2637 if (eqlIgnoreCase(ignore_case, name, "m"))
2638 return true;2638 return true;
2639 if (eqlIgnoreCase(ignore_case, name, "uuid"))
2640 return true;
2641 if (eqlIgnoreCase(ignore_case, name, "mingw32"))2639 if (eqlIgnoreCase(ignore_case, name, "mingw32"))
2642 return true;2640 return true;
2643 if (eqlIgnoreCase(ignore_case, name, "msvcrt-os"))2641 if (eqlIgnoreCase(ignore_case, name, "msvcrt-os"))
2644 return true;2642 return true;
2645 if (eqlIgnoreCase(ignore_case, name, "mingwex"))2643 if (eqlIgnoreCase(ignore_case, name, "mingwex"))
2646 return true;2644 return true;
2645 if (eqlIgnoreCase(ignore_case, name, "uuid"))
2646 return true;
2647 if (eqlIgnoreCase(ignore_case, name, "bits"))
2648 return true;
2649 if (eqlIgnoreCase(ignore_case, name, "dmoguids"))
2650 return true;
2651 if (eqlIgnoreCase(ignore_case, name, "dxerr8"))
2652 return true;
2653 if (eqlIgnoreCase(ignore_case, name, "dxerr9"))
2654 return true;
2655 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2656 return true;
2657 if (eqlIgnoreCase(ignore_case, name, "msxml2"))
2658 return true;
2659 if (eqlIgnoreCase(ignore_case, name, "msxml6"))
2660 return true;
2661 if (eqlIgnoreCase(ignore_case, name, "amstrmid"))
2662 return true;
2663 if (eqlIgnoreCase(ignore_case, name, "wbemuuid"))
2664 return true;
2665 if (eqlIgnoreCase(ignore_case, name, "wmcodecdspuuid"))
2666 return true;
2667 if (eqlIgnoreCase(ignore_case, name, "dxguid"))
2668 return true;
2669 if (eqlIgnoreCase(ignore_case, name, "ksguid"))
2670 return true;
2671 if (eqlIgnoreCase(ignore_case, name, "locationapi"))
2672 return true;
2673 if (eqlIgnoreCase(ignore_case, name, "portabledeviceguids"))
2674 return true;
2675 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2676 return true;
2677 if (eqlIgnoreCase(ignore_case, name, "dloadhelper"))
2678 return true;
2679 if (eqlIgnoreCase(ignore_case, name, "strmiids"))
2680 return true;
2681 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2682 return true;
2683 if (eqlIgnoreCase(ignore_case, name, "adsiid"))
2684 return true;
26472685
2648 return false;2686 return false;
2649 }2687 }
src/Compilation.zig+2-10
...@@ -758,10 +758,7 @@ pub const MiscTask = enum {...@@ -758,10 +758,7 @@ pub const MiscTask = enum {
758758
759 @"mingw-w64 crt2.o",759 @"mingw-w64 crt2.o",
760 @"mingw-w64 dllcrt2.o",760 @"mingw-w64 dllcrt2.o",
761 @"mingw-w64 mingw32.lib",
762 @"mingw-w64 msvcrt-os.lib",
763 @"mingw-w64 mingwex.lib",761 @"mingw-w64 mingwex.lib",
764 @"mingw-w64 uuid.lib",
765};762};
766763
767pub const MiscError = struct {764pub const MiscError = struct {
...@@ -1818,14 +1815,9 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil...@@ -1818,14 +1815,9 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil
1818 if (comp.wantBuildMinGWFromSource()) {1815 if (comp.wantBuildMinGWFromSource()) {
1819 if (!target_util.canBuildLibC(target)) return error.LibCUnavailable;1816 if (!target_util.canBuildLibC(target)) return error.LibCUnavailable;
18201817
1821 const static_lib_jobs = [_]Job{
1822 .{ .mingw_crt_file = .mingw32_lib },
1823 .{ .mingw_crt_file = .mingwex_lib },
1824 .{ .mingw_crt_file = .uuid_lib },
1825 };
1826 const crt_job: Job = .{ .mingw_crt_file = if (is_dyn_lib) .dllcrt2_o else .crt2_o };1818 const crt_job: Job = .{ .mingw_crt_file = if (is_dyn_lib) .dllcrt2_o else .crt2_o };
1827 try comp.work_queue.ensureUnusedCapacity(static_lib_jobs.len + 1);1819 try comp.work_queue.ensureUnusedCapacity(2);
1828 comp.work_queue.writeAssumeCapacity(&static_lib_jobs);1820 comp.work_queue.writeItemAssumeCapacity(.{ .mingw_crt_file = .mingwex_lib });
1829 comp.work_queue.writeItemAssumeCapacity(crt_job);1821 comp.work_queue.writeItemAssumeCapacity(crt_job);
18301822
1831 // When linking mingw-w64 there are some import libs we always need.1823 // When linking mingw-w64 there are some import libs we always need.
src/link/Coff/lld.zig-9
...@@ -408,16 +408,7 @@ pub fn linkWithLLD(self: *Coff, arena: Allocator, prog_node: *std.Progress.Node)...@@ -408,16 +408,7 @@ pub fn linkWithLLD(self: *Coff, arena: Allocator, prog_node: *std.Progress.Node)
408 try argv.append(try comp.get_libc_crt_file(arena, "crt2.obj"));408 try argv.append(try comp.get_libc_crt_file(arena, "crt2.obj"));
409 }409 }
410410
411 try argv.append(try comp.get_libc_crt_file(arena, "mingw32.lib"));
412 try argv.append(try comp.get_libc_crt_file(arena, "mingwex.lib"));411 try argv.append(try comp.get_libc_crt_file(arena, "mingwex.lib"));
413 try argv.append(try comp.get_libc_crt_file(arena, "uuid.lib"));
414
415 for (mingw.always_link_libs) |name| {
416 if (!comp.system_libs.contains(name)) {
417 const lib_basename = try allocPrint(arena, "{s}.lib", .{name});
418 try argv.append(try comp.get_libc_crt_file(arena, lib_basename));
419 }
420 }
421 } else {412 } else {
422 const lib_str = switch (comp.config.link_mode) {413 const lib_str = switch (comp.config.link_mode) {
423 .Dynamic => "",414 .Dynamic => "",
src/mingw.zig+246-380
...@@ -13,9 +13,7 @@ const Cache = std.Build.Cache;...@@ -13,9 +13,7 @@ const Cache = std.Build.Cache;
13pub const CRTFile = enum {13pub const CRTFile = enum {
14 crt2_o,14 crt2_o,
15 dllcrt2_o,15 dllcrt2_o,
16 mingw32_lib,
17 mingwex_lib,16 mingwex_lib,
18 uuid_lib,
19};17};
2018
21pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progress.Node) !void {19pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progress.Node) !void {
...@@ -31,8 +29,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -31,8 +29,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
31 var args = std.ArrayList([]const u8).init(arena);29 var args = std.ArrayList([]const u8).init(arena);
32 try add_cc_args(comp, arena, &args);30 try add_cc_args(comp, arena, &args);
33 try args.appendSlice(&[_][]const u8{31 try args.appendSlice(&[_][]const u8{
34 "-D_SYSCRT=1",
35 "-DCRTDLL=1",
36 // Prevents warning: 'used' attribute ignored on a non-definition declaration32 // Prevents warning: 'used' attribute ignored on a non-definition declaration
37 // pointing at extern _CRTALLOC33 // pointing at extern _CRTALLOC
38 "-Wno-ignored-attributes",34 "-Wno-ignored-attributes",
...@@ -55,10 +51,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -55,10 +51,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
55 .dllcrt2_o => {51 .dllcrt2_o => {
56 var args = std.ArrayList([]const u8).init(arena);52 var args = std.ArrayList([]const u8).init(arena);
57 try add_cc_args(comp, arena, &args);53 try add_cc_args(comp, arena, &args);
58 try args.appendSlice(&[_][]const u8{
59 "-D_SYSCRT=1",
60 "-DCRTDLL=1",
61 });
62 var files = [_]Compilation.CSourceFile{54 var files = [_]Compilation.CSourceFile{
63 .{55 .{
64 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{56 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
...@@ -71,144 +63,67 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -71,144 +63,67 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
71 return comp.build_crt_file("dllcrt2", .Obj, .@"mingw-w64 dllcrt2.o", prog_node, &files);63 return comp.build_crt_file("dllcrt2", .Obj, .@"mingw-w64 dllcrt2.o", prog_node, &files);
72 },64 },
7365
74 .mingw32_lib => {
75 var c_source_files: [mingw32_lib_deps.len]Compilation.CSourceFile = undefined;
76 for (mingw32_lib_deps, 0..) |dep, i| {
77 var args = std.ArrayList([]const u8).init(arena);
78 try args.appendSlice(&[_][]const u8{
79 "-DHAVE_CONFIG_H",
80 "-D_SYSCRT=1",
81 "-DCRTDLL=1",
82
83 "-isystem",
84 try comp.zig_lib_directory.join(arena, &[_][]const u8{
85 "libc", "include", "any-windows-any",
86 }),
87
88 "-isystem",
89 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
90
91 "-std=gnu99",
92 "-D_CRTBLD",
93 // According to Martin Storsjö,
94 // > the files under mingw-w64-crt are designed to always
95 // be built with __MSVCRT_VERSION__=0x700
96 "-D__MSVCRT_VERSION__=0x700",
97 "-D__USE_MINGW_ANSI_STDIO=0",
98 });
99 c_source_files[i] = .{
100 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
101 "libc", "mingw", "crt", dep,
102 }),
103 .extra_flags = args.items,
104 .owner = undefined,
105 };
106 }
107 return comp.build_crt_file("mingw32", .Lib, .@"mingw-w64 mingw32.lib", prog_node, &c_source_files);
108 },
109
110 .mingwex_lib => {66 .mingwex_lib => {
111 const extra_flags = try arena.dupe([]const u8, &[_][]const u8{67 var args = std.ArrayList([]const u8).init(arena);
112 "-DHAVE_CONFIG_H",68 try add_cc_args(comp, arena, &args);
113
114 "-I",
115 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw" }),
116
117 "-I",
118 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
119
120 "-std=gnu99",
121 "-D_CRTBLD",
122 // According to Martin Storsjö,
123 // > the files under mingw-w64-crt are designed to always
124 // be built with __MSVCRT_VERSION__=0x700
125 "-D__MSVCRT_VERSION__=0x700",
126 "-D__USE_MINGW_ANSI_STDIO=0",
127 "-isystem",
128 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "include", "any-windows-any" }),
129 });
130 var c_source_files = std.ArrayList(Compilation.CSourceFile).init(arena);69 var c_source_files = std.ArrayList(Compilation.CSourceFile).init(arena);
13170
132 for (mingwex_generic_src) |dep| {71 for (mingwex_generic_src) |dep| {
133 (try c_source_files.addOne()).* = .{72 try c_source_files.append(.{
134 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{73 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
135 "libc", "mingw", dep,74 "libc", "mingw", dep,
136 }),75 }),
137 .extra_flags = extra_flags,76 .extra_flags = args.items,
138 .owner = undefined,77 .owner = undefined,
139 };78 });
140 }79 }
141 const target = comp.getTarget();80 const target = comp.getTarget();
142 if (target.cpu.arch == .x86 or target.cpu.arch == .x86_64) {81 if (target.cpu.arch == .x86 or target.cpu.arch == .x86_64) {
143 for (mingwex_x86_src) |dep| {82 for (mingwex_x86_src) |dep| {
144 (try c_source_files.addOne()).* = .{83 try c_source_files.append(.{
145 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{84 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
146 "libc", "mingw", dep,85 "libc", "mingw", dep,
147 }),86 }),
148 .extra_flags = extra_flags,87 .extra_flags = args.items,
149 .owner = undefined,88 .owner = undefined,
150 };89 });
90 }
91 if (target.cpu.arch == .x86) {
92 for (mingwex_x86_32_src) |dep| {
93 try c_source_files.append(.{
94 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
95 "libc", "mingw", dep,
96 }),
97 .extra_flags = args.items,
98 .owner = undefined,
99 });
100 }
151 }101 }
152 } else if (target.cpu.arch.isARM()) {102 } else if (target.cpu.arch.isARM()) {
153 for (mingwex_arm32_src) |dep| {103 for (mingwex_arm32_src) |dep| {
154 (try c_source_files.addOne()).* = .{104 try c_source_files.append(.{
155 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{105 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
156 "libc", "mingw", dep,106 "libc", "mingw", dep,
157 }),107 }),
158 .extra_flags = extra_flags,108 .extra_flags = args.items,
159 .owner = undefined,109 .owner = undefined,
160 };110 });
161 }111 }
162 } else if (target.cpu.arch.isAARCH64()) {112 } else if (target.cpu.arch.isAARCH64()) {
163 for (mingwex_arm64_src) |dep| {113 for (mingwex_arm64_src) |dep| {
164 (try c_source_files.addOne()).* = .{114 try c_source_files.append(.{
165 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{115 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
166 "libc", "mingw", dep,116 "libc", "mingw", dep,
167 }),117 }),
168 .extra_flags = extra_flags,118 .extra_flags = args.items,
169 .owner = undefined,119 .owner = undefined,
170 };120 });
171 }121 }
172 } else {122 } else {
173 @panic("unsupported arch");123 @panic("unsupported arch");
174 }124 }
175 return comp.build_crt_file("mingwex", .Lib, .@"mingw-w64 mingwex.lib", prog_node, c_source_files.items);125 return comp.build_crt_file("mingwex", .Lib, .@"mingw-w64 mingwex.lib", prog_node, c_source_files.items);
176 },126 },
177
178 .uuid_lib => {
179 const extra_flags = try arena.dupe([]const u8, &[_][]const u8{
180 "-DHAVE_CONFIG_H",
181
182 "-I",
183 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw" }),
184
185 "-I",
186 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
187
188 "-std=gnu99",
189 "-D_CRTBLD",
190 // According to Martin Storsjö,
191 // > the files under mingw-w64-crt are designed to always
192 // be built with __MSVCRT_VERSION__=0x700
193 "-D__MSVCRT_VERSION__=0x700",
194 "-D__USE_MINGW_ANSI_STDIO=0",
195 "-isystem",
196 try comp.zig_lib_directory.join(arena, &[_][]const u8{
197 "libc", "include", "any-windows-any",
198 }),
199 });
200 var c_source_files: [uuid_src.len]Compilation.CSourceFile = undefined;
201 for (uuid_src, 0..) |dep, i| {
202 c_source_files[i] = .{
203 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
204 "libc", "mingw", "libsrc", dep,
205 }),
206 .extra_flags = extra_flags,
207 .owner = undefined,
208 };
209 }
210 return comp.build_crt_file("uuid", .Lib, .@"mingw-w64 uuid.lib", prog_node, &c_source_files);
211 },
212 }127 }
213}128}
214129
...@@ -235,6 +150,8 @@ fn add_cc_args(...@@ -235,6 +150,8 @@ fn add_cc_args(
235 try args.appendSlice(&[_][]const u8{150 try args.appendSlice(&[_][]const u8{
236 "-std=gnu11",151 "-std=gnu11",
237 "-D_CRTBLD",152 "-D_CRTBLD",
153 "-D_SYSCRT=1",
154 "-DCRTDLL=1",
238 // According to Martin Storsjö,155 // According to Martin Storsjö,
239 // > the files under mingw-w64-crt are designed to always156 // > the files under mingw-w64-crt are designed to always
240 // be built with __MSVCRT_VERSION__=0x700157 // be built with __MSVCRT_VERSION__=0x700
...@@ -469,38 +386,38 @@ fn findDef(...@@ -469,38 +386,38 @@ fn findDef(
469 return error.FileNotFound;386 return error.FileNotFound;
470}387}
471388
472const mingw32_lib_deps = [_][]const u8{
473 "dll_argv.c",
474 "gccmain.c",
475 "natstart.c",
476 "pseudo-reloc-list.c",
477 "wildcard.c",
478 "charmax.c",
479 "dllargv.c",
480 "_newmode.c",
481 "tlssup.c",
482 "xncommod.c",
483 "cinitexe.c",
484 "merr.c",
485 "usermatherr.c",
486 "pesect.c",
487 "udllargc.c",
488 "xthdloc.c",
489 "CRT_fp10.c",
490 "mingw_helpers.c",
491 "pseudo-reloc.c",
492 "udll_argv.c",
493 "xtxtmode.c",
494 "crt_handler.c",
495 "tlsthrd.c",
496 "tlsmthread.c",
497 "tlsmcrt.c",
498 "cxa_atexit.c",
499 "cxa_thread_atexit.c",
500 "tls_atexit.c",
501};
502
503const mingwex_generic_src = [_][]const u8{389const mingwex_generic_src = [_][]const u8{
390 // mingw32
391 "crt" ++ path.sep_str ++ "dll_argv.c",
392 "crt" ++ path.sep_str ++ "gccmain.c",
393 "crt" ++ path.sep_str ++ "natstart.c",
394 "crt" ++ path.sep_str ++ "pseudo-reloc-list.c",
395 "crt" ++ path.sep_str ++ "wildcard.c",
396 "crt" ++ path.sep_str ++ "charmax.c",
397 "crt" ++ path.sep_str ++ "dllargv.c",
398 "crt" ++ path.sep_str ++ "_newmode.c",
399 "crt" ++ path.sep_str ++ "tlssup.c",
400 "crt" ++ path.sep_str ++ "xncommod.c",
401 "crt" ++ path.sep_str ++ "cinitexe.c",
402 "crt" ++ path.sep_str ++ "merr.c",
403 "crt" ++ path.sep_str ++ "usermatherr.c",
404 "crt" ++ path.sep_str ++ "pesect.c",
405 "crt" ++ path.sep_str ++ "udllargc.c",
406 "crt" ++ path.sep_str ++ "xthdloc.c",
407 "crt" ++ path.sep_str ++ "CRT_fp10.c",
408 "crt" ++ path.sep_str ++ "mingw_helpers.c",
409 "crt" ++ path.sep_str ++ "pseudo-reloc.c",
410 "crt" ++ path.sep_str ++ "udll_argv.c",
411 "crt" ++ path.sep_str ++ "xtxtmode.c",
412 "crt" ++ path.sep_str ++ "crt_handler.c",
413 "crt" ++ path.sep_str ++ "tlsthrd.c",
414 "crt" ++ path.sep_str ++ "tlsmthread.c",
415 "crt" ++ path.sep_str ++ "tlsmcrt.c",
416 "crt" ++ path.sep_str ++ "cxa_atexit.c",
417 "crt" ++ path.sep_str ++ "cxa_thread_atexit.c",
418 "crt" ++ path.sep_str ++ "tls_atexit.c",
419 // mingwex
420 "cfguard" ++ path.sep_str ++ "mingw_cfguard_support.c",
504 "complex" ++ path.sep_str ++ "_cabs.c",421 "complex" ++ path.sep_str ++ "_cabs.c",
505 "complex" ++ path.sep_str ++ "cabs.c",422 "complex" ++ path.sep_str ++ "cabs.c",
506 "complex" ++ path.sep_str ++ "cabsf.c",423 "complex" ++ path.sep_str ++ "cabsf.c",
...@@ -555,7 +472,6 @@ const mingwex_generic_src = [_][]const u8{...@@ -555,7 +472,6 @@ const mingwex_generic_src = [_][]const u8{
555 "complex" ++ path.sep_str ++ "ctanl.c",472 "complex" ++ path.sep_str ++ "ctanl.c",
556 "crt" ++ path.sep_str ++ "dllentry.c",473 "crt" ++ path.sep_str ++ "dllentry.c",
557 "crt" ++ path.sep_str ++ "dllmain.c",474 "crt" ++ path.sep_str ++ "dllmain.c",
558 "crt" ++ path.sep_str ++ "ucrtbase_compat.c",
559 "gdtoa" ++ path.sep_str ++ "arithchk.c",475 "gdtoa" ++ path.sep_str ++ "arithchk.c",
560 "gdtoa" ++ path.sep_str ++ "dmisc.c",476 "gdtoa" ++ path.sep_str ++ "dmisc.c",
561 "gdtoa" ++ path.sep_str ++ "dtoa.c",477 "gdtoa" ++ path.sep_str ++ "dtoa.c",
...@@ -577,40 +493,16 @@ const mingwex_generic_src = [_][]const u8{...@@ -577,40 +493,16 @@ const mingwex_generic_src = [_][]const u8{
577 "gdtoa" ++ path.sep_str ++ "strtopx.c",493 "gdtoa" ++ path.sep_str ++ "strtopx.c",
578 "gdtoa" ++ path.sep_str ++ "sum.c",494 "gdtoa" ++ path.sep_str ++ "sum.c",
579 "gdtoa" ++ path.sep_str ++ "ulp.c",495 "gdtoa" ++ path.sep_str ++ "ulp.c",
580 "math" ++ path.sep_str ++ "cbrt.c",
581 "math" ++ path.sep_str ++ "cbrtf.c",
582 "math" ++ path.sep_str ++ "cbrtl.c",
583 "math" ++ path.sep_str ++ "copysign.c",
584 "math" ++ path.sep_str ++ "copysignf.c",
585 "math" ++ path.sep_str ++ "coshf.c",
586 "math" ++ path.sep_str ++ "coshl.c",496 "math" ++ path.sep_str ++ "coshl.c",
587 "math" ++ path.sep_str ++ "erfl.c",
588 "math" ++ path.sep_str ++ "expf.c",
589 "math" ++ path.sep_str ++ "fabs.c",
590 "math" ++ path.sep_str ++ "fabsf.c",
591 "math" ++ path.sep_str ++ "fabsl.c",497 "math" ++ path.sep_str ++ "fabsl.c",
592 "math" ++ path.sep_str ++ "fdim.c",
593 "math" ++ path.sep_str ++ "fdimf.c",
594 "math" ++ path.sep_str ++ "fdiml.c",
595 "math" ++ path.sep_str ++ "fma.c",
596 "math" ++ path.sep_str ++ "fmaf.c",
597 "math" ++ path.sep_str ++ "fmal.c",
598 "math" ++ path.sep_str ++ "fmax.c",
599 "math" ++ path.sep_str ++ "fmaxf.c",
600 "math" ++ path.sep_str ++ "fmaxl.c",
601 "math" ++ path.sep_str ++ "fmin.c",
602 "math" ++ path.sep_str ++ "fminf.c",
603 "math" ++ path.sep_str ++ "fminl.c",
604 "math" ++ path.sep_str ++ "fp_consts.c",498 "math" ++ path.sep_str ++ "fp_consts.c",
605 "math" ++ path.sep_str ++ "fp_constsf.c",499 "math" ++ path.sep_str ++ "fp_constsf.c",
606 "math" ++ path.sep_str ++ "fp_constsl.c",500 "math" ++ path.sep_str ++ "fp_constsl.c",
607 "math" ++ path.sep_str ++ "fpclassify.c",501 "math" ++ path.sep_str ++ "fpclassify.c",
608 "math" ++ path.sep_str ++ "fpclassifyf.c",502 "math" ++ path.sep_str ++ "fpclassifyf.c",
609 "math" ++ path.sep_str ++ "fpclassifyl.c",503 "math" ++ path.sep_str ++ "fpclassifyl.c",
610 "math" ++ path.sep_str ++ "frexp.c",
611 "math" ++ path.sep_str ++ "frexpf.c",504 "math" ++ path.sep_str ++ "frexpf.c",
612 "math" ++ path.sep_str ++ "frexpl.c",505 "math" ++ path.sep_str ++ "frexpl.c",
613 "math" ++ path.sep_str ++ "hypot.c",
614 "math" ++ path.sep_str ++ "hypotf.c",506 "math" ++ path.sep_str ++ "hypotf.c",
615 "math" ++ path.sep_str ++ "hypotl.c",507 "math" ++ path.sep_str ++ "hypotl.c",
616 "math" ++ path.sep_str ++ "isnan.c",508 "math" ++ path.sep_str ++ "isnan.c",
...@@ -620,51 +512,19 @@ const mingwex_generic_src = [_][]const u8{...@@ -620,51 +512,19 @@ const mingwex_generic_src = [_][]const u8{
620 "math" ++ path.sep_str ++ "lgamma.c",512 "math" ++ path.sep_str ++ "lgamma.c",
621 "math" ++ path.sep_str ++ "lgammaf.c",513 "math" ++ path.sep_str ++ "lgammaf.c",
622 "math" ++ path.sep_str ++ "lgammal.c",514 "math" ++ path.sep_str ++ "lgammal.c",
623 "math" ++ path.sep_str ++ "llrint.c",
624 "math" ++ path.sep_str ++ "llrintf.c",
625 "math" ++ path.sep_str ++ "llrintl.c",
626 "math" ++ path.sep_str ++ "llround.c",
627 "math" ++ path.sep_str ++ "llroundf.c",
628 "math" ++ path.sep_str ++ "llroundl.c",
629 "math" ++ path.sep_str ++ "log10f.c",
630 "math" ++ path.sep_str ++ "logf.c",
631 "math" ++ path.sep_str ++ "lrint.c",
632 "math" ++ path.sep_str ++ "lrintf.c",
633 "math" ++ path.sep_str ++ "lrintl.c",
634 "math" ++ path.sep_str ++ "lround.c",
635 "math" ++ path.sep_str ++ "lroundf.c",
636 "math" ++ path.sep_str ++ "lroundl.c",
637 "math" ++ path.sep_str ++ "modf.c",
638 "math" ++ path.sep_str ++ "modff.c",
639 "math" ++ path.sep_str ++ "modfl.c",515 "math" ++ path.sep_str ++ "modfl.c",
640 "math" ++ path.sep_str ++ "nextafterf.c",
641 "math" ++ path.sep_str ++ "nextafterl.c",516 "math" ++ path.sep_str ++ "nextafterl.c",
642 "math" ++ path.sep_str ++ "nexttoward.c",517 "math" ++ path.sep_str ++ "nexttoward.c",
643 "math" ++ path.sep_str ++ "nexttowardf.c",
644 "math" ++ path.sep_str ++ "powf.c",
645 "math" ++ path.sep_str ++ "powi.c",518 "math" ++ path.sep_str ++ "powi.c",
646 "math" ++ path.sep_str ++ "powif.c",519 "math" ++ path.sep_str ++ "powif.c",
647 "math" ++ path.sep_str ++ "powil.c",520 "math" ++ path.sep_str ++ "powil.c",
648 "math" ++ path.sep_str ++ "round.c",
649 "math" ++ path.sep_str ++ "roundf.c",
650 "math" ++ path.sep_str ++ "roundl.c",
651 "math" ++ path.sep_str ++ "s_erf.c",
652 "math" ++ path.sep_str ++ "sf_erf.c",
653 "math" ++ path.sep_str ++ "signbit.c",521 "math" ++ path.sep_str ++ "signbit.c",
654 "math" ++ path.sep_str ++ "signbitf.c",522 "math" ++ path.sep_str ++ "signbitf.c",
655 "math" ++ path.sep_str ++ "signbitl.c",523 "math" ++ path.sep_str ++ "signbitl.c",
656 "math" ++ path.sep_str ++ "signgam.c",524 "math" ++ path.sep_str ++ "signgam.c",
657 "math" ++ path.sep_str ++ "sinhf.c",
658 "math" ++ path.sep_str ++ "sinhl.c",525 "math" ++ path.sep_str ++ "sinhl.c",
659 "math" ++ path.sep_str ++ "sqrt.c",
660 "math" ++ path.sep_str ++ "sqrtf.c",
661 "math" ++ path.sep_str ++ "sqrtl.c",526 "math" ++ path.sep_str ++ "sqrtl.c",
662 "math" ++ path.sep_str ++ "tanhf.c",
663 "math" ++ path.sep_str ++ "tanhl.c",527 "math" ++ path.sep_str ++ "tanhl.c",
664 "math" ++ path.sep_str ++ "tgamma.c",
665 "math" ++ path.sep_str ++ "tgammaf.c",
666 "math" ++ path.sep_str ++ "tgammal.c",
667 "math" ++ path.sep_str ++ "truncl.c",
668 "misc" ++ path.sep_str ++ "alarm.c",528 "misc" ++ path.sep_str ++ "alarm.c",
669 "misc" ++ path.sep_str ++ "btowc.c",529 "misc" ++ path.sep_str ++ "btowc.c",
670 "misc" ++ path.sep_str ++ "delay-f.c",530 "misc" ++ path.sep_str ++ "delay-f.c",
...@@ -690,16 +550,13 @@ const mingwex_generic_src = [_][]const u8{...@@ -690,16 +550,13 @@ const mingwex_generic_src = [_][]const u8{
690 "misc" ++ path.sep_str ++ "getlogin.c",550 "misc" ++ path.sep_str ++ "getlogin.c",
691 "misc" ++ path.sep_str ++ "getopt.c",551 "misc" ++ path.sep_str ++ "getopt.c",
692 "misc" ++ path.sep_str ++ "gettimeofday.c",552 "misc" ++ path.sep_str ++ "gettimeofday.c",
693 "misc" ++ path.sep_str ++ "imaxabs.c",
694 "misc" ++ path.sep_str ++ "imaxdiv.c",
695 "misc" ++ path.sep_str ++ "isblank.c",553 "misc" ++ path.sep_str ++ "isblank.c",
696 "misc" ++ path.sep_str ++ "iswblank.c",554 "misc" ++ path.sep_str ++ "iswblank.c",
697 "misc" ++ path.sep_str ++ "mbrtowc.c",
698 "misc" ++ path.sep_str ++ "mbsinit.c",
699 "misc" ++ path.sep_str ++ "mempcpy.c",555 "misc" ++ path.sep_str ++ "mempcpy.c",
700 "misc" ++ path.sep_str ++ "mingw-access.c",556 "misc" ++ path.sep_str ++ "mingw-access.c",
701 "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c",557 "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c",
702 "misc" ++ path.sep_str ++ "mingw_getsp.S",558 "misc" ++ path.sep_str ++ "mingw_getsp.S",
559 "misc" ++ path.sep_str ++ "mingw_longjmp.S",
703 "misc" ++ path.sep_str ++ "mingw_matherr.c",560 "misc" ++ path.sep_str ++ "mingw_matherr.c",
704 "misc" ++ path.sep_str ++ "mingw_mbwc_convert.c",561 "misc" ++ path.sep_str ++ "mingw_mbwc_convert.c",
705 "misc" ++ path.sep_str ++ "mingw_usleep.c",562 "misc" ++ path.sep_str ++ "mingw_usleep.c",
...@@ -707,18 +564,14 @@ const mingwex_generic_src = [_][]const u8{...@@ -707,18 +564,14 @@ const mingwex_generic_src = [_][]const u8{
707 "misc" ++ path.sep_str ++ "mingw_wcstof.c",564 "misc" ++ path.sep_str ++ "mingw_wcstof.c",
708 "misc" ++ path.sep_str ++ "mingw_wcstold.c",565 "misc" ++ path.sep_str ++ "mingw_wcstold.c",
709 "misc" ++ path.sep_str ++ "mkstemp.c",566 "misc" ++ path.sep_str ++ "mkstemp.c",
710 "misc" ++ path.sep_str ++ "seterrno.c",
711 "misc" ++ path.sep_str ++ "sleep.c",567 "misc" ++ path.sep_str ++ "sleep.c",
712 "misc" ++ path.sep_str ++ "strnlen.c",568 "misc" ++ path.sep_str ++ "strnlen.c",
713 "misc" ++ path.sep_str ++ "strsafe.c",569 "misc" ++ path.sep_str ++ "strsafe.c",
714 "misc" ++ path.sep_str ++ "strtoimax.c",
715 "misc" ++ path.sep_str ++ "strtoumax.c",
716 "misc" ++ path.sep_str ++ "tdelete.c",570 "misc" ++ path.sep_str ++ "tdelete.c",
571 "misc" ++ path.sep_str ++ "tdestroy.c",
717 "misc" ++ path.sep_str ++ "tfind.c",572 "misc" ++ path.sep_str ++ "tfind.c",
718 "misc" ++ path.sep_str ++ "tsearch.c",573 "misc" ++ path.sep_str ++ "tsearch.c",
719 "misc" ++ path.sep_str ++ "twalk.c",574 "misc" ++ path.sep_str ++ "twalk.c",
720 "misc" ++ path.sep_str ++ "ucrt-access.c",
721 "misc" ++ path.sep_str ++ "wcrtomb.c",
722 "misc" ++ path.sep_str ++ "wcsnlen.c",575 "misc" ++ path.sep_str ++ "wcsnlen.c",
723 "misc" ++ path.sep_str ++ "wcstof.c",576 "misc" ++ path.sep_str ++ "wcstof.c",
724 "misc" ++ path.sep_str ++ "wcstoimax.c",577 "misc" ++ path.sep_str ++ "wcstoimax.c",
...@@ -737,17 +590,12 @@ const mingwex_generic_src = [_][]const u8{...@@ -737,17 +590,12 @@ const mingwex_generic_src = [_][]const u8{
737 "misc" ++ path.sep_str ++ "wmemmove.c",590 "misc" ++ path.sep_str ++ "wmemmove.c",
738 "misc" ++ path.sep_str ++ "wmempcpy.c",591 "misc" ++ path.sep_str ++ "wmempcpy.c",
739 "misc" ++ path.sep_str ++ "wmemset.c",592 "misc" ++ path.sep_str ++ "wmemset.c",
740 "misc" ++ path.sep_str ++ "__initenv.c",
741 "stdio" ++ path.sep_str ++ "_Exit.c",593 "stdio" ++ path.sep_str ++ "_Exit.c",
742 "stdio" ++ path.sep_str ++ "_findfirst64i32.c",594 "stdio" ++ path.sep_str ++ "_findfirst64i32.c",
743 "stdio" ++ path.sep_str ++ "_findnext64i32.c",595 "stdio" ++ path.sep_str ++ "_findnext64i32.c",
744 "stdio" ++ path.sep_str ++ "_fstat.c",596 "stdio" ++ path.sep_str ++ "_fstat.c",
745 "stdio" ++ path.sep_str ++ "_fstat64i32.c",597 "stdio" ++ path.sep_str ++ "_fstat64i32.c",
746 "stdio" ++ path.sep_str ++ "_ftime.c",598 "stdio" ++ path.sep_str ++ "_ftime.c",
747 "stdio" ++ path.sep_str ++ "_getc_nolock.c",
748 "stdio" ++ path.sep_str ++ "_getwc_nolock.c",
749 "stdio" ++ path.sep_str ++ "_putc_nolock.c",
750 "stdio" ++ path.sep_str ++ "_putwc_nolock.c",
751 "stdio" ++ path.sep_str ++ "_stat.c",599 "stdio" ++ path.sep_str ++ "_stat.c",
752 "stdio" ++ path.sep_str ++ "_stat64i32.c",600 "stdio" ++ path.sep_str ++ "_stat64i32.c",
753 "stdio" ++ path.sep_str ++ "_wfindfirst64i32.c",601 "stdio" ++ path.sep_str ++ "_wfindfirst64i32.c",
...@@ -755,10 +603,8 @@ const mingwex_generic_src = [_][]const u8{...@@ -755,10 +603,8 @@ const mingwex_generic_src = [_][]const u8{
755 "stdio" ++ path.sep_str ++ "_wstat.c",603 "stdio" ++ path.sep_str ++ "_wstat.c",
756 "stdio" ++ path.sep_str ++ "_wstat64i32.c",604 "stdio" ++ path.sep_str ++ "_wstat64i32.c",
757 "stdio" ++ path.sep_str ++ "asprintf.c",605 "stdio" ++ path.sep_str ++ "asprintf.c",
758 "stdio" ++ path.sep_str ++ "atoll.c",
759 "stdio" ++ path.sep_str ++ "fgetpos64.c",606 "stdio" ++ path.sep_str ++ "fgetpos64.c",
760 "stdio" ++ path.sep_str ++ "fopen64.c",607 "stdio" ++ path.sep_str ++ "fopen64.c",
761 "stdio" ++ path.sep_str ++ "fseeki64.c",
762 "stdio" ++ path.sep_str ++ "fseeko32.c",608 "stdio" ++ path.sep_str ++ "fseeko32.c",
763 "stdio" ++ path.sep_str ++ "fseeko64.c",609 "stdio" ++ path.sep_str ++ "fseeko64.c",
764 "stdio" ++ path.sep_str ++ "fsetpos64.c",610 "stdio" ++ path.sep_str ++ "fsetpos64.c",
...@@ -769,12 +615,10 @@ const mingwex_generic_src = [_][]const u8{...@@ -769,12 +615,10 @@ const mingwex_generic_src = [_][]const u8{
769 "stdio" ++ path.sep_str ++ "lltow.c",615 "stdio" ++ path.sep_str ++ "lltow.c",
770 "stdio" ++ path.sep_str ++ "lseek64.c",616 "stdio" ++ path.sep_str ++ "lseek64.c",
771 "stdio" ++ path.sep_str ++ "mingw_asprintf.c",617 "stdio" ++ path.sep_str ++ "mingw_asprintf.c",
772 "stdio" ++ path.sep_str ++ "mingw_dummy__lock.c",
773 "stdio" ++ path.sep_str ++ "mingw_fprintf.c",618 "stdio" ++ path.sep_str ++ "mingw_fprintf.c",
774 "stdio" ++ path.sep_str ++ "mingw_fprintfw.c",619 "stdio" ++ path.sep_str ++ "mingw_fprintfw.c",
775 "stdio" ++ path.sep_str ++ "mingw_fscanf.c",620 "stdio" ++ path.sep_str ++ "mingw_fscanf.c",
776 "stdio" ++ path.sep_str ++ "mingw_fwscanf.c",621 "stdio" ++ path.sep_str ++ "mingw_fwscanf.c",
777 "stdio" ++ path.sep_str ++ "mingw_lock.c",
778 "stdio" ++ path.sep_str ++ "mingw_pformat.c",622 "stdio" ++ path.sep_str ++ "mingw_pformat.c",
779 "stdio" ++ path.sep_str ++ "mingw_pformatw.c",623 "stdio" ++ path.sep_str ++ "mingw_pformatw.c",
780 "stdio" ++ path.sep_str ++ "mingw_printf.c",624 "stdio" ++ path.sep_str ++ "mingw_printf.c",
...@@ -798,12 +642,36 @@ const mingwex_generic_src = [_][]const u8{...@@ -798,12 +642,36 @@ const mingwex_generic_src = [_][]const u8{
798 "stdio" ++ path.sep_str ++ "mingw_vsprintfw.c",642 "stdio" ++ path.sep_str ++ "mingw_vsprintfw.c",
799 "stdio" ++ path.sep_str ++ "mingw_wscanf.c",643 "stdio" ++ path.sep_str ++ "mingw_wscanf.c",
800 "stdio" ++ path.sep_str ++ "mingw_wvfscanf.c",644 "stdio" ++ path.sep_str ++ "mingw_wvfscanf.c",
645 "stdio" ++ path.sep_str ++ "scanf2-argcount-char.c",
646 "stdio" ++ path.sep_str ++ "scanf2-argcount-wchar.c",
801 "stdio" ++ path.sep_str ++ "scanf.S",647 "stdio" ++ path.sep_str ++ "scanf.S",
802 "stdio" ++ path.sep_str ++ "snprintf.c",648 "stdio" ++ path.sep_str ++ "snprintf.c",
803 "stdio" ++ path.sep_str ++ "snwprintf.c",649 "stdio" ++ path.sep_str ++ "snwprintf.c",
804 "stdio" ++ path.sep_str ++ "strtof.c",
805 "stdio" ++ path.sep_str ++ "strtok_r.c",650 "stdio" ++ path.sep_str ++ "strtok_r.c",
806 "stdio" ++ path.sep_str ++ "truncate.c",651 "stdio" ++ path.sep_str ++ "truncate.c",
652 "stdio" ++ path.sep_str ++ "ulltoa.c",
653 "stdio" ++ path.sep_str ++ "ulltow.c",
654 "stdio" ++ path.sep_str ++ "vasprintf.c",
655 "stdio" ++ path.sep_str ++ "vfscanf.c",
656 "stdio" ++ path.sep_str ++ "vfscanf2.S",
657 "stdio" ++ path.sep_str ++ "vfwscanf.c",
658 "stdio" ++ path.sep_str ++ "vfwscanf2.S",
659 "stdio" ++ path.sep_str ++ "vscanf.c",
660 "stdio" ++ path.sep_str ++ "vscanf2.S",
661 "stdio" ++ path.sep_str ++ "vsnprintf.c",
662 "stdio" ++ path.sep_str ++ "vsnwprintf.c",
663 "stdio" ++ path.sep_str ++ "vsscanf.c",
664 "stdio" ++ path.sep_str ++ "vsscanf2.S",
665 "stdio" ++ path.sep_str ++ "vswscanf.c",
666 "stdio" ++ path.sep_str ++ "vswscanf2.S",
667 "stdio" ++ path.sep_str ++ "vwscanf.c",
668 "stdio" ++ path.sep_str ++ "vwscanf2.S",
669 "stdio" ++ path.sep_str ++ "wtoll.c",
670 // ucrtbase
671 "crt" ++ path.sep_str ++ "ucrtbase_compat.c",
672 "math" ++ path.sep_str ++ "_huge.c",
673 "misc" ++ path.sep_str ++ "__initenv.c",
674 "misc" ++ path.sep_str ++ "ucrt-access.c",
807 "stdio" ++ path.sep_str ++ "ucrt__snwprintf.c",675 "stdio" ++ path.sep_str ++ "ucrt__snwprintf.c",
808 "stdio" ++ path.sep_str ++ "ucrt__vscprintf.c",676 "stdio" ++ path.sep_str ++ "ucrt__vscprintf.c",
809 "stdio" ++ path.sep_str ++ "ucrt__vsnprintf.c",677 "stdio" ++ path.sep_str ++ "ucrt__vsnprintf.c",
...@@ -823,226 +691,224 @@ const mingwex_generic_src = [_][]const u8{...@@ -823,226 +691,224 @@ const mingwex_generic_src = [_][]const u8{
823 "stdio" ++ path.sep_str ++ "ucrt_vsnprintf.c",691 "stdio" ++ path.sep_str ++ "ucrt_vsnprintf.c",
824 "stdio" ++ path.sep_str ++ "ucrt_vsprintf.c",692 "stdio" ++ path.sep_str ++ "ucrt_vsprintf.c",
825 "stdio" ++ path.sep_str ++ "ucrt_vsscanf.c",693 "stdio" ++ path.sep_str ++ "ucrt_vsscanf.c",
826 "stdio" ++ path.sep_str ++ "ulltoa.c",694 // uuid
827 "stdio" ++ path.sep_str ++ "ulltow.c",695 "libsrc" ++ path.sep_str ++ "ativscp-uuid.c",
828 "stdio" ++ path.sep_str ++ "vasprintf.c",696 "libsrc" ++ path.sep_str ++ "atsmedia-uuid.c",
829 "stdio" ++ path.sep_str ++ "vfscanf.c",697 "libsrc" ++ path.sep_str ++ "bth-uuid.c",
830 "stdio" ++ path.sep_str ++ "vfscanf2.S",698 "libsrc" ++ path.sep_str ++ "cguid-uuid.c",
831 "stdio" ++ path.sep_str ++ "vfwscanf.c",699 "libsrc" ++ path.sep_str ++ "comcat-uuid.c",
832 "stdio" ++ path.sep_str ++ "vfwscanf2.S",700 "libsrc" ++ path.sep_str ++ "ctxtcall-uuid.c",
833 "stdio" ++ path.sep_str ++ "vscanf.c",701 "libsrc" ++ path.sep_str ++ "devguid.c",
834 "stdio" ++ path.sep_str ++ "vscanf2.S",702 "libsrc" ++ path.sep_str ++ "docobj-uuid.c",
835 "stdio" ++ path.sep_str ++ "vsnprintf.c",703 "libsrc" ++ path.sep_str ++ "dxva-uuid.c",
836 "stdio" ++ path.sep_str ++ "vsnwprintf.c",704 "libsrc" ++ path.sep_str ++ "exdisp-uuid.c",
837 "stdio" ++ path.sep_str ++ "vsscanf.c",705 "libsrc" ++ path.sep_str ++ "extras-uuid.c",
838 "stdio" ++ path.sep_str ++ "vsscanf2.S",706 "libsrc" ++ path.sep_str ++ "fwp-uuid.c",
839 "stdio" ++ path.sep_str ++ "vswscanf.c",707 "libsrc" ++ path.sep_str ++ "guid_nul.c",
840 "stdio" ++ path.sep_str ++ "vswscanf2.S",708 "libsrc" ++ path.sep_str ++ "hlguids-uuid.c",
841 "stdio" ++ path.sep_str ++ "vwscanf.c",709 "libsrc" ++ path.sep_str ++ "hlink-uuid.c",
842 "stdio" ++ path.sep_str ++ "vwscanf2.S",710 "libsrc" ++ path.sep_str ++ "mlang-uuid.c",
843 "stdio" ++ path.sep_str ++ "wtoll.c",711 "libsrc" ++ path.sep_str ++ "msctf-uuid.c",
712 "libsrc" ++ path.sep_str ++ "mshtmhst-uuid.c",
713 "libsrc" ++ path.sep_str ++ "mshtml-uuid.c",
714 "libsrc" ++ path.sep_str ++ "msxml-uuid.c",
715 "libsrc" ++ path.sep_str ++ "netcfg-uuid.c",
716 "libsrc" ++ path.sep_str ++ "netcon-uuid.c",
717 "libsrc" ++ path.sep_str ++ "ntddkbd-uuid.c",
718 "libsrc" ++ path.sep_str ++ "ntddmou-uuid.c",
719 "libsrc" ++ path.sep_str ++ "ntddpar-uuid.c",
720 "libsrc" ++ path.sep_str ++ "ntddscsi-uuid.c",
721 "libsrc" ++ path.sep_str ++ "ntddser-uuid.c",
722 "libsrc" ++ path.sep_str ++ "ntddstor-uuid.c",
723 "libsrc" ++ path.sep_str ++ "ntddvdeo-uuid.c",
724 "libsrc" ++ path.sep_str ++ "oaidl-uuid.c",
725 "libsrc" ++ path.sep_str ++ "objidl-uuid.c",
726 "libsrc" ++ path.sep_str ++ "objsafe-uuid.c",
727 "libsrc" ++ path.sep_str ++ "ocidl-uuid.c",
728 "libsrc" ++ path.sep_str ++ "oleacc-uuid.c",
729 "libsrc" ++ path.sep_str ++ "olectlid-uuid.c",
730 "libsrc" ++ path.sep_str ++ "oleidl-uuid.c",
731 "libsrc" ++ path.sep_str ++ "power-uuid.c",
732 "libsrc" ++ path.sep_str ++ "powrprof-uuid.c",
733 "libsrc" ++ path.sep_str ++ "uianimation-uuid.c",
734 "libsrc" ++ path.sep_str ++ "usbcamdi-uuid.c",
735 "libsrc" ++ path.sep_str ++ "usbiodef-uuid.c",
736 "libsrc" ++ path.sep_str ++ "uuid.c",
737 "libsrc" ++ path.sep_str ++ "vds-uuid.c",
738 "libsrc" ++ path.sep_str ++ "virtdisk-uuid.c",
739 "libsrc" ++ path.sep_str ++ "vss-uuid.c",
740 "libsrc" ++ path.sep_str ++ "wia-uuid.c",
741 "libsrc" ++ path.sep_str ++ "windowscodecs.c",
742 // ws2_32
743 "libsrc" ++ path.sep_str ++ "ws2_32.c",
744 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_addr_equal.c",
745 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_isany.c",
746 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_isloopback.c",
747 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_setany.c",
748 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_setloopback.c",
749 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_linklocal.c",
750 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_loopback.c",
751 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_global.c",
752 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_linklocal.c",
753 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_nodelocal.c",
754 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_orglocal.c",
755 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_sitelocal.c",
756 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_multicast.c",
757 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_sitelocal.c",
758 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_unspecified.c",
759 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_v4compat.c",
760 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_v4mapped.c",
761 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_set_addr_loopback.c",
762 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_set_addr_unspecified.c",
763 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "gai_strerrorA.c",
764 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "gai_strerrorW.c",
765 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiStrdup.c",
766 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiParseV4Address.c",
767 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiNewAddrInfo.c",
768 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiQueryDNS.c",
769 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLookupNode.c",
770 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiClone.c",
771 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyFreeAddrInfo.c",
772 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyGetAddrInfo.c",
773 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyGetNameInfo.c",
774 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLoad.c",
775 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiGetAddrInfo.c",
776 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiGetNameInfo.c",
777 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiFreeAddrInfo.c",
778 // dinput
779 "libsrc" ++ path.sep_str ++ "dinput_kbd.c",
780 "libsrc" ++ path.sep_str ++ "dinput_joy.c",
781 "libsrc" ++ path.sep_str ++ "dinput_joy2.c",
782 "libsrc" ++ path.sep_str ++ "dinput_mouse.c",
783 "libsrc" ++ path.sep_str ++ "dinput_mouse2.c",
784 // dloadhelper
785 "libsrc" ++ path.sep_str ++ "dloadhelper.c",
786 "misc" ++ path.sep_str ++ "delay-f.c",
787 // misc.
788 "libsrc" ++ path.sep_str ++ "bits.c",
789 "libsrc" ++ path.sep_str ++ "shell32.c",
790 "libsrc" ++ path.sep_str ++ "dmoguids.c",
791 "libsrc" ++ path.sep_str ++ "dxerr8.c",
792 "libsrc" ++ path.sep_str ++ "dxerr8w.c",
793 "libsrc" ++ path.sep_str ++ "dxerr9.c",
794 "libsrc" ++ path.sep_str ++ "dxerr9w.c",
795 "libsrc" ++ path.sep_str ++ "mfuuid.c",
796 "libsrc" ++ path.sep_str ++ "msxml2.c",
797 "libsrc" ++ path.sep_str ++ "msxml6.c",
798 "libsrc" ++ path.sep_str ++ "amstrmid.c",
799 "libsrc" ++ path.sep_str ++ "wbemuuid.c",
800 "libsrc" ++ path.sep_str ++ "wmcodecdspuuid.c",
801 "libsrc" ++ path.sep_str ++ "windowscodecs.c",
802 "libsrc" ++ path.sep_str ++ "dxguid.c",
803 "libsrc" ++ path.sep_str ++ "ksuser.c",
804 "libsrc" ++ path.sep_str ++ "locationapi.c",
805 "libsrc" ++ path.sep_str ++ "sapi.c",
806 "libsrc" ++ path.sep_str ++ "sensorsapi.c",
807 "libsrc" ++ path.sep_str ++ "portabledeviceguids.c",
808 "libsrc" ++ path.sep_str ++ "taskschd.c",
809 "libsrc" ++ path.sep_str ++ "strmiids.c",
810 "libsrc" ++ path.sep_str ++ "gdiplus.c",
811 "libsrc" ++ path.sep_str ++ "activeds-uuid.c",
844};812};
845813
846const mingwex_x86_src = [_][]const u8{814const mingwex_x86_src = [_][]const u8{
847 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosf.c",815 // mingwex
848 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosh.c",816 "math" ++ path.sep_str ++ "cbrtl.c",
849 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshf.c",817 "math" ++ path.sep_str ++ "erfl.c",
818 "math" ++ path.sep_str ++ "fdiml.c",
819 "math" ++ path.sep_str ++ "fmal.c",
820 "math" ++ path.sep_str ++ "fmaxl.c",
821 "math" ++ path.sep_str ++ "fminl.c",
822 "math" ++ path.sep_str ++ "llrintl.c",
823 "math" ++ path.sep_str ++ "llroundl.c",
824 "math" ++ path.sep_str ++ "lrintl.c",
825 "math" ++ path.sep_str ++ "lroundl.c",
826 "math" ++ path.sep_str ++ "rintl.c",
827 "math" ++ path.sep_str ++ "roundl.c",
828 "math" ++ path.sep_str ++ "tgammal.c",
829 "math" ++ path.sep_str ++ "truncl.c",
850 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshl.c",830 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshl.c",
851 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosl.c",831 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosl.c",
852 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",
853 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinh.c",
854 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhf.c",
855 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhl.c",832 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhl.c",
856 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinl.c",833 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinl.c",
857 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2.c",
858 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",
859 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2l.c",834 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2l.c",
860 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",
861 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanh.c",
862 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhf.c",
863 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhl.c",835 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhl.c",
864 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanl.c",836 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanl.c",
865 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceilf.S",
866 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceill.S",837 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceill.S",
867 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceil.S",
868 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "_chgsignl.S",838 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "_chgsignl.S",
869 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "copysignl.S",839 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "copysignl.S",
870 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cos.c",
871 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosf.c",
872 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c",840 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c",
873 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S",841 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S",
874 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c",842 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c",
875 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2f.S",
876 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",843 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",
877 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2.S",
878 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp.c",
879 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",844 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",
880 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1.c",
881 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1f.c",
882 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",845 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",
883 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorf.S",
884 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorl.S",846 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorl.S",
885 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floor.S",
886 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmod.c",
887 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodf.c",
888 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodl.c",847 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodl.c",
889 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",848 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",
890 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbf.S",
891 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",849 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",
892 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogb.S",
893 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",850 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",
894 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexp.c",851 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexp.c",
895 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexpl.c",852 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexpl.c",
896 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log10l.S",853 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log10l.S",
897 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pf.S",
898 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pl.S",854 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pl.S",
899 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1p.S",
900 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2f.S",
901 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2l.S",855 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2l.S",
902 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2.S",
903 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logb.c",
904 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbf.c",
905 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbl.c",856 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbl.c",
906 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log.c",
907 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logl.c",857 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logl.c",
908 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintf.S",
909 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintl.S",858 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintl.S",
910 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyint.S",
911 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "pow.c",
912 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "powl.c",859 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "powl.c",
913 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderf.S",
914 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderl.S",860 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderl.S",
915 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainder.S",
916 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquof.S",
917 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquol.S",861 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquol.S",
918 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquo.S",
919 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "rint.c",
920 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "rintf.c",
921 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnf.S",862 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnf.S",
922 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnl.S",863 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnl.S",
923 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbn.S",864 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbn.S",
924 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sin.c",
925 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinf.c",
926 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl.c",865 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl.c",
927 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl_internal.S",866 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl_internal.S",
928 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanf.c",
929 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanl.S",867 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanl.S",
930 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "truncf.S",868 // ucrtbase
931 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "trunc.S",869 "math" ++ path.sep_str ++ "fabsf.c",
870 "math" ++ path.sep_str ++ "nexttowardf.c",
932};871};
933872
934const arm_common = [_][]const u8{873const mingwex_x86_32_src = [_][]const u8{
935 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acosh.c",874 // ucrtbase
936 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshf.c",875 "math" ++ path.sep_str ++ "coshf.c",
937 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshl.c",876 "math" ++ path.sep_str ++ "expf.c",
938 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinh.c",877 "math" ++ path.sep_str ++ "log10f.c",
939 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhf.c",878 "math" ++ path.sep_str ++ "logf.c",
940 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhl.c",879 "math" ++ path.sep_str ++ "modff.c",
941 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanh.c",880 "math" ++ path.sep_str ++ "powf.c",
942 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhf.c",881 "math" ++ path.sep_str ++ "sinhf.c",
943 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhl.c",882 "math" ++ path.sep_str ++ "sqrtf.c",
944 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "copysignl.c",883 "math" ++ path.sep_str ++ "tanhf.c",
945 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1.c",884 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosf.c",
946 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1f.c",885 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",
947 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1l.c",886 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",
948 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogb.c",887 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",
949 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbf.c",888 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceilf.S",
950 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbl.c",889 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosf.c",
951 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",890 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorf.S",
952 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1p.c",891 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodf.c",
953 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pf.c",892 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinf.c",
954 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pl.c",893 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanf.c",
955 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log2.c",
956 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logb.c",
957 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbf.c",
958 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbl.c",
959 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powf.c",
960 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powl.c",
961 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainder.c",
962 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderf.c",
963 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderl.c",
964 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remquol.c",
965 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquo.c",
966 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquof.c",
967 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "scalbn.c",
968};894};
969895
970const mingwex_arm32_src = arm_common ++ [_][]const u8{896const mingwex_arm32_src = [_][]const u8{
897 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",
971 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S",898 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S",
972 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c",899 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c",
973 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c",900 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c",
974 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "exp2.S",
975 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "exp2f.S",
976 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyint.S",
977 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyintf.S",
978 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyintl.S",
979 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincos.S",901 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincos.S",
980 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincosf.S",902 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincosf.S",
981 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_trunc.c",
982 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_truncf.c",
983};903};
984904
985const mingwex_arm64_src = arm_common ++ [_][]const u8{905const mingwex_arm64_src = [_][]const u8{
986 "misc" ++ path.sep_str ++ "initenv.c",906 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",
987 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S",907 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S",
988 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c",908 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c",
989 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c",909 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c",
990 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincos.S",910 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincos.S",
991 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincosf.S",911 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincosf.S",
992 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "exp2f.S",
993 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "exp2.S",
994 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyintf.S",
995 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyintl.S",
996 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyint.S",
997 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "truncf.S",
998 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "trunc.S",
999};
1000
1001const uuid_src = [_][]const u8{
1002 "ativscp-uuid.c",
1003 "atsmedia-uuid.c",
1004 "bth-uuid.c",
1005 "cguid-uuid.c",
1006 "comcat-uuid.c",
1007 "devguid.c",
1008 "docobj-uuid.c",
1009 "dxva-uuid.c",
1010 "exdisp-uuid.c",
1011 "extras-uuid.c",
1012 "fwp-uuid.c",
1013 "guid_nul.c",
1014 "hlguids-uuid.c",
1015 "hlink-uuid.c",
1016 "mlang-uuid.c",
1017 "msctf-uuid.c",
1018 "mshtmhst-uuid.c",
1019 "mshtml-uuid.c",
1020 "msxml-uuid.c",
1021 "netcfg-uuid.c",
1022 "netcon-uuid.c",
1023 "ntddkbd-uuid.c",
1024 "ntddmou-uuid.c",
1025 "ntddpar-uuid.c",
1026 "ntddscsi-uuid.c",
1027 "ntddser-uuid.c",
1028 "ntddstor-uuid.c",
1029 "ntddvdeo-uuid.c",
1030 "oaidl-uuid.c",
1031 "objidl-uuid.c",
1032 "objsafe-uuid.c",
1033 "ocidl-uuid.c",
1034 "oleacc-uuid.c",
1035 "olectlid-uuid.c",
1036 "oleidl-uuid.c",
1037 "power-uuid.c",
1038 "powrprof-uuid.c",
1039 "uianimation-uuid.c",
1040 "usbcamdi-uuid.c",
1041 "usbiodef-uuid.c",
1042 "uuid.c",
1043 "vds-uuid.c",
1044 "virtdisk-uuid.c",
1045 "wia-uuid.c",
1046};912};
1047913
1048pub const always_link_libs = [_][]const u8{914pub const always_link_libs = [_][]const u8{
tools/update_mingw.zig+3
...@@ -148,7 +148,10 @@ const blacklist = [_][]const u8{...@@ -148,7 +148,10 @@ const blacklist = [_][]const u8{
148 "msvcr80.def.in",148 "msvcr80.def.in",
149 "msvcr90.def.in",149 "msvcr90.def.in",
150 "msvcr90d.def.in",150 "msvcr90d.def.in",
151 "msvcrt.def.in",
151 "msvcrt10.def.in",152 "msvcrt10.def.in",
152 "msvcrt20.def.in",153 "msvcrt20.def.in",
153 "msvcrt40.def.in",154 "msvcrt40.def.in",
155
156 "crtdll.def.in",
154};157};