diff --git a/lib/libc/include/any-windows-any/_mingw.h b/lib/libc/include/any-windows-any/_mingw.h index 965a2275c553..acfc0f9bd644 100644 --- a/lib/libc/include/any-windows-any/_mingw.h +++ b/lib/libc/include/any-windows-any/_mingw.h @@ -246,6 +246,12 @@ limitations in handling dllimport attribute. */ #define _UCRT #endif +#ifdef _UCRT +# define __MINGW_UCRT_ASM_CALL(func) __MINGW_ASM_CALL(func) +#else +# define __MINGW_UCRT_ASM_CALL(func) +#endif + #ifndef _WIN32_WINNT #define _WIN32_WINNT 0xa00 #endif @@ -384,7 +390,7 @@ typedef int __int128 __attribute__ ((__mode__ (TI))); #ifndef __WIDL__ -#if defined (_WIN32) && !defined (_WIN64) && !defined (__MINGW_USE_VC2005_COMPAT) && !defined (_UCRT) +#if defined (_WIN32) && !defined (_WIN64) && !defined (__MINGW_USE_VC2005_COMPAT) && !defined (_UCRT) && !(defined (_TIME_BITS) && _TIME_BITS == 64) #ifndef _USE_32BIT_TIME_T #define _USE_32BIT_TIME_T #endif diff --git a/lib/libc/include/any-windows-any/_mingw_mac.h b/lib/libc/include/any-windows-any/_mingw_mac.h index f69bbec5d344..70d64f6d022e 100644 --- a/lib/libc/include/any-windows-any/_mingw_mac.h +++ b/lib/libc/include/any-windows-any/_mingw_mac.h @@ -270,7 +270,7 @@ # define __MINGW_ATTRIB_DEPRECATED_MSVC2005 #endif -#if !defined (_CRT_SECURE_NO_WARNINGS) || (_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES == 0) +#if !defined (_CRT_SECURE_NO_WARNINGS) # define __MINGW_ATTRIB_DEPRECATED_SEC_WARN \ __MINGW_ATTRIB_DEPRECATED_STR(__MINGW_SEC_WARN_STR) #else diff --git a/lib/libc/include/any-windows-any/_mingw_stat64.h b/lib/libc/include/any-windows-any/_mingw_stat64.h index 8ce097561116..84eabba9698b 100644 --- a/lib/libc/include/any-windows-any/_mingw_stat64.h +++ b/lib/libc/include/any-windows-any/_mingw_stat64.h @@ -1,5 +1,8 @@ #ifndef _STAT_DEFINED +/* __stat64 is needed for compatibility with msvc */ +#define __stat64 _stat64 + #ifdef _USE_32BIT_TIME_T #define _fstat _fstat32 #define _fstati64 _fstat32i64 @@ -30,22 +33,6 @@ __time32_t st_ctime; }; -#ifndef NO_OLDNAMES - struct stat { - _dev_t st_dev; - _ino_t st_ino; - unsigned short st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - _off_t st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; - }; -#endif /* NO_OLDNAMES */ - struct _stat32i64 { _dev_t st_dev; _ino_t st_ino; @@ -88,9 +75,5 @@ __time64_t st_ctime; }; -#define __stat64 _stat64 -#define stat64 _stat64 /* for POSIX */ -#define fstat64 _fstat64 /* for POSIX */ - #define _STAT_DEFINED #endif /* _STAT_DEFINED */ diff --git a/lib/libc/include/any-windows-any/accctrl.h b/lib/libc/include/any-windows-any/accctrl.h index beb2a0bb68a2..8979b7500698 100644 --- a/lib/libc/include/any-windows-any/accctrl.h +++ b/lib/libc/include/any-windows-any/accctrl.h @@ -32,7 +32,7 @@ extern "C" { SE_DS_OBJECT_ALL, SE_PROVIDER_DEFINED_OBJECT, SE_WMIGUID_OBJECT, - SE_REGISTRY_WOW64_32KEY, + SE_REGISTRY_WOW64_32KEY } SE_OBJECT_TYPE; typedef enum _TRUSTEE_TYPE { @@ -56,7 +56,7 @@ extern "C" { typedef enum _MULTIPLE_TRUSTEE_OPERATION { NO_MULTIPLE_TRUSTEE, - TRUSTEE_IS_IMPERSONATE, + TRUSTEE_IS_IMPERSONATE } MULTIPLE_TRUSTEE_OPERATION; typedef struct _OBJECTS_AND_SID { diff --git a/lib/libc/include/any-windows-any/aclui.h b/lib/libc/include/any-windows-any/aclui.h index 9116c6f64e14..f5be6abfce8f 100644 --- a/lib/libc/include/any-windows-any/aclui.h +++ b/lib/libc/include/any-windows-any/aclui.h @@ -112,7 +112,7 @@ extern "C" { SI_SHOW_OWNER_ACTIVATED, SI_SHOW_EFFECTIVE_ACTIVATED, SI_SHOW_SHARE_ACTIVATED, - SI_SHOW_CENTRAL_POLICY_ACTIVATED, + SI_SHOW_CENTRAL_POLICY_ACTIVATED } SI_PAGE_ACTIVATED; #define GET_PAGE_TYPE(X) (UINT) ((X) &0x0000ffff) diff --git a/lib/libc/include/any-windows-any/activation.h b/lib/libc/include/any-windows-any/activation.h index 8da6cf00b5c2..306cf137569e 100644 --- a/lib/libc/include/any-windows-any/activation.h +++ b/lib/libc/include/any-windows-any/activation.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activation.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activation.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/activaut.h b/lib/libc/include/any-windows-any/activaut.h index 323e40d09c1a..df518715606f 100644 --- a/lib/libc/include/any-windows-any/activaut.h +++ b/lib/libc/include/any-windows-any/activaut.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activaut.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activaut.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/activdbg.h b/lib/libc/include/any-windows-any/activdbg.h index b7b67394d82a..6f2818f6484a 100644 --- a/lib/libc/include/any-windows-any/activdbg.h +++ b/lib/libc/include/any-windows-any/activdbg.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activdbg.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activdbg.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/activdbg100.h b/lib/libc/include/any-windows-any/activdbg100.h index 2a1525cb0a10..ab6c128383e2 100644 --- a/lib/libc/include/any-windows-any/activdbg100.h +++ b/lib/libc/include/any-windows-any/activdbg100.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activdbg100.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activdbg100.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/activprof.h b/lib/libc/include/any-windows-any/activprof.h index dab693335856..b32e077f09db 100644 --- a/lib/libc/include/any-windows-any/activprof.h +++ b/lib/libc/include/any-windows-any/activprof.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activprof.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activprof.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/activscp.h b/lib/libc/include/any-windows-any/activscp.h index 3e7062187fac..a0670d7dac35 100644 --- a/lib/libc/include/any-windows-any/activscp.h +++ b/lib/libc/include/any-windows-any/activscp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/activscp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/activscp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/adhoc.h b/lib/libc/include/any-windows-any/adhoc.h index 77929af55256..2084d35e68be 100644 --- a/lib/libc/include/any-windows-any/adhoc.h +++ b/lib/libc/include/any-windows-any/adhoc.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/adhoc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/adhoc.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/af_irda.h b/lib/libc/include/any-windows-any/af_irda.h index f2dadb80413d..8c649ac10183 100644 --- a/lib/libc/include/any-windows-any/af_irda.h +++ b/lib/libc/include/any-windows-any/af_irda.h @@ -59,7 +59,7 @@ enum { LM_HB_Extension = 128,LM_HB1_PnP = 1,LM_HB1_PDA_Palmtop = 2,LM_HB1_Computer = 4,LM_HB1_Printer = 8,LM_HB1_Modem = 16,LM_HB1_Fax = 32, - LM_HB1_LANAccess = 64,LM_HB2_Telephony = 1,LM_HB2_FileServer = 2, + LM_HB1_LANAccess = 64,LM_HB2_Telephony = 1,LM_HB2_FileServer = 2 }; #define LmCharSetASCII 0 diff --git a/lib/libc/include/any-windows-any/agtctl_i.c b/lib/libc/include/any-windows-any/agtctl_i.c deleted file mode 100644 index 7a2411e2c639..000000000000 --- a/lib/libc/include/any-windows-any/agtctl_i.c +++ /dev/null @@ -1,50 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - - const IID IID_IAgentCtlRequest = {0x1DAB85C3,0x803A,0x11D0,{0xAC,0x63,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtlUserInput = {0xC4ABF875,0x8100,0x11D0,{0xAC,0x63,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtlBalloon = {0xF5BE8BD3,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlBalloonEx = {0x822DB1C0,0x8879,0x11d1,{0x9E,0xC6,0x00,0xC0,0x4F,0xD7,0x08,0x1F}}; - const IID IID_IAgentCtlCommand = {0xF5BE8BE3,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlCommandEx = {0xB0913410,0x3B44,0x11d1,{0xAC,0xBA,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtlCommands = {0xF5BE8BE1,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlCommandsEx = {0x6BA90C01,0x3910,0x11d1,{0xAC,0xB3,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtlCharacter = {0xF5BE8BD9,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlAnimationNames = {0x8B77181C,0xD3EF,0x11d1,{0x85,0x00,0x00,0xC0,0x4F,0xA3,0x4A,0x14}}; - const IID IID_IAgentCtlCharacterEx = {0xDE8EF600,0x2F82,0x11d1,{0xAC,0xAC,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtlCharacters = {0xF5BE8BE8,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlAudioObject = {0xF5BE8BDB,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlAudioObjectEx = {0xF5BE8BF0,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlSpeechInput = {0xF5BE8BDD,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlPropertySheet = {0xF5BE8BDF,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlCommandsWindow = {0x6D0ECB27,0x9968,0x11D0,{0xAC,0x6E,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCtl = {0xF5BE8BD1,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentCtlEx = {0x8563FF20,0x8ECC,0x11d1,{0xB9,0xB4,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID LIBID_AgentObjects = {0xF5BE8BC2,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID DIID__AgentEvents = {0xF5BE8BD4,0x7DE6,0x11D0,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const CLSID CLSID_Agent = {0xD45FD31B,0x5C6E,0x11D1,{0x9E,0xC1,0x00,0xC0,0x4F,0xD7,0x08,0x1F}}; - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/agtsvr_i.c b/lib/libc/include/any-windows-any/agtsvr_i.c deleted file mode 100644 index b58c8bc7d499..000000000000 --- a/lib/libc/include/any-windows-any/agtsvr_i.c +++ /dev/null @@ -1,51 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - - const IID IID_IAgentUserInput = {0xA7B93C80,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCommand = {0xA7B93C83,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCommandEx = {0xB0913412,0x3B44,0x11d1,{0xAC,0xBA,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCommands = {0xA7B93C85,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCommandsEx = {0x6BA90C00,0x3910,0x11d1,{0xAC,0xB3,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCommandWindow = {0x6D0ECB23,0x9968,0x11D0,{0xAC,0x6E,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentSpeechInputProperties = {0xA7B93C87,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentAudioOutputProperties = {0xA7B93C89,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentAudioOutputPropertiesEx = {0xA7B93CA0,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentPropertySheet = {0xA7B93C8B,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentBalloon = {0xA7B93C8D,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentBalloonEx = {0xD7A6D440,0x8872,0x11d1,{0x9E,0xC6,0x00,0xC0,0x4F,0xD7,0x08,0x1F}}; - const IID IID_IAgentCharacter = {0xA7B93C8F,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCharacterEx = {0x98BBE491,0x2EED,0x11d1,{0xAC,0xAC,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgent = {0xA7B93C91,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentEx = {0x48D12BA0,0x5B77,0x11d1,{0x9E,0xC1,0x00,0xC0,0x4F,0xD7,0x08,0x1F}}; - const IID IID_IAgentNotifySink = {0x00D18159,0x8466,0x11D0,{0xAC,0x63,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentNotifySinkEx = {0x08C75162,0x3C9C,0x11d1,{0x91,0xFE,0x00,0xC0,0x4F,0xD7,0x01,0xA5}}; - const IID IID_IAgentPrivateNotifySink = {0xB741B760,0x8EA6,0x11d0,{0xAC,0x6A,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID IID_IAgentCustomMarshalMaker = {0x408D7542,0xC8FC,0x11d1,{0xAA,0x83,0x00,0xC0,0x4F,0xA3,0x4D,0x72}}; - const IID IID_IAgentClientStatus = {0xC5649F70,0x7AED,0x11d1,{0xB9,0xA8,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const IID LIBID_AgentServerObjects = {0xA7B93C73,0x7B81,0x11D0,{0xAC,0x5F,0x00,0xC0,0x4F,0xD9,0x75,0x75}}; - const CLSID CLSID_AgentServer = {0xD45FD2FC,0x5C6E,0x11D1,{0x9E,0xC1,0x00,0xC0,0x4F,0xD7,0x08,0x1F}}; - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/alg.h b/lib/libc/include/any-windows-any/alg.h index 45122302d8ac..5c76938a3ca2 100644 --- a/lib/libc/include/any-windows-any/alg.h +++ b/lib/libc/include/any-windows-any/alg.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/alg.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/alg.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/alink.h b/lib/libc/include/any-windows-any/alink.h index 837813953dd1..156e5395bd66 100644 --- a/lib/libc/include/any-windows-any/alink.h +++ b/lib/libc/include/any-windows-any/alink.h @@ -35,7 +35,7 @@ typedef enum _AssemblyFlags { afCleanModules = 0x00000002, afNoRefHash = 0x00000004, afNoDupTypeCheck = 0x00000008, - afDupeCheckTypeFwds = 0x00000010, + afDupeCheckTypeFwds = 0x00000010 } AssemblyFlags; EXTERN_GUID (CLSID_AssemblyLinker, 0xf7e02368, 0xa7f4, 0x471f, 0x8c, 0x5e, 0x98, 0x39, 0xed, 0x57, 0xcb, 0x5e); diff --git a/lib/libc/include/any-windows-any/amstream.h b/lib/libc/include/any-windows-any/amstream.h index fbe51b4cc74f..20a66ab33dce 100644 --- a/lib/libc/include/any-windows-any/amstream.h +++ b/lib/libc/include/any-windows-any/amstream.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/amstream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/amstream.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/amvideo.h b/lib/libc/include/any-windows-any/amvideo.h index b12684bcc25b..f754a7f832e8 100644 --- a/lib/libc/include/any-windows-any/amvideo.h +++ b/lib/libc/include/any-windows-any/amvideo.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/amvideo.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/amvideo.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/aqadmtyp.h b/lib/libc/include/any-windows-any/aqadmtyp.h index 7f8772b8350b..5b1463144f71 100644 --- a/lib/libc/include/any-windows-any/aqadmtyp.h +++ b/lib/libc/include/any-windows-any/aqadmtyp.h @@ -10,7 +10,7 @@ #define QUEUE_ADMIN_MAX_BUFFER_REQUIRED 200 typedef enum tagQUEUE_ADMIN_VERSIONS { - CURRENT_QUEUE_ADMIN_VERSION = 4, + CURRENT_QUEUE_ADMIN_VERSION = 4 } QUEUE_ADMIN_VERSIONS; typedef struct tagMESSAGE_FILTER { @@ -54,7 +54,7 @@ typedef enum tagMESSAGE_ENUM_FILTER_TYPE { MEF_N_OLDEST_MESSAGES = 0x80, MEF_FAILED = 0x100, MEF_ALL = 0x40000000, - MEF_INVERTSENSE = 0x80000000, + MEF_INVERTSENSE = 0x80000000 } MESSAGE_ENUM_FILTER_TYPE; typedef struct tagMESSAGE_ENUM_FILTER { diff --git a/lib/libc/include/any-windows-any/asyncinfo.h b/lib/libc/include/any-windows-any/asyncinfo.h index bb2dffca7c2a..5ee431eafc7e 100644 --- a/lib/libc/include/any-windows-any/asyncinfo.h +++ b/lib/libc/include/any-windows-any/asyncinfo.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/asyncinfo.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/asyncinfo.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/audioapotypes.h b/lib/libc/include/any-windows-any/audioapotypes.h index 090a6a3f8b7b..49874b11e8ed 100644 --- a/lib/libc/include/any-windows-any/audioapotypes.h +++ b/lib/libc/include/any-windows-any/audioapotypes.h @@ -29,7 +29,7 @@ typedef struct APO_CONNECTION_PROPERTY { typedef enum { AUDIO_CURVE_TYPE_NONE = 0, - AUDIO_CURVE_TYPE_WINDOWS_FADE = 1, + AUDIO_CURVE_TYPE_WINDOWS_FADE = 1 } AUDIO_CURVE_TYPE; #endif diff --git a/lib/libc/include/any-windows-any/audioclient.h b/lib/libc/include/any-windows-any/audioclient.h index d20053152099..146e1df1522d 100644 --- a/lib/libc/include/any-windows-any/audioclient.h +++ b/lib/libc/include/any-windows-any/audioclient.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/audioclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/audioclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/audioendpoints.h b/lib/libc/include/any-windows-any/audioendpoints.h index 547050800342..c7dc9b872fef 100644 --- a/lib/libc/include/any-windows-any/audioendpoints.h +++ b/lib/libc/include/any-windows-any/audioendpoints.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/audioendpoints.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/audioendpoints.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/audiopolicy.h b/lib/libc/include/any-windows-any/audiopolicy.h index 4acbd39b9327..0575ffd3f7bc 100644 --- a/lib/libc/include/any-windows-any/audiopolicy.h +++ b/lib/libc/include/any-windows-any/audiopolicy.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/audiopolicy.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/audiopolicy.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/austream.h b/lib/libc/include/any-windows-any/austream.h index 98a619bc10d7..026ecd6c73e5 100644 --- a/lib/libc/include/any-windows-any/austream.h +++ b/lib/libc/include/any-windows-any/austream.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/austream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/austream.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/authz.h b/lib/libc/include/any-windows-any/authz.h index d6dd14bb338d..1c8c09d56268 100644 --- a/lib/libc/include/any-windows-any/authz.h +++ b/lib/libc/include/any-windows-any/authz.h @@ -243,7 +243,7 @@ extern "C" { AuthzAuditEventInfoOperationType, AuthzAuditEventInfoObjectType, AuthzAuditEventInfoObjectName, - AuthzAuditEventInfoAdditionalInfo, + AuthzAuditEventInfoAdditionalInfo } AUTHZ_AUDIT_EVENT_INFORMATION_CLASS; AUTHZAPI WINBOOL WINAPI AuthzFreeAuditEvent (AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent); diff --git a/lib/libc/include/any-windows-any/bdaiface.h b/lib/libc/include/any-windows-any/bdaiface.h index 883658009e90..5b72f6f0770e 100644 --- a/lib/libc/include/any-windows-any/bdaiface.h +++ b/lib/libc/include/any-windows-any/bdaiface.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bdaiface.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bdaiface.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bdaiface_enums.h b/lib/libc/include/any-windows-any/bdaiface_enums.h index 9a262e0d7592..49a6526af07a 100644 --- a/lib/libc/include/any-windows-any/bdaiface_enums.h +++ b/lib/libc/include/any-windows-any/bdaiface_enums.h @@ -1,6 +1,6 @@ -/** - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER within this package. +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. */ #ifndef BDAIFACE_ENUMS_H #define BDAIFACE_ENUMS_H diff --git a/lib/libc/include/any-windows-any/bdatypes.h b/lib/libc/include/any-windows-any/bdatypes.h index 7aeff556f661..83ce0f1fb912 100644 --- a/lib/libc/include/any-windows-any/bdatypes.h +++ b/lib/libc/include/any-windows-any/bdatypes.h @@ -69,7 +69,7 @@ typedef enum MEDIA_SAMPLE_CONTENT typedef enum ISDBCAS_REQUEST_ID { ISDBCAS_REQUEST_ID_EMG = 0x38, - ISDBCAS_REQUEST_ID_EMD = 0x3a, + ISDBCAS_REQUEST_ID_EMD = 0x3a } ISDBCAS_REQUEST_ID; typedef enum MUX_PID_TYPE { @@ -299,7 +299,7 @@ typedef enum tagScanModulationTypes ScanModulationTypesMask_DVBC = BDA_MOD_64QAM | BDA_SCAN_MOD_128QAM | BDA_MOD_256QAM, BDA_SCAN_MOD_16APSK = 0x10000000, - BDA_SCAN_MOD_32APSK = 0x20000000, + BDA_SCAN_MOD_32APSK = 0x20000000 } ScanModulationTypes; #ifdef __WIDL__ @@ -460,7 +460,7 @@ typedef enum ApplicationTypeType { SCTE28_CopyProtection, SCTE28_Diagnostic, SCTE28_Undesignated, - SCTE28_Reserved, + SCTE28_Reserved } ApplicationTypeType; #ifdef __WIDL__ diff --git a/lib/libc/include/any-windows-any/bits.h b/lib/libc/include/any-windows-any/bits.h index ec90bde2df08..ae1e5e1bf51c 100644 --- a/lib/libc/include/any-windows-any/bits.h +++ b/lib/libc/include/any-windows-any/bits.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bits1_5.h b/lib/libc/include/any-windows-any/bits1_5.h index f351805ceb76..cf2ac78d043f 100644 --- a/lib/libc/include/any-windows-any/bits1_5.h +++ b/lib/libc/include/any-windows-any/bits1_5.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits1_5.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits1_5.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bits2_0.h b/lib/libc/include/any-windows-any/bits2_0.h index ec3d1c685c64..ea8c1c866a75 100644 --- a/lib/libc/include/any-windows-any/bits2_0.h +++ b/lib/libc/include/any-windows-any/bits2_0.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits2_0.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits2_0.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bits2_5.h b/lib/libc/include/any-windows-any/bits2_5.h index 2fa677588fab..4cfa20db4602 100644 --- a/lib/libc/include/any-windows-any/bits2_5.h +++ b/lib/libc/include/any-windows-any/bits2_5.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits2_5.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits2_5.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bits3_0.h b/lib/libc/include/any-windows-any/bits3_0.h index e8c3366d7a76..72c7839c2677 100644 --- a/lib/libc/include/any-windows-any/bits3_0.h +++ b/lib/libc/include/any-windows-any/bits3_0.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits3_0.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits3_0.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/bits5_0.h b/lib/libc/include/any-windows-any/bits5_0.h index 3e5fe5b6f088..ff896091ea12 100644 --- a/lib/libc/include/any-windows-any/bits5_0.h +++ b/lib/libc/include/any-windows-any/bits5_0.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/bits5_0.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/bits5_0.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/cdoex_i.c b/lib/libc/include/any-windows-any/cdoex_i.c deleted file mode 100644 index 78d5d4538f53..000000000000 --- a/lib/libc/include/any-windows-any/cdoex_i.c +++ /dev/null @@ -1,106 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - -#if defined __cplusplus && !defined CDO_NO_NAMESPACE - namespace CDO { -#else -#undef IDataSource -#endif - - MIDL_DEFINE_GUID(IID,IID_IDataSource,0xCD000029,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IMessage,0xCD000020,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IBodyPart,0xCD000021,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IConfiguration,0xCD000022,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IMessages,0xCD000025,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IDropDirectory,0xCD000024,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IBodyParts,0xCD000023,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ISMTPScriptConnector,0xCD000030,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPEarlyScriptConnector,0xCD000034,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPPostScriptConnector,0xCD000031,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPFinalScriptConnector,0xCD000032,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ISMTPOnArrival,0xCD000026,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPostEarly,0xCD000033,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPost,0xCD000027,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPostFinal,0xCD000028,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IProxyObject,0xCD000083,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IItem,0xCD000126,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IAppointment,0xCD000120,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ICalendarMessage,0xCD000122,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IIntegers,0xCD00012E,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IVariants,0xCD00012F,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IRecurrencePattern,0xCD000123,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IException,0xCD000124,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IRecurrencePatterns,0xCD00012C,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IExceptions,0xCD00012D,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ICalendarPart,0xCD000133,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ICalendarParts,0xCD000130,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IAttendee,0xCD000135,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IAttendees,0xCD000136,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IMailbox,0xCD000125,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IFolder,0xCD000132,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IContactGroupMembers,0xCD000138,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IPerson,0xCD000127,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IAddressee,0xCD000139,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IAddressees,0xCD000142,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IGetInterface,0xCD0ff000,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,LIBID_CDO,0xCD000000,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Message,0xCD000001,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Configuration,0xCD000002,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_DropDirectory,0xCD000004,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_SMTPConnector,0xCD000008,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPEarlyConnector,0xCD000011,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPPostConnector,0xCD000009,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPFinalConnector,0xCD000010,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Item,0xCD000112,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Appointment,0xCD000100,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_CalendarMessage,0xCD000102,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Folder,0xCD00010E,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Person,0xCD000107,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Attendee,0xCD00010D,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Addressee,0xCD000110,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - -#undef MIDL_DEFINE_GUID - -#if defined __cplusplus && !defined CDO_NO_NAMESPACE -} -#endif - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/cdoexm_i.c b/lib/libc/include/any-windows-any/cdoexm_i.c deleted file mode 100644 index 296fac5ce0d8..000000000000 --- a/lib/libc/include/any-windows-any/cdoexm_i.c +++ /dev/null @@ -1,59 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - - MIDL_DEFINE_GUID(IID,LIBID_CDOEXM,0x25150F00,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IDistributionList,0x25150F3F,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IMailRecipient,0x25150F40,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IMailboxStore,0x25150F41,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_MailGroup,0x25150F1F,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_MailRecipient,0x25150F20,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_Mailbox,0x25150F21,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_FolderAdmin,0x25150F22,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_ExchangeServer,0x25150F27,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_FolderTree,0x25150F23,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_PublicStoreDB,0x25150F24,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_MailboxStoreDB,0x25150F25,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(CLSID,CLSID_StorageGroup,0x25150F26,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/cdosys_i.c b/lib/libc/include/any-windows-any/cdosys_i.c deleted file mode 100644 index 4c12002eb523..000000000000 --- a/lib/libc/include/any-windows-any/cdosys_i.c +++ /dev/null @@ -1,83 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - -#if defined __cplusplus && !defined CDO_NO_NAMESPACE - namespace CDO { -#else -#undef IDataSource -#endif - - MIDL_DEFINE_GUID(IID,IID_IDataSource,0xCD000029,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IMessage,0xCD000020,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IBodyPart,0xCD000021,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IConfiguration,0xCD000022,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IMessages,0xCD000025,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IDropDirectory,0xCD000024,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IBodyParts,0xCD000023,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ISMTPScriptConnector,0xCD000030,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPEarlyScriptConnector,0xCD000034,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPPostScriptConnector,0xCD000031,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPFinalScriptConnector,0xCD000032,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_ISMTPOnArrival,0xCD000026,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPostEarly,0xCD000033,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPost,0xCD000027,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_INNTPOnPostFinal,0xCD000028,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IProxyObject,0xCD000083,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,IID_IGetInterface,0xCD0ff000,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(IID,LIBID_CDO,0xCD000000,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Message,0xCD000001,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_Configuration,0xCD000002,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_DropDirectory,0xCD000004,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_SMTPConnector,0xCD000008,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPEarlyConnector,0xCD000011,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPPostConnector,0xCD000009,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - MIDL_DEFINE_GUID(CLSID,CLSID_NNTPFinalConnector,0xCD000010,0x8B95,0x11D1,0x82,0xDB,0x00,0xC0,0x4F,0xB1,0x62,0x5D); - -#undef MIDL_DEFINE_GUID - -#if defined __cplusplus && !defined CDO_NO_NAMESPACE -} -#endif - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/certsrv.h b/lib/libc/include/any-windows-any/certsrv.h index e7d6429aa7ec..f0e8698ea1fe 100644 --- a/lib/libc/include/any-windows-any/certsrv.h +++ b/lib/libc/include/any-windows-any/certsrv.h @@ -167,7 +167,7 @@ #define __ENUM_CATYPES__ typedef enum { - ENUM_ENTERPRISE_ROOTCA = 0,ENUM_ENTERPRISE_SUBCA = 1,ENUM_STANDALONE_ROOTCA = 3,ENUM_STANDALONE_SUBCA = 4,ENUM_UNKNOWN_CA = 5, + ENUM_ENTERPRISE_ROOTCA = 0,ENUM_ENTERPRISE_SUBCA = 1,ENUM_STANDALONE_ROOTCA = 3,ENUM_STANDALONE_SUBCA = 4,ENUM_UNKNOWN_CA = 5 } ENUM_CATYPES; typedef struct _CAINFO { diff --git a/lib/libc/include/any-windows-any/comadmin.h b/lib/libc/include/any-windows-any/comadmin.h index 9295b0c7b959..06b723117008 100644 --- a/lib/libc/include/any-windows-any/comadmin.h +++ b/lib/libc/include/any-windows-any/comadmin.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/comadmin.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/comadmin.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/combaseapi.h b/lib/libc/include/any-windows-any/combaseapi.h index 1a96f6dbd207..fcfb8481f07c 100644 --- a/lib/libc/include/any-windows-any/combaseapi.h +++ b/lib/libc/include/any-windows-any/combaseapi.h @@ -147,7 +147,7 @@ typedef interface IRpcStubBuffer IRpcStubBuffer; typedef interface IRpcChannelBuffer IRpcChannelBuffer; typedef enum tagCOINITBASE { - COINITBASE_MULTITHREADED = 0x0, + COINITBASE_MULTITHREADED = 0x0 } COINITBASE; #include diff --git a/lib/libc/include/any-windows-any/comcat.h b/lib/libc/include/any-windows-any/comcat.h index 525bd7c0a283..46ee41ffc11e 100644 --- a/lib/libc/include/any-windows-any/comcat.h +++ b/lib/libc/include/any-windows-any/comcat.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/comcat.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/comcat.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/commctrl.h b/lib/libc/include/any-windows-any/commctrl.h index 070dee969bf6..ce1f23bdeeac 100644 --- a/lib/libc/include/any-windows-any/commctrl.h +++ b/lib/libc/include/any-windows-any/commctrl.h @@ -3827,7 +3827,7 @@ extern "C" { #define TreeView_ShowInfoTip(hwnd, hitem) (DWORD)SNDMSG ((hwnd), TVM_SHOWINFOTIP, 0,(LPARAM) (hitem)) typedef enum _TVITEMPART { - TVGIPR_BUTTON = 0x0001, + TVGIPR_BUTTON = 0x0001 } TVITEMPART; typedef struct tagTVGETITEMPARTRECTINFO { @@ -5534,7 +5534,7 @@ WINCOMMCTRLAPI WINBOOL WINAPI Str_SetPtrW (LPWSTR *ppsz, LPCWSTR psz); #if NTDDI_VERSION >= 0x06000000 enum _LI_METRIC { LIM_SMALL, - LIM_LARGE, + LIM_LARGE }; WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric (HINSTANCE hinst, PCWSTR pszName, int lims, HICON *phico); diff --git a/lib/libc/include/any-windows-any/commoncontrols.h b/lib/libc/include/any-windows-any/commoncontrols.h index b65cf4eec41d..4b37772022d2 100644 --- a/lib/libc/include/any-windows-any/commoncontrols.h +++ b/lib/libc/include/any-windows-any/commoncontrols.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/commoncontrols.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/commoncontrols.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/control.h b/lib/libc/include/any-windows-any/control.h index 3953ad37b6a9..a4f05139a7e7 100644 --- a/lib/libc/include/any-windows-any/control.h +++ b/lib/libc/include/any-windows-any/control.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/control.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/control.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/cor.h b/lib/libc/include/any-windows-any/cor.h index 3af86ef956c9..6b7552cec1fe 100644 --- a/lib/libc/include/any-windows-any/cor.h +++ b/lib/libc/include/any-windows-any/cor.h @@ -165,14 +165,14 @@ extern "C" { nltUnicode = 3, nltAuto = 4, nltOle = 5, - nltMaxValue = 7, + nltMaxValue = 7 } CorNativeLinkType; typedef enum { nlfNone = 0x0, nlfLastError = 0x1, nlfNoMangle = 0x2, - nlfMaxValue = 0x3, + nlfMaxValue = 0x3 } CorNativeLinkFlags; typedef void const *UVCP_CONSTANT; @@ -644,7 +644,7 @@ extern "C" { ValidatorModuleTypeObj = 0x00000002, ValidatorModuleTypeEnc = 0x00000003, ValidatorModuleTypeIncr = 0x00000004, - ValidatorModuleTypeMax = 0x00000004, + ValidatorModuleTypeMax = 0x00000004 } CorValidatorModuleType; #undef INTERFACE @@ -804,7 +804,7 @@ extern "C" { enum { SIGN_MASK_ONEBYTE = 0xffffffc0, SIGN_MASK_TWOBYTE = 0xffffe000, - SIGN_MASK_FOURBYTE = 0xf0000000, + SIGN_MASK_FOURBYTE = 0xf0000000 }; extern const mdToken __declspec (selectany) g_tkCorEncodeToken[4] = { mdtTypeDef, mdtTypeRef, mdtTypeSpec, mdtBaseType }; diff --git a/lib/libc/include/any-windows-any/corecrt_startup.h b/lib/libc/include/any-windows-any/corecrt_startup.h index 5fadb47f33bb..37391aab14e4 100644 --- a/lib/libc/include/any-windows-any/corecrt_startup.h +++ b/lib/libc/include/any-windows-any/corecrt_startup.h @@ -25,7 +25,7 @@ _CRTIMP void __cdecl _set_app_type(_crt_app_type _Type); typedef enum _crt_argv_mode { _crt_argv_no_arguments, _crt_argv_unexpanded_arguments, - _crt_argv_expanded_arguments, + _crt_argv_expanded_arguments } _crt_argv_mode; _CRTIMP errno_t __cdecl _configure_narrow_argv(_crt_argv_mode mode); diff --git a/lib/libc/include/any-windows-any/corecrt_stdio_config.h b/lib/libc/include/any-windows-any/corecrt_stdio_config.h index 3028d92e1606..7ac0e6e03402 100644 --- a/lib/libc/include/any-windows-any/corecrt_stdio_config.h +++ b/lib/libc/include/any-windows-any/corecrt_stdio_config.h @@ -9,6 +9,13 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + +unsigned __int64* __local_stdio_printf_options(void); +unsigned __int64* __local_stdio_scanf_options(void); + #define _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION 0x0001ULL #define _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR 0x0002ULL #define _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS 0x0004ULL @@ -21,11 +28,14 @@ #define _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY 0x0004ULL #ifndef _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS -#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS (_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS | _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING) +#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS (*__local_stdio_printf_options()) #endif #ifndef _CRT_INTERNAL_LOCAL_SCANF_OPTIONS -#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS +#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS (*__local_stdio_scanf_options()) #endif +#ifdef __cplusplus +} +#endif #endif /* _STDIO_CONFIG_DEFINED */ diff --git a/lib/libc/include/any-windows-any/corecrt_wctype.h b/lib/libc/include/any-windows-any/corecrt_wctype.h new file mode 100644 index 000000000000..d2a58d81d2e1 --- /dev/null +++ b/lib/libc/include/any-windows-any/corecrt_wctype.h @@ -0,0 +1,164 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#ifndef _INC_CORECRT_WCTYPE +#define _INC_CORECRT_WCTYPE + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _WCTYPE_T_DEFINED +#define _WCTYPE_T_DEFINED + typedef unsigned short wint_t; + typedef unsigned short wctype_t; +#endif /* _WCTYPE_T_DEFINED */ + +#ifndef WEOF +#define WEOF (wint_t)(0xFFFF) +#endif + +#ifndef _CRT_CTYPEDATA_DEFINED +#define _CRT_CTYPEDATA_DEFINED +#ifndef _CTYPE_DISABLE_MACROS + +#ifndef __PCTYPE_FUNC +#define __PCTYPE_FUNC __pctype_func() + _CRTIMP const unsigned short* __pctype_func(void); +#endif + +#ifndef _pctype +#define _pctype (__pctype_func()) +#endif + +#endif +#endif + +#ifndef _CRT_WCTYPEDATA_DEFINED +#define _CRT_WCTYPEDATA_DEFINED +#ifndef _CTYPE_DISABLE_MACROS +#if !defined(_wctype) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) + extern const unsigned short ** __MINGW_IMP_SYMBOL(_wctype); +#define _wctype (* __MINGW_IMP_SYMBOL(_wctype)) +#endif + + _CRTIMP const wctype_t * __cdecl __pwctype_func(void); +#ifndef _pwctype +#define _pwctype (__pwctype_func()) +#endif +#endif +#endif + +#define _UPPER 0x1 +#define _LOWER 0x2 +#define _DIGIT 0x4 +#define _SPACE 0x8 + +#define _PUNCT 0x10 +#define _CONTROL 0x20 +#define _BLANK 0x40 +#define _HEX 0x80 + +#define _LEADBYTE 0x8000 +#define _ALPHA (0x0100|_UPPER|_LOWER) + +#ifndef _WCTYPE_DEFINED +#define _WCTYPE_DEFINED + + _CRTIMP int __cdecl iswalpha(wint_t _C); + _CRTIMP int __cdecl iswupper(wint_t _C); + _CRTIMP int __cdecl iswlower(wint_t _C); + _CRTIMP int __cdecl iswdigit(wint_t _C); + _CRTIMP int __cdecl iswxdigit(wint_t _C); + _CRTIMP int __cdecl iswspace(wint_t _C); + _CRTIMP int __cdecl iswpunct(wint_t _C); + _CRTIMP int __cdecl iswalnum(wint_t _C); + _CRTIMP int __cdecl iswprint(wint_t _C); + _CRTIMP int __cdecl iswgraph(wint_t _C); + _CRTIMP int __cdecl iswcntrl(wint_t _C); + _CRTIMP int __cdecl iswascii(wint_t _C); +#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP + _CRTIMP int __cdecl isleadbyte(int _C); +#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ + _CRTIMP wint_t __cdecl towupper(wint_t _C); + _CRTIMP wint_t __cdecl towlower(wint_t _C); + _CRTIMP int __cdecl iswctype(wint_t _C,wctype_t _Type); + _CRTIMP int __cdecl __iswcsymf(wint_t _C); + _CRTIMP int __cdecl __iswcsym(wint_t _C); + _CRTIMP int __cdecl iswblank(wint_t _C); +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) + /* These are available since msvcr80.dll (__MSVCRT_VERSION__ >= 0x800), and in + * msvcrt.dll (__MSVCRT_VERSION__ == 0x600) since Vista (_WIN32_WINNT >= 0x0600). */ + _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale); + _CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale); + _CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale); +# ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP + _CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale); +# endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ + _CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale); + _CRTIMP int __cdecl _iswblank_l(wint_t _C,_locale_t _Locale); +#endif +#if __MSVCRT_VERSION__ >= 0x800 + /* These are only available since msvcr80.dll, never in msvcrt.dll. */ + _CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale); + _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); +#endif +#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP + _CRTIMP int __cdecl is_wctype(wint_t _C,wctype_t _Type); +#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ +#endif + +#ifndef _WCTYPE_INLINE_DEFINED +#define _WCTYPE_INLINE_DEFINED + +#undef _CRT_WCTYPE_NOINLINE +#ifndef __cplusplus +#define iswalpha(_c) (iswctype(_c,_ALPHA)) +#define iswupper(_c) (iswctype(_c,_UPPER)) +#define iswlower(_c) (iswctype(_c,_LOWER)) +#define iswdigit(_c) (iswctype(_c,_DIGIT)) +#define iswxdigit(_c) (iswctype(_c,_HEX)) +#define iswspace(_c) (iswctype(_c,_SPACE)) +#define iswpunct(_c) (iswctype(_c,_PUNCT)) +#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) +#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) +#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) +#define iswcntrl(_c) (iswctype(_c,_CONTROL)) +#define iswascii(_c) ((unsigned)(_c) < 0x80) +#define iswblank(_c) (((_c) == '\t') || iswctype(_c,_BLANK)) +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) +# define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) +# define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) +# define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) +# define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p)) +# define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p)) +# define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p)) +# define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p)) +# define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p)) +# define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p)) +# define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) +# define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) +# define _iswblank_l(_c,_p) (((_c) == '\t') || _iswctype_l(_c,_BLANK,_p)) +#endif /* __MSVCRT_VERSION__ >= 0x800 */ +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/lib/libc/include/any-windows-any/corhdr.h b/lib/libc/include/any-windows-any/corhdr.h index 0d9f68e38498..3d3e4d8d46f9 100644 --- a/lib/libc/include/any-windows-any/corhdr.h +++ b/lib/libc/include/any-windows-any/corhdr.h @@ -42,7 +42,7 @@ typedef enum CorTypeAttr { tdForwarder = 0x200000, tdReservedMask = 0x40800, tdRTSpecialName = 0x800, - tdHasSecurity = 0x40000, + tdHasSecurity = 0x40000 } CorTypeAttr; typedef enum CorMethodAttr { @@ -164,7 +164,7 @@ typedef enum CorPropertyAttr { typedef enum CorEventAttr { evSpecialName = 0x0200, evReservedMask = 0x0400, - evRTSpecialName = 0x0400, + evRTSpecialName = 0x0400 } CorEventAttr; typedef enum CorMethodSemanticsAttr { @@ -266,12 +266,12 @@ typedef enum CorAssemblyFlags { typedef enum CorManifestResourceFlags { mrVisibilityMask = 0x0007, mrPublic = 0x0001, - mrPrivate = 0x0002, + mrPrivate = 0x0002 } CorManifestResourceFlags; typedef enum CorFileFlags { ffContainsMetaData = 0x0000, - ffContainsNoMetaData = 0x0001, + ffContainsNoMetaData = 0x0001 } CorFileFlags; typedef enum CorPEKind { @@ -331,7 +331,7 @@ typedef enum CorElementType { ELEMENT_TYPE_MAX = 0x22, ELEMENT_TYPE_MODIFIER = 0x40, ELEMENT_TYPE_SENTINEL = 0x01 | ELEMENT_TYPE_MODIFIER, - ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER, + ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER } CorElementType; typedef enum CorSerializationType { @@ -370,7 +370,7 @@ typedef enum CorCallingConvention { IMAGE_CEE_CS_CALLCONV_MASK = 0x0f, IMAGE_CEE_CS_CALLCONV_HASTHIS = 0x20, IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS = 0x40, - IMAGE_CEE_CS_CALLCONV_GENERIC = 0x10, + IMAGE_CEE_CS_CALLCONV_GENERIC = 0x10 } CorCallingConvention; typedef enum CorUnmanagedCallingConvention { @@ -381,7 +381,7 @@ typedef enum CorUnmanagedCallingConvention { IMAGE_CEE_CS_CALLCONV_C = IMAGE_CEE_UNMANAGED_CALLCONV_C, IMAGE_CEE_CS_CALLCONV_STDCALL = IMAGE_CEE_UNMANAGED_CALLCONV_STDCALL, IMAGE_CEE_CS_CALLCONV_THISCALL = IMAGE_CEE_UNMANAGED_CALLCONV_THISCALL, - IMAGE_CEE_CS_CALLCONV_FASTCALL = IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL, + IMAGE_CEE_CS_CALLCONV_FASTCALL = IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL } CorUnmanagedCallingConvention; typedef enum CorArgType { @@ -395,7 +395,7 @@ typedef enum CorArgType { IMAGE_CEE_CS_OBJECT = 0x7, IMAGE_CEE_CS_STRUCT4 = 0x8, IMAGE_CEE_CS_STRUCT32 = 0x9, - IMAGE_CEE_CS_BYVALUE = 0xa, + IMAGE_CEE_CS_BYVALUE = 0xa } CorArgType; typedef enum CorNativeType { @@ -471,7 +471,7 @@ typedef enum CorILMethodFlags { CorILMethod_SmallFormat = 0x0, CorILMethod_TinyFormat = 0x0002, CorILMethod_FatFormat = 0x0003, - CorILMethod_TinyFormat1 = 0x0006, + CorILMethod_TinyFormat1 = 0x0006 } CorILMethodFlags; typedef enum CorExceptionFlag { @@ -556,7 +556,7 @@ typedef enum CorSetENC { MDUpdateExtension = 0x00000003, MDUpdateIncremental = 0x00000004, MDUpdateDelta = 0x00000005, - MDUpdateMask = 0x00000007, + MDUpdateMask = 0x00000007 } CorSetENC; typedef enum CorErrorIfEmitOutOfOrder { @@ -567,7 +567,7 @@ typedef enum CorErrorIfEmitOutOfOrder { MDFieldOutOfOrder = 0x00000002, MDParamOutOfOrder = 0x00000004, MDPropertyOutOfOrder = 0x00000008, - MDEventOutOfOrder = 0x00000010, + MDEventOutOfOrder = 0x00000010 } CorErrorIfEmitOutOfOrder; typedef enum CorImportOptions { @@ -634,7 +634,7 @@ typedef enum CorTokenType { mdtGenericParamConstraint = 0x2c000000, mdtString = 0x70000000, mdtName = 0x71000000, - mdtBaseType = 0x72000000, + mdtBaseType = 0x72000000 } CorTokenType; typedef enum CorOpenFlags { @@ -669,7 +669,7 @@ typedef enum CorAttributeTargets { catGenericParameter = 0x4000, catAll = catAssembly | catModule | catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catInterface | catParameter | catDelegate | catGenericParameter, - catClassMembers = catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catDelegate | catInterface, + catClassMembers = catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catDelegate | catInterface } CorAttributeTargets; typedef enum CorFileMapping { diff --git a/lib/libc/include/any-windows-any/credentialprovider.h b/lib/libc/include/any-windows-any/credentialprovider.h index f440899ec2e1..eff713bba3d4 100644 --- a/lib/libc/include/any-windows-any/credentialprovider.h +++ b/lib/libc/include/any-windows-any/credentialprovider.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/credentialprovider.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/credentialprovider.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/crtdbg.h b/lib/libc/include/any-windows-any/crtdbg.h index c498bcfa63f0..37014c4fb291 100644 --- a/lib/libc/include/any-windows-any/crtdbg.h +++ b/lib/libc/include/any-windows-any/crtdbg.h @@ -161,12 +161,10 @@ extern "C" { #define _aligned_offset_malloc_dbg(s,a,o,f,l) _aligned_offset_malloc(s,a,o) #define _aligned_offset_realloc_dbg(p,s,a,o,f,l) _aligned_offset_realloc(p,s,a,o) -#if __MSVCRT_VERSION__ >= 0x900 #define _recalloc_dbg(p,c,s,t,f,l) _recalloc(p,c,s) #define _aligned_recalloc_dbg(p,c,s,a,f,l) _aligned_realloc(p,c,s,a) #define _aligned_offset_recalloc_dbg(p,c,s,a,o,f,l) _aligned_offset_recalloc(p,c,s,a,o) #define _aligned_msize_dbg(p,a,o) _aligned_msize(p,a,o) -#endif #define _malloca_dbg(s,t,f,l) _malloca(s) #define _freea_dbg(p,t) _freea(p) diff --git a/lib/libc/include/any-windows-any/ctfutb.h b/lib/libc/include/any-windows-any/ctfutb.h index 963e8c979cc4..04f3e99aeaaa 100644 --- a/lib/libc/include/any-windows-any/ctfutb.h +++ b/lib/libc/include/any-windows-any/ctfutb.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/ctfutb.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/ctfutb.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/ctxtcall.h b/lib/libc/include/any-windows-any/ctxtcall.h index 350873862f48..b81a01f95b0d 100644 --- a/lib/libc/include/any-windows-any/ctxtcall.h +++ b/lib/libc/include/any-windows-any/ctxtcall.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/ctxtcall.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/ctxtcall.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/ctype.h b/lib/libc/include/any-windows-any/ctype.h index 2c8499d4d5bb..05986d9977d9 100644 --- a/lib/libc/include/any-windows-any/ctype.h +++ b/lib/libc/include/any-windows-any/ctype.h @@ -6,7 +6,7 @@ #ifndef _INC_CTYPE #define _INC_CTYPE -#include +#include #ifdef __cplusplus extern "C" { @@ -14,37 +14,6 @@ extern "C" { #ifndef WEOF #define WEOF (wint_t)(0xFFFF) -#endif - -#ifndef _CRT_CTYPEDATA_DEFINED -#define _CRT_CTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS - -#ifndef __PCTYPE_FUNC -#define __PCTYPE_FUNC __pctype_func() - _CRTIMP const unsigned short* __pctype_func(void); -#endif - -#ifndef _pctype -#define _pctype (__pctype_func()) -#endif - -#endif -#endif - -#ifndef _CRT_WCTYPEDATA_DEFINED -#define _CRT_WCTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS -#if !defined(_wctype) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) - extern const unsigned short ** __MINGW_IMP_SYMBOL(_wctype); -#define _wctype (* __MINGW_IMP_SYMBOL(_wctype)) -#endif - - _CRTIMP const wctype_t * __cdecl __pwctype_func(void); -#ifndef _pwctype -#define _pwctype (__pwctype_func()) -#endif -#endif #endif /* CRT stuff */ @@ -61,123 +30,45 @@ extern "C" { pthreadmbcinfo __cdecl __updatetmbcinfo(void); #endif -#define _UPPER 0x1 -#define _LOWER 0x2 -#define _DIGIT 0x4 -#define _SPACE 0x8 - -#define _PUNCT 0x10 -#define _CONTROL 0x20 -#define _BLANK 0x40 -#define _HEX 0x80 - -#define _LEADBYTE 0x8000 -#define _ALPHA (0x0100|_UPPER|_LOWER) - #ifndef _CTYPE_DEFINED #define _CTYPE_DEFINED - _CRTIMP int __cdecl _isctype(int _C,int _Type); - _CRTIMP int __cdecl _isctype_l(int _C,int _Type,_locale_t _Locale); _CRTIMP int __cdecl isalpha(int _C); - _CRTIMP int __cdecl _isalpha_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isupper(int _C); - _CRTIMP int __cdecl _isupper_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl islower(int _C); - _CRTIMP int __cdecl _islower_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isdigit(int _C); - _CRTIMP int __cdecl _isdigit_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isxdigit(int _C); - _CRTIMP int __cdecl _isxdigit_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isspace(int _C); - _CRTIMP int __cdecl _isspace_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl ispunct(int _C); - _CRTIMP int __cdecl _ispunct_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isalnum(int _C); - _CRTIMP int __cdecl _isalnum_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isprint(int _C); - _CRTIMP int __cdecl _isprint_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl isgraph(int _C); - _CRTIMP int __cdecl _isgraph_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl iscntrl(int _C); - _CRTIMP int __cdecl _iscntrl_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl toupper(int _C); + _CRTIMP int __cdecl _toupper(int _C); _CRTIMP int __cdecl tolower(int _C); _CRTIMP int __cdecl _tolower(int _C); _CRTIMP int __cdecl _tolower_l(int _C,_locale_t _Locale); - _CRTIMP int __cdecl _toupper(int _C); + _CRTIMP int __cdecl _isctype(int _C,int _Type); + _CRTIMP int __cdecl isblank(int _C); + _CRTIMP int __cdecl _isalpha_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isupper_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _islower_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isdigit_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isxdigit_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isspace_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _ispunct_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isalnum_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isprint_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isgraph_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _iscntrl_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl _toupper_l(int _C,_locale_t _Locale); + _CRTIMP int __cdecl _isctype_l(int _C,int _Type,_locale_t _Locale); + _CRTIMP int __cdecl _isblank_l(int _C,_locale_t _Locale); _CRTIMP int __cdecl __isascii(int _C); _CRTIMP int __cdecl __toascii(int _C); _CRTIMP int __cdecl __iscsymf(int _C); _CRTIMP int __cdecl __iscsym(int _C); -#if __MSVCRT_VERSION__ >= 0xC00 - _CRTIMP int __cdecl isblank(int _C); - _CRTIMP int __cdecl _isblank_l(int _C,_locale_t _Locale); -#else - int __cdecl isblank(int _C); -#endif /* msvcr120 */ -#endif - -#ifndef _WCTYPE_DEFINED -#define _WCTYPE_DEFINED - - _CRTIMP int __cdecl iswalpha(wint_t _C); - _CRTIMP int __cdecl iswupper(wint_t _C); - _CRTIMP int __cdecl iswlower(wint_t _C); - _CRTIMP int __cdecl iswdigit(wint_t _C); - _CRTIMP int __cdecl iswxdigit(wint_t _C); - _CRTIMP int __cdecl iswspace(wint_t _C); - _CRTIMP int __cdecl iswpunct(wint_t _C); - _CRTIMP int __cdecl iswalnum(wint_t _C); - _CRTIMP int __cdecl iswprint(wint_t _C); - _CRTIMP int __cdecl iswgraph(wint_t _C); - _CRTIMP int __cdecl iswcntrl(wint_t _C); - _CRTIMP int __cdecl iswascii(wint_t _C); -#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - _CRTIMP int __cdecl isleadbyte(int _C); -#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - _CRTIMP wint_t __cdecl towupper(wint_t _C); - _CRTIMP wint_t __cdecl towlower(wint_t _C); - _CRTIMP int __cdecl iswctype(wint_t _C,wctype_t _Type); -#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) - /* These are available since msvcr80.dll (__MSVCRT_VERSION__ >= 0x800), and in - * msvcrt.dll (__MSVCRT_VERSION__ == 0x600) since Vista (_WIN32_WINNT >= 0x0600). */ - _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale); - _CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale); - _CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale); -# ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - _CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale); -# endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - _CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale); - _CRTIMP int __cdecl __iswcsymf(wint_t _C); - _CRTIMP int __cdecl __iswcsym(wint_t _C); -#endif -#if __MSVCRT_VERSION__ >= 0x800 - /* These are only available since msvcr80.dll, never in msvcrt.dll. */ - _CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); -#endif -#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - _CRTIMP int __cdecl is_wctype(wint_t _C,wctype_t _Type); -#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - -#if __MSVCRT_VERSION__ >= 0xC00 - _CRTIMP int __cdecl iswblank(wint_t _C); - _CRTIMP int __cdecl _iswblank_l(wint_t _C,_locale_t _Locale); -#else - int __cdecl iswblank(wint_t _C); -#endif /* msvcr120 */ #endif #ifndef _CTYPE_DISABLE_MACROS @@ -209,48 +100,12 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); #define _isprint_l(_Char,_Locale) _ischartype_l(_Char,_BLANK|_PUNCT|_ALPHA|_DIGIT,_Locale) #define _isgraph_l(_Char,_Locale) _ischartype_l(_Char,_PUNCT|_ALPHA|_DIGIT,_Locale) #define _iscntrl_l(_Char,_Locale) _ischartype_l(_Char,_CONTROL,_Locale) +#define _isblank_l(_Char,_Locale) (((_Char) == '\t') || _ischartype_l(_Char,_BLANK,_Locale)) #define _tolower(_Char) ((_Char)-'A'+'a') #define _toupper(_Char) ((_Char)-'a'+'A') #define __isascii(_Char) ((unsigned)(_Char) < 0x80) #define __toascii(_Char) ((_Char) & 0x7f) -#ifndef _WCTYPE_INLINE_DEFINED -#define _WCTYPE_INLINE_DEFINED - -#undef _CRT_WCTYPE_NOINLINE -#ifndef __cplusplus -#define iswalpha(_c) (iswctype(_c,_ALPHA)) -#define iswupper(_c) (iswctype(_c,_UPPER)) -#define iswlower(_c) (iswctype(_c,_LOWER)) -#define iswdigit(_c) (iswctype(_c,_DIGIT)) -#define iswxdigit(_c) (iswctype(_c,_HEX)) -#define iswspace(_c) (iswctype(_c,_SPACE)) -#define iswpunct(_c) (iswctype(_c,_PUNCT)) -#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) -#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) -#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) -#define iswcntrl(_c) (iswctype(_c,_CONTROL)) -#define iswascii(_c) ((unsigned)(_c) < 0x80) -#define iswblank(_c) (iswctype(_c,_SPACE) || ((_c)=='\t')) -#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) -# define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) -# define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) -# define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) -# define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p)) -# define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p)) -# define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p)) -# define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p)) -# define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p)) -# define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p)) -# define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) -# define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) -#endif /* __MSVCRT_VERSION__ >= 0x800 */ -#if __MSVCRT_VERSION__ >= 0xC00 -#define _iswblank_l(_c,_p) (_iswctype_l(_c,_BLANK,_p) || ((_c)=='\t')) -#endif -#endif /* __cplusplus */ -#endif - #define __iscsymf(_c) (isalpha(_c) || ((_c)=='_')) #define __iscsym(_c) (isalnum(_c) || ((_c)=='_')) #define __iswcsymf(_c) (iswalpha(_c) || ((_c)=='_')) diff --git a/lib/libc/include/any-windows-any/d3d10.h b/lib/libc/include/any-windows-any/d3d10.h index 23cb271e3543..01a08b0de838 100644 --- a/lib/libc/include/any-windows-any/d3d10.h +++ b/lib/libc/include/any-windows-any/d3d10.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d10.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d10.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d10_1.h b/lib/libc/include/any-windows-any/d3d10_1.h index d21eeb338ef2..edd43173cfd0 100644 --- a/lib/libc/include/any-windows-any/d3d10_1.h +++ b/lib/libc/include/any-windows-any/d3d10_1.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d10_1.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d10_1.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d10effect.h b/lib/libc/include/any-windows-any/d3d10effect.h index 5c4b86aaa606..72351aa824f1 100644 --- a/lib/libc/include/any-windows-any/d3d10effect.h +++ b/lib/libc/include/any-windows-any/d3d10effect.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d10effect.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d10effect.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d10sdklayers.h b/lib/libc/include/any-windows-any/d3d10sdklayers.h index cc8e9ec4a82b..075a7e7c6acf 100644 --- a/lib/libc/include/any-windows-any/d3d10sdklayers.h +++ b/lib/libc/include/any-windows-any/d3d10sdklayers.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d10sdklayers.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d10sdklayers.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d10shader.h b/lib/libc/include/any-windows-any/d3d10shader.h index 0c826c6c922c..715443615d33 100644 --- a/lib/libc/include/any-windows-any/d3d10shader.h +++ b/lib/libc/include/any-windows-any/d3d10shader.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d10shader.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d10shader.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11.h b/lib/libc/include/any-windows-any/d3d11.h index 407c5d443018..6661705359df 100644 --- a/lib/libc/include/any-windows-any/d3d11.h +++ b/lib/libc/include/any-windows-any/d3d11.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11_1.h b/lib/libc/include/any-windows-any/d3d11_1.h index 117c9a9432ea..a09bb523ef12 100644 --- a/lib/libc/include/any-windows-any/d3d11_1.h +++ b/lib/libc/include/any-windows-any/d3d11_1.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_1.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11_1.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11_2.h b/lib/libc/include/any-windows-any/d3d11_2.h index 8de7055d277d..c5c78331a146 100644 --- a/lib/libc/include/any-windows-any/d3d11_2.h +++ b/lib/libc/include/any-windows-any/d3d11_2.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11_2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11_3.h b/lib/libc/include/any-windows-any/d3d11_3.h index e8087e4add07..7161351ab77a 100644 --- a/lib/libc/include/any-windows-any/d3d11_3.h +++ b/lib/libc/include/any-windows-any/d3d11_3.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_3.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11_3.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11_4.h b/lib/libc/include/any-windows-any/d3d11_4.h index a2bf87f06948..c55568fe1eda 100644 --- a/lib/libc/include/any-windows-any/d3d11_4.h +++ b/lib/libc/include/any-windows-any/d3d11_4.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11_4.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11_4.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11on12.h b/lib/libc/include/any-windows-any/d3d11on12.h index f2d9ab39625d..83d87826e6a3 100644 --- a/lib/libc/include/any-windows-any/d3d11on12.h +++ b/lib/libc/include/any-windows-any/d3d11on12.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11on12.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11on12.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d11sdklayers.h b/lib/libc/include/any-windows-any/d3d11sdklayers.h index 1091ef0103ce..5a8b3e8e717c 100644 --- a/lib/libc/include/any-windows-any/d3d11sdklayers.h +++ b/lib/libc/include/any-windows-any/d3d11sdklayers.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d11sdklayers.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d11sdklayers.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d12.h b/lib/libc/include/any-windows-any/d3d12.h index d431790aafd8..1f6c0575365c 100644 --- a/lib/libc/include/any-windows-any/d3d12.h +++ b/lib/libc/include/any-windows-any/d3d12.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d12.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d12.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d12sdklayers.h b/lib/libc/include/any-windows-any/d3d12sdklayers.h index 69c10b8abd74..2839ab1d7721 100644 --- a/lib/libc/include/any-windows-any/d3d12sdklayers.h +++ b/lib/libc/include/any-windows-any/d3d12sdklayers.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d12sdklayers.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d12sdklayers.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d12shader.h b/lib/libc/include/any-windows-any/d3d12shader.h index dcd09944ffef..8113d9c9251b 100644 --- a/lib/libc/include/any-windows-any/d3d12shader.h +++ b/lib/libc/include/any-windows-any/d3d12shader.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d12shader.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d12shader.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d12video.h b/lib/libc/include/any-windows-any/d3d12video.h index 598341a7e3f2..51ec79676a12 100644 --- a/lib/libc/include/any-windows-any/d3d12video.h +++ b/lib/libc/include/any-windows-any/d3d12video.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3d12video.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3d12video.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3d8.h b/lib/libc/include/any-windows-any/d3d8.h index 856c08497924..72e7a7cfe82f 100644 --- a/lib/libc/include/any-windows-any/d3d8.h +++ b/lib/libc/include/any-windows-any/d3d8.h @@ -128,7 +128,7 @@ typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLU */ #undef INTERFACE #define INTERFACE IDirect3D8 -DECLARE_INTERFACE_(IDirect3D8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3D8,IUnknown,"1dd9e8da-1c77-4d40-b0cf-98fefdff9512") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -195,7 +195,7 @@ DECLARE_INTERFACE_(IDirect3D8,IUnknown) * IDirect3DVolume8 interface */ #define INTERFACE IDirect3DVolume8 -DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DVolume8,IUnknown,"bd7349f5-14f1-42e4-9c79-972380db40c0") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -247,7 +247,7 @@ DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown) * IDirect3DSwapChain8 interface */ #define INTERFACE IDirect3DSwapChain8 -DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DSwapChain8,IUnknown,"928c088b-76b9-4c6b-a536-a590853876cd") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -282,7 +282,7 @@ DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown) * IDirect3DSurface8 interface */ #define INTERFACE IDirect3DSurface8 -DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DSurface8,IUnknown,"b96eebca-b326-4ea5-882f-2ff5bae021dd") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -334,7 +334,7 @@ DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown) * IDirect3DResource8 interface */ #define INTERFACE IDirect3DResource8 -DECLARE_INTERFACE_(IDirect3DResource8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DResource8,IUnknown,"1b36bb7b-09b7-410a-b445-7d1430d7b33f") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -386,7 +386,7 @@ DECLARE_INTERFACE_(IDirect3DResource8,IUnknown) * IDirect3DVertexBuffer8 interface */ #define INTERFACE IDirect3DVertexBuffer8 -DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8) +DECLARE_INTERFACE_IID_(IDirect3DVertexBuffer8,IDirect3DResource8,"8aeeeac7-05f9-44d4-b591-000b0df1cb95") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -450,7 +450,7 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8) * IDirect3DIndexBuffer8 interface */ #define INTERFACE IDirect3DIndexBuffer8 -DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8) +DECLARE_INTERFACE_IID_(IDirect3DIndexBuffer8,IDirect3DResource8,"0e689c9a-053d-44a0-9d92-db0e3d750f86") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -514,7 +514,7 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8) * IDirect3DBaseTexture8 interface */ #define INTERFACE IDirect3DBaseTexture8 -DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8) +DECLARE_INTERFACE_IID_(IDirect3DBaseTexture8,IDirect3DResource8,"b4211cfa-51b9-4a9f-ab78-db99b2bb678e") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -578,7 +578,7 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8) * IDirect3DCubeTexture8 interface */ #define INTERFACE IDirect3DCubeTexture8 -DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8) +DECLARE_INTERFACE_IID_(IDirect3DCubeTexture8,IDirect3DBaseTexture8,"3ee5b968-2aca-4c34-8bb5-7e0c3d19b750") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -661,7 +661,7 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8) * IDirect3DTexture8 interface */ #define INTERFACE IDirect3DTexture8 -DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8) +DECLARE_INTERFACE_IID_(IDirect3DTexture8,IDirect3DBaseTexture8,"e4cdd575-2866-4f01-b12e-7eece1ec9358") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -743,7 +743,7 @@ DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8) * IDirect3DVolumeTexture8 interface */ #define INTERFACE IDirect3DVolumeTexture8 -DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8) +DECLARE_INTERFACE_IID_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8,"4b8aaafa-140f-42ba-9131-597eafaa2ead") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -825,7 +825,7 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture8,IDirect3DBaseTexture8) * IDirect3DDevice8 interface */ #define INTERFACE IDirect3DDevice8 -DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DDevice8,IUnknown,"7385e5df-8fe8-41d5-86b6-d7b48547b6cf") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1115,7 +1115,7 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown) #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e) #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d) #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h) -#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->processVertices(a,b,c,d,e) +#define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->ProcessVertices(a,b,c,d,e) #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d) #define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a) #define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a) diff --git a/lib/libc/include/any-windows-any/d3d8caps.h b/lib/libc/include/any-windows-any/d3d8caps.h index 469dacec326f..345884fc19f0 100644 --- a/lib/libc/include/any-windows-any/d3d8caps.h +++ b/lib/libc/include/any-windows-any/d3d8caps.h @@ -20,7 +20,7 @@ #define __WINE_D3D8CAPS_H #ifdef __i386__ -#include +#pragma pack(push,4) #endif /* @@ -290,7 +290,7 @@ typedef struct _D3DCAPS8 { } D3DCAPS8; #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif /* __WINE_D3D8CAPS_H */ diff --git a/lib/libc/include/any-windows-any/d3d8types.h b/lib/libc/include/any-windows-any/d3d8types.h index d14e20ab0276..64a57274b3fb 100644 --- a/lib/libc/include/any-windows-any/d3d8types.h +++ b/lib/libc/include/any-windows-any/d3d8types.h @@ -20,7 +20,7 @@ #define __WINE_D3D8TYPES_H #ifdef __i386__ -#include +#pragma pack(push,4) #endif /***************************************************************************** @@ -150,6 +150,9 @@ #define D3DCOLORWRITEENABLE_BLUE (__MSABI_LONG(1)<<2) #define D3DCOLORWRITEENABLE_ALPHA (__MSABI_LONG(1)<<3) +#define D3DDEVINFOID_RESOURCEMANAGER 5 +#define D3DDEVINFOID_VERTEXSTATS 6 + #ifndef MAKEFOURCC #define MAKEFOURCC(ch0, ch1, ch2, ch3) \ @@ -1117,6 +1120,9 @@ typedef struct _D3DMATRIX { } DUMMYUNIONNAME; } D3DMATRIX; +#define D3DPRESENT_RATE_DEFAULT 0 +#define D3DPRESENT_RATE_UNLIMITED 0x7fffffff + typedef struct _D3DPRESENT_PARAMETERS_ { UINT BackBufferWidth; UINT BackBufferHeight; @@ -1214,7 +1220,7 @@ typedef struct _D3DVOLUME_DESC { } D3DVOLUME_DESC; #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif /* __WINE_D3D8TYPES_H */ diff --git a/lib/libc/include/any-windows-any/d3d9.h b/lib/libc/include/any-windows-any/d3d9.h index 067006755c0a..70bc1193d427 100644 --- a/lib/libc/include/any-windows-any/d3d9.h +++ b/lib/libc/include/any-windows-any/d3d9.h @@ -175,7 +175,7 @@ typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9; */ #undef INTERFACE #define INTERFACE IDirect3D9 -DECLARE_INTERFACE_(IDirect3D9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3D9,IUnknown,"81bdcbca-64d4-426d-ae8d-ad0147f4275c") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -249,7 +249,7 @@ __CRT_UUID_DECL(IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, * IDirect3DVolume9 interface */ #define INTERFACE IDirect3DVolume9 -DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DVolume9,IUnknown,"24f416e6-1f67-4aa7-b88e-d33f6f3128a1") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -305,7 +305,7 @@ __CRT_UUID_DECL(IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, * IDirect3DSwapChain9 interface */ #define INTERFACE IDirect3DSwapChain9 -DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DSwapChain9,IUnknown,"794950f2-adfc-458a-905e-10a10b0b503b") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; @@ -359,7 +359,7 @@ __CRT_UUID_DECL(IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, * IDirect3DResource9 interface */ #define INTERFACE IDirect3DResource9 -DECLARE_INTERFACE_(IDirect3DResource9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DResource9,IUnknown,"05eec05d-8f7d-4362-b999-d1baf357c704") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -415,7 +415,7 @@ __CRT_UUID_DECL(IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0 * IDirect3DSurface9 interface */ #define INTERFACE IDirect3DSurface9 -DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9) +DECLARE_INTERFACE_IID_(IDirect3DSurface9,IDirect3DResource9,"0cfbaf3a-9ff6-429a-99b3-a2796af8b89b") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -492,7 +492,7 @@ __CRT_UUID_DECL(IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0 * IDirect3DVertexBuffer9 interface */ #define INTERFACE IDirect3DVertexBuffer9 -DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9) +DECLARE_INTERFACE_IID_(IDirect3DVertexBuffer9,IDirect3DResource9,"b64bb1b5-fd70-4df6-bf91-19d0a12455e3") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -560,7 +560,7 @@ __CRT_UUID_DECL(IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, * IDirect3DIndexBuffer9 interface */ #define INTERFACE IDirect3DIndexBuffer9 -DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9) +DECLARE_INTERFACE_IID_(IDirect3DIndexBuffer9,IDirect3DResource9,"7c9dd65e-d3f7-4529-acee-785830acde35") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -628,7 +628,7 @@ __CRT_UUID_DECL(IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, * IDirect3DBaseTexture9 interface */ #define INTERFACE IDirect3DBaseTexture9 -DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9) +DECLARE_INTERFACE_IID_(IDirect3DBaseTexture9,IDirect3DResource9,"580ca87e-1d3c-4d54-991d-b7d3e3c298ce") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -705,7 +705,7 @@ __CRT_UUID_DECL(IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, * IDirect3DCubeTexture9 interface */ #define INTERFACE IDirect3DCubeTexture9 -DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9) +DECLARE_INTERFACE_IID_(IDirect3DCubeTexture9,IDirect3DBaseTexture9,"fff32f81-d953-473a-9223-93d652aba93f") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -801,7 +801,7 @@ __CRT_UUID_DECL(IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, * IDirect3DTexture9 interface */ #define INTERFACE IDirect3DTexture9 -DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9) +DECLARE_INTERFACE_IID_(IDirect3DTexture9,IDirect3DBaseTexture9,"85c31227-3de5-4f00-9b3a-f11ac38c18b5") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -896,7 +896,7 @@ __CRT_UUID_DECL(IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, * IDirect3DVolumeTexture9 interface */ #define INTERFACE IDirect3DVolumeTexture9 -DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9) +DECLARE_INTERFACE_IID_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9,"2518526c-e789-4111-a7b9-47ef328d13e6") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -991,7 +991,7 @@ __CRT_UUID_DECL(IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, * IDirect3DVertexDeclaration9 interface */ #define INTERFACE IDirect3DVertexDeclaration9 -DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DVertexDeclaration9,IUnknown,"dd13c59c-36fa-4098-a8fb-c7ed39dc8546") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1029,7 +1029,7 @@ __CRT_UUID_DECL(IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, * IDirect3DVertexShader9 interface */ #define INTERFACE IDirect3DVertexShader9 -DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DVertexShader9,IUnknown,"efc5557e-6265-4613-8a94-43857889eb36") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1067,7 +1067,7 @@ __CRT_UUID_DECL(IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, * IDirect3DPixelShader9 interface */ #define INTERFACE IDirect3DPixelShader9 -DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DPixelShader9,IUnknown,"6d3bdbdc-5b02-4415-b852-ce5e8bccb289") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1105,7 +1105,7 @@ __CRT_UUID_DECL(IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, * IDirect3DStateBlock9 interface */ #define INTERFACE IDirect3DStateBlock9 -DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DStateBlock9,IUnknown,"b07c4fe5-310d-4ba8-a23c-4f0f206f218b") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1146,7 +1146,7 @@ __CRT_UUID_DECL(IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, * IDirect3DQuery9 interface */ #define INTERFACE IDirect3DQuery9 -DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DQuery9,IUnknown,"d9771460-a695-4f26-bbd3-27b840b541cc") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1193,7 +1193,7 @@ __CRT_UUID_DECL(IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, * IDirect3DDevice9 interface */ #define INTERFACE IDirect3DDevice9 -DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown) +DECLARE_INTERFACE_IID_(IDirect3DDevice9,IUnknown,"d0223b96-bf7a-43fd-92bd-a43b0d82b9eb") { /*** IUnknown methods ***/ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; @@ -1589,7 +1589,7 @@ __CRT_UUID_DECL(IDirect3D9Ex, 0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4 DEFINE_GUID(IID_IDirect3D9Ex, 0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4, 0x4d, 0xf6, 0x86, 0x1d); #define INTERFACE IDirect3D9Ex -DECLARE_INTERFACE_(IDirect3D9Ex, IDirect3D9) +DECLARE_INTERFACE_IID_(IDirect3D9Ex,IDirect3D9,"02177241-69fc-400c-8ff1-93a44df6861d") { /* IUnknown */ STDMETHOD_(HRESULT, QueryInterface)(THIS_ REFIID iid, void **out) PURE; @@ -1688,7 +1688,7 @@ __CRT_UUID_DECL(IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0 DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3); #define INTERFACE IDirect3DSwapChain9Ex -DECLARE_INTERFACE_(IDirect3DSwapChain9Ex, IDirect3DSwapChain9) +DECLARE_INTERFACE_IID_(IDirect3DSwapChain9Ex,IDirect3DSwapChain9,"91886caf-1c3d-4d2e-a0ab-3e4c7d8d3303") { /* IUnknown */ STDMETHOD_(HRESULT, QueryInterface)(THIS_ REFIID iid, void **out) PURE; @@ -1753,7 +1753,7 @@ __CRT_UUID_DECL(IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, DEFINE_GUID(IID_IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a); #define INTERFACE IDirect3DDevice9Ex -DECLARE_INTERFACE_(IDirect3DDevice9Ex, IDirect3DDevice9) +DECLARE_INTERFACE_IID_(IDirect3DDevice9Ex,IDirect3DDevice9,"b18b10ce-2649-405a-870f-95f777d4313a") { /* IUnknown */ STDMETHOD_(HRESULT, QueryInterface)(THIS_ REFIID iid, void **out) PURE; diff --git a/lib/libc/include/any-windows-any/d3d9caps.h b/lib/libc/include/any-windows-any/d3d9caps.h index c62780b4a0a7..ac21fac26128 100644 --- a/lib/libc/include/any-windows-any/d3d9caps.h +++ b/lib/libc/include/any-windows-any/d3d9caps.h @@ -21,7 +21,7 @@ #define __WINE_D3D9CAPS_H #ifdef __i386__ -#include +#pragma pack(push,4) #endif /* @@ -449,7 +449,7 @@ DEFINE_GUID(D3DKEYEXCHANGE_DXVA, 0x43d3775c, 0x38e5, 0x4924, 0x8d, 0x86, #endif #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif diff --git a/lib/libc/include/any-windows-any/d3d9types.h b/lib/libc/include/any-windows-any/d3d9types.h index 49e7f94cbef3..e6335a63adc1 100644 --- a/lib/libc/include/any-windows-any/d3d9types.h +++ b/lib/libc/include/any-windows-any/d3d9types.h @@ -22,7 +22,7 @@ #define __WINE_D3D9TYPES_H #ifdef __i386__ -#include +#pragma pack(push,4) #endif /***************************************************************************** @@ -1366,9 +1366,9 @@ typedef struct D3DRESOURCESTATS { DWORD TotalBytes; } D3DRESOURCESTATS; -typedef struct _D3DDEVINFO_D3DRESOURCEMANAGER { +typedef struct _D3DDEVINFO_RESOURCEMANAGER { D3DRESOURCESTATS stats[D3DRTYPECOUNT]; -} D3DDEVINFO_D3DRESOURCEMANAGER; +} D3DDEVINFO_RESOURCEMANAGER; typedef struct _D3DDEVINFO_D3DVERTEXSTATS { DWORD NumRenderedTriangles; @@ -1632,7 +1632,7 @@ typedef enum _D3DSHADER_COMPARISON } D3DSHADER_COMPARISON; #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif /* __WINE_D3D9TYPES_H */ diff --git a/lib/libc/include/any-windows-any/d3dcaps.h b/lib/libc/include/any-windows-any/d3dcaps.h index 877513ed805d..272107279706 100644 --- a/lib/libc/include/any-windows-any/d3dcaps.h +++ b/lib/libc/include/any-windows-any/d3dcaps.h @@ -22,7 +22,7 @@ #include #ifdef __i386__ -#include +#pragma pack(push,4) #endif typedef struct _D3DTRANSFORMCAPS { @@ -433,7 +433,7 @@ typedef struct _D3DDEVINFO_TEXTURING { } D3DDEVINFO_TEXTURING, *LPD3DDEVINFO_TEXTURING; #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif diff --git a/lib/libc/include/any-windows-any/d3dcommon.h b/lib/libc/include/any-windows-any/d3dcommon.h index da1410daa2dd..a8ae11cc786d 100644 --- a/lib/libc/include/any-windows-any/d3dcommon.h +++ b/lib/libc/include/any-windows-any/d3dcommon.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/d3dcommon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/d3dcommon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/d3drmobj.h b/lib/libc/include/any-windows-any/d3drmobj.h index 048432298312..80de9a8c7bb7 100644 --- a/lib/libc/include/any-windows-any/d3drmobj.h +++ b/lib/libc/include/any-windows-any/d3drmobj.h @@ -279,7 +279,7 @@ DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown) #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b) #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c) #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b) -#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->SetClientData(p,a,b) +#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->lpVtbl->GetClientData(p,a,b) #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->lpVtbl->GetDirect3DRM(p,a) #define IDirect3DRMObject2_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b) #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->lpVtbl->SetClientData(p,a,b,c) @@ -294,7 +294,7 @@ DECLARE_INTERFACE_(IDirect3DRMObject2,IUnknown) #define IDirect3DRMObject2_AddDestroyCallback(p,a,b) (p)->AddDestroyCallback(a,b) #define IDirect3DRMObject2_Clone(p,a,b,c) (p)->Clone(a,b,c) #define IDirect3DRMObject2_DeleteDestroyCallback(p,a,b) (p)->DeleteDestroyCallback(a,b) -#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->SetClientData(a,b) +#define IDirect3DRMObject2_GetClientData(p,a,b) (p)->GetClientData(a,b) #define IDirect3DRMObject2_GetDirect3DRM(p,a) (p)->GetDirect3DRM(a) #define IDirect3DRMObject2_GetName(p,a,b) (p)->GetName(a,b) #define IDirect3DRMObject2_SetClientData(p,a,b,c) (p)->SetClientData(a,b,c) @@ -991,7 +991,7 @@ DECLARE_INTERFACE_(IDirect3DRMViewport2,IDirect3DRMObject) #define IDirect3DRMViewport2_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDirect3DRMViewport2_Release(p) (p)->lpVtbl->Release(p) /*** IDirect3DRMObject methods ***/ -#define IDirect3DRMViewport_2Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c) +#define IDirect3DRMViewport2_Clone(p,a,b,c) (p)->lpVtbl->Clone(p,a,b,c) #define IDirect3DRMViewport2_AddDestroyCallback(p,a,b) (p)->lpVtbl->AddDestroyCallback(p,a,b) #define IDirect3DRMViewport2_DeleteDestroyCallback(p,a,b) (p)->lpVtbl->DeleteDestroyCallback(p,a,b) #define IDirect3DRMViewport2_SetAppData(p,a) (p)->lpVtbl->SetAppData(p,a) @@ -2155,7 +2155,7 @@ DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual) #define IDirect3DRMShadow_GetName(p,a,b) (p)->lpVtbl->GetName(p,a,b) #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->lpVtbl->GetClassName(p,a,b) /*** IDirect3DRMShadow methods ***/ -#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Load(p,a,b,c,d,e,f,g) +#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->lpVtbl->Init(p,a,b,c,d,e,f,g) #else /*** IUnknown methods ***/ #define IDirect3DRMShadow_QueryInterface(p,a,b) (p)->QueryInterface(a,b) @@ -2171,7 +2171,7 @@ DECLARE_INTERFACE_(IDirect3DRMShadow,IDirect3DRMVisual) #define IDirect3DRMShadow_GetName(p,a,b) (p)->GetName(a,b) #define IDirect3DRMShadow_GetClassName(p,a,b) (p)->GetClassName(a,b) /*** IDirect3DRMShadow methods ***/ -#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Load(a,b,c,d,e,f,g) +#define IDirect3DRMShadow_Init(p,a,b,c,d,e,f,g) (p)->Init(a,b,c,d,e,f,g) #endif /***************************************************************************** @@ -3251,7 +3251,7 @@ DECLARE_INTERFACE_(IDirect3DRMTexture, IDirect3DRMVisual) #define IDirect3DRMTexture_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b) #define IDirect3DRMTexture_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a) #define IDirect3DRMTexture_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a) -#define IDirect3DRMTexture_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a) +#define IDirect3DRMTexture_SetDecalTransparentColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a) #define IDirect3DRMTexture_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b) #define IDirect3DRMTexture_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b) #define IDirect3DRMTexture_GetImage(p) (p)->lpVtbl->GetImage(p) @@ -3367,7 +3367,7 @@ DECLARE_INTERFACE_(IDirect3DRMTexture2, IDirect3DRMTexture) #define IDirect3DRMTexture2_SetDecalOrigin(p,a,b) (p)->lpVtbl->SetDecalOrigin(p,a,b) #define IDirect3DRMTexture2_SetDecalScale(p,a) (p)->lpVtbl->SetDecalScale(p,a) #define IDirect3DRMTexture2_SetDecalTransparency(p,a) (p)->lpVtbl->SetDecalTransparency(p,a) -#define IDirect3DRMTexture2_SetDecalTransparencyColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a) +#define IDirect3DRMTexture2_SetDecalTransparentColor(p,a) (p)->lpVtbl->SetDecalTransparentColor(p,a) #define IDirect3DRMTexture2_GetDecalSize(p,a,b) (p)->lpVtbl->GetDecalSize(p,a,b) #define IDirect3DRMTexture2_GetDecalOrigin(p,a,b) (p)->lpVtbl->GetDecalOrigin(p,a,b) #define IDirect3DRMTexture2_GetImage(p) (p)->lpVtbl->GetImage(p) @@ -3537,7 +3537,7 @@ DECLARE_INTERFACE_(IDirect3DRMTexture3, IDirect3DRMVisual) #define IDirect3DRMTexture3_SetDecalOrigin(p,a,b) (p)->SetDecalOrigin(a,b) #define IDirect3DRMTexture3_SetDecalScale(p,a) (p)->SetDecalScale(a) #define IDirect3DRMTexture3_SetDecalTransparency(p,a) (p)->SetDecalTransparency(a) -#define IDirect3DRMTexture3_SetDecalTransparencyColor(p,a) (p)->SetDecalTransparentColor(a) +#define IDirect3DRMTexture3_SetDecalTransparentColor(p,a) (p)->SetDecalTransparentColor(a) #define IDirect3DRMTexture3_GetDecalSize(p,a,b) (p)->GetDecalSize(a,b) #define IDirect3DRMTexture3_GetDecalOrigin(p,a,b) (p)->GetDecalOrigin(a,b) #define IDirect3DRMTexture3_GetImage(p) (p)->GetImage() diff --git a/lib/libc/include/any-windows-any/d3dtypes.h b/lib/libc/include/any-windows-any/d3dtypes.h index e7ae4d5e60ca..bd6f4098dd22 100644 --- a/lib/libc/include/any-windows-any/d3dtypes.h +++ b/lib/libc/include/any-windows-any/d3dtypes.h @@ -30,7 +30,7 @@ #include #ifdef __i386__ -#include +#pragma pack(push,4) #endif #define D3DVALP(val, prec) ((float)(val)) @@ -1364,7 +1364,7 @@ typedef enum _D3DTEXTURETRANSFORMFLAGS { #define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16)) #ifdef __i386__ -#include +#pragma pack(pop) #endif #endif diff --git a/lib/libc/include/any-windows-any/d3dx9shader.h b/lib/libc/include/any-windows-any/d3dx9shader.h index cd00a87c20f3..483b6271a6cc 100644 --- a/lib/libc/include/any-windows-any/d3dx9shader.h +++ b/lib/libc/include/any-windows-any/d3dx9shader.h @@ -214,7 +214,7 @@ DECLARE_INTERFACE_(ID3DXConstantTable, ID3DXBuffer) /*** ID3DXConstantTable methods ***/ #define ID3DXConstantTable_GetDesc(p,a) (p)->GetDesc(a) #define ID3DXConstantTable_GetConstantDesc(p,a,b,c) (p)->GetConstantDesc(a,b,c) -#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->GetConstantDesc(a) +#define ID3DXConstantTable_GetSamplerIndex(p,a) (p)->GetSamplerIndex(a) #define ID3DXConstantTable_GetConstant(p,a,b) (p)->GetConstant(a,b) #define ID3DXConstantTable_GetConstantByName(p,a,b) (p)->GetConstantByName(a,b) #define ID3DXConstantTable_GetConstantElement(p,a,b) (p)->GetConstantElement(a,b) diff --git a/lib/libc/include/any-windows-any/d3dx9tex.h b/lib/libc/include/any-windows-any/d3dx9tex.h index df8bb2ca69a9..dd8a044366f9 100644 --- a/lib/libc/include/any-windows-any/d3dx9tex.h +++ b/lib/libc/include/any-windows-any/d3dx9tex.h @@ -182,6 +182,9 @@ HRESULT WINAPI D3DXLoadVolumeFromMemory(struct IDirect3DVolume9 *destvolume, D3DFORMAT srcformat, UINT srcrowpitch, UINT srcslicepitch, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey); +HRESULT WINAPI D3DXSaveVolumeToFileInMemory(struct ID3DXBuffer **dst_buffer, D3DXIMAGE_FILEFORMAT dst_format, + struct IDirect3DVolume9 *src_volume, const PALETTEENTRY *src_palette, const D3DBOX *src_box); + HRESULT WINAPI D3DXSaveVolumeToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat, struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox); HRESULT WINAPI D3DXSaveVolumeToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat, diff --git a/lib/libc/include/any-windows-any/dbgprop.h b/lib/libc/include/any-windows-any/dbgprop.h index f4b5988d01a3..1c6ad2c2ac00 100644 --- a/lib/libc/include/any-windows-any/dbgprop.h +++ b/lib/libc/include/any-windows-any/dbgprop.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dbgprop.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dbgprop.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dcommon.h b/lib/libc/include/any-windows-any/dcommon.h index 2c84344bc1ad..6e8f2644bcbe 100644 --- a/lib/libc/include/any-windows-any/dcommon.h +++ b/lib/libc/include/any-windows-any/dcommon.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dcommon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dcommon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dcompanimation.h b/lib/libc/include/any-windows-any/dcompanimation.h index c2df490f8c53..731d429c7696 100644 --- a/lib/libc/include/any-windows-any/dcompanimation.h +++ b/lib/libc/include/any-windows-any/dcompanimation.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dcompanimation.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dcompanimation.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/ddstream.h b/lib/libc/include/any-windows-any/ddstream.h index 78eca081e45c..d4cc623dba44 100644 --- a/lib/libc/include/any-windows-any/ddstream.h +++ b/lib/libc/include/any-windows-any/ddstream.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/ddstream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/ddstream.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/devicetopology.h b/lib/libc/include/any-windows-any/devicetopology.h index a25846488f1f..dd6143d71742 100644 --- a/lib/libc/include/any-windows-any/devicetopology.h +++ b/lib/libc/include/any-windows-any/devicetopology.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/devicetopology.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/devicetopology.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dimm.h b/lib/libc/include/any-windows-any/dimm.h index 0ef27d5e1256..395c932147fa 100644 --- a/lib/libc/include/any-windows-any/dimm.h +++ b/lib/libc/include/any-windows-any/dimm.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dimm.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dimm.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dinputd.h b/lib/libc/include/any-windows-any/dinputd.h index bc5f37721c94..16fd56685ab2 100644 --- a/lib/libc/include/any-windows-any/dinputd.h +++ b/lib/libc/include/any-windows-any/dinputd.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dinputd.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dinputd.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/directmanipulation.h b/lib/libc/include/any-windows-any/directmanipulation.h index 7b9c1209c883..c284149399ac 100644 --- a/lib/libc/include/any-windows-any/directmanipulation.h +++ b/lib/libc/include/any-windows-any/directmanipulation.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/directmanipulation.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/directmanipulation.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dispex.h b/lib/libc/include/any-windows-any/dispex.h index f2b211118a50..e8bafc62750d 100644 --- a/lib/libc/include/any-windows-any/dispex.h +++ b/lib/libc/include/any-windows-any/dispex.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dispex.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dispex.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dmodshow.h b/lib/libc/include/any-windows-any/dmodshow.h index 2eaa84318b2b..7eb6a47f90d7 100644 --- a/lib/libc/include/any-windows-any/dmodshow.h +++ b/lib/libc/include/any-windows-any/dmodshow.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dmodshow.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dmodshow.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dmplugin.h b/lib/libc/include/any-windows-any/dmplugin.h index 5b35f7ec3a30..8fc33d9655f0 100644 --- a/lib/libc/include/any-windows-any/dmplugin.h +++ b/lib/libc/include/any-windows-any/dmplugin.h @@ -28,7 +28,7 @@ #include #include #include -#include +#pragma pack(push,8) #ifdef __cplusplus extern "C" { @@ -292,6 +292,6 @@ DECLARE_INTERFACE_(IDirectMusicTrack8,IDirectMusicTrack) } #endif -#include +#pragma pack(pop) #endif /* __WINE_DMUSIC_PLUGIN_H */ diff --git a/lib/libc/include/any-windows-any/dmusbuff.h b/lib/libc/include/any-windows-any/dmusbuff.h index 7632b1aea4d5..fbba3707f535 100644 --- a/lib/libc/include/any-windows-any/dmusbuff.h +++ b/lib/libc/include/any-windows-any/dmusbuff.h @@ -40,13 +40,13 @@ typedef struct _DMUS_EVENTHEADER DMUS_EVENTHEADER, *LPDMUS_EVENTHEADER; /* actual structure*/ -#include +#pragma pack(push,4) struct _DMUS_EVENTHEADER { DWORD cbEvent; DWORD dwChannelGroup; REFERENCE_TIME rtDelta; DWORD dwFlags; }; -#include +#pragma pack(pop) #endif /* __WINE_DMUSIC_BUFFER_H */ diff --git a/lib/libc/include/any-windows-any/dmusicc.h b/lib/libc/include/any-windows-any/dmusicc.h index 44a5650bc849..106fd93db9a7 100644 --- a/lib/libc/include/any-windows-any/dmusicc.h +++ b/lib/libc/include/any-windows-any/dmusicc.h @@ -34,7 +34,7 @@ #include #include -#include +#pragma pack(push,8) #ifdef __cplusplus extern "C" { @@ -724,6 +724,6 @@ DECLARE_INTERFACE_(IDirectMusicThru,IUnknown) } #endif -#include +#pragma pack(pop) #endif /* __WINE_DMUSIC_CORE_H */ diff --git a/lib/libc/include/any-windows-any/dmusicf.h b/lib/libc/include/any-windows-any/dmusicf.h index 9fdef5125a99..4e22b1bcb11c 100644 --- a/lib/libc/include/any-windows-any/dmusicf.h +++ b/lib/libc/include/any-windows-any/dmusicf.h @@ -26,7 +26,7 @@ #define COM_NO_WINDOWS_H #include #include -#include +#pragma pack(push,8) #ifdef __cplusplus extern "C" { @@ -903,6 +903,6 @@ struct _DSOUND_IO_DXDMO_DATA { } #endif -#include +#pragma pack(pop) #endif /* __WINE_DMUSIC_FILEFORMATS_H */ diff --git a/lib/libc/include/any-windows-any/dmusici.h b/lib/libc/include/any-windows-any/dmusici.h index 0e5599c4a04f..77f94db215e1 100644 --- a/lib/libc/include/any-windows-any/dmusici.h +++ b/lib/libc/include/any-windows-any/dmusici.h @@ -29,7 +29,7 @@ #include #include #include -#include +#pragma pack(push,8) #ifdef WINE_NO_UNICODE_MACROS #undef AddPort @@ -1714,6 +1714,6 @@ DECLARE_INTERFACE_(IDirectMusicContainer,IUnknown) } #endif -#include +#pragma pack(pop) #endif /* __WINE_DMUSIC_PERFORMANCE_H */ diff --git a/lib/libc/include/any-windows-any/docobj.h b/lib/libc/include/any-windows-any/docobj.h index 9661e5c90c9d..46431b859b89 100644 --- a/lib/libc/include/any-windows-any/docobj.h +++ b/lib/libc/include/any-windows-any/docobj.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/docobj.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/docobj.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/docobjectservice.h b/lib/libc/include/any-windows-any/docobjectservice.h index 0be1e704a457..f07f2f589a46 100644 --- a/lib/libc/include/any-windows-any/docobjectservice.h +++ b/lib/libc/include/any-windows-any/docobjectservice.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/docobjectservice.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/docobjectservice.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/documenttarget.h b/lib/libc/include/any-windows-any/documenttarget.h index a27ce1f622f7..555f422eaefd 100644 --- a/lib/libc/include/any-windows-any/documenttarget.h +++ b/lib/libc/include/any-windows-any/documenttarget.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/documenttarget.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/documenttarget.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/downloadmgr.h b/lib/libc/include/any-windows-any/downloadmgr.h index 5caf66e43a2b..8862dded9e37 100644 --- a/lib/libc/include/any-windows-any/downloadmgr.h +++ b/lib/libc/include/any-windows-any/downloadmgr.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/downloadmgr.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/downloadmgr.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dpnathlp.h b/lib/libc/include/any-windows-any/dpnathlp.h index 05c60823dc04..10ac1c768e63 100644 --- a/lib/libc/include/any-windows-any/dpnathlp.h +++ b/lib/libc/include/any-windows-any/dpnathlp.h @@ -183,7 +183,7 @@ DECLARE_INTERFACE_(IDirectPlayNATHelp,IUnknown) #define IDirectPlayNATHelp_QueryAddress(p,a,b,c,d,e) (p)->lpVtbl->QueryAddress(p,a,b,c,d,e) #define IDirectPlayNATHelp_SetAlertEvent(p,a,b) (p)->lpVtbl->SetAlertEvent(p,a,b) #define IDirectPlayNATHelp_SetAlertIOCompletionPort(p,a,b,c,d) (p)->lpVtbl->SetAlertIOCompletionPort(p,a,b,c,d) -#define IDirectPlayNATHelp_ExtendRegisteredPortsLease(p,a,b,c) (p)->lpVtbl->SetAlertIOCompletionPort(p,a,b,c) +#define IDirectPlayNATHelp_ExtendRegisteredPortsLease(p,a,b,c) (p)->lpVtbl->ExtendRegisteredPortsLease(p,a,b,c) #endif #ifdef __cplusplus diff --git a/lib/libc/include/any-windows-any/drmexternals.h b/lib/libc/include/any-windows-any/drmexternals.h index a23c6bcaf89a..e8a14f166a72 100644 --- a/lib/libc/include/any-windows-any/drmexternals.h +++ b/lib/libc/include/any-windows-any/drmexternals.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/drmexternals.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/drmexternals.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dvdif.h b/lib/libc/include/any-windows-any/dvdif.h index 25df808bc551..e89215ff2448 100644 --- a/lib/libc/include/any-windows-any/dvdif.h +++ b/lib/libc/include/any-windows-any/dvdif.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dvdif.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dvdif.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dwmapi.h b/lib/libc/include/any-windows-any/dwmapi.h index 23e3759177f0..493d94cc0765 100644 --- a/lib/libc/include/any-windows-any/dwmapi.h +++ b/lib/libc/include/any-windows-any/dwmapi.h @@ -100,7 +100,7 @@ extern "C" { GT_TOUCH_RIGHTTAP = 7, GT_TOUCH_PRESSANDHOLD = 8, GT_TOUCH_PRESSANDHOLDABORT = 9, - GT_TOUCH_PRESSANDTAP = 10, + GT_TOUCH_PRESSANDTAP = 10 }; enum DWM_SHOWCONTACT { diff --git a/lib/libc/include/any-windows-any/dwrite.h b/lib/libc/include/any-windows-any/dwrite.h index 015ae77aa556..07b9cd466ff7 100644 --- a/lib/libc/include/any-windows-any/dwrite.h +++ b/lib/libc/include/any-windows-any/dwrite.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dwrite.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dwrite.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dwrite_1.h b/lib/libc/include/any-windows-any/dwrite_1.h index 671f3e047201..6f9cb1f505d6 100644 --- a/lib/libc/include/any-windows-any/dwrite_1.h +++ b/lib/libc/include/any-windows-any/dwrite_1.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_1.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dwrite_1.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dwrite_2.h b/lib/libc/include/any-windows-any/dwrite_2.h index c31c4c001373..8793a83ba767 100644 --- a/lib/libc/include/any-windows-any/dwrite_2.h +++ b/lib/libc/include/any-windows-any/dwrite_2.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dwrite_2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dwrite_3.h b/lib/libc/include/any-windows-any/dwrite_3.h index 9af6c0cd42ca..4886b749e6b1 100644 --- a/lib/libc/include/any-windows-any/dwrite_3.h +++ b/lib/libc/include/any-windows-any/dwrite_3.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dwrite_3.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dwrite_3.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi.h b/lib/libc/include/any-windows-any/dxgi.h index c66af3d4e1aa..7b46a97be90c 100644 --- a/lib/libc/include/any-windows-any/dxgi.h +++ b/lib/libc/include/any-windows-any/dxgi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi1_2.h b/lib/libc/include/any-windows-any/dxgi1_2.h index 5afc57589b5e..5aeb7319374e 100644 --- a/lib/libc/include/any-windows-any/dxgi1_2.h +++ b/lib/libc/include/any-windows-any/dxgi1_2.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi1_2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi1_3.h b/lib/libc/include/any-windows-any/dxgi1_3.h index 0c2b22090a91..0fa0ba48dc64 100644 --- a/lib/libc/include/any-windows-any/dxgi1_3.h +++ b/lib/libc/include/any-windows-any/dxgi1_3.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_3.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi1_3.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi1_4.h b/lib/libc/include/any-windows-any/dxgi1_4.h index 0de0f1442de0..c2a7285af925 100644 --- a/lib/libc/include/any-windows-any/dxgi1_4.h +++ b/lib/libc/include/any-windows-any/dxgi1_4.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_4.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi1_4.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi1_5.h b/lib/libc/include/any-windows-any/dxgi1_5.h index db444fb0894e..6ba5b8b3a6ad 100644 --- a/lib/libc/include/any-windows-any/dxgi1_5.h +++ b/lib/libc/include/any-windows-any/dxgi1_5.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_5.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi1_5.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgi1_6.h b/lib/libc/include/any-windows-any/dxgi1_6.h index fc201877704b..e641d8a5dccb 100644 --- a/lib/libc/include/any-windows-any/dxgi1_6.h +++ b/lib/libc/include/any-windows-any/dxgi1_6.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgi1_6.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgi1_6.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgicommon.h b/lib/libc/include/any-windows-any/dxgicommon.h index 20831332985f..36d3dba07fd0 100644 --- a/lib/libc/include/any-windows-any/dxgicommon.h +++ b/lib/libc/include/any-windows-any/dxgicommon.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgicommon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgicommon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgidebug.h b/lib/libc/include/any-windows-any/dxgidebug.h index 2f1d6f68d529..ad1bd28f6bef 100644 --- a/lib/libc/include/any-windows-any/dxgidebug.h +++ b/lib/libc/include/any-windows-any/dxgidebug.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgidebug.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgidebug.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgiformat.h b/lib/libc/include/any-windows-any/dxgiformat.h index cf594ec43508..0da111884414 100644 --- a/lib/libc/include/any-windows-any/dxgiformat.h +++ b/lib/libc/include/any-windows-any/dxgiformat.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgiformat.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgiformat.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxgitype.h b/lib/libc/include/any-windows-any/dxgitype.h index 2a2539c6d641..275ce8d9aacc 100644 --- a/lib/libc/include/any-windows-any/dxgitype.h +++ b/lib/libc/include/any-windows-any/dxgitype.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxgitype.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxgitype.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxva.h b/lib/libc/include/any-windows-any/dxva.h index 9deded52e225..e58e2d968712 100644 --- a/lib/libc/include/any-windows-any/dxva.h +++ b/lib/libc/include/any-windows-any/dxva.h @@ -99,11 +99,26 @@ DEFINE_GUID(DXVA_ModeJPEG_VLD_444, 0x4cd00e17, 0x89ba, 0x48ef, 0xb9, 0xf9, 0xed, DEFINE_GUID(DXVA_NoEncrypt, 0x1b81bed0, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5); +#define DXVA_ModeH264_MoComp_NoFGT DXVA_ModeH264_A +#define DXVA_ModeH264_MoComp_FGT DXVA_ModeH264_B +#define DXVA_ModeH264_IDCT_NoFGT DXVA_ModeH264_C +#define DXVA_ModeH264_IDCT_FGT DXVA_ModeH264_D +#define DXVA_ModeH264_VLD_NoFGT DXVA_ModeH264_E +#define DXVA_ModeH264_VLD_FGT DXVA_ModeH264_F + #define DXVA_USUAL_BLOCK_WIDTH 8 #define DXVA_USUAL_BLOCK_HEIGHT 8 #define DXVA_USUAL_BLOCK_SIZE (DXVA_USUAL_BLOCK_WIDTH * DXVA_USUAL_BLOCK_HEIGHT) -#include +#define DXVA_PICTURE_DECODING_FUNCTION 1 +#define DXVA_ALPHA_BLEND_DATA_LOAD_FUNCTION 2 +#define DXVA_ALPHA_BLEND_COMBINATION_FUNCTION 3 +#define DXVA_PICTURE_RESAMPLE_FUNCTION 4 +#define DXVA_DEBLOCKING_FILTER_FUNCTION 5 +#define DXVA_FILM_GRAIN_SYNTHESIS_FUNCTION 6 +#define DXVA_STATUS_REPORTING_FUNCTION 7 + +#pragma pack(push,1) typedef struct _DXVA_PicEntry_H264 { @@ -309,6 +324,17 @@ typedef struct _DXVA_Slice_H264_Short USHORT wBadSliceChopping; } DXVA_Slice_H264_Short, *LPDXVA_Slice_H264_Short; +typedef struct _DXVA_Status_H264 +{ + UINT StatusReportFeedbackNumber; + DXVA_PicEntry_H264 CurrPic; + UCHAR field_pic_flag; + UCHAR bDXVA_Func; + UCHAR bBufType; + UCHAR bStatus; + UCHAR bReserved8Bits; + USHORT wNumMbsAffected; +} DXVA_Status_H264, *LPDXVA_Status_H264; typedef struct _DXVA_PicEntry_HEVC { @@ -938,7 +964,7 @@ typedef struct _DXVA_Status_AV1 { USHORT NumMbsAffected; } DXVA_Status_AV1, *LPDXVA_Status_AV1; -#include +#pragma pack(pop) typedef enum _DXVA_VideoChromaSubsampling { diff --git a/lib/libc/include/any-windows-any/dxva2api.h b/lib/libc/include/any-windows-any/dxva2api.h index 1a02f2b9a5bd..1a07b6bfcf48 100644 --- a/lib/libc/include/any-windows-any/dxva2api.h +++ b/lib/libc/include/any-windows-any/dxva2api.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxva2api.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxva2api.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/dxvahd.h b/lib/libc/include/any-windows-any/dxvahd.h index 65c37d34f3e4..77fd4b6e4747 100644 --- a/lib/libc/include/any-windows-any/dxvahd.h +++ b/lib/libc/include/any-windows-any/dxvahd.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/dxvahd.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/dxvahd.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/emostore_i.c b/lib/libc/include/any-windows-any/emostore_i.c deleted file mode 100644 index a78ce5bf18c4..000000000000 --- a/lib/libc/include/any-windows-any/emostore_i.c +++ /dev/null @@ -1,54 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - - MIDL_DEFINE_GUID(IID,IID_IExchangeServer,0x25150F47,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IStorageGroup,0x25150F46,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IPublicStoreDB,0x25150F44,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IMailboxStoreDB,0x25150F45,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IFolderTree,0x25150F43,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - MIDL_DEFINE_GUID(IID,IID_IDataSource2,0x25150F48,0x5734,0x11d2,0xA5,0x93,0x00,0xC0,0x4F,0x99,0x0D,0x8A); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/endpointvolume.h b/lib/libc/include/any-windows-any/endpointvolume.h index ed7fa33c36f6..3d6fb10277bb 100644 --- a/lib/libc/include/any-windows-any/endpointvolume.h +++ b/lib/libc/include/any-windows-any/endpointvolume.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/endpointvolume.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/endpointvolume.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/evntprov.h b/lib/libc/include/any-windows-any/evntprov.h index 87f4eecbddd8..a5783be25387 100644 --- a/lib/libc/include/any-windows-any/evntprov.h +++ b/lib/libc/include/any-windows-any/evntprov.h @@ -1,6 +1,6 @@ -/** - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER within this package. +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. */ /* * evntprov.h diff --git a/lib/libc/include/any-windows-any/evr.h b/lib/libc/include/any-windows-any/evr.h index 8f6a06a7288f..20c18ae0a352 100644 --- a/lib/libc/include/any-windows-any/evr.h +++ b/lib/libc/include/any-windows-any/evr.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/evr.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/evr.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/evr9.h b/lib/libc/include/any-windows-any/evr9.h index 69cb96508f53..0c19b2079c7d 100644 --- a/lib/libc/include/any-windows-any/evr9.h +++ b/lib/libc/include/any-windows-any/evr9.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/evr9.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/evr9.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/exdisp.h b/lib/libc/include/any-windows-any/exdisp.h index 542122ae383c..66cfc220bfc9 100644 --- a/lib/libc/include/any-windows-any/exdisp.h +++ b/lib/libc/include/any-windows-any/exdisp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/exdisp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/exdisp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fenv.h b/lib/libc/include/any-windows-any/fenv.h index 1645d07d3759..b4ab0718cdf7 100644 --- a/lib/libc/include/any-windows-any/fenv.h +++ b/lib/libc/include/any-windows-any/fenv.h @@ -6,44 +6,30 @@ #ifndef _FENV_H_ #define _FENV_H_ -#include +#include -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) /* FPU status word exception flags */ -#define FE_INVALID 0x01 -#define FE_DIVBYZERO 0x02 -#define FE_OVERFLOW 0x04 -#define FE_UNDERFLOW 0x08 -#define FE_INEXACT 0x10 -#define FE_ALL_EXCEPT (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) +#define FE_INEXACT _SW_INEXACT +#define FE_UNDERFLOW _SW_UNDERFLOW +#define FE_OVERFLOW _SW_OVERFLOW +#define FE_DIVBYZERO _SW_ZERODIVIDE +#define FE_INVALID _SW_INVALID +#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW) /* FPU control word rounding flags */ -#define FE_TONEAREST 0x00000000 -#define FE_UPWARD 0x00400000 -#define FE_DOWNWARD 0x00800000 -#define FE_TOWARDZERO 0x00c00000 +#define FE_TONEAREST _RC_NEAR +#define FE_UPWARD _RC_UP +#define FE_DOWNWARD _RC_DOWN +#define FE_TOWARDZERO _RC_CHOP + +#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) /* Amount to shift by to convert an exception to a mask bit. */ #define FE_EXCEPT_SHIFT 0x08 #else -#define FE_INVALID 0x01 -#define FE_DENORMAL 0x02 -#define FE_DIVBYZERO 0x04 -#define FE_OVERFLOW 0x08 -#define FE_UNDERFLOW 0x10 -#define FE_INEXACT 0x20 -#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \ - | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) - -/* FPU control word rounding flags */ -#define FE_TONEAREST 0x0000 -#define FE_DOWNWARD 0x0400 -#define FE_UPWARD 0x0800 -#define FE_TOWARDZERO 0x0c00 - /* The MXCSR exception flags are the same as the FE flags. */ #define __MXCSR_EXCEPT_FLAG_SHIFT 0 @@ -60,68 +46,36 @@ #ifndef RC_INVOKED -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) - -/* Type representing exception flags. */ -typedef unsigned int fexcept_t; - -/* Type representing floating-point environment. */ typedef struct { - unsigned int __cw; + unsigned long _Fe_ctl; + unsigned long _Fe_stat; } fenv_t; -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1l) +/* Type representing exception flags. */ +typedef unsigned long fexcept_t; -#else +#ifdef __cplusplus +extern "C" { +#endif -/* - For now, support only for the basic abstraction of flags that are - either set or clear. fexcept_t could be structure that holds more - info about the fp environment. -*/ -typedef unsigned short fexcept_t; - -/* This 32-byte struct represents the entire floating point - environment as stored by fnstenv or fstenv, augmented by - the contents of the MXCSR register, as stored by stmxcsr - (if CPU supports it). */ -typedef struct -{ - unsigned short __control_word; - unsigned short __unused0; - unsigned short __status_word; - unsigned short __unused1; - unsigned short __tag_word; - unsigned short __unused2; - unsigned int __ip_offset; /* instruction pointer offset */ - unsigned short __ip_selector; - unsigned short __opcode; - unsigned int __data_offset; - unsigned short __data_selector; - unsigned short __unused3; - unsigned int __mxcsr; /* contents of the MXCSR register */ -} fenv_t; +/* The FE_DFL_ENV macro is required by standard. + fesetenv will use the environment set at app startup.*/ +extern const fenv_t __mingw_fe_dfl_env; +#define FE_DFL_ENV (&__mingw_fe_dfl_env) +/* The C99 standard (7.6.9) allows us to define implementation-specific macros for + different fp environments */ +#if defined(__i386__) || defined(__x86_64__) -/*The C99 standard (7.6.9) allows us to define implementation-specific macros for - different fp environments */ - /* The default Intel x87 floating point environment (64-bit mantissa) */ -#define FE_PC64_ENV ((const fenv_t *)-1) +extern const fenv_t __mingw_fe_pc64_env; +#define FE_PC64_ENV (&__mingw_fe_pc64_env) /* The floating point environment set by MSVCRT _fpreset (53-bit mantissa) */ -#define FE_PC53_ENV ((const fenv_t *)-2) +extern const fenv_t __mingw_fe_pc53_env; +#define FE_PC53_ENV (&__mingw_fe_pc53_env) -/* The FE_DFL_ENV macro is required by standard. - fesetenv will use the environment set at app startup.*/ -#define FE_DFL_ENV ((const fenv_t *) 0) - -#endif /* defined(_ARM_) || defined(__arm__) */ - -#ifdef __cplusplus -extern "C" { #endif /*TODO: Some of these could be inlined */ diff --git a/lib/libc/include/any-windows-any/filter.h b/lib/libc/include/any-windows-any/filter.h index 8114500a0d4a..b4ab60d87f70 100644 --- a/lib/libc/include/any-windows-any/filter.h +++ b/lib/libc/include/any-windows-any/filter.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/filter.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/filter.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/float.h b/lib/libc/include/any-windows-any/float.h index f36aacc75091..73255258be8b 100644 --- a/lib/libc/include/any-windows-any/float.h +++ b/lib/libc/include/any-windows-any/float.h @@ -181,6 +181,8 @@ /* Control word values for unNew (use with related unMask above) */ #define _DN_SAVE 0x00000000 #define _DN_FLUSH 0x01000000 +#define _DN_FLUSH_OPERANDS_SAVE_RESULTS 0x02000000 +#define _DN_SAVE_OPERANDS_FLUSH_RESULTS 0x03000000 #define _EM_INVALID 0x00000010 #define _EM_DENORMAL 0x00080000 #define _EM_ZERODIVIDE 0x00000008 @@ -196,6 +198,7 @@ #define _PC_24 0x00020000 #define _PC_53 0x00010000 #define _PC_64 0x00000000 +#define _EM_AMBIGUOUS 0x80000000 /* These are also defined in Mingw math.h, needed to work around GCC build issues. */ @@ -214,6 +217,14 @@ #define _FPCLASS_PINF 0x0200 /* Positive Infinity */ #endif /* __MINGW_FPCLASS_DEFINED */ +/* _statusfp bit flags */ +#define _SW_INEXACT 0x00000001 /* inexact (precision) */ +#define _SW_UNDERFLOW 0x00000002 /* underflow */ +#define _SW_OVERFLOW 0x00000004 /* overflow */ +#define _SW_ZERODIVIDE 0x00000008 /* zero divide */ +#define _SW_INVALID 0x00000010 /* invalid */ +#define _SW_DENORMAL 0x00080000 /* denormal status bit */ + /* invalid subconditions (_SW_INVALID also set) */ #define _SW_UNEMULATED 0x0040 /* unemulated instruction */ #define _SW_SQRTNEG 0x0080 /* square root of a neg number */ @@ -261,6 +272,9 @@ extern "C" { _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _controlfp (unsigned int _NewValue, unsigned int _Mask) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _controlfp_s(unsigned int *_CurrentState, unsigned int _NewValue, unsigned int _Mask); _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int _NewValue, unsigned int _Mask); +#ifdef __i386__ +_CRTIMP int __cdecl __control87_2(unsigned int, unsigned int, unsigned int *, unsigned int *); +#endif _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _clearfp (void); /* Clear the FPU status word */ diff --git a/lib/libc/include/any-windows-any/fsrm.h b/lib/libc/include/any-windows-any/fsrm.h index caeb7146a8b5..757f7e281a3d 100644 --- a/lib/libc/include/any-windows-any/fsrm.h +++ b/lib/libc/include/any-windows-any/fsrm.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fsrm.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fsrm.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fsrmenums.h b/lib/libc/include/any-windows-any/fsrmenums.h index 1697b1f00ae3..f2a5e01e70e9 100644 --- a/lib/libc/include/any-windows-any/fsrmenums.h +++ b/lib/libc/include/any-windows-any/fsrmenums.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fsrmenums.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fsrmenums.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fsrmquota.h b/lib/libc/include/any-windows-any/fsrmquota.h index 52edfd50625a..e52cf9f61ea8 100644 --- a/lib/libc/include/any-windows-any/fsrmquota.h +++ b/lib/libc/include/any-windows-any/fsrmquota.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fsrmquota.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fsrmquota.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fsrmreports.h b/lib/libc/include/any-windows-any/fsrmreports.h index 1a2499e5af10..f63393992db1 100644 --- a/lib/libc/include/any-windows-any/fsrmreports.h +++ b/lib/libc/include/any-windows-any/fsrmreports.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fsrmreports.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fsrmreports.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fsrmscreen.h b/lib/libc/include/any-windows-any/fsrmscreen.h index 817334b37cdb..71473e0a4ac6 100644 --- a/lib/libc/include/any-windows-any/fsrmscreen.h +++ b/lib/libc/include/any-windows-any/fsrmscreen.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fsrmscreen.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fsrmscreen.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/ftw.h b/lib/libc/include/any-windows-any/ftw.h index a5e23e0a92e8..8dca99b270ff 100644 --- a/lib/libc/include/any-windows-any/ftw.h +++ b/lib/libc/include/any-windows-any/ftw.h @@ -53,10 +53,34 @@ extern "C" { /* Continue with FTW_DP callback for current directory (if FTW_DEPTH) and then its siblings. */ #define FTW_SKIP_SIBLINGS 3 - int ftw (const char *, int (*) (const char *, const struct stat *, int), int); - int ftw64 (const char *, int (*) (const char *, const struct stat64 *, int), int); +/* + * When building mingw-w64 CRT files it is required that the ftw and + * nftw functions are not declared with __MINGW_ASM_CALL redirection. + * Otherwise the mingw-w64 would provide broken ftw and nftw symbols. + * To prevent ABI issues, the mingw-w64 runtime should not call the ftw, + * and nftw functions, instead it should call the fixed-size variants. + */ +#ifndef _CRTBLD +#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) +#ifdef _USE_32BIT_TIME_T + int ftw (const char *, int (*) (const char *, const struct stat *, int), int) __MINGW_ASM_CALL(ftw32i64); + int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int) __MINGW_ASM_CALL(nftw32i64); +#else + int ftw (const char *, int (*) (const char *, const struct stat *, int), int) __MINGW_ASM_CALL(ftw64); + int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int) __MINGW_ASM_CALL(nftw64); +#endif +#else +#ifdef _USE_32BIT_TIME_T + int ftw (const char *, int (*) (const char *, const struct stat *, int), int) __MINGW_ASM_CALL(ftw32); + int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int) __MINGW_ASM_CALL(nftw32); +#else + int ftw (const char *, int (*) (const char *, const struct stat *, int), int) __MINGW_ASM_CALL(ftw64i32); + int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int) __MINGW_ASM_CALL(nftw64i32); +#endif +#endif +#endif - int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int); + int ftw64 (const char *, int (*) (const char *, const struct stat64 *, int), int); int nftw64 (const char *, int (*) (const char *, const struct stat64 *, int , struct FTW *), int, int); #ifdef __cplusplus diff --git a/lib/libc/include/any-windows-any/fusion.h b/lib/libc/include/any-windows-any/fusion.h index 24e08a054708..3992708db9f8 100644 --- a/lib/libc/include/any-windows-any/fusion.h +++ b/lib/libc/include/any-windows-any/fusion.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fusion.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fusion.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/fwptypes.h b/lib/libc/include/any-windows-any/fwptypes.h index 7c307f3ed95e..2911845f016f 100644 --- a/lib/libc/include/any-windows-any/fwptypes.h +++ b/lib/libc/include/any-windows-any/fwptypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/fwptypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/fwptypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/hstring.h b/lib/libc/include/any-windows-any/hstring.h index fe94226d0da5..eb6a49811d9f 100644 --- a/lib/libc/include/any-windows-any/hstring.h +++ b/lib/libc/include/any-windows-any/hstring.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/hstring.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/hstring.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/httprequest.h b/lib/libc/include/any-windows-any/httprequest.h new file mode 100644 index 000000000000..7d54c6cdafd3 --- /dev/null +++ b/lib/libc/include/any-windows-any/httprequest.h @@ -0,0 +1,473 @@ +/*** Autogenerated by WIDL 10.4 from include/httprequest.idl - Do not edit ***/ + +#ifdef _WIN32 +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif +#include +#include +#endif + +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif + +#ifndef __httprequest_h__ +#define __httprequest_h__ + +/* Forward declarations */ + +#ifndef __IWinHttpRequest_FWD_DEFINED__ +#define __IWinHttpRequest_FWD_DEFINED__ +typedef interface IWinHttpRequest IWinHttpRequest; +#ifdef __cplusplus +interface IWinHttpRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __WinHttpRequest_FWD_DEFINED__ +#define __WinHttpRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WinHttpRequest WinHttpRequest; +#else +typedef struct WinHttpRequest WinHttpRequest; +#endif /* defined __cplusplus */ +#endif /* defined __WinHttpRequest_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __WinHttp_LIBRARY_DEFINED__ +#define __WinHttp_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WinHttp, 0x662901fc, 0x6951, 0x4854, 0x9e,0xb2, 0xd9,0xa2,0x57,0x0f,0x2b,0x2e); + +typedef LONG HTTPREQUEST_PROXY_SETTING; +#define HTTPREQUEST_PROXYSETTING_DEFAULT (0x0) + +#define HTTPREQUEST_PROXYSETTING_PRECONFIG (0x0) + +#define HTTPREQUEST_PROXYSETTING_DIRECT (0x1) + +#define HTTPREQUEST_PROXYSETTING_PROXY (0x2) + +typedef LONG HTTPREQUEST_SETCREDENTIALS_FLAGS; +#define HTTPREQUEST_SETCREDENTIALS_FOR_SERVER (0x0) + +#define HTTPREQUEST_SETCREDENTIALS_FOR_PROXY (0x1) + +typedef enum WinHttpRequestOption { + WinHttpRequestOption_UserAgentString = 0, + WinHttpRequestOption_URL = 1, + WinHttpRequestOption_URLCodePage = 2, + WinHttpRequestOption_EscapePercentInURL = 3, + WinHttpRequestOption_SslErrorIgnoreFlags = 4, + WinHttpRequestOption_SelectCertificate = 5, + WinHttpRequestOption_EnableRedirects = 6, + WinHttpRequestOption_UrlEscapeDisable = 7, + WinHttpRequestOption_UrlEscapeDisableQuery = 8, + WinHttpRequestOption_SecureProtocols = 9, + WinHttpRequestOption_EnableTracing = 10, + WinHttpRequestOption_RevertImpersonationOverSsl = 11, + WinHttpRequestOption_EnableHttpsToHttpRedirects = 12, + WinHttpRequestOption_EnablePassportAuthentication = 13, + WinHttpRequestOption_MaxAutomaticRedirects = 14, + WinHttpRequestOption_MaxResponseHeaderSize = 15, + WinHttpRequestOption_MaxResponseDrainSize = 16, + WinHttpRequestOption_EnableHttp1_1 = 17, + WinHttpRequestOption_EnableCertificateRevocationCheck = 18, + WinHttpRequestOption_RejectUserpwd = 19 +} WinHttpRequestOption; +typedef enum WinHttpRequestAutoLogonPolicy { + AutoLogonPolicy_Always = 0, + AutoLogonPolicy_OnlyIfBypassProxy = 1, + AutoLogonPolicy_Never = 2 +} WinHttpRequestAutoLogonPolicy; +/***************************************************************************** + * IWinHttpRequest interface + */ +#ifndef __IWinHttpRequest_INTERFACE_DEFINED__ +#define __IWinHttpRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWinHttpRequest, 0x016fe2ec, 0xb2c8, 0x45f8, 0xb2,0x3b, 0x39,0xe5,0x3a,0x75,0x39,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("016fe2ec-b2c8-45f8-b23b-39e53a75396b") +IWinHttpRequest : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE SetProxy( + HTTPREQUEST_PROXY_SETTING proxy_setting, + VARIANT proxy_server, + VARIANT bypass_list) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCredentials( + BSTR username, + BSTR password, + HTTPREQUEST_SETCREDENTIALS_FLAGS flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Open( + BSTR method, + BSTR url, + VARIANT async) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRequestHeader( + BSTR header, + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetResponseHeader( + BSTR header, + BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllResponseHeaders( + BSTR *headers) = 0; + + virtual HRESULT STDMETHODCALLTYPE Send( + VARIANT body) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Status( + LONG *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StatusText( + BSTR *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResponseText( + BSTR *body) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResponseBody( + VARIANT *body) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResponseStream( + VARIANT *body) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Option( + WinHttpRequestOption option, + VARIANT *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Option( + WinHttpRequestOption option, + VARIANT value) = 0; + + virtual HRESULT STDMETHODCALLTYPE WaitForResponse( + VARIANT timeout, + VARIANT_BOOL *succeeded) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abort( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTimeouts( + LONG resolve_timeout, + LONG connect_timeout, + LONG send_timeout, + LONG receive_timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetClientCertificate( + BSTR certificate) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAutoLogonPolicy( + WinHttpRequestAutoLogonPolicy policy) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinHttpRequest, 0x016fe2ec, 0xb2c8, 0x45f8, 0xb2,0x3b, 0x39,0xe5,0x3a,0x75,0x39,0x6b) +#endif +#else +typedef struct IWinHttpRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinHttpRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinHttpRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinHttpRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWinHttpRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWinHttpRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWinHttpRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWinHttpRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWinHttpRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *SetProxy)( + IWinHttpRequest *This, + HTTPREQUEST_PROXY_SETTING proxy_setting, + VARIANT proxy_server, + VARIANT bypass_list); + + HRESULT (STDMETHODCALLTYPE *SetCredentials)( + IWinHttpRequest *This, + BSTR username, + BSTR password, + HTTPREQUEST_SETCREDENTIALS_FLAGS flags); + + HRESULT (STDMETHODCALLTYPE *Open)( + IWinHttpRequest *This, + BSTR method, + BSTR url, + VARIANT async); + + HRESULT (STDMETHODCALLTYPE *SetRequestHeader)( + IWinHttpRequest *This, + BSTR header, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *GetResponseHeader)( + IWinHttpRequest *This, + BSTR header, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *GetAllResponseHeaders)( + IWinHttpRequest *This, + BSTR *headers); + + HRESULT (STDMETHODCALLTYPE *Send)( + IWinHttpRequest *This, + VARIANT body); + + HRESULT (STDMETHODCALLTYPE *get_Status)( + IWinHttpRequest *This, + LONG *status); + + HRESULT (STDMETHODCALLTYPE *get_StatusText)( + IWinHttpRequest *This, + BSTR *status); + + HRESULT (STDMETHODCALLTYPE *get_ResponseText)( + IWinHttpRequest *This, + BSTR *body); + + HRESULT (STDMETHODCALLTYPE *get_ResponseBody)( + IWinHttpRequest *This, + VARIANT *body); + + HRESULT (STDMETHODCALLTYPE *get_ResponseStream)( + IWinHttpRequest *This, + VARIANT *body); + + HRESULT (STDMETHODCALLTYPE *get_Option)( + IWinHttpRequest *This, + WinHttpRequestOption option, + VARIANT *value); + + HRESULT (STDMETHODCALLTYPE *put_Option)( + IWinHttpRequest *This, + WinHttpRequestOption option, + VARIANT value); + + HRESULT (STDMETHODCALLTYPE *WaitForResponse)( + IWinHttpRequest *This, + VARIANT timeout, + VARIANT_BOOL *succeeded); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IWinHttpRequest *This); + + HRESULT (STDMETHODCALLTYPE *SetTimeouts)( + IWinHttpRequest *This, + LONG resolve_timeout, + LONG connect_timeout, + LONG send_timeout, + LONG receive_timeout); + + HRESULT (STDMETHODCALLTYPE *SetClientCertificate)( + IWinHttpRequest *This, + BSTR certificate); + + HRESULT (STDMETHODCALLTYPE *SetAutoLogonPolicy)( + IWinHttpRequest *This, + WinHttpRequestAutoLogonPolicy policy); + + END_INTERFACE +} IWinHttpRequestVtbl; + +interface IWinHttpRequest { + CONST_VTBL IWinHttpRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinHttpRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinHttpRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinHttpRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWinHttpRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWinHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWinHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWinHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWinHttpRequest methods ***/ +#define IWinHttpRequest_SetProxy(This,proxy_setting,proxy_server,bypass_list) (This)->lpVtbl->SetProxy(This,proxy_setting,proxy_server,bypass_list) +#define IWinHttpRequest_SetCredentials(This,username,password,flags) (This)->lpVtbl->SetCredentials(This,username,password,flags) +#define IWinHttpRequest_Open(This,method,url,async) (This)->lpVtbl->Open(This,method,url,async) +#define IWinHttpRequest_SetRequestHeader(This,header,value) (This)->lpVtbl->SetRequestHeader(This,header,value) +#define IWinHttpRequest_GetResponseHeader(This,header,value) (This)->lpVtbl->GetResponseHeader(This,header,value) +#define IWinHttpRequest_GetAllResponseHeaders(This,headers) (This)->lpVtbl->GetAllResponseHeaders(This,headers) +#define IWinHttpRequest_Send(This,body) (This)->lpVtbl->Send(This,body) +#define IWinHttpRequest_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) +#define IWinHttpRequest_get_StatusText(This,status) (This)->lpVtbl->get_StatusText(This,status) +#define IWinHttpRequest_get_ResponseText(This,body) (This)->lpVtbl->get_ResponseText(This,body) +#define IWinHttpRequest_get_ResponseBody(This,body) (This)->lpVtbl->get_ResponseBody(This,body) +#define IWinHttpRequest_get_ResponseStream(This,body) (This)->lpVtbl->get_ResponseStream(This,body) +#define IWinHttpRequest_get_Option(This,option,value) (This)->lpVtbl->get_Option(This,option,value) +#define IWinHttpRequest_put_Option(This,option,value) (This)->lpVtbl->put_Option(This,option,value) +#define IWinHttpRequest_WaitForResponse(This,timeout,succeeded) (This)->lpVtbl->WaitForResponse(This,timeout,succeeded) +#define IWinHttpRequest_Abort(This) (This)->lpVtbl->Abort(This) +#define IWinHttpRequest_SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout) (This)->lpVtbl->SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout) +#define IWinHttpRequest_SetClientCertificate(This,certificate) (This)->lpVtbl->SetClientCertificate(This,certificate) +#define IWinHttpRequest_SetAutoLogonPolicy(This,policy) (This)->lpVtbl->SetAutoLogonPolicy(This,policy) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinHttpRequest_QueryInterface(IWinHttpRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinHttpRequest_AddRef(IWinHttpRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinHttpRequest_Release(IWinHttpRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWinHttpRequest_GetTypeInfoCount(IWinHttpRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWinHttpRequest_GetTypeInfo(IWinHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWinHttpRequest_GetIDsOfNames(IWinHttpRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWinHttpRequest_Invoke(IWinHttpRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { + return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); +} +/*** IWinHttpRequest methods ***/ +static inline HRESULT IWinHttpRequest_SetProxy(IWinHttpRequest* This,HTTPREQUEST_PROXY_SETTING proxy_setting,VARIANT proxy_server,VARIANT bypass_list) { + return This->lpVtbl->SetProxy(This,proxy_setting,proxy_server,bypass_list); +} +static inline HRESULT IWinHttpRequest_SetCredentials(IWinHttpRequest* This,BSTR username,BSTR password,HTTPREQUEST_SETCREDENTIALS_FLAGS flags) { + return This->lpVtbl->SetCredentials(This,username,password,flags); +} +static inline HRESULT IWinHttpRequest_Open(IWinHttpRequest* This,BSTR method,BSTR url,VARIANT async) { + return This->lpVtbl->Open(This,method,url,async); +} +static inline HRESULT IWinHttpRequest_SetRequestHeader(IWinHttpRequest* This,BSTR header,BSTR value) { + return This->lpVtbl->SetRequestHeader(This,header,value); +} +static inline HRESULT IWinHttpRequest_GetResponseHeader(IWinHttpRequest* This,BSTR header,BSTR *value) { + return This->lpVtbl->GetResponseHeader(This,header,value); +} +static inline HRESULT IWinHttpRequest_GetAllResponseHeaders(IWinHttpRequest* This,BSTR *headers) { + return This->lpVtbl->GetAllResponseHeaders(This,headers); +} +static inline HRESULT IWinHttpRequest_Send(IWinHttpRequest* This,VARIANT body) { + return This->lpVtbl->Send(This,body); +} +static inline HRESULT IWinHttpRequest_get_Status(IWinHttpRequest* This,LONG *status) { + return This->lpVtbl->get_Status(This,status); +} +static inline HRESULT IWinHttpRequest_get_StatusText(IWinHttpRequest* This,BSTR *status) { + return This->lpVtbl->get_StatusText(This,status); +} +static inline HRESULT IWinHttpRequest_get_ResponseText(IWinHttpRequest* This,BSTR *body) { + return This->lpVtbl->get_ResponseText(This,body); +} +static inline HRESULT IWinHttpRequest_get_ResponseBody(IWinHttpRequest* This,VARIANT *body) { + return This->lpVtbl->get_ResponseBody(This,body); +} +static inline HRESULT IWinHttpRequest_get_ResponseStream(IWinHttpRequest* This,VARIANT *body) { + return This->lpVtbl->get_ResponseStream(This,body); +} +static inline HRESULT IWinHttpRequest_get_Option(IWinHttpRequest* This,WinHttpRequestOption option,VARIANT *value) { + return This->lpVtbl->get_Option(This,option,value); +} +static inline HRESULT IWinHttpRequest_put_Option(IWinHttpRequest* This,WinHttpRequestOption option,VARIANT value) { + return This->lpVtbl->put_Option(This,option,value); +} +static inline HRESULT IWinHttpRequest_WaitForResponse(IWinHttpRequest* This,VARIANT timeout,VARIANT_BOOL *succeeded) { + return This->lpVtbl->WaitForResponse(This,timeout,succeeded); +} +static inline HRESULT IWinHttpRequest_Abort(IWinHttpRequest* This) { + return This->lpVtbl->Abort(This); +} +static inline HRESULT IWinHttpRequest_SetTimeouts(IWinHttpRequest* This,LONG resolve_timeout,LONG connect_timeout,LONG send_timeout,LONG receive_timeout) { + return This->lpVtbl->SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout); +} +static inline HRESULT IWinHttpRequest_SetClientCertificate(IWinHttpRequest* This,BSTR certificate) { + return This->lpVtbl->SetClientCertificate(This,certificate); +} +static inline HRESULT IWinHttpRequest_SetAutoLogonPolicy(IWinHttpRequest* This,WinHttpRequestAutoLogonPolicy policy) { + return This->lpVtbl->SetAutoLogonPolicy(This,policy); +} +#endif +#endif + +#endif + + +#endif /* __IWinHttpRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * WinHttpRequest coclass + */ + +DEFINE_GUID(CLSID_WinHttpRequest, 0x2087c2f4, 0x2cef, 0x4953, 0xa8,0xab, 0x66,0x77,0x9b,0x67,0x04,0x95); + +#ifdef __cplusplus +class DECLSPEC_UUID("2087c2f4-2cef-4953-a8ab-66779b670495") WinHttpRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WinHttpRequest, 0x2087c2f4, 0x2cef, 0x4953, 0xa8,0xab, 0x66,0x77,0x9b,0x67,0x04,0x95) +#endif +#endif + +#endif /* __WinHttp_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *); +unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); +void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *); +ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); +unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); +unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); +void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __httprequest_h__ */ diff --git a/lib/libc/include/any-windows-any/icftypes.h b/lib/libc/include/any-windows-any/icftypes.h index 094c79228f2b..dfaa59f0fbf8 100644 --- a/lib/libc/include/any-windows-any/icftypes.h +++ b/lib/libc/include/any-windows-any/icftypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/icftypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/icftypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/icodecapi.h b/lib/libc/include/any-windows-any/icodecapi.h index 3ca910a71c4e..21a3c32fb355 100644 --- a/lib/libc/include/any-windows-any/icodecapi.h +++ b/lib/libc/include/any-windows-any/icodecapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/icodecapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/icodecapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/iisext_i.c b/lib/libc/include/any-windows-any/iisext_i.c deleted file mode 100644 index eb359ce09c30..000000000000 --- a/lib/libc/include/any-windows-any/iisext_i.c +++ /dev/null @@ -1,66 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - - MIDL_DEFINE_GUID(IID,LIBID_IISExt,0x2a56ea30,0xafeb,0x11d1,0x98,0x68,0x00,0xa0,0xc9,0x22,0xe7,0x03); - MIDL_DEFINE_GUID(IID,IID_IISApplicationPool,0x0B3CB1E1,0x829A,0x4c06,0x8B,0x09,0xF5,0x6D,0xA1,0x89,0x4C,0x88); - MIDL_DEFINE_GUID(IID,IID_IISApplicationPools,0x587F123F,0x49B4,0x49dd,0x93,0x9E,0xF4,0x54,0x7A,0xA3,0xFA,0x75); - MIDL_DEFINE_GUID(IID,IID_IISWebService,0xEE46D40C,0x1B38,0x4a02,0x89,0x8D,0x35,0x8E,0x74,0xDF,0xC9,0xD2); - MIDL_DEFINE_GUID(IID,IID_IISDsCrMap,0xedcd6a60,0xb053,0x11d0,0xa6,0x2f,0x00,0xa0,0xc9,0x22,0xe7,0x52); - MIDL_DEFINE_GUID(IID,IID_IISApp,0x46FBBB80,0x0192,0x11d1,0x9C,0x39,0x00,0xA0,0xC9,0x22,0xE7,0x03); - MIDL_DEFINE_GUID(IID,IID_IISApp2,0x603DCBEA,0x7350,0x11d2,0xA7,0xBE,0x00,0x00,0xF8,0x08,0x5B,0x95); - MIDL_DEFINE_GUID(IID,IID_IISApp3,0x2812B639,0x8FAC,0x4510,0x96,0xC5,0x71,0xDD,0xBD,0x1F,0x54,0xFC); - MIDL_DEFINE_GUID(IID,IID_IISComputer,0xCF87A2E0,0x078B,0x11d1,0x9C,0x3D,0x00,0xA0,0xC9,0x22,0xE7,0x03); - MIDL_DEFINE_GUID(IID,IID_IISComputer2,0x63d89839,0x5762,0x4a68,0xb1,0xb9,0x35,0x07,0xea,0x76,0xcb,0xbf); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtComputer,0x91ef9258,0xafec,0x11d1,0x98,0x68,0x00,0xa0,0xc9,0x22,0xe7,0x03); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtApp,0xb4f34438,0xafec,0x11d1,0x98,0x68,0x00,0xa0,0xc9,0x22,0xe7,0x03); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtServer,0xc3b32488,0xafec,0x11d1,0x98,0x68,0x00,0xa0,0xc9,0x22,0xe7,0x03); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtDsCrMap,0xbc36cde8,0xafeb,0x11d1,0x98,0x68,0x00,0xa0,0xc9,0x22,0xe7,0x03); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtApplicationPool,0xE99F9D0C,0xFB39,0x402b,0x9E,0xEB,0xAA,0x18,0x52,0x37,0xBD,0x34); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtApplicationPools,0x95863074,0xA389,0x406a,0xA2,0xD7,0xD9,0x8B,0xFC,0x95,0xB9,0x05); - MIDL_DEFINE_GUID(CLSID,CLSID_IISExtWebService,0x40B8F873,0xB30E,0x475d,0xBE,0xC5,0x4D,0x0E,0xBB,0x0D,0xBA,0xF3); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/iketypes.h b/lib/libc/include/any-windows-any/iketypes.h index eab925012188..6f59e09277dc 100644 --- a/lib/libc/include/any-windows-any/iketypes.h +++ b/lib/libc/include/any-windows-any/iketypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/iketypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/iketypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/inputpaneinterop.h b/lib/libc/include/any-windows-any/inputpaneinterop.h index f9b644fd9671..843c1b199452 100644 --- a/lib/libc/include/any-windows-any/inputpaneinterop.h +++ b/lib/libc/include/any-windows-any/inputpaneinterop.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/inputpaneinterop.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/inputpaneinterop.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/inputscope.h b/lib/libc/include/any-windows-any/inputscope.h index f8758ad360c6..265b2396c070 100644 --- a/lib/libc/include/any-windows-any/inputscope.h +++ b/lib/libc/include/any-windows-any/inputscope.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/inputscope.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/inputscope.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/inspectable.h b/lib/libc/include/any-windows-any/inspectable.h index f86af4e928ec..eb68e25085c4 100644 --- a/lib/libc/include/any-windows-any/inspectable.h +++ b/lib/libc/include/any-windows-any/inspectable.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/inspectable.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/inspectable.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/iwscapi.h b/lib/libc/include/any-windows-any/iwscapi.h index 02afadb6474a..4ba584d2d184 100644 --- a/lib/libc/include/any-windows-any/iwscapi.h +++ b/lib/libc/include/any-windows-any/iwscapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/iwscapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/iwscapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/locale.h b/lib/libc/include/any-windows-any/locale.h index 9b695e333a4c..f69bd6ed783e 100644 --- a/lib/libc/include/any-windows-any/locale.h +++ b/lib/libc/include/any-windows-any/locale.h @@ -103,6 +103,10 @@ extern "C" { _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale); #endif +#if __MSVCRT_VERSION__ >= 0xB00 + _CRTIMP _locale_t __cdecl _wcreate_locale(int _Category, const wchar_t *_Locale); +#endif + #ifdef __CHAR_UNSIGNED__ /* Pull in the constructor from 'charmax.c'. */ extern int __mingw_initcharmax; diff --git a/lib/libc/include/any-windows-any/locationapi.h b/lib/libc/include/any-windows-any/locationapi.h index c39752da778d..42f20e5688ed 100644 --- a/lib/libc/include/any-windows-any/locationapi.h +++ b/lib/libc/include/any-windows-any/locationapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/locationapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/locationapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/malloc.h b/lib/libc/include/any-windows-any/malloc.h index 9c498c2918bd..48ae0db90430 100644 --- a/lib/libc/include/any-windows-any/malloc.h +++ b/lib/libc/include/any-windows-any/malloc.h @@ -102,12 +102,10 @@ extern "C" { _CRTIMP void *__cdecl _aligned_offset_malloc(size_t _Size,size_t _Alignment,size_t _Offset); _CRTIMP void *__cdecl _aligned_realloc(void *_Memory,size_t _Size,size_t _Alignment); _CRTIMP void *__cdecl _aligned_offset_realloc(void *_Memory,size_t _Size,size_t _Alignment,size_t _Offset); -# if __MSVCRT_VERSION__ >= 0x900 _CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size); _CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment); _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); -# endif #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) #pragma pop_macro("calloc") @@ -131,7 +129,9 @@ extern "C" { void * __mingw_aligned_malloc (size_t _Size, size_t _Alignment); void __mingw_aligned_free (void *_Memory); void * __mingw_aligned_offset_realloc (void *_Memory, size_t _Size, size_t _Alignment, size_t _Offset); +void * __mingw_aligned_offset_malloc (size_t, size_t, size_t); void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset); +size_t __mingw_aligned_msize (void *memblock, size_t alignment, size_t offset); #if defined(__x86_64__) || defined(__i386__) /* Get the compiler's definition of _mm_malloc and _mm_free. */ diff --git a/lib/libc/include/any-windows-any/math.h b/lib/libc/include/any-windows-any/math.h index 85ef0677335e..65c41cd6da34 100644 --- a/lib/libc/include/any-windows-any/math.h +++ b/lib/libc/include/any-windows-any/math.h @@ -206,7 +206,7 @@ extern "C" { __CRT_INLINE long double __cdecl fabsl (long double x) { -#if defined(__arm__) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ return __builtin_fabsl (x); #else long double res = 0.0l; @@ -397,7 +397,9 @@ typedef long double double_t; #ifndef __CRT__NO_INLINE __CRT_INLINE int __cdecl __fpclassifyl (long double x) { -#if defined(__x86_64__) || defined(_AMD64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __fpclassify(x); +#elif defined(__x86_64__) || defined(_AMD64_) __mingw_ldbl_type_t hlp; unsigned int e; hlp.x = x; @@ -414,8 +416,6 @@ typedef long double double_t; return (((hlp.lh.high & 0x7fffffff) | hlp.lh.low) == 0 ? FP_INFINITE : FP_NAN); return FP_NORMAL; -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __fpclassify(x); #elif defined(__i386__) || defined(_X86_) unsigned short sw; __asm__ __volatile__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); @@ -551,7 +551,9 @@ __mingw_choose_expr ( \ __CRT_INLINE int __cdecl __isnanl (long double _x) { -#if defined(__x86_64__) || defined(_AMD64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __isnan(_x); +#elif defined(__x86_64__) || defined(_AMD64_) __mingw_ldbl_type_t ld; unsigned int xx, signexp; @@ -561,8 +563,6 @@ __mingw_choose_expr ( \ signexp |= (xx | (-xx)) >> 31; signexp = 0xfffe - signexp; return (int) signexp >> 16; -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __isnan(_x); #elif defined(__i386__) || defined(_X86_) unsigned short sw; __asm__ __volatile__ ("fxam;" @@ -621,12 +621,12 @@ __mingw_choose_expr ( \ } __CRT_INLINE int __cdecl __signbitl (long double x) { -#if defined(__x86_64__) || defined(_AMD64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __signbit(x); +#elif defined(__x86_64__) || defined(_AMD64_) __mingw_ldbl_type_t ld; ld.x = x; return ((ld.lh.sign_exponent & 0x8000) != 0); -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __signbit(x); #elif defined(__i386__) || defined(_X86_) unsigned short stw; __asm__ __volatile__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); @@ -766,90 +766,6 @@ __mingw_choose_expr ( \ extern float __cdecl logbf (float); extern long double __cdecl logbl (long double); -#ifndef __CRT__NO_INLINE -/* When compiling with gcc, always use gcc's builtins. - * The asm inlines below are kept here for future reference: - * they were written for gcc and do no error handling - * (exceptions/errno), therefore only valid if __FAST_MATH__ - * is defined (-ffast-math) . */ -#if 0 /*defined(__GNUC__) && defined(__FAST_MATH__)*/ - __CRT_INLINE double __cdecl logb (double x) - { -#if defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - __mingw_dbl_type_t hlp; - int lx, hx; - - hlp.x = x; - lx = hlp.lh.low; - hx = hlp.lh.high & 0x7fffffff; /* high |x| */ - if ((hx | lx) == 0) - return -1.0 / fabs (x); - if (hx >= 0x7ff00000) - return x * x; - if ((hx >>= 20) == 0) { - unsigned long long mantissa = hlp.val & 0xfffffffffffffULL; - return -1023.0 - (__builtin_clzll(mantissa) - 12); - } - return (double) (hx - 1023); -#elif defined(__i386__) || defined(_X86_) - double res = 0.0; - __asm__ __volatile__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -#endif - } - - __CRT_INLINE float __cdecl logbf (float x) - { -#if defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - int v; - __mingw_flt_type_t hlp; - - hlp.x = x; - v = hlp.val & 0x7fffffff; /* high |x| */ - if (!v) - return (float)-1.0 / fabsf (x); - if (v >= 0x7f800000) - return x * x; - if ((v >>= 23) == 0) - return -127.0 - (__builtin_clzl(hlp.val & 0x7fffff) - 9); - return (float) (v - 127); -#elif defined(__i386__) || defined(_X86_) - float res = 0.0F; - __asm__ __volatile__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -#endif - } - - __CRT_INLINE long double __cdecl logbl (long double x) - { -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - __mingw_ldbl_type_t hlp; - int lx, hx; - - hlp.x = x; - lx = hlp.lh.low; - hx = hlp.lh.high & 0x7fffffff; /* high |x| */ - if ((hx | lx) == 0) - return -1.0 / fabs (x); - if (hx >= 0x7ff00000) - return x * x; - if ((hx >>= 20) == 0) { - unsigned long long mantissa = hlp.val & 0xfffffffffffffULL; - return -1023.0 - (__builtin_clzll(mantissa) - 12); - } - return (double) (hx - 1023); -#elif defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) - long double res = 0.0l; - __asm__ __volatile__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -#endif - } -#endif /* defined(__GNUC__) && defined(__FAST_MATH__) */ -#endif /* __CRT__NO_INLINE */ - /* 7.12.6.12 Double in C89 */ extern float __cdecl modff (float, float*); extern long double __cdecl modfl (long double, long double*); @@ -938,84 +854,6 @@ __MINGW_EXTENSION long long __cdecl llrint (double); __MINGW_EXTENSION long long __cdecl llrintf (float); __MINGW_EXTENSION long long __cdecl llrintl (long double); -#ifndef __CRT__NO_INLINE -/* When compiling with gcc, always use gcc's builtins. - * The asm inlines below are kept here for future reference: - * they were written for gcc and do no error handling - * (exceptions/errno), therefore only valid if __FAST_MATH__ - * is defined (-ffast-math) . */ -#if 0 /*defined(__GNUC__) && defined(__FAST_MATH__)*/ - __CRT_INLINE double __cdecl rint (double x) - { - double retval = 0.0; - __asm__ __volatile__ ("frndint;": "=t" (retval) : "0" (x)); - return retval; - } - - __CRT_INLINE float __cdecl rintf (float x) - { - float retval = 0.0; - __asm__ __volatile__ ("frndint;" : "=t" (retval) : "0" (x) ); - return retval; - } - - __CRT_INLINE long double __cdecl rintl (long double x) - { - long double retval = 0.0l; - __asm__ __volatile__ ("frndint;" : "=t" (retval) : "0" (x) ); - return retval; - } - - __CRT_INLINE long __cdecl lrint (double x) - { - long retval = 0; - __asm__ __volatile__ \ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } - - __CRT_INLINE long __cdecl lrintf (float x) - { - long retval = 0; - __asm__ __volatile__ \ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } - - __CRT_INLINE long __cdecl lrintl (long double x) - { - long retval = 0; - __asm__ __volatile__ \ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } - - __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrint (double x) - { - __MINGW_EXTENSION long long retval = 0ll; - __asm__ __volatile__ \ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } - - __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrintf (float x) - { - __MINGW_EXTENSION long long retval = 0ll; - __asm__ __volatile__ \ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } - - __MINGW_EXTENSION __CRT_INLINE long long __cdecl llrintl (long double x) - { - __MINGW_EXTENSION long long retval = 0ll; - __asm__ __volatile__ \ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \ - return retval; - } -#endif /* defined(__GNUC__) && defined(__FAST_MATH__) */ -#endif /* !__CRT__NO_INLINE */ - /* 7.12.9.6 */ /* round away from zero, regardless of fpu control word settings */ extern double __cdecl round (double); diff --git a/lib/libc/include/any-windows-any/mediaobj.h b/lib/libc/include/any-windows-any/mediaobj.h index 0b5380250227..41a69a04d25e 100644 --- a/lib/libc/include/any-windows-any/mediaobj.h +++ b/lib/libc/include/any-windows-any/mediaobj.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mediaobj.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mediaobj.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/medparam.h b/lib/libc/include/any-windows-any/medparam.h index d214447dbdf5..c5300fafbef1 100644 --- a/lib/libc/include/any-windows-any/medparam.h +++ b/lib/libc/include/any-windows-any/medparam.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/medparam.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/medparam.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/memoryapi.h b/lib/libc/include/any-windows-any/memoryapi.h index 889c2a5049c5..cebecd8855b7 100644 --- a/lib/libc/include/any-windows-any/memoryapi.h +++ b/lib/libc/include/any-windows-any/memoryapi.h @@ -159,7 +159,9 @@ extern "C" { #if NTDDI_VERSION >= NTDDI_WIN10_RS2 WINBASEAPI PVOID WINAPI MapViewOfFileNuma2(HANDLE FileMappingHandle, HANDLE ProcessHandle, ULONG64 Offset, PVOID BaseAddress, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection, ULONG PreferredNode); - WINBASEAPI PVOID MapViewOfFile2(HANDLE FileMappingHandle, HANDLE ProcessHandle, ULONG64 Offset, PVOID BaseAddress, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection); + FORCEINLINE PVOID MapViewOfFile2(HANDLE FileMappingHandle, HANDLE ProcessHandle, ULONG64 Offset, PVOID BaseAddress, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection) { + return MapViewOfFileNuma2(FileMappingHandle, ProcessHandle, Offset, BaseAddress, ViewSize, AllocationType, PageProtection, NUMA_NO_PREFERRED_NODE); + } #endif #if NTDDI_VERSION >= NTDDI_WIN10_RS4 diff --git a/lib/libc/include/any-windows-any/mfapi.h b/lib/libc/include/any-windows-any/mfapi.h index 899d15d2ff90..2902a22fdbd8 100644 --- a/lib/libc/include/any-windows-any/mfapi.h +++ b/lib/libc/include/any-windows-any/mfapi.h @@ -104,7 +104,7 @@ extern "C" { typedef enum { MF_STANDARD_WORKQUEUE = 0, MF_WINDOW_WORKQUEUE = 1, - MF_MULTITHREADED_WORKQUEUE = 2, + MF_MULTITHREADED_WORKQUEUE = 2 } MFASYNC_WORKQUEUE_TYPE; #endif @@ -198,7 +198,7 @@ extern "C" { MF_TOPOSTATUS_DYNAMIC_CHANGED = 210, #endif MF_TOPOSTATUS_SINK_SWITCHED = 300, - MF_TOPOSTATUS_ENDED = 400, + MF_TOPOSTATUS_ENDED = 400 } MF_TOPOSTATUS; EXTERN_C const GUID MR_BUFFER_SERVICE; @@ -451,26 +451,26 @@ DEFINE_MEDIATYPE_GUID(MFVideoFormat_Theora, FCC('theo')); MFVideo3DSampleFormat_BaseView = 0, MFVideo3DSampleFormat_MultiView = 1, MFVideo3DSampleFormat_Packed_LeftRight = 2, - MFVideo3DSampleFormat_Packed_TopBottom = 3, + MFVideo3DSampleFormat_Packed_TopBottom = 3 } MFVideo3DFormat; typedef enum _MFVideo3DSampleFormat { MFSampleExtension_3DVideo_MultiView = 1, - MFSampleExtension_3DVideo_Packed = 0, + MFSampleExtension_3DVideo_Packed = 0 } MFVideo3DSampleFormat; typedef enum _MFVideoRotationFormat { MFVideoRotationFormat_0 = 0, MFVideoRotationFormat_90 = 90, MFVideoRotationFormat_180 = 180, - MFVideoRotationFormat_270 = 270, + MFVideoRotationFormat_270 = 270 } MFVideoRotationFormat; #endif typedef enum _MFVideoDRMFlags { MFVideoDRMFlag_None = 0, MFVideoDRMFlag_AnalogProtected = 1, - MFVideoDRMFlag_DigitallyProtected = 2, + MFVideoDRMFlag_DigitallyProtected = 2 } MFVideoDRMFlags; typedef enum _MFVideoPadFlags { diff --git a/lib/libc/include/any-windows-any/mfcaptureengine.h b/lib/libc/include/any-windows-any/mfcaptureengine.h index eafa112fc7a5..20ab91f7b358 100644 --- a/lib/libc/include/any-windows-any/mfcaptureengine.h +++ b/lib/libc/include/any-windows-any/mfcaptureengine.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfcaptureengine.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfcaptureengine.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfd3d12.h b/lib/libc/include/any-windows-any/mfd3d12.h index 8032d9e62daf..28ce385e4395 100644 --- a/lib/libc/include/any-windows-any/mfd3d12.h +++ b/lib/libc/include/any-windows-any/mfd3d12.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfd3d12.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfd3d12.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfidl.h b/lib/libc/include/any-windows-any/mfidl.h index 031276a396b9..58005f0605f4 100644 --- a/lib/libc/include/any-windows-any/mfidl.h +++ b/lib/libc/include/any-windows-any/mfidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfmediacapture.h b/lib/libc/include/any-windows-any/mfmediacapture.h index d22d73fff096..a65ee5a97d5a 100644 --- a/lib/libc/include/any-windows-any/mfmediacapture.h +++ b/lib/libc/include/any-windows-any/mfmediacapture.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfmediacapture.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfmediacapture.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfmediaengine.h b/lib/libc/include/any-windows-any/mfmediaengine.h index 2b53c0d635f6..ff72d4ee8747 100644 --- a/lib/libc/include/any-windows-any/mfmediaengine.h +++ b/lib/libc/include/any-windows-any/mfmediaengine.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfmediaengine.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfmediaengine.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfobjects.h b/lib/libc/include/any-windows-any/mfobjects.h index 50df22a456b3..59ce5edbebc8 100644 --- a/lib/libc/include/any-windows-any/mfobjects.h +++ b/lib/libc/include/any-windows-any/mfobjects.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfobjects.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfobjects.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfplay.h b/lib/libc/include/any-windows-any/mfplay.h index e9748a7df72f..9abb3875800f 100644 --- a/lib/libc/include/any-windows-any/mfplay.h +++ b/lib/libc/include/any-windows-any/mfplay.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfplay.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfplay.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mfreadwrite.h b/lib/libc/include/any-windows-any/mfreadwrite.h index caebaadb5c4b..6bd90c2b4541 100644 --- a/lib/libc/include/any-windows-any/mfreadwrite.h +++ b/lib/libc/include/any-windows-any/mfreadwrite.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mfreadwrite.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mfreadwrite.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mftransform.h b/lib/libc/include/any-windows-any/mftransform.h index 7ab6676eec01..7268f9b4629a 100644 --- a/lib/libc/include/any-windows-any/mftransform.h +++ b/lib/libc/include/any-windows-any/mftransform.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mftransform.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mftransform.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mmdeviceapi.h b/lib/libc/include/any-windows-any/mmdeviceapi.h index d272da0b721c..c12e2ee032bb 100644 --- a/lib/libc/include/any-windows-any/mmdeviceapi.h +++ b/lib/libc/include/any-windows-any/mmdeviceapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mmdeviceapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mmdeviceapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mmstream.h b/lib/libc/include/any-windows-any/mmstream.h index fbee4c0c0b43..022963122f50 100644 --- a/lib/libc/include/any-windows-any/mmstream.h +++ b/lib/libc/include/any-windows-any/mmstream.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mmstream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mmstream.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mpeg2bits.h b/lib/libc/include/any-windows-any/mpeg2bits.h index 74258bd94db8..9d9c40a71858 100644 --- a/lib/libc/include/any-windows-any/mpeg2bits.h +++ b/lib/libc/include/any-windows-any/mpeg2bits.h @@ -1,23 +1,69 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. +/* + * Copyright (C) 2025 Biswapriyo Nath + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef __INC_MPEG2BITS__ -#define __INC_MPEG2BITS__ -#include -typedef struct _MPEG_HEADER_BITS { - WORD SectionLength :12; - WORD Reserved :2; - WORD PrivateIndicator :1; - WORD SectionSyntaxIndicator :1; +#ifndef _MPEG2BITS_H_ +#define _MPEG2BITS_H_ + +#pragma pack(push) +#pragma pack(1) + +#if defined(__midl) || defined(__WIDL__) +typedef struct +{ + WORD Bits; +} PID_BITS_MIDL; +#else +typedef struct +{ + WORD Reserved : 3; + WORD ProgramId : 13; +} PID_BITS, *PPID_BITS; +#endif + +#if defined(__midl) || defined(__WIDL__) +typedef struct +{ + WORD Bits; +} MPEG_HEADER_BITS_MIDL; +#else +typedef struct +{ + WORD SectionLength : 12; + WORD Reserved : 2; + WORD PrivateIndicator : 1; + WORD SectionSyntaxIndicator : 1; } MPEG_HEADER_BITS, *PMPEG_HEADER_BITS; +#endif -typedef struct _MPEG_HEADER_VERSION_BITS { - BYTE CurrentNextIndicator :1; - BYTE VersionNumber :5; - BYTE Reserved :2; +#if defined(__midl) || defined(__WIDL__) +typedef struct +{ + BYTE Bits; +} MPEG_HEADER_VERSION_BITS_MIDL; +#else +typedef struct +{ + BYTE CurrentNextIndicator : 1; + BYTE VersionNumber : 5; + BYTE Reserved : 2; } MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS; +#endif + +#pragma pack(pop) -#endif /* __INC_MPEG2BITS__ */ +#endif /* _MPEG2BITS_H_ */ diff --git a/lib/libc/include/any-windows-any/mpeg2data.h b/lib/libc/include/any-windows-any/mpeg2data.h index caf985623a6e..cfff85b9083b 100644 --- a/lib/libc/include/any-windows-any/mpeg2data.h +++ b/lib/libc/include/any-windows-any/mpeg2data.h @@ -1,138 +1,778 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifndef __INC_MPEG2DATA__ -#define __INC_MPEG2DATA__ +/*** Autogenerated by WIDL 10.4 from include/mpeg2data.idl - Do not edit ***/ -#include +#ifdef _WIN32 +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif +#include +#include +#endif -typedef WORD PID; -typedef BYTE TID; +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif -typedef struct _ATSC_FILTER_OPTIONS { - WINBOOL fSpecifyEtmId; - DWORD EtmId; -} ATSC_FILTER_OPTIONS; +#ifndef __mpeg2data_h__ +#define __mpeg2data_h__ -#include +/* Forward declarations */ -#ifndef __ISectionList_FWD_DEFINED__ -#define __ISectionList_FWD_DEFINED__ -typedef struct ISectionList ISectionList; +#ifndef __IMpeg2TableFilter_FWD_DEFINED__ +#define __IMpeg2TableFilter_FWD_DEFINED__ +typedef interface IMpeg2TableFilter IMpeg2TableFilter; +#ifdef __cplusplus +interface IMpeg2TableFilter; +#endif /* __cplusplus */ #endif +#ifndef __Mpeg2TableFilter_FWD_DEFINED__ +#define __Mpeg2TableFilter_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Mpeg2TableFilter Mpeg2TableFilter; +#else +typedef struct Mpeg2TableFilter Mpeg2TableFilter; +#endif /* defined __cplusplus */ +#endif /* defined __Mpeg2TableFilter_FWD_DEFINED__ */ + #ifndef __IMpeg2Data_FWD_DEFINED__ #define __IMpeg2Data_FWD_DEFINED__ -typedef struct IMpeg2Data IMpeg2Data; +typedef interface IMpeg2Data IMpeg2Data; +#ifdef __cplusplus +interface IMpeg2Data; +#endif /* __cplusplus */ +#endif + +#ifndef __ISectionList_FWD_DEFINED__ +#define __ISectionList_FWD_DEFINED__ +typedef interface ISectionList ISectionList; +#ifdef __cplusplus +interface ISectionList; +#endif /* __cplusplus */ #endif #ifndef __IMpeg2Stream_FWD_DEFINED__ #define __IMpeg2Stream_FWD_DEFINED__ -typedef struct IMpeg2Stream IMpeg2Stream; +typedef interface IMpeg2Stream IMpeg2Stream; +#ifdef __cplusplus +interface IMpeg2Stream; +#endif /* __cplusplus */ #endif -#undef INTERFACE -#define INTERFACE ISectionList -#ifdef __GNUC__ -#warning COM interfaces layout in this header has not been verified. -#warning COM interfaces with incorrect layout may not work at all. -__MINGW_BROKEN_INTERFACE(INTERFACE) +#ifndef __SectionList_FWD_DEFINED__ +#define __SectionList_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SectionList SectionList; +#else +typedef struct SectionList SectionList; +#endif /* defined __cplusplus */ +#endif /* defined __SectionList_FWD_DEFINED__ */ + +#ifndef __Mpeg2Stream_FWD_DEFINED__ +#define __Mpeg2Stream_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Mpeg2Stream Mpeg2Stream; +#else +typedef struct Mpeg2Stream Mpeg2Stream; +#endif /* defined __cplusplus */ +#endif /* defined __Mpeg2Stream_FWD_DEFINED__ */ + +#ifndef __Mpeg2Data_FWD_DEFINED__ +#define __Mpeg2Data_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Mpeg2Data Mpeg2Data; +#else +typedef struct Mpeg2Data Mpeg2Data; +#endif /* defined __cplusplus */ +#endif /* defined __Mpeg2Data_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { #endif -DECLARE_INTERFACE_(ISectionList,IUnknown) + +#ifndef __ISectionList_FWD_DEFINED__ +#define __ISectionList_FWD_DEFINED__ +typedef interface ISectionList ISectionList; +#ifdef __cplusplus +interface ISectionList; +#endif /* __cplusplus */ +#endif + +#ifndef __IMpeg2Stream_FWD_DEFINED__ +#define __IMpeg2Stream_FWD_DEFINED__ +typedef interface IMpeg2Stream IMpeg2Stream; +#ifdef __cplusplus +interface IMpeg2Stream; +#endif /* __cplusplus */ +#endif + +#define MPEG_PAT_PID 0x0000 +#define MPEG_PAT_TID 0x00 +#define MPEG_CAT_PID 0x0001 +#define MPEG_CAT_TID 0x01 +#define MPEG_PMT_TID 0x02 +#define MPEG_TSDT_PID 0x0002 +#define MPEG_TSDT_TID 0x03 +#define ATSC_MGT_PID 0x1ffb +#define ATSC_MGT_TID 0xc7 +#define ATSC_VCT_PID 0x1ffb +#define ATSC_VCT_TERR_TID 0xc8 +#define ATSC_VCT_CABL_TID 0xc9 +#define ATSC_EIT_TID 0xcb +#define ATSC_ETT_TID 0xcc +#define ATSC_RRT_TID 0xca +#define ATSC_RRT_PID 0x1ffb +#define ATSC_STT_PID 0x1ffb +#define ATSC_STT_TID 0xcd +#define ATSC_PIT_TID 0xd0 +#define DVB_NIT_PID 0x0010 +#define DVB_NIT_ACTUAL_TID 0x40 +#define DVB_NIT_OTHER_TID 0x41 +#define DVB_SDT_PID 0x0011 +#define DVB_SDT_ACTUAL_TID 0x42 +#define DVB_SDT_OTHER_TID 0x46 +#define DVB_BAT_PID 0x0011 +#define DVB_BAT_TID 0x4a +#define DVB_EIT_PID 0x0012 +#define DVB_EIT_ACTUAL_TID 0x4e +#define DVB_EIT_OTHER_TID 0x4f +#define DVB_RST_PID 0x0013 +#define DVB_RST_TID 0x71 +#define DVB_TDT_PID 0x0014 +#define DVB_TDT_TID 0x70 +#define DVB_ST_PID_16 0x0010 +#define DVB_ST_PID_17 0x0011 +#define DVB_ST_PID_18 0x0012 +#define DVB_ST_PID_19 0x0013 +#define DVB_ST_PID_20 0x0014 +#define DVB_ST_TID 0x72 +#define ISDB_ST_TID 0x72 +#define DVB_TOT_PID 0x0014 +#define DVB_TOT_TID 0x73 +#define DVB_DIT_PID 0x001e +#define DVB_DIT_TID 0x7e +#define DVB_SIT_PID 0x001f +#define DVB_SIT_TID 0x7f +#define ISDB_EMM_TID 0x85 +#define ISDB_BIT_PID 0x0024 +#define ISDB_BIT_TID 0xc4 +#define ISDB_NBIT_PID 0x0025 +#define ISDB_NBIT_MSG_TID 0xc5 +#define ISDB_NBIT_REF_TID 0xc6 +#define ISDB_LDT_PID 0x0025 +#define ISDB_LDT_TID 0xc7 +#define ISDB_SDTT_PID 0x0023 +#define ISDB_SDTT_ALT_PID 0x0028 +#define ISDB_SDTT_TID 0xc3 +#define ISDB_CDT_PID 0x0029 +#define ISDB_CDT_TID 0xc8 +#define SCTE_EAS_TID 0xd8 +#define SCTE_EAS_IB_PID 0x1ffb +#define SCTE_EAS_OOB_PID 0x1ffc +/***************************************************************************** + * IMpeg2TableFilter interface + */ +#ifndef __IMpeg2TableFilter_INTERFACE_DEFINED__ +#define __IMpeg2TableFilter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMpeg2TableFilter, 0xbdcdd913, 0x9ecd, 0x4fb2, 0x81,0xae, 0xad,0xf7,0x47,0xea,0x75,0xa5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bdcdd913-9ecd-4fb2-81ae-adf747ea75a5") +IMpeg2TableFilter : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE AddPID( + PID p) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTable( + PID p, + TID t) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddExtension( + PID p, + TID t, + TEID e) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemovePID( + PID p) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveTable( + PID p, + TID t) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveExtension( + PID p, + TID t, + TEID e) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMpeg2TableFilter, 0xbdcdd913, 0x9ecd, 0x4fb2, 0x81,0xae, 0xad,0xf7,0x47,0xea,0x75,0xa5) +#endif +#else +typedef struct IMpeg2TableFilterVtbl { BEGIN_INTERFACE - /* IUnknown methods */ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; - STDMETHOD_(ULONG, AddRef)(THIS) PURE; - STDMETHOD_(ULONG, Release)(THIS) PURE; + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMpeg2TableFilter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMpeg2TableFilter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMpeg2TableFilter *This); + + /*** IMpeg2TableFilter methods ***/ + HRESULT (STDMETHODCALLTYPE *AddPID)( + IMpeg2TableFilter *This, + PID p); + + HRESULT (STDMETHODCALLTYPE *AddTable)( + IMpeg2TableFilter *This, + PID p, + TID t); - /* ISectionList methods */ - STDMETHOD_(HRESULT,CancelPendingRequest)(THIS) PURE; - STDMETHOD_(HRESULT,GetNumberOfSections)(THIS_ WORD *pCount) PURE; - STDMETHOD_(HRESULT,GetProgramIdentifier)(THIS_ PID *pPid) PURE; - STDMETHOD_(HRESULT,GetSectionData)(THIS_ WORD sectionNumber,DWORD *pdwRawPacketLength,PSECTION *ppSection) PURE; - STDMETHOD_(HRESULT,GetTableIdentifier)(THIS_ TID *pTableId) PURE; - STDMETHOD_(HRESULT,Initialize)(THIS_ MPEG_REQUEST_TYPE requestType,IMpeg2Data *pMpeg2Data,PMPEG_CONTEXT pContext,PID pid,TID tid,PMPEG2_FILTER pFilter,DWORD timeout,HANDLE hDoneEvent) PURE; - STDMETHOD_(HRESULT,InitializeWithRawSections)(THIS_ PMPEG_PACKET_LIST pmplSections) PURE; + HRESULT (STDMETHODCALLTYPE *AddExtension)( + IMpeg2TableFilter *This, + PID p, + TID t, + TEID e); + + HRESULT (STDMETHODCALLTYPE *RemovePID)( + IMpeg2TableFilter *This, + PID p); + + HRESULT (STDMETHODCALLTYPE *RemoveTable)( + IMpeg2TableFilter *This, + PID p, + TID t); + + HRESULT (STDMETHODCALLTYPE *RemoveExtension)( + IMpeg2TableFilter *This, + PID p, + TID t, + TEID e); END_INTERFACE +} IMpeg2TableFilterVtbl; + +interface IMpeg2TableFilter { + CONST_VTBL IMpeg2TableFilterVtbl* lpVtbl; }; + #ifdef COBJMACROS -#define ISectionList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define ISectionList_AddRef(This) (This)->lpVtbl->AddRef(This) -#define ISectionList_Release(This) (This)->lpVtbl->Release(This) -#define ISectionList_CancelPendingRequest() (This)->lpVtbl->CancelPendingRequest(This) -#define ISectionList_GetNumberOfSections(This,pCount) (This)->lpVtbl->GetNumberOfSections(This,pCount) -#define ISectionList_GetProgramIdentifier(This,pPid) (This)->lpVtbl->GetProgramIdentifier(This,pPid) -#define ISectionList_GetSectionData(This,sectionNumber,pdwRawPacketLength,ppSection) (This)->lpVtbl->GetSectionData(This,sectionNumber,pdwRawPacketLength,ppSection) -#define ISectionList_GetTableIdentifier(This,pTableId) (This)->lpVtbl->GetTableIdentifier(This,pTableId) -#define ISectionList_Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,timeout,hDoneEvent) (This)->lpVtbl->Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,timeout,hDoneEvent) -#define ISectionList_InitializeWithRawSections(This,pmplSections) (This)->lpVtbl->InitializeWithRawSections(This,pmplSections) -#endif /*COBJMACROS*/ - -#undef INTERFACE -#define INTERFACE IMpeg2Data -#ifdef __GNUC__ -#warning COM interfaces layout in this header has not been verified. -#warning COM interfaces with incorrect layout may not work at all. -__MINGW_BROKEN_INTERFACE(INTERFACE) -#endif -DECLARE_INTERFACE_(IMpeg2Data,IUnknown) +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMpeg2TableFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMpeg2TableFilter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMpeg2TableFilter_Release(This) (This)->lpVtbl->Release(This) +/*** IMpeg2TableFilter methods ***/ +#define IMpeg2TableFilter_AddPID(This,p) (This)->lpVtbl->AddPID(This,p) +#define IMpeg2TableFilter_AddTable(This,p,t) (This)->lpVtbl->AddTable(This,p,t) +#define IMpeg2TableFilter_AddExtension(This,p,t,e) (This)->lpVtbl->AddExtension(This,p,t,e) +#define IMpeg2TableFilter_RemovePID(This,p) (This)->lpVtbl->RemovePID(This,p) +#define IMpeg2TableFilter_RemoveTable(This,p,t) (This)->lpVtbl->RemoveTable(This,p,t) +#define IMpeg2TableFilter_RemoveExtension(This,p,t,e) (This)->lpVtbl->RemoveExtension(This,p,t,e) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMpeg2TableFilter_QueryInterface(IMpeg2TableFilter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMpeg2TableFilter_AddRef(IMpeg2TableFilter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMpeg2TableFilter_Release(IMpeg2TableFilter* This) { + return This->lpVtbl->Release(This); +} +/*** IMpeg2TableFilter methods ***/ +static inline HRESULT IMpeg2TableFilter_AddPID(IMpeg2TableFilter* This,PID p) { + return This->lpVtbl->AddPID(This,p); +} +static inline HRESULT IMpeg2TableFilter_AddTable(IMpeg2TableFilter* This,PID p,TID t) { + return This->lpVtbl->AddTable(This,p,t); +} +static inline HRESULT IMpeg2TableFilter_AddExtension(IMpeg2TableFilter* This,PID p,TID t,TEID e) { + return This->lpVtbl->AddExtension(This,p,t,e); +} +static inline HRESULT IMpeg2TableFilter_RemovePID(IMpeg2TableFilter* This,PID p) { + return This->lpVtbl->RemovePID(This,p); +} +static inline HRESULT IMpeg2TableFilter_RemoveTable(IMpeg2TableFilter* This,PID p,TID t) { + return This->lpVtbl->RemoveTable(This,p,t); +} +static inline HRESULT IMpeg2TableFilter_RemoveExtension(IMpeg2TableFilter* This,PID p,TID t,TEID e) { + return This->lpVtbl->RemoveExtension(This,p,t,e); +} +#endif +#endif + +#endif + + +#endif /* __IMpeg2TableFilter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * Mpeg2TableFilter coclass + */ + +DEFINE_GUID(CLSID_Mpeg2TableFilter, 0x752845f1, 0x758f, 0x4c83, 0xa0,0x43, 0x42,0x70,0xc5,0x93,0x30,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("752845f1-758f-4c83-a043-4270c593308e") Mpeg2TableFilter; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Mpeg2TableFilter, 0x752845f1, 0x758f, 0x4c83, 0xa0,0x43, 0x42,0x70,0xc5,0x93,0x30,0x8e) +#endif +#endif + +typedef struct Mpeg2TableSampleHdr { + BYTE SectionCount; + BYTE Reserved[3]; + LONG SectionOffsets[1]; +} Mpeg2TableSampleHdr; +#ifndef __Mpeg2DataLib_LIBRARY_DEFINED__ +#define __Mpeg2DataLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_Mpeg2DataLib, 0xdbaf6c1b, 0xb6a4, 0x4898, 0xae,0x65, 0x20,0x4f,0x0d,0x95,0x09,0xa1); + +/***************************************************************************** + * IMpeg2Data interface + */ +#ifndef __IMpeg2Data_INTERFACE_DEFINED__ +#define __IMpeg2Data_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMpeg2Data, 0x9b396d40, 0xf380, 0x4e3c, 0xa5,0x14, 0x1a,0x82,0xbf,0x6e,0xbf,0xe6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9b396d40-f380-4e3c-a514-1a82bf6ebfe6") +IMpeg2Data : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE GetSection( + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + ISectionList **section_list) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTable( + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + ISectionList **section_list) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamOfSections( + PID pid, + TID tid, + PMPEG2_FILTER filter, + HANDLE data_ready_event, + IMpeg2Stream **mpeg_stream) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMpeg2Data, 0x9b396d40, 0xf380, 0x4e3c, 0xa5,0x14, 0x1a,0x82,0xbf,0x6e,0xbf,0xe6) +#endif +#else +typedef struct IMpeg2DataVtbl { BEGIN_INTERFACE - /* IUnknown methods */ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; - STDMETHOD_(ULONG, AddRef)(THIS) PURE; - STDMETHOD_(ULONG, Release)(THIS) PURE; + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMpeg2Data *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMpeg2Data *This); - /* IMpeg2Data methods */ - STDMETHOD_(HRESULT,GetSection)(THIS_ PID pid,TID tid,PMPEG2_FILTER pFilter,DWORD dwTimeout,ISectionList **ppSectionList) PURE; - STDMETHOD_(HRESULT,GetStreamOfSections)(THIS_ PID pid,TID tid,PMPEG2_FILTER pFilter,HANDLE hDataReadyEvent,IMpeg2Stream **ppMpegStream) PURE; - STDMETHOD_(HRESULT,GetTable)(THIS_ PID pid,TID tid,PMPEG2_FILTER pFilter,DWORD dwTimeout,ISectionList **ppSectionList) PURE; + ULONG (STDMETHODCALLTYPE *Release)( + IMpeg2Data *This); + + /*** IMpeg2Data methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSection)( + IMpeg2Data *This, + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + ISectionList **section_list); + + HRESULT (STDMETHODCALLTYPE *GetTable)( + IMpeg2Data *This, + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + ISectionList **section_list); + + HRESULT (STDMETHODCALLTYPE *GetStreamOfSections)( + IMpeg2Data *This, + PID pid, + TID tid, + PMPEG2_FILTER filter, + HANDLE data_ready_event, + IMpeg2Stream **mpeg_stream); END_INTERFACE +} IMpeg2DataVtbl; + +interface IMpeg2Data { + CONST_VTBL IMpeg2DataVtbl* lpVtbl; }; + #ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ #define IMpeg2Data_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMpeg2Data_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMpeg2Data_Release(This) (This)->lpVtbl->Release(This) -#define IMpeg2Data_GetSection(This,pid,tid,pFilter,dwTimeout,ppSectionList) (This)->lpVtbl->GetSection(This,pid,tid,pFilter,dwTimeout,ppSectionList) -#define IMpeg2Data_GetStreamOfSections(This,pid,tid,pFilter,hDataReadyEvent,ppMpegStream) (This)->lpVtbl->GetStreamOfSections(This,pid,tid,pFilter,hDataReadyEvent,ppMpegStream) -#define IMpeg2Data_GetTable(This,pid,tid,pFilter,dwTimeout,ppSectionList) (This)->lpVtbl->GetTable(This,pid,tid,pFilter,dwTimeout,ppSectionList) -#endif /*COBJMACROS*/ - -#undef INTERFACE -#define INTERFACE IMpeg2Stream -#ifdef __GNUC__ -#warning COM interfaces layout in this header has not been verified. -#warning COM interfaces with incorrect layout may not work at all. -__MINGW_BROKEN_INTERFACE(INTERFACE) -#endif -DECLARE_INTERFACE_(IMpeg2Stream,IUnknown) +/*** IMpeg2Data methods ***/ +#define IMpeg2Data_GetSection(This,pid,tid,filter,timeout,section_list) (This)->lpVtbl->GetSection(This,pid,tid,filter,timeout,section_list) +#define IMpeg2Data_GetTable(This,pid,tid,filter,timeout,section_list) (This)->lpVtbl->GetTable(This,pid,tid,filter,timeout,section_list) +#define IMpeg2Data_GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream) (This)->lpVtbl->GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMpeg2Data_QueryInterface(IMpeg2Data* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMpeg2Data_AddRef(IMpeg2Data* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMpeg2Data_Release(IMpeg2Data* This) { + return This->lpVtbl->Release(This); +} +/*** IMpeg2Data methods ***/ +static inline HRESULT IMpeg2Data_GetSection(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,ISectionList **section_list) { + return This->lpVtbl->GetSection(This,pid,tid,filter,timeout,section_list); +} +static inline HRESULT IMpeg2Data_GetTable(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,ISectionList **section_list) { + return This->lpVtbl->GetTable(This,pid,tid,filter,timeout,section_list); +} +static inline HRESULT IMpeg2Data_GetStreamOfSections(IMpeg2Data* This,PID pid,TID tid,PMPEG2_FILTER filter,HANDLE data_ready_event,IMpeg2Stream **mpeg_stream) { + return This->lpVtbl->GetStreamOfSections(This,pid,tid,filter,data_ready_event,mpeg_stream); +} +#endif +#endif + +#endif + + +#endif /* __IMpeg2Data_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISectionList interface + */ +#ifndef __ISectionList_INTERFACE_DEFINED__ +#define __ISectionList_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISectionList, 0xafec1eb5, 0x2a64, 0x46c6, 0xbf,0x4b, 0xae,0x3c,0xcb,0x6a,0xfd,0xb0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("afec1eb5-2a64-46c6-bf4b-ae3ccb6afdb0") +ISectionList : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE Initialize( + MPEG_REQUEST_TYPE request_type, + IMpeg2Data *mpeg2_data, + PMPEG_CONTEXT context, + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + HANDLE done_event) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeWithRawSections( + PMPEG_PACKET_LIST mpl_sections) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelPendingRequest( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNumberOfSections( + WORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSectionData( + WORD section_number, + DWORD *raw_packet_length, + PSECTION *section) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProgramIdentifier( + PID *pid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTableIdentifier( + TID *tid) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISectionList, 0xafec1eb5, 0x2a64, 0x46c6, 0xbf,0x4b, 0xae,0x3c,0xcb,0x6a,0xfd,0xb0) +#endif +#else +typedef struct ISectionListVtbl { BEGIN_INTERFACE - /* IUnknown methods */ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; - STDMETHOD_(ULONG, AddRef)(THIS) PURE; - STDMETHOD_(ULONG, Release)(THIS) PURE; + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISectionList *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISectionList *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISectionList *This); + + /*** ISectionList methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + ISectionList *This, + MPEG_REQUEST_TYPE request_type, + IMpeg2Data *mpeg2_data, + PMPEG_CONTEXT context, + PID pid, + TID tid, + PMPEG2_FILTER filter, + DWORD timeout, + HANDLE done_event); + + HRESULT (STDMETHODCALLTYPE *InitializeWithRawSections)( + ISectionList *This, + PMPEG_PACKET_LIST mpl_sections); + + HRESULT (STDMETHODCALLTYPE *CancelPendingRequest)( + ISectionList *This); + + HRESULT (STDMETHODCALLTYPE *GetNumberOfSections)( + ISectionList *This, + WORD *count); + + HRESULT (STDMETHODCALLTYPE *GetSectionData)( + ISectionList *This, + WORD section_number, + DWORD *raw_packet_length, + PSECTION *section); + + HRESULT (STDMETHODCALLTYPE *GetProgramIdentifier)( + ISectionList *This, + PID *pid); - /* IMpeg2Stream methods */ - STDMETHOD_(HRESULT,Initialize)(THIS_ MPEG_REQUEST_TYPE requestType,IMpeg2Data *pMpeg2Data,PMPEG_CONTEXT pContext,PID pid,TID tid,PMPEG2_FILTER pFilter,HANDLE hDataReadyEvent) PURE; - STDMETHOD_(HRESULT,SupplyDataBuffer)(THIS_ PMPEG_STREAM_BUFFER pStreamBuffer) PURE; + HRESULT (STDMETHODCALLTYPE *GetTableIdentifier)( + ISectionList *This, + TID *tid); END_INTERFACE +} ISectionListVtbl; + +interface ISectionList { + CONST_VTBL ISectionListVtbl* lpVtbl; }; + #ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISectionList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISectionList_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISectionList_Release(This) (This)->lpVtbl->Release(This) +/*** ISectionList methods ***/ +#define ISectionList_Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event) (This)->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event) +#define ISectionList_InitializeWithRawSections(This,mpl_sections) (This)->lpVtbl->InitializeWithRawSections(This,mpl_sections) +#define ISectionList_CancelPendingRequest(This) (This)->lpVtbl->CancelPendingRequest(This) +#define ISectionList_GetNumberOfSections(This,count) (This)->lpVtbl->GetNumberOfSections(This,count) +#define ISectionList_GetSectionData(This,section_number,raw_packet_length,section) (This)->lpVtbl->GetSectionData(This,section_number,raw_packet_length,section) +#define ISectionList_GetProgramIdentifier(This,pid) (This)->lpVtbl->GetProgramIdentifier(This,pid) +#define ISectionList_GetTableIdentifier(This,tid) (This)->lpVtbl->GetTableIdentifier(This,tid) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISectionList_QueryInterface(ISectionList* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISectionList_AddRef(ISectionList* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISectionList_Release(ISectionList* This) { + return This->lpVtbl->Release(This); +} +/*** ISectionList methods ***/ +static inline HRESULT ISectionList_Initialize(ISectionList* This,MPEG_REQUEST_TYPE request_type,IMpeg2Data *mpeg2_data,PMPEG_CONTEXT context,PID pid,TID tid,PMPEG2_FILTER filter,DWORD timeout,HANDLE done_event) { + return This->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,timeout,done_event); +} +static inline HRESULT ISectionList_InitializeWithRawSections(ISectionList* This,PMPEG_PACKET_LIST mpl_sections) { + return This->lpVtbl->InitializeWithRawSections(This,mpl_sections); +} +static inline HRESULT ISectionList_CancelPendingRequest(ISectionList* This) { + return This->lpVtbl->CancelPendingRequest(This); +} +static inline HRESULT ISectionList_GetNumberOfSections(ISectionList* This,WORD *count) { + return This->lpVtbl->GetNumberOfSections(This,count); +} +static inline HRESULT ISectionList_GetSectionData(ISectionList* This,WORD section_number,DWORD *raw_packet_length,PSECTION *section) { + return This->lpVtbl->GetSectionData(This,section_number,raw_packet_length,section); +} +static inline HRESULT ISectionList_GetProgramIdentifier(ISectionList* This,PID *pid) { + return This->lpVtbl->GetProgramIdentifier(This,pid); +} +static inline HRESULT ISectionList_GetTableIdentifier(ISectionList* This,TID *tid) { + return This->lpVtbl->GetTableIdentifier(This,tid); +} +#endif +#endif + +#endif + + +#endif /* __ISectionList_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMpeg2Stream interface + */ +#ifndef __IMpeg2Stream_INTERFACE_DEFINED__ +#define __IMpeg2Stream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMpeg2Stream, 0x400cc286, 0x32a0, 0x4ce4, 0x90,0x41, 0x39,0x57,0x11,0x25,0xa6,0x35); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("400cc286-32a0-4ce4-9041-39571125a635") +IMpeg2Stream : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + MPEG_REQUEST_TYPE request_type, + IMpeg2Data *mpeg2_data, + PMPEG_CONTEXT context, + PID pid, + TID tid, + PMPEG2_FILTER filter, + HANDLE data_ready_event) = 0; + + virtual HRESULT STDMETHODCALLTYPE SupplyDataBuffer( + PMPEG_STREAM_BUFFER stream_buffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMpeg2Stream, 0x400cc286, 0x32a0, 0x4ce4, 0x90,0x41, 0x39,0x57,0x11,0x25,0xa6,0x35) +#endif +#else +typedef struct IMpeg2StreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMpeg2Stream *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMpeg2Stream *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMpeg2Stream *This); + + /*** IMpeg2Stream methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IMpeg2Stream *This, + MPEG_REQUEST_TYPE request_type, + IMpeg2Data *mpeg2_data, + PMPEG_CONTEXT context, + PID pid, + TID tid, + PMPEG2_FILTER filter, + HANDLE data_ready_event); + + HRESULT (STDMETHODCALLTYPE *SupplyDataBuffer)( + IMpeg2Stream *This, + PMPEG_STREAM_BUFFER stream_buffer); + + END_INTERFACE +} IMpeg2StreamVtbl; + +interface IMpeg2Stream { + CONST_VTBL IMpeg2StreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ #define IMpeg2Stream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMpeg2Stream_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMpeg2Stream_Release(This) (This)->lpVtbl->Release(This) -#define IMpeg2Stream_Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,hDataReadyEvent) (This)->lpVtbl->Initialize(This,requestType,pMpeg2Data,pContext,pid,tid,pFilter,hDataReadyEvent) -#define IMpeg2Stream_SupplyDataBuffer(This,pStreamBuffer) (This)->lpVtbl->SupplyDataBuffer(This,pStreamBuffer) -#endif /*COBJMACROS*/ +/*** IMpeg2Stream methods ***/ +#define IMpeg2Stream_Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event) (This)->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event) +#define IMpeg2Stream_SupplyDataBuffer(This,stream_buffer) (This)->lpVtbl->SupplyDataBuffer(This,stream_buffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMpeg2Stream_QueryInterface(IMpeg2Stream* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMpeg2Stream_AddRef(IMpeg2Stream* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMpeg2Stream_Release(IMpeg2Stream* This) { + return This->lpVtbl->Release(This); +} +/*** IMpeg2Stream methods ***/ +static inline HRESULT IMpeg2Stream_Initialize(IMpeg2Stream* This,MPEG_REQUEST_TYPE request_type,IMpeg2Data *mpeg2_data,PMPEG_CONTEXT context,PID pid,TID tid,PMPEG2_FILTER filter,HANDLE data_ready_event) { + return This->lpVtbl->Initialize(This,request_type,mpeg2_data,context,pid,tid,filter,data_ready_event); +} +static inline HRESULT IMpeg2Stream_SupplyDataBuffer(IMpeg2Stream* This,PMPEG_STREAM_BUFFER stream_buffer) { + return This->lpVtbl->SupplyDataBuffer(This,stream_buffer); +} +#endif +#endif + +#endif + + +#endif /* __IMpeg2Stream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * SectionList coclass + */ + +DEFINE_GUID(CLSID_SectionList, 0x73da5d04, 0x4347, 0x45d3, 0xa9,0xdc, 0xfa,0xe9,0xdd,0xbe,0x55,0x8d); + +#ifdef __cplusplus +class DECLSPEC_UUID("73da5d04-4347-45d3-a9dc-fae9ddbe558d") SectionList; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SectionList, 0x73da5d04, 0x4347, 0x45d3, 0xa9,0xdc, 0xfa,0xe9,0xdd,0xbe,0x55,0x8d) +#endif +#endif + +/***************************************************************************** + * Mpeg2Stream coclass + */ + +DEFINE_GUID(CLSID_Mpeg2Stream, 0xf91d96c7, 0x8509, 0x4d0b, 0xab,0x26, 0xa0,0xdd,0x10,0x90,0x4b,0xb7); + +#ifdef __cplusplus +class DECLSPEC_UUID("f91d96c7-8509-4d0b-ab26-a0dd10904bb7") Mpeg2Stream; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Mpeg2Stream, 0xf91d96c7, 0x8509, 0x4d0b, 0xab,0x26, 0xa0,0xdd,0x10,0x90,0x4b,0xb7) +#endif +#endif + +/***************************************************************************** + * Mpeg2Data coclass + */ + +DEFINE_GUID(CLSID_Mpeg2Data, 0xc666e115, 0xbb62, 0x4027, 0xa1,0x13, 0x82,0xd6,0x43,0xfe,0x2d,0x99); + +#ifdef __cplusplus +class DECLSPEC_UUID("c666e115-bb62-4027-a113-82d643fe2d99") Mpeg2Data; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Mpeg2Data, 0xc666e115, 0xbb62, 0x4027, 0xa1,0x13, 0x82,0xd6,0x43,0xfe,0x2d,0x99) +#endif +#endif + +#endif /* __Mpeg2DataLib_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif -#endif /*__INC_MPEG2DATA__*/ +#endif /* __mpeg2data_h__ */ diff --git a/lib/libc/include/any-windows-any/mpeg2structs.h b/lib/libc/include/any-windows-any/mpeg2structs.h index 7557b26c492c..3eaa7e46c9c1 100644 --- a/lib/libc/include/any-windows-any/mpeg2structs.h +++ b/lib/libc/include/any-windows-any/mpeg2structs.h @@ -1,222 +1,281 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ +/*** Autogenerated by WIDL 10.4 from include/mpeg2structs.idl - Do not edit ***/ -#include -#include +#ifdef _WIN32 +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif +#include +#include +#endif -#ifndef __INC_MPEG2STRUCTS__ -#define __INC_MPEG2STRUCTS__ +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif -typedef enum _MPEG_CONTEXT_TYPE { - MPEG_CONTEXT_BCS_DEMUX = 0, - MPEG_CONTEXT_WINSOCK -} MPEG_CONTEXT_TYPE; +#ifndef __mpeg2structs_h__ +#define __mpeg2structs_h__ -typedef enum _MPEG_CURRENT_NEXT_BIT { - MPEG_SECTION_IS_NEXT = 0, - MPEG_SECTION_IS_CURRENT = 1 -} MPEG_CURRENT_NEXT_BIT; +/* Forward declarations */ -typedef enum _MPEG_REQUEST_TYPE { - MPEG_RQST_UNKNOWN = 0, - MPEG_RQST_GET_SECTION, - MPEG_RQST_GET_SECTION_ASYNC, - MPEG_RQST_GET_TABLE, - MPEG_RQST_GET_TABLE_ASYNC, - MPEG_RQST_GET_SECTIONS_STREAM, - MPEG_RQST_GET_PES_STREAM, - MPEG_RQST_GET_TS_STREAM, - MPEG_RQST_START_MPE_STREAM -} MPEG_REQUEST_TYPE; +/* Headers for imported files */ -typedef struct _DSMCC_ELEMENT { - PID pid; - BYTE bComponentTag; - DWORD dwCarouselId; - DWORD dwTransactionId; - struct _DSMCC_ELEMENT *pNext; -} DSMCC_ELEMENT, *PDSMCC_ELEMENT; +#include -typedef struct { - WINBOOL fSpecifyProtocol; - BYTE Protocol; - WINBOOL fSpecifyType; - BYTE Type; - WINBOOL fSpecifyMessageId; - WORD MessageId; - WINBOOL fSpecifyTransactionId; - WINBOOL fUseTrxIdMessageIdMask; - DWORD TransactionId; - WINBOOL fSpecifyModuleVersion; - BYTE ModuleVersion; - WINBOOL fSpecifyBlockNumber; - WORD BlockNumber; - WINBOOL fGetModuleCall; - WORD NumberOfBlocksInModule; -} DSMCC_FILTER_OPTIONS; +#ifdef __cplusplus +extern "C" { +#endif -typedef struct _MPEG_HEADER_BITS_MIDL { - WORD Bits; +#pragma pack(push) +#pragma pack(1) +typedef struct __WIDL_mpeg2structs_generated_name_0000000C { + WORD Bits; +} PID_BITS_MIDL; +typedef struct __WIDL_mpeg2structs_generated_name_0000000D { + WORD Bits; } MPEG_HEADER_BITS_MIDL; - -typedef struct _MPEG_HEADER_VERSION_BITS_MIDL { +typedef struct __WIDL_mpeg2structs_generated_name_0000000E { BYTE Bits; } MPEG_HEADER_VERSION_BITS_MIDL; - -typedef struct _DSMCC_SECTION { - TID TableId; - __C89_NAMELESS union { - MPEG_HEADER_BITS_MIDL S; - WORD W; - } Header; - WORD TableIdExtension; - __C89_NAMELESS union { - MPEG_HEADER_VERSION_BITS_MIDL S; - BYTE B; - } Version; - BYTE SectionNumber; - BYTE LastSectionNumber; - BYTE ProtocolDiscriminator; - BYTE DsmccType; - WORD MessageId; - DWORD TransactionId; - BYTE Reserved; - BYTE AdaptationLength; - WORD MessageLength; - BYTE RemainingData[1]; -} DSMCC_SECTION, *PDSMCC_SECTION; - -typedef struct _DVB_EIT_FILTER_OPTIONS { - WINBOOL fSpecifySegment; - BYTE bSegment; -} DVB_EIT_FILTER_OPTIONS, *PDVB_EIT_FILTER_OPTIONS; - -typedef struct { - TID TableId; - __C89_NAMELESS union { - MPEG_HEADER_BITS_MIDL S; - WORD W; - } Header; - WORD TableIdExtension; - __C89_NAMELESS union { - MPEG_HEADER_VERSION_BITS_MIDL S; - BYTE B; - } Version; - BYTE SectionNumber; - BYTE LastSectionNumber; - BYTE RemainingData[1]; -} LONG_SECTION, *PLONG_SECTION; - -typedef struct _MPE_ELEMENT { - PID pid; - BYTE bComponentTag; - struct _MPE_ELEMENT *pNext; -} MPE_ELEMENT, *PMPE_ELEMENT; - -typedef struct _MPEG2_FILTER { - BYTE bVersionNumber; - WORD wFilterSize; - WINBOOL fUseRawFilteringBits; - BYTE Filter[16]; - BYTE Mask[16]; - WINBOOL fSpecifyTableIdExtension; - WORD TableIdExtension; - WINBOOL fSpecifyVersion; - BYTE Version; - WINBOOL fSpecifySectionNumber; - BYTE SectionNumber; - WINBOOL fSpecifyCurrentNext; - WINBOOL fNext; - WINBOOL fSpecifyDsmccOptions; - DSMCC_FILTER_OPTIONS Dsmcc; - WINBOOL fSpecifyAtscOptions; - ATSC_FILTER_OPTIONS Atsc; -} MPEG2_FILTER, *PMPEG2_FILTER; - -typedef struct { - BYTE bVersionNumber; - WORD wFilterSize; - WINBOOL fUseRawFilteringBits; - BYTE Filter[16]; - BYTE Mask[16]; - WINBOOL fSpecifyTableIdExtension; - WORD TableIdExtension; - WINBOOL fSpecifyVersion; - BYTE Version; - WINBOOL fSpecifySectionNumber; - BYTE SectionNumber; - WINBOOL fSpecifyCurrentNext; - WINBOOL fNext; - WINBOOL fSpecifyDsmccOptions; - DSMCC_FILTER_OPTIONS Dsmcc; - WINBOOL fSpecifyAtscOptions; - ATSC_FILTER_OPTIONS Atsc; - WINBOOL fSpecifyDvbEitOptions; - DVB_EIT_FILTER_OPTIONS Dvb_Eit; -} MPEG2_FILTER2, *PMPEG2_FILTER2; - -typedef struct _MPEG_BCS_DEMUX { - DWORD AVMGraphId; -} MPEG_BCS_DEMUX; - -typedef struct _MPEG_WINSOCK { - DWORD AVMGraphId; -} MPEG_WINSOCK; - -typedef struct _MPEG_CONTEXT { - MPEG_CONTEXT_TYPE Type; - __C89_NAMELESS union { - MPEG_BCS_DEMUX Demux; - MPEG_WINSOCK Winsock; - } U; -} MPEG_CONTEXT, *PMPEG_CONTEXT; - -typedef struct _MPEG_DATE { - BYTE Date; - BYTE Month; - WORD Year; -} MPEG_DATE; - -typedef struct _MPEG_TIME { - BYTE Hours; - BYTE Minutes; - BYTE Seconds; +#pragma pack(pop) +typedef WORD PID; +typedef BYTE TID; +typedef WORD TEID; +typedef UINT ClientKey; +typedef enum __WIDL_mpeg2structs_generated_name_0000000F { + MPEG_SECTION_IS_NEXT = 0, + MPEG_SECTION_IS_CURRENT = 1 +} MPEG_CURRENT_NEXT_BIT; +typedef struct __WIDL_mpeg2structs_generated_name_00000010 { + WORD wTidExt; + WORD wCount; +} TID_EXTENSION; +typedef struct __WIDL_mpeg2structs_generated_name_00000010 *PTID_EXTENSION; +typedef struct __WIDL_mpeg2structs_generated_name_00000011 { + TID TableId; + union { + MPEG_HEADER_BITS_MIDL S; + WORD W; + } Header; + BYTE SectionData[1]; +} SECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000011 *PSECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000012 { + TID TableId; + union { + MPEG_HEADER_BITS_MIDL S; + WORD W; + } Header; + TEID TableIdExtension; + union { + MPEG_HEADER_VERSION_BITS_MIDL S; + BYTE B; + } Version; + BYTE SectionNumber; + BYTE LastSectionNumber; + BYTE RemainingData[1]; +} LONG_SECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000012 *PLONG_SECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000013 { + TID TableId; + union { + MPEG_HEADER_BITS_MIDL S; + WORD W; + } Header; + TEID TableIdExtension; + union { + MPEG_HEADER_VERSION_BITS_MIDL S; + BYTE B; + } Version; + BYTE SectionNumber; + BYTE LastSectionNumber; + BYTE ProtocolDiscriminator; + BYTE DsmccType; + WORD MessageId; + DWORD TransactionId; + BYTE Reserved; + BYTE AdaptationLength; + WORD MessageLength; + BYTE RemainingData[1]; +} DSMCC_SECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000013 *PDSMCC_SECTION; +typedef struct __WIDL_mpeg2structs_generated_name_00000014 { + DWORD dwLength; + PSECTION pSection; +} MPEG_RQST_PACKET; +typedef struct __WIDL_mpeg2structs_generated_name_00000014 *PMPEG_RQST_PACKET; +typedef struct __WIDL_mpeg2structs_generated_name_00000015 { + WORD wPacketCount; + PMPEG_RQST_PACKET PacketList[1]; +} MPEG_PACKET_LIST; +typedef struct __WIDL_mpeg2structs_generated_name_00000015 *PMPEG_PACKET_LIST; +typedef struct __WIDL_mpeg2structs_generated_name_00000016 { + WINBOOL fSpecifyProtocol; + BYTE Protocol; + WINBOOL fSpecifyType; + BYTE Type; + WINBOOL fSpecifyMessageId; + WORD MessageId; + WINBOOL fSpecifyTransactionId; + WINBOOL fUseTrxIdMessageIdMask; + DWORD TransactionId; + WINBOOL fSpecifyModuleVersion; + BYTE ModuleVersion; + WINBOOL fSpecifyBlockNumber; + WORD BlockNumber; + WINBOOL fGetModuleCall; + WORD NumberOfBlocksInModule; +} DSMCC_FILTER_OPTIONS; +typedef struct __WIDL_mpeg2structs_generated_name_00000017 { + WINBOOL fSpecifyEtmId; + DWORD EtmId; +} ATSC_FILTER_OPTIONS; +typedef struct __WIDL_mpeg2structs_generated_name_00000018 { + WINBOOL fSpecifySegment; + BYTE bSegment; +} DVB_EIT_FILTER_OPTIONS; +typedef struct __WIDL_mpeg2structs_generated_name_00000019 { + BYTE bVersionNumber; + WORD wFilterSize; + WINBOOL fUseRawFilteringBits; + BYTE Filter[16]; + BYTE Mask[16]; + WINBOOL fSpecifyTableIdExtension; + WORD TableIdExtension; + WINBOOL fSpecifyVersion; + BYTE Version; + WINBOOL fSpecifySectionNumber; + BYTE SectionNumber; + WINBOOL fSpecifyCurrentNext; + WINBOOL fNext; + WINBOOL fSpecifyDsmccOptions; + DSMCC_FILTER_OPTIONS Dsmcc; + WINBOOL fSpecifyAtscOptions; + ATSC_FILTER_OPTIONS Atsc; +} MPEG2_FILTER; +typedef struct __WIDL_mpeg2structs_generated_name_00000019 *PMPEG2_FILTER; +typedef struct __WIDL_mpeg2structs_generated_name_0000001A { + __C89_NAMELESS union { + __C89_NAMELESS struct { + BYTE bVersionNumber; + WORD wFilterSize; + WINBOOL fUseRawFilteringBits; + BYTE Filter[16]; + BYTE Mask[16]; + WINBOOL fSpecifyTableIdExtension; + WORD TableIdExtension; + WINBOOL fSpecifyVersion; + BYTE Version; + WINBOOL fSpecifySectionNumber; + BYTE SectionNumber; + WINBOOL fSpecifyCurrentNext; + WINBOOL fNext; + WINBOOL fSpecifyDsmccOptions; + DSMCC_FILTER_OPTIONS Dsmcc; + WINBOOL fSpecifyAtscOptions; + ATSC_FILTER_OPTIONS Atsc; + } __C89_NAMELESSSTRUCTNAME; + BYTE bVersion1Bytes[124]; + } __C89_NAMELESSUNIONNAME; + WINBOOL fSpecifyDvbEitOptions; + DVB_EIT_FILTER_OPTIONS DvbEit; +} MPEG2_FILTER2; +typedef struct __WIDL_mpeg2structs_generated_name_0000001A *PMPEG2_FILTER2; +#define MPEG2_FILTER_VERSION_1_SIZE 124 +#define MPEG2_FILTER_VERSION_2_SIZE 133 +typedef struct __WIDL_mpeg2structs_generated_name_0000001B { + HRESULT hr; + DWORD dwDataBufferSize; + DWORD dwSizeOfDataRead; + BYTE *pDataBuffer; +} MPEG_STREAM_BUFFER; +typedef struct __WIDL_mpeg2structs_generated_name_0000001B *PMPEG_STREAM_BUFFER; +typedef struct __WIDL_mpeg2structs_generated_name_0000001C { + BYTE Hours; + BYTE Minutes; + BYTE Seconds; } MPEG_TIME; - -typedef struct _MPEG_DATE_AND_TIME { - MPEG_DATE D; - MPEG_TIME T; -} MPEG_DATE_AND_TIME; - typedef MPEG_TIME MPEG_DURATION; +typedef struct __WIDL_mpeg2structs_generated_name_0000001D { + BYTE Date; + BYTE Month; + WORD Year; +} MPEG_DATE; +typedef struct __WIDL_mpeg2structs_generated_name_0000001E { + MPEG_DATE D; + MPEG_TIME T; +} MPEG_DATE_AND_TIME; +typedef enum __WIDL_mpeg2structs_generated_name_0000001F { + MPEG_CONTEXT_BCS_DEMUX = 0, + MPEG_CONTEXT_WINSOCK = 1 +} MPEG_CONTEXT_TYPE; +typedef struct __WIDL_mpeg2structs_generated_name_00000020 { + DWORD AVMGraphId; +} MPEG_BCS_DEMUX; +typedef struct __WIDL_mpeg2structs_generated_name_00000021 { + DWORD AVMGraphId; +} MPEG_WINSOCK; +typedef struct __WIDL_mpeg2structs_generated_name_00000022 { + MPEG_CONTEXT_TYPE Type; + union { + MPEG_BCS_DEMUX Demux; + MPEG_WINSOCK Winsock; + } U; +} MPEG_CONTEXT; +typedef struct __WIDL_mpeg2structs_generated_name_00000022 *PMPEG_CONTEXT; +typedef enum __WIDL_mpeg2structs_generated_name_00000023 { + MPEG_RQST_UNKNOWN = 0, + MPEG_RQST_GET_SECTION = 1, + MPEG_RQST_GET_SECTION_ASYNC = 2, + MPEG_RQST_GET_TABLE = 3, + MPEG_RQST_GET_TABLE_ASYNC = 4, + MPEG_RQST_GET_SECTIONS_STREAM = 5, + MPEG_RQST_GET_PES_STREAM = 6, + MPEG_RQST_GET_TS_STREAM = 7, + MPEG_RQST_START_MPE_STREAM = 8 +} MPEG_REQUEST_TYPE; +typedef struct __WIDL_mpeg2structs_generated_name_00000024 { + MPEG_REQUEST_TYPE Type; + MPEG_CONTEXT Context; + PID Pid; + TID TableId; + MPEG2_FILTER Filter; + DWORD Flags; +} MPEG_SERVICE_REQUEST; +typedef struct __WIDL_mpeg2structs_generated_name_00000024 *PMPEG_SERVICE_REQUEST; +typedef struct __WIDL_mpeg2structs_generated_name_00000025 { + DWORD IPAddress; + WORD Port; +} MPEG_SERVICE_RESPONSE; +typedef struct __WIDL_mpeg2structs_generated_name_00000025 *PMPEG_SERVICE_RESPONSE; +typedef struct _DSMCC_ELEMENT { + PID pid; + BYTE bComponentTag; + DWORD dwCarouselId; + DWORD dwTransactionId; + struct _DSMCC_ELEMENT *pNext; +} DSMCC_ELEMENT; +typedef struct _DSMCC_ELEMENT *PDSMCC_ELEMENT; +typedef struct _MPE_ELEMENT { + PID pid; + BYTE bComponentTag; + struct _MPE_ELEMENT *pNext; +} MPE_ELEMENT; +typedef struct _MPE_ELEMENT *PMPE_ELEMENT; +typedef struct _MPEG_STREAM_FILTER { + WORD wPidValue; + DWORD dwFilterSize; + WINBOOL fCrcEnabled; + BYTE rgchFilter[16]; + BYTE rgchMask[16]; +} MPEG_STREAM_FILTER; +/* Begin additional prototypes for all interfaces */ -typedef struct { - TID TableId; - __C89_NAMELESS union { - MPEG_HEADER_BITS_MIDL S; - WORD W; - } Header; - BYTE SectionData[1]; -} SECTION, *PSECTION; - -typedef struct _MPEG_RQST_PACKET { - DWORD dwLength; - PSECTION pSection; -} MPEG_RQST_PACKET, *PMPEG_RQST_PACKET; -typedef struct _MPEG_PACKET_LIST { - WORD wPacketCount; - PMPEG_RQST_PACKET PacketList[1]; -} MPEG_PACKET_LIST, *PMPEG_PACKET_LIST; +/* End additional prototypes */ -typedef struct _MPEG_STREAM_BUFFER { - HRESULT hr; - DWORD dwDataBufferSize; - DWORD dwSizeOfDataRead; - BYTE *pDataBuffer; -} MPEG_STREAM_BUFFER, *PMPEG_STREAM_BUFFER; +#ifdef __cplusplus +} +#endif -#endif /*__INC_MPEG2STRUCTS__*/ +#endif /* __mpeg2structs_h__ */ diff --git a/lib/libc/include/any-windows-any/mscat.h b/lib/libc/include/any-windows-any/mscat.h index af0201f99235..24715dae1930 100644 --- a/lib/libc/include/any-windows-any/mscat.h +++ b/lib/libc/include/any-windows-any/mscat.h @@ -66,7 +66,7 @@ extern "C" { #define CRYPTCAT_VERSION_1 0x100 #define CRYPTCAT_VERSION_2 0x200 -#include +#pragma pack(push,8) typedef struct CRYPTCATATTRIBUTE_ { @@ -110,7 +110,7 @@ typedef struct CRYPTCATCDF_ HANDLE hCATStore; } CRYPTCATCDF; -#include +#pragma pack(pop) typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *); diff --git a/lib/libc/include/any-windows-any/mscoree.h b/lib/libc/include/any-windows-any/mscoree.h index 296142f06249..05d546ff88fd 100644 --- a/lib/libc/include/any-windows-any/mscoree.h +++ b/lib/libc/include/any-windows-any/mscoree.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mscoree.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mscoree.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msctf.h b/lib/libc/include/any-windows-any/msctf.h index 665bdd3cb6d9..51105b85db26 100644 --- a/lib/libc/include/any-windows-any/msctf.h +++ b/lib/libc/include/any-windows-any/msctf.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msctf.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msctf.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mshtmhst.h b/lib/libc/include/any-windows-any/mshtmhst.h index 07c54f351da8..2feed9773610 100644 --- a/lib/libc/include/any-windows-any/mshtmhst.h +++ b/lib/libc/include/any-windows-any/mshtmhst.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mshtmhst.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mshtmhst.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mshtml.h b/lib/libc/include/any-windows-any/mshtml.h index eeb895bebaae..fd933602eca4 100644 --- a/lib/libc/include/any-windows-any/mshtml.h +++ b/lib/libc/include/any-windows-any/mshtml.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/mshtml.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/mshtml.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msinkaut.h b/lib/libc/include/any-windows-any/msinkaut.h index b46b0c1cb305..256e06ff8523 100644 --- a/lib/libc/include/any-windows-any/msinkaut.h +++ b/lib/libc/include/any-windows-any/msinkaut.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msinkaut.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msinkaut.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msinkaut_i.c b/lib/libc/include/any-windows-any/msinkaut_i.c index a6542704427b..f8e01bfa2f3b 100644 --- a/lib/libc/include/any-windows-any/msinkaut_i.c +++ b/lib/libc/include/any-windows-any/msinkaut_i.c @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from msinkaut.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from msinkaut.idl - Do not edit ***/ #include #include diff --git a/lib/libc/include/any-windows-any/msopc.h b/lib/libc/include/any-windows-any/msopc.h index cbeeaca3c11a..e3d615481f2f 100644 --- a/lib/libc/include/any-windows-any/msopc.h +++ b/lib/libc/include/any-windows-any/msopc.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msopc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msopc.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msxml.h b/lib/libc/include/any-windows-any/msxml.h index 089d93f16525..bbacd5417cc5 100644 --- a/lib/libc/include/any-windows-any/msxml.h +++ b/lib/libc/include/any-windows-any/msxml.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msxml.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msxml.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msxml2.h b/lib/libc/include/any-windows-any/msxml2.h index 7ce7bf2d8e3d..b5a7f78acc6d 100644 --- a/lib/libc/include/any-windows-any/msxml2.h +++ b/lib/libc/include/any-windows-any/msxml2.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msxml2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msxml2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/msxml6.h b/lib/libc/include/any-windows-any/msxml6.h index 72fdc6e6c339..21b6820d8163 100644 --- a/lib/libc/include/any-windows-any/msxml6.h +++ b/lib/libc/include/any-windows-any/msxml6.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/msxml6.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/msxml6.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/mtsadmin_i.c b/lib/libc/include/any-windows-any/mtsadmin_i.c deleted file mode 100644 index c0160a645a4e..000000000000 --- a/lib/libc/include/any-windows-any/mtsadmin_i.c +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - - const IID IID_ICatalog = {0x6eb22870,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IComponentUtil = {0x6eb22873,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IPackageUtil = {0x6eb22874,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IRemoteComponentUtil = {0x6eb22875,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IRoleAssociationUtil = {0x6eb22876,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID LIBID_MTSAdmin = {0x6eb22880,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_Catalog = {0x6eb22881,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_CatalogObject = {0x6eb22882,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_CatalogCollection = {0x6eb22883,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_ComponentUtil = {0x6eb22884,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_PackageUtil = {0x6eb22885,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_RemoteComponentUtil = {0x6eb22886,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_RoleAssociationUtil = {0x6eb22887,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/mtxadmin_i.c b/lib/libc/include/any-windows-any/mtxadmin_i.c deleted file mode 100644 index c0160a645a4e..000000000000 --- a/lib/libc/include/any-windows-any/mtxadmin_i.c +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - - const IID IID_ICatalog = {0x6eb22870,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IComponentUtil = {0x6eb22873,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IPackageUtil = {0x6eb22874,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IRemoteComponentUtil = {0x6eb22875,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID IID_IRoleAssociationUtil = {0x6eb22876,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const IID LIBID_MTSAdmin = {0x6eb22880,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_Catalog = {0x6eb22881,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_CatalogObject = {0x6eb22882,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_CatalogCollection = {0x6eb22883,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_ComponentUtil = {0x6eb22884,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_PackageUtil = {0x6eb22885,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_RemoteComponentUtil = {0x6eb22886,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - const CLSID CLSID_RoleAssociationUtil = {0x6eb22887,0x8a19,0x11d0,{0x81,0xb6,0x00,0xa0,0xc9,0x23,0x1c,0x29}}; - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/napcertrelyingparty.h b/lib/libc/include/any-windows-any/napcertrelyingparty.h index 2dd48812d36f..3f24f29cbfa0 100644 --- a/lib/libc/include/any-windows-any/napcertrelyingparty.h +++ b/lib/libc/include/any-windows-any/napcertrelyingparty.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napcertrelyingparty.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napcertrelyingparty.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napcommon.h b/lib/libc/include/any-windows-any/napcommon.h index 9c9cef8e4e10..a2d05c9ff87e 100644 --- a/lib/libc/include/any-windows-any/napcommon.h +++ b/lib/libc/include/any-windows-any/napcommon.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napcommon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napcommon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napenforcementclient.h b/lib/libc/include/any-windows-any/napenforcementclient.h index 1c7a57b9c319..11f1383e52b4 100644 --- a/lib/libc/include/any-windows-any/napenforcementclient.h +++ b/lib/libc/include/any-windows-any/napenforcementclient.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napenforcementclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napenforcementclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napmanagement.h b/lib/libc/include/any-windows-any/napmanagement.h index e2d9b4462c70..9ec056b45d11 100644 --- a/lib/libc/include/any-windows-any/napmanagement.h +++ b/lib/libc/include/any-windows-any/napmanagement.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napmanagement.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napmanagement.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napprotocol.h b/lib/libc/include/any-windows-any/napprotocol.h index d0e3bdf95550..507ee2c36b0a 100644 --- a/lib/libc/include/any-windows-any/napprotocol.h +++ b/lib/libc/include/any-windows-any/napprotocol.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napprotocol.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napprotocol.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napservermanagement.h b/lib/libc/include/any-windows-any/napservermanagement.h index 63d42d606400..f24e83e99ded 100644 --- a/lib/libc/include/any-windows-any/napservermanagement.h +++ b/lib/libc/include/any-windows-any/napservermanagement.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napservermanagement.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napservermanagement.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napsystemhealthagent.h b/lib/libc/include/any-windows-any/napsystemhealthagent.h index c8ae4b9e9b4f..1154bed7bb33 100644 --- a/lib/libc/include/any-windows-any/napsystemhealthagent.h +++ b/lib/libc/include/any-windows-any/napsystemhealthagent.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napsystemhealthagent.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napsystemhealthagent.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/napsystemhealthvalidator.h b/lib/libc/include/any-windows-any/napsystemhealthvalidator.h index 7a194231876c..43c815ab6054 100644 --- a/lib/libc/include/any-windows-any/napsystemhealthvalidator.h +++ b/lib/libc/include/any-windows-any/napsystemhealthvalidator.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/napsystemhealthvalidator.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/napsystemhealthvalidator.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/naptypes.h b/lib/libc/include/any-windows-any/naptypes.h index 7a26bdbc46e0..4c1590eb88f6 100644 --- a/lib/libc/include/any-windows-any/naptypes.h +++ b/lib/libc/include/any-windows-any/naptypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/naptypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/naptypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/netcfgn.h b/lib/libc/include/any-windows-any/netcfgn.h index 0e013f9d8296..b0ae4fcb8c2c 100644 --- a/lib/libc/include/any-windows-any/netcfgn.h +++ b/lib/libc/include/any-windows-any/netcfgn.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/netcfgn.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/netcfgn.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/netcfgx.h b/lib/libc/include/any-windows-any/netcfgx.h index f3fe8324e1b5..041b417a2369 100644 --- a/lib/libc/include/any-windows-any/netcfgx.h +++ b/lib/libc/include/any-windows-any/netcfgx.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/netcfgx.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/netcfgx.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/netfw.h b/lib/libc/include/any-windows-any/netfw.h index 2aac3ac4a6df..f6f489873b97 100644 --- a/lib/libc/include/any-windows-any/netfw.h +++ b/lib/libc/include/any-windows-any/netfw.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/netfw.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/netfw.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/netlistmgr.h b/lib/libc/include/any-windows-any/netlistmgr.h index 8b7e783a06a6..e268472c23d8 100644 --- a/lib/libc/include/any-windows-any/netlistmgr.h +++ b/lib/libc/include/any-windows-any/netlistmgr.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/netlistmgr.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/netlistmgr.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/nldef.h b/lib/libc/include/any-windows-any/nldef.h index e61f104fd0c0..ebbaab1c25e9 100644 --- a/lib/libc/include/any-windows-any/nldef.h +++ b/lib/libc/include/any-windows-any/nldef.h @@ -19,7 +19,7 @@ typedef enum { IpDadStateTentative, IpDadStateDuplicate, IpDadStateDeprecated, - IpDadStatePreferred, + IpDadStatePreferred } NL_DAD_STATE; #define MAKE_ROUTE_PROTOCOL(N, V) MIB_IPPROTO_ ## N = V, PROTO_IP_ ## N = V @@ -98,7 +98,7 @@ typedef enum _NL_ROUTE_ORIGIN { NlroWellKnown, NlroDHCP, NlroRouterAdvertisement, - Nlro6to4, + Nlro6to4 } NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN; typedef enum _NL_NEIGHBOR_STATE { @@ -109,7 +109,7 @@ typedef enum _NL_NEIGHBOR_STATE { NlnsStale, NlnsReachable, NlnsPermanent, - NlnsMaximum, + NlnsMaximum } NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE; typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR { diff --git a/lib/libc/include/any-windows-any/ntddmmc.h b/lib/libc/include/any-windows-any/ntddmmc.h index f98368af13f1..1d81fab4b67d 100644 --- a/lib/libc/include/any-windows-any/ntddmmc.h +++ b/lib/libc/include/any-windows-any/ntddmmc.h @@ -125,7 +125,7 @@ typedef enum _FEATURE_NUMBER { FeatureDvdCPRM = 0x010B, FeatureFirmwareDate = 0x010C, FeatureAACS = 0x010D, - FeatureVCPS = 0x0110, + FeatureVCPS = 0x0110 } FEATURE_NUMBER, *PFEATURE_NUMBER; typedef struct _FEATURE_DATA_PROFILE_LIST_EX { diff --git a/lib/libc/include/any-windows-any/ntddndis.h b/lib/libc/include/any-windows-any/ntddndis.h index d19e885c6c7f..46760071c571 100644 --- a/lib/libc/include/any-windows-any/ntddndis.h +++ b/lib/libc/include/any-windows-any/ntddndis.h @@ -1181,7 +1181,7 @@ extern "C" { typedef enum _NDIS_802_11_MEDIA_STREAM_MODE { Ndis802_11MediaStreamOff, - Ndis802_11MediaStreamOn, + Ndis802_11MediaStreamOn } NDIS_802_11_MEDIA_STREAM_MODE, *PNDIS_802_11_MEDIA_STREAM_MODE; typedef UCHAR NDIS_802_11_PMKID_VALUE[16]; @@ -2457,7 +2457,7 @@ extern "C" { #if NDIS_SUPPORT_NDIS630 NdisPortTypeNdisImPlatform, #endif - NdisPortTypeMax, + NdisPortTypeMax } NDIS_PORT_TYPE, *PNDIS_PORT_TYPE; typedef enum _NDIS_PORT_AUTHORIZATION_STATE { @@ -2923,7 +2923,7 @@ extern "C" { NdisWakeReasonWlan4WayHandshakeRequest = 0x1003, NdisWakeReasonWwanRegisterState = 0x2000, NdisWakeReasonWwanSMSReceive = 0x2001, - NdisWakeReasonWwanUSSDReceive = 0x2002, + NdisWakeReasonWwanUSSDReceive = 0x2002 } NDIS_PM_WAKE_REASON_TYPE, *PNDIS_PM_WAKE_REASON_TYPE; typedef struct _NDIS_PM_WAKE_REASON { @@ -3445,7 +3445,7 @@ extern "C" { NdisRssProfileNuma, NdisRssProfileNumaStatic, NdisRssProfileConservative, - NdisRssProfileMaximum, + NdisRssProfileMaximum } NDIS_RSS_PROFILE, *PNDIS_RSS_PROFILE; #endif @@ -3977,7 +3977,7 @@ extern "C" { NdisNicSwitchVPortInterruptModerationOff = 2, NdisNicSwitchVPortInterruptModerationLow = 100, NdisNicSwitchVPortInterruptModerationMedium = 200, - NdisNicSwitchVPortInterruptModerationHigh = 300, + NdisNicSwitchVPortInterruptModerationHigh = 300 } NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION, *PNDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION; typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS { diff --git a/lib/libc/include/any-windows-any/ntsecapi.h b/lib/libc/include/any-windows-any/ntsecapi.h index 246194c9c3fb..c7d74db82242 100644 --- a/lib/libc/include/any-windows-any/ntsecapi.h +++ b/lib/libc/include/any-windows-any/ntsecapi.h @@ -2572,7 +2572,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE { } KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE, *PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE; typedef enum _KERB_CERTIFICATE_INFO_TYPE { - CertHashInfo = 1, + CertHashInfo = 1 } KERB_CERTIFICATE_INFO_TYPE, *PKERB_CERTIFICATE_INFO_TYPE; typedef struct _KERB_CERTIFICATE_HASHINFO { @@ -2827,7 +2827,7 @@ typedef enum _SE_ADT_PARAMETER_TYPE { } PKU2U_CREDUI_CONTEXT, *PPKU2U_CREDUI_CONTEXT; typedef enum _PKU2U_LOGON_SUBMIT_TYPE { - Pku2uCertificateS4ULogon = 14, + Pku2uCertificateS4ULogon = 14 } PKU2U_LOGON_SUBMIT_TYPE, *PPKU2U_LOGON_SUBMIT_TYPE; typedef struct _PKU2U_CERTIFICATE_S4U_LOGON { diff --git a/lib/libc/include/any-windows-any/oaidl.h b/lib/libc/include/any-windows-any/oaidl.h index 28f4f399556b..345b2db13988 100644 --- a/lib/libc/include/any-windows-any/oaidl.h +++ b/lib/libc/include/any-windows-any/oaidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/oaidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/oaidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/objectarray.h b/lib/libc/include/any-windows-any/objectarray.h index a03a8dc462c7..9dad738adb7c 100644 --- a/lib/libc/include/any-windows-any/objectarray.h +++ b/lib/libc/include/any-windows-any/objectarray.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/objectarray.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/objectarray.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/objidl.h b/lib/libc/include/any-windows-any/objidl.h index 85dc6e82768d..693baa4fc7fa 100644 --- a/lib/libc/include/any-windows-any/objidl.h +++ b/lib/libc/include/any-windows-any/objidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/objidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/objidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/objidlbase.h b/lib/libc/include/any-windows-any/objidlbase.h index 3ea0c25a257b..332c06c93063 100644 --- a/lib/libc/include/any-windows-any/objidlbase.h +++ b/lib/libc/include/any-windows-any/objidlbase.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/objidlbase.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/objidlbase.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/ocidl.h b/lib/libc/include/any-windows-any/ocidl.h index 2ea46593101a..d428aa5ef4ce 100644 --- a/lib/libc/include/any-windows-any/ocidl.h +++ b/lib/libc/include/any-windows-any/ocidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/ocidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/ocidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/odbcinst.h b/lib/libc/include/any-windows-any/odbcinst.h index d2e2589b55ba..4d8a33b1e5ea 100644 --- a/lib/libc/include/any-windows-any/odbcinst.h +++ b/lib/libc/include/any-windows-any/odbcinst.h @@ -13,7 +13,7 @@ extern "C" { #endif #ifndef ODBCVER -#define ODBCVER 0x0351 +#define ODBCVER 0x0380 #endif #define ODBC_ADD_DSN 1 diff --git a/lib/libc/include/any-windows-any/oleacc.h b/lib/libc/include/any-windows-any/oleacc.h index c5474849eed9..83d74297ae0a 100644 --- a/lib/libc/include/any-windows-any/oleacc.h +++ b/lib/libc/include/any-windows-any/oleacc.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/oleacc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/oleacc.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/oleidl.h b/lib/libc/include/any-windows-any/oleidl.h index df821e6d8ca6..2f37fb202213 100644 --- a/lib/libc/include/any-windows-any/oleidl.h +++ b/lib/libc/include/any-windows-any/oleidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/oleidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/oleidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/optary.h b/lib/libc/include/any-windows-any/optary.h index 8c8c3a076ec3..5b038fe5b35c 100644 --- a/lib/libc/include/any-windows-any/optary.h +++ b/lib/libc/include/any-windows-any/optary.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/optary.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/optary.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/p2p.h b/lib/libc/include/any-windows-any/p2p.h index 1c803f9021a6..46a0f18702a1 100644 --- a/lib/libc/include/any-windows-any/p2p.h +++ b/lib/libc/include/any-windows-any/p2p.h @@ -34,23 +34,23 @@ extern "C" { PEER_RECORD_ADDED = 1, PEER_RECORD_UPDATED = 2, PEER_RECORD_DELETED = 3, - PEER_RECORD_EXPIRED = 4, + PEER_RECORD_EXPIRED = 4 } PEER_RECORD_CHANGE_TYPE; typedef enum peer_connection_status_tag { PEER_CONNECTED = 1, PEER_DISCONNECTED = 2, - PEER_CONNECTION_FAILED = 3, + PEER_CONNECTION_FAILED = 3 } PEER_CONNECTION_STATUS; typedef enum peer_connection_flags_tag { PEER_CONNECTION_NEIGHBOR = 0x0001, - PEER_CONNECTION_DIRECT = 0x0002, + PEER_CONNECTION_DIRECT = 0x0002 } PEER_CONNECTION_FLAGS; typedef enum peer_record_flags_tag { PEER_RECORD_FLAG_AUTOREFRESH = 0x0001, - PEER_RECORD_FLAG_DELETED = 0x0002, + PEER_RECORD_FLAG_DELETED = 0x0002 } PEER_RECORD_FLAGS; typedef @@ -155,24 +155,24 @@ extern "C" { PEER_GRAPH_EVENT_INCOMING_DATA = 6, PEER_GRAPH_EVENT_CONNECTION_REQUIRED = 7, PEER_GRAPH_EVENT_NODE_CHANGED = 8, - PEER_GRAPH_EVENT_SYNCHRONIZED = 9, + PEER_GRAPH_EVENT_SYNCHRONIZED = 9 } PEER_GRAPH_EVENT_TYPE; typedef enum peer_node_change_type_tag { PEER_NODE_CHANGE_CONNECTED = 1, PEER_NODE_CHANGE_DISCONNECTED = 2, - PEER_NODE_CHANGE_UPDATED = 3, + PEER_NODE_CHANGE_UPDATED = 3 } PEER_NODE_CHANGE_TYPE; typedef enum peer_graph_status_flags_tag { PEER_GRAPH_STATUS_LISTENING = 0x0001, PEER_GRAPH_STATUS_HAS_CONNECTIONS = 0x0002, - PEER_GRAPH_STATUS_SYNCHRONIZED = 0x0004, + PEER_GRAPH_STATUS_SYNCHRONIZED = 0x0004 } PEER_GRAPH_STATUS_FLAGS; typedef enum peer_graph_property_flags_tag { PEER_GRAPH_PROPERTY_HEARTBEATS = 0x0001, - PEER_GRAPH_PROPERTY_DEFER_EXPIRATION = 0x0002, + PEER_GRAPH_PROPERTY_DEFER_EXPIRATION = 0x0002 } PEER_GRAPH_PROPERTY_FLAGS; typedef enum peer_graph_scope_tag { @@ -317,24 +317,24 @@ extern "C" { typedef enum peer_group_status_tag { PEER_GROUP_STATUS_LISTENING = 0x0001, - PEER_GROUP_STATUS_HAS_CONNECTIONS = 0x0002, + PEER_GROUP_STATUS_HAS_CONNECTIONS = 0x0002 } PEER_GROUP_STATUS; typedef enum peer_group_property_flags_tag { PEER_MEMBER_DATA_OPTIONAL = 0x0001, PEER_DISABLE_PRESENCE = 0x0002, - PEER_DEFER_EXPIRATION = 0x0004, + PEER_DEFER_EXPIRATION = 0x0004 } PEER_GROUP_PROPERTY_FLAGS; #if NTDDI_VERSION >= 0x06000000 typedef enum peer_group_authentication_scheme_tag { PEER_GROUP_GMC_AUTHENTICATION = 0x00000001, - PEER_GROUP_PASSWORD_AUTHENTICATION = 0x00000002, + PEER_GROUP_PASSWORD_AUTHENTICATION = 0x00000002 } PEER_GROUP_AUTHENTICATION_SCHEME; #endif typedef enum peer_member_flags_tag { - PEER_MEMBER_PRESENT = 0x0001, + PEER_MEMBER_PRESENT = 0x0001 } PEER_MEMBER_FLAGS; typedef enum peer_member_change_type_tag { @@ -342,11 +342,11 @@ extern "C" { PEER_MEMBER_DISCONNECTED = 2, PEER_MEMBER_UPDATED = 3, PEER_MEMBER_JOINED = 4, - PEER_MEMBER_LEFT = 5, + PEER_MEMBER_LEFT = 5 } PEER_MEMBER_CHANGE_TYPE; typedef enum peer_issue_credential_flags_tag { - PEER_GROUP_STORE_CREDENTIALS = 0x0001, + PEER_GROUP_STORE_CREDENTIALS = 0x0001 } PEER_GROUP_ISSUE_CREDENTIAL_FLAGS; #ifndef __WIDL__ diff --git a/lib/libc/include/any-windows-any/pnrpdef.h b/lib/libc/include/any-windows-any/pnrpdef.h index e5b221e107dd..a1aff1892808 100644 --- a/lib/libc/include/any-windows-any/pnrpdef.h +++ b/lib/libc/include/any-windows-any/pnrpdef.h @@ -74,7 +74,7 @@ typedef struct _PNRP_CLOUD_ID { typedef enum _PNRP_EXTENDED_PAYLOAD_TYPE { PNRP_EXTENDED_PAYLOAD_TYPE_NONE = 0, PNRP_EXTENDED_PAYLOAD_TYPE_BINARY, - PNRP_EXTENDED_PAYLOAD_TYPE_STRING, + PNRP_EXTENDED_PAYLOAD_TYPE_STRING } PNRP_EXTENDED_PAYLOAD_TYPE,*PPNRP_EXTENDED_PAYLOAD_TYPE; #endif diff --git a/lib/libc/include/any-windows-any/portabledeviceapi.h b/lib/libc/include/any-windows-any/portabledeviceapi.h index cd88501c3bf4..4ca9da7ca76f 100644 --- a/lib/libc/include/any-windows-any/portabledeviceapi.h +++ b/lib/libc/include/any-windows-any/portabledeviceapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/portabledeviceapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/portabledeviceapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/portabledevicetypes.h b/lib/libc/include/any-windows-any/portabledevicetypes.h index 36829fac5f1c..37bbde4e985a 100644 --- a/lib/libc/include/any-windows-any/portabledevicetypes.h +++ b/lib/libc/include/any-windows-any/portabledevicetypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/portabledevicetypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/portabledevicetypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h b/lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h index 14a2094f67d6..dc494e6338a1 100644 --- a/lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h +++ b/lib/libc/include/any-windows-any/proofofpossessioncookieinfo.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/proofofpossessioncookieinfo.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/proofofpossessioncookieinfo.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/propidl.h b/lib/libc/include/any-windows-any/propidl.h index 786d0bf3fcd7..82ccb7ac16e6 100644 --- a/lib/libc/include/any-windows-any/propidl.h +++ b/lib/libc/include/any-windows-any/propidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/propidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/propidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/propsys.h b/lib/libc/include/any-windows-any/propsys.h index 737e608c07d9..46b060159805 100644 --- a/lib/libc/include/any-windows-any/propsys.h +++ b/lib/libc/include/any-windows-any/propsys.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/propsys.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/propsys.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/pthread.h b/lib/libc/include/any-windows-any/pthread.h index bc9735924e5a..3ab5db741b24 100644 --- a/lib/libc/include/any-windows-any/pthread.h +++ b/lib/libc/include/any-windows-any/pthread.h @@ -86,8 +86,6 @@ extern "C" { /* MSB 8-bit major version, 8-bit minor version, 16-bit patch level. */ #define __WINPTHREADS_VERSION 0x00050000 -/* #define WINPTHREAD_DBG 1 */ - /* Compatibility stuff: */ #define RWLS_PER_THREAD 8 @@ -141,7 +139,16 @@ extern "C" { #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE WINPTHREAD_API void * pthread_timechange_handler_np(void * dummy); -WINPTHREAD_API int pthread_delay_np (const struct timespec *interval); +WINPTHREAD_API int pthread_delay32_np (const struct _timespec32 *interval); +WINPTHREAD_API int pthread_delay64_np (const struct _timespec64 *interval); +WINPTHREAD_THREAD_DECL int pthread_delay_np (const struct timespec *interval) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_delay32_np ((const struct _timespec32 *) interval); +#else + return pthread_delay64_np ((const struct _timespec64 *) interval); +#endif +} WINPTHREAD_API int pthread_num_processors_np(void); WINPTHREAD_API int pthread_set_num_processors_np(int n); @@ -158,7 +165,7 @@ WINPTHREAD_API int pthread_set_num_processors_np(int n); #define pthread_mutex_setprioceiling(M, P) ENOTSUP #define pthread_getcpuclockid(T, C) ENOTSUP #define pthread_attr_getguardsize(A, S) ENOTSUP -#define pthread_attr_setgaurdsize(A, S) ENOTSUP +#define pthread_attr_setguardsize(A, S) ENOTSUP typedef long pthread_once_t; typedef unsigned pthread_mutexattr_t; @@ -166,16 +173,6 @@ typedef unsigned pthread_key_t; typedef void *pthread_barrierattr_t; typedef int pthread_condattr_t; typedef int pthread_rwlockattr_t; - -/* -struct _pthread_v; - -typedef struct pthread_t { - struct _pthread_v *p; - int x; -} pthread_t; -*/ - typedef uintptr_t pthread_t; typedef struct _pthread_cleanup _pthread_cleanup; @@ -281,12 +278,29 @@ WINPTHREAD_API int pthread_detach(pthread_t t); WINPTHREAD_API int pthread_setname_np(pthread_t thread, const char *name); WINPTHREAD_API int pthread_getname_np(pthread_t thread, char *name, size_t len); - WINPTHREAD_API int pthread_rwlock_init(pthread_rwlock_t *rwlock_, const pthread_rwlockattr_t *attr); WINPTHREAD_API int pthread_rwlock_wrlock(pthread_rwlock_t *l); -WINPTHREAD_API int pthread_rwlock_timedwrlock(pthread_rwlock_t *rwlock, const struct timespec *ts); +WINPTHREAD_API int pthread_rwlock_timedwrlock32(pthread_rwlock_t *rwlock, const struct _timespec32 *ts); +WINPTHREAD_API int pthread_rwlock_timedwrlock64(pthread_rwlock_t *rwlock, const struct _timespec64 *ts); +WINPTHREAD_RWLOCK_DECL int pthread_rwlock_timedwrlock(pthread_rwlock_t *rwlock, const struct timespec *ts) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_rwlock_timedwrlock32 (rwlock, (const struct _timespec32 *) ts); +#else + return pthread_rwlock_timedwrlock64 (rwlock, (const struct _timespec64 *) ts); +#endif +} WINPTHREAD_API int pthread_rwlock_rdlock(pthread_rwlock_t *l); -WINPTHREAD_API int pthread_rwlock_timedrdlock(pthread_rwlock_t *l, const struct timespec *ts); +WINPTHREAD_API int pthread_rwlock_timedrdlock32(pthread_rwlock_t *l, const struct _timespec32 *ts); +WINPTHREAD_API int pthread_rwlock_timedrdlock64(pthread_rwlock_t *l, const struct _timespec64 *ts); +WINPTHREAD_RWLOCK_DECL int pthread_rwlock_timedrdlock(pthread_rwlock_t *l, const struct timespec *ts) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_rwlock_timedrdlock32 (l, (const struct _timespec32 *) ts); +#else + return pthread_rwlock_timedrdlock64 (l, (const struct _timespec64 *) ts); +#endif +} WINPTHREAD_API int pthread_rwlock_unlock(pthread_rwlock_t *l); WINPTHREAD_API int pthread_rwlock_tryrdlock(pthread_rwlock_t *l); WINPTHREAD_API int pthread_rwlock_trywrlock(pthread_rwlock_t *l); @@ -297,11 +311,38 @@ WINPTHREAD_API int pthread_cond_destroy(pthread_cond_t *cv); WINPTHREAD_API int pthread_cond_signal (pthread_cond_t *cv); WINPTHREAD_API int pthread_cond_broadcast (pthread_cond_t *cv); WINPTHREAD_API int pthread_cond_wait (pthread_cond_t *cv, pthread_mutex_t *external_mutex); -WINPTHREAD_API int pthread_cond_timedwait(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct timespec *t); -WINPTHREAD_API int pthread_cond_timedwait_relative_np(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct timespec *t); +WINPTHREAD_API int pthread_cond_timedwait32(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct _timespec32 *t); +WINPTHREAD_API int pthread_cond_timedwait64(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct _timespec64 *t); +WINPTHREAD_COND_DECL int pthread_cond_timedwait(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct timespec *t) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_cond_timedwait32 (cv, external_mutex, (const struct _timespec32 *) t); +#else + return pthread_cond_timedwait64 (cv, external_mutex, (const struct _timespec64 *) t); +#endif +} +WINPTHREAD_API int pthread_cond_timedwait32_relative_np(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct _timespec32 *t); +WINPTHREAD_API int pthread_cond_timedwait64_relative_np(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct _timespec64 *t); +WINPTHREAD_COND_DECL int pthread_cond_timedwait_relative_np(pthread_cond_t *cv, pthread_mutex_t *external_mutex, const struct timespec *t) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_cond_timedwait32_relative_np (cv, external_mutex, (const struct _timespec32 *) t); +#else + return pthread_cond_timedwait64_relative_np (cv, external_mutex, (const struct _timespec64 *) t); +#endif +} WINPTHREAD_API int pthread_mutex_lock(pthread_mutex_t *m); -WINPTHREAD_API int pthread_mutex_timedlock(pthread_mutex_t *m, const struct timespec *ts); +WINPTHREAD_API int pthread_mutex_timedlock32(pthread_mutex_t *m, const struct _timespec32 *ts); +WINPTHREAD_API int pthread_mutex_timedlock64(pthread_mutex_t *m, const struct _timespec64 *ts); +WINPTHREAD_MUTEX_DECL int pthread_mutex_timedlock(pthread_mutex_t *m, const struct timespec *ts) +{ +#if WINPTHREADS_TIME_BITS == 32 + return pthread_mutex_timedlock32 (m, (const struct _timespec32 *) ts); +#else + return pthread_mutex_timedlock64 (m, (const struct _timespec64 *) ts); +#endif +} WINPTHREAD_API int pthread_mutex_unlock(pthread_mutex_t *m); WINPTHREAD_API int pthread_mutex_trylock(pthread_mutex_t *m); WINPTHREAD_API int pthread_mutex_init(pthread_mutex_t *m, const pthread_mutexattr_t *a); @@ -355,7 +396,6 @@ WINPTHREAD_API int pthread_condattr_getclock (const pthread_condattr_t *attr, clockid_t *clock_id); WINPTHREAD_API int pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock_id); -WINPTHREAD_API int __pthread_clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); WINPTHREAD_API int pthread_barrierattr_init(void **attr); WINPTHREAD_API int pthread_barrierattr_destroy(void **attr); @@ -367,9 +407,6 @@ WINPTHREAD_API struct _pthread_cleanup ** pthread_getclean (void); WINPTHREAD_API void * pthread_gethandle (pthread_t t); WINPTHREAD_API void * pthread_getevent (void); -WINPTHREAD_API unsigned long long _pthread_rel_time_in_ms(const struct timespec *ts); -WINPTHREAD_API unsigned long long _pthread_time_in_ms(void); -WINPTHREAD_API unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec *ts); WINPTHREAD_API int _pthread_tryjoin (pthread_t t, void **res); WINPTHREAD_API int pthread_rwlockattr_destroy(pthread_rwlockattr_t *a); WINPTHREAD_API int pthread_rwlockattr_getpshared(pthread_rwlockattr_t *a, int *s); diff --git a/lib/libc/include/any-windows-any/pthread_compat.h b/lib/libc/include/any-windows-any/pthread_compat.h index 96118722d5f6..3a8552882ea3 100644 --- a/lib/libc/include/any-windows-any/pthread_compat.h +++ b/lib/libc/include/any-windows-any/pthread_compat.h @@ -60,6 +60,12 @@ #ifndef WIN_PTHREADS_PTHREAD_COMPAT_H #define WIN_PTHREADS_PTHREAD_COMPAT_H +#if defined(_USE_32BIT_TIME_T) || (defined(_TIME_BITS) && _TIME_BITS == 32) +#define WINPTHREADS_TIME_BITS 32 +#else +#define WINPTHREADS_TIME_BITS 64 +#endif + #if defined(IN_WINPTHREAD) # if defined(DLL_EXPORT) # define WINPTHREAD_API __declspec(dllexport) /* building the DLL */ @@ -97,7 +103,8 @@ typedef unsigned short mode_t; #ifdef __GNUC__ -#define WINPTHREADS_INLINE inline +#define WINPTHREADS_INLINE __inline__ +#define WINPTHREADS_ALWAYS_INLINE __inline__ __attribute__((__always_inline__)) #define WINPTHREADS_ATTRIBUTE(X) __attribute__(X) #define WINPTHREADS_SECTION(X) __section__(X) @@ -110,9 +117,32 @@ typedef int pid_t; #endif #define WINPTHREADS_INLINE __inline +#define WINPTHREADS_ALWAYS_INLINE __inline __forceinline #define WINPTHREADS_ATTRIBUTE(X) __declspec X #define WINPTHREADS_SECTION(X) allocate(X) #endif +#ifndef WINPTHREAD_CLOCK_DECL +#define WINPTHREAD_CLOCK_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_COND_DECL +#define WINPTHREAD_COND_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_MUTEX_DECL +#define WINPTHREAD_MUTEX_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_NANOSLEEP_DECL +#define WINPTHREAD_NANOSLEEP_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_RWLOCK_DECL +#define WINPTHREAD_RWLOCK_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_SEM_DECL +#define WINPTHREAD_SEM_DECL static WINPTHREADS_ALWAYS_INLINE +#endif +#ifndef WINPTHREAD_THREAD_DECL +#define WINPTHREAD_THREAD_DECL static WINPTHREADS_ALWAYS_INLINE +#endif + #endif diff --git a/lib/libc/include/any-windows-any/pthread_time.h b/lib/libc/include/any-windows-any/pthread_time.h index 363154d678cb..27f7566f0f59 100644 --- a/lib/libc/include/any-windows-any/pthread_time.h +++ b/lib/libc/include/any-windows-any/pthread_time.h @@ -23,6 +23,7 @@ #ifndef WIN_PTHREADS_TIME_H #define WIN_PTHREADS_TIME_H +#include #include "pthread_compat.h" /* Posix timers are supported */ @@ -73,12 +74,60 @@ extern "C" { #endif -WINPTHREAD_API int __cdecl nanosleep(const struct timespec *request, struct timespec *remain); +WINPTHREAD_API int __cdecl nanosleep32(const struct _timespec32 *request, struct _timespec32 *remain); +WINPTHREAD_API int __cdecl nanosleep64(const struct _timespec64 *request, struct _timespec64 *remain); +WINPTHREAD_NANOSLEEP_DECL int __cdecl nanosleep(const struct timespec *request, struct timespec *remain) +{ +#if WINPTHREADS_TIME_BITS == 32 + return nanosleep32 ((struct _timespec32 *)request, (struct _timespec32 *)remain); +#else + return nanosleep64 ((struct _timespec64 *)request, (struct _timespec64 *)remain); +#endif +} -WINPTHREAD_API int __cdecl clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain); -WINPTHREAD_API int __cdecl clock_getres(clockid_t clock_id, struct timespec *res); -WINPTHREAD_API int __cdecl clock_gettime(clockid_t clock_id, struct timespec *tp); -WINPTHREAD_API int __cdecl clock_settime(clockid_t clock_id, const struct timespec *tp); +WINPTHREAD_API int __cdecl clock_nanosleep32(clockid_t clock_id, int flags, const struct _timespec32 *request, struct _timespec32 *remain); +WINPTHREAD_API int __cdecl clock_nanosleep64(clockid_t clock_id, int flags, const struct _timespec64 *request, struct _timespec64 *remain); +WINPTHREAD_CLOCK_DECL int __cdecl clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain) +{ +#if WINPTHREADS_TIME_BITS == 32 + return clock_nanosleep32 (clock_id, flags, (struct _timespec32 *)request, (struct _timespec32 *)remain); +#else + return clock_nanosleep64 (clock_id, flags, (struct _timespec64 *)request, (struct _timespec64 *)remain); +#endif +} + +WINPTHREAD_API int __cdecl clock_getres32(clockid_t clock_id, struct _timespec32 *res); +WINPTHREAD_API int __cdecl clock_getres64(clockid_t clock_id, struct _timespec64 *res); +WINPTHREAD_CLOCK_DECL int __cdecl clock_getres(clockid_t clock_id, struct timespec *res) +{ +#if WINPTHREADS_TIME_BITS == 32 + return clock_getres32 (clock_id, (struct _timespec32 *)res); +#else + return clock_getres64 (clock_id, (struct _timespec64 *)res); +#endif +} + +WINPTHREAD_API int __cdecl clock_gettime32(clockid_t clock_id, struct _timespec32 *tp); +WINPTHREAD_API int __cdecl clock_gettime64(clockid_t clock_id, struct _timespec64 *tp); +WINPTHREAD_CLOCK_DECL int __cdecl clock_gettime(clockid_t clock_id, struct timespec *tp) +{ +#if WINPTHREADS_TIME_BITS == 32 + return clock_gettime32 (clock_id, (struct _timespec32 *)tp); +#else + return clock_gettime64 (clock_id, (struct _timespec64 *)tp); +#endif +} + +WINPTHREAD_API int __cdecl clock_settime32(clockid_t clock_id, const struct _timespec32 *tp); +WINPTHREAD_API int __cdecl clock_settime64(clockid_t clock_id, const struct _timespec64 *tp); +WINPTHREAD_CLOCK_DECL int __cdecl clock_settime(clockid_t clock_id, const struct timespec *tp) +{ +#if WINPTHREADS_TIME_BITS == 32 + return clock_settime32 (clock_id, (struct _timespec32 *)tp); +#else + return clock_settime64 (clock_id, (struct _timespec64 *)tp); +#endif +} #ifdef __cplusplus } diff --git a/lib/libc/include/any-windows-any/qedit.h b/lib/libc/include/any-windows-any/qedit.h index 8e9781a3c767..bec47289ae8f 100644 --- a/lib/libc/include/any-windows-any/qedit.h +++ b/lib/libc/include/any-windows-any/qedit.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/qedit.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/qedit.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/qnetwork.h b/lib/libc/include/any-windows-any/qnetwork.h index 66f751052743..315d9e1e6708 100644 --- a/lib/libc/include/any-windows-any/qnetwork.h +++ b/lib/libc/include/any-windows-any/qnetwork.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/qnetwork.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/qnetwork.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/rasshost.h b/lib/libc/include/any-windows-any/rasshost.h index ea88a7b9ac74..3cd3c3c4556b 100644 --- a/lib/libc/include/any-windows-any/rasshost.h +++ b/lib/libc/include/any-windows-any/rasshost.h @@ -5,8 +5,8 @@ #ifndef _RASSHOST_ #define _RASSHOST_ -#include - +#include + #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) #include diff --git a/lib/libc/include/any-windows-any/rdpencomapi.h b/lib/libc/include/any-windows-any/rdpencomapi.h index 21d9a405403b..c7557e5e705e 100644 --- a/lib/libc/include/any-windows-any/rdpencomapi.h +++ b/lib/libc/include/any-windows-any/rdpencomapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/rdpencomapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/rdpencomapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/regbag.h b/lib/libc/include/any-windows-any/regbag.h index 264337d55f0c..88a28fcca67b 100644 --- a/lib/libc/include/any-windows-any/regbag.h +++ b/lib/libc/include/any-windows-any/regbag.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/regbag.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/regbag.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/relogger.h b/lib/libc/include/any-windows-any/relogger.h index cfe965fc8fd7..07ab6fcd6396 100644 --- a/lib/libc/include/any-windows-any/relogger.h +++ b/lib/libc/include/any-windows-any/relogger.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/relogger.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/relogger.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/robuffer.h b/lib/libc/include/any-windows-any/robuffer.h index 517a2d5ac0f5..c401477681ee 100644 --- a/lib/libc/include/any-windows-any/robuffer.h +++ b/lib/libc/include/any-windows-any/robuffer.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/robuffer.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/robuffer.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/rtworkq.h b/lib/libc/include/any-windows-any/rtworkq.h index 1ee55df51e56..6cb0d6bb5503 100644 --- a/lib/libc/include/any-windows-any/rtworkq.h +++ b/lib/libc/include/any-windows-any/rtworkq.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/rtworkq.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/rtworkq.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/sapi51.h b/lib/libc/include/any-windows-any/sapi51.h index 868433f96bc5..8678420efc57 100644 --- a/lib/libc/include/any-windows-any/sapi51.h +++ b/lib/libc/include/any-windows-any/sapi51.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/sapi51.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/sapi51.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/sapi53.h b/lib/libc/include/any-windows-any/sapi53.h index 000e18fe9055..897f93743517 100644 --- a/lib/libc/include/any-windows-any/sapi53.h +++ b/lib/libc/include/any-windows-any/sapi53.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/sapi53.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/sapi53.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/sapi54.h b/lib/libc/include/any-windows-any/sapi54.h index 31fdff3164c7..9addb7331bcb 100644 --- a/lib/libc/include/any-windows-any/sapi54.h +++ b/lib/libc/include/any-windows-any/sapi54.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/sapi54.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/sapi54.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/scardssp_i.c b/lib/libc/include/any-windows-any/scardssp_i.c deleted file mode 100644 index b23c29f92048..000000000000 --- a/lib/libc/include/any-windows-any/scardssp_i.c +++ /dev/null @@ -1,63 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C"{ -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - - MIDL_DEFINE_GUID(IID,IID_IByteBuffer,0xE126F8FE,0xA7AF,0x11D0,0xB8,0x8A,0x00,0xC0,0x4F,0xD4,0x24,0xB9); - MIDL_DEFINE_GUID(IID,IID_ISCardTypeConv,0x53B6AA63,0x3F56,0x11D0,0x91,0x6B,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,IID_ISCardCmd,0xD5778AE3,0x43DE,0x11D0,0x91,0x71,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,IID_ISCardISO7816,0x53B6AA68,0x3F56,0x11D0,0x91,0x6B,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,IID_ISCard,0x1461AAC3,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,IID_ISCardDatabase,0x1461AAC8,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,IID_ISCardLocate,0x1461AACD,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(IID,LIBID_SCARDSSPLib,0x82C38704,0x19F1,0x11D3,0xA1,0x1F,0x00,0xC0,0x4F,0x79,0xF8,0x00); - MIDL_DEFINE_GUID(CLSID,CLSID_CByteBuffer,0xE126F8FF,0xA7AF,0x11D0,0xB8,0x8A,0x00,0xC0,0x4F,0xD4,0x24,0xB9); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCardTypeConv,0x53B6AA67,0x3F56,0x11D0,0x91,0x6B,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCardCmd,0xD5778AE7,0x43DE,0x11D0,0x91,0x71,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCardISO7816,0x53B6AA6C,0x3F56,0x11D0,0x91,0x6B,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCard,0x1461AAC7,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCardDatabase,0x1461AACC,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - MIDL_DEFINE_GUID(CLSID,CLSID_CSCardLocate,0x1461AAD1,0x6810,0x11D0,0x91,0x8F,0x00,0xAA,0x00,0xC1,0x80,0x68); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/scardssp_p.c b/lib/libc/include/any-windows-any/scardssp_p.c deleted file mode 100644 index b31779057216..000000000000 --- a/lib/libc/include/any-windows-any/scardssp_p.c +++ /dev/null @@ -1,285 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#define USE_STUBLESS_PROXY - -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error This stub requires an updated version of -#endif - -#include "scardssp.h" - -#define TYPE_FORMAT_STRING_SIZE 1313 -#define PROC_FORMAT_STRING_SIZE 3859 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 3 - -typedef struct _MIDL_TYPE_FORMAT_STRING { - short Pad; - unsigned char Format[TYPE_FORMAT_STRING_SIZE]; -} MIDL_TYPE_FORMAT_STRING; - -typedef struct _MIDL_PROC_FORMAT_STRING { - short Pad; - unsigned char Format[PROC_FORMAT_STRING_SIZE]; -} MIDL_PROC_FORMAT_STRING; - -extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString; -extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO IByteBuffer_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short IByteBuffer_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,0,36,72,108,144,198,240,288,336,366,414,450,492,540 -}; - -static const MIDL_SERVER_INFO IByteBuffer_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&IByteBuffer_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO IByteBuffer_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&IByteBuffer_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(21) _IByteBufferProxyVtbl = { - &IByteBuffer_ProxyInfo,&IID_IByteBuffer,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION IByteBuffer_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _IByteBufferStubVtbl = { - &IID_IByteBuffer,&IByteBuffer_ServerInfo,21,&IByteBuffer_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_SERVER_INFO ISCardTypeConv_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCardTypeConv_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,588,636,678,720,762,804,846,888,930,972 -}; - -static const MIDL_SERVER_INFO ISCardTypeConv_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCardTypeConv_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCardTypeConv_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCardTypeConv_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(17) _ISCardTypeConvProxyVtbl = { - &ISCardTypeConv_ProxyInfo,&IID_ISCardTypeConv,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCardTypeConv_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardTypeConvStubVtbl = { - &IID_ISCardTypeConv,&ISCardTypeConv_ServerInfo,17,&ISCardTypeConv_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO ISCardCmd_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCardCmd_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,1014,1050,1086,1122,1158,1194,1230,1266,1302,1338,1374,1410,1446,1482,1518,1554,1590,1626,1662,1698,1734,1770,1806,1842,1878,1914,1950,1986,2022,2088,2118,2160,2196 -}; - -static const MIDL_SERVER_INFO ISCardCmd_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCardCmd_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCardCmd_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCardCmd_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(40) _ISCardCmdProxyVtbl = { - &ISCardCmd_ProxyInfo,&IID_ISCardCmd,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCardCmd_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardCmdStubVtbl = { - &IID_ISCardCmd,&ISCardCmd_ServerInfo,40,&ISCardCmd_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO ISCardISO7816_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCardISO7816_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,2232,2280,2334,2388,2430,2484,2538,2598,2646,2700,2754,2808,1446,2868,2922,2976,3024,3078 -}; - -static const MIDL_SERVER_INFO ISCardISO7816_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCardISO7816_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCardISO7816_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCardISO7816_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(25) _ISCardISO7816ProxyVtbl = { - &ISCardISO7816_ProxyInfo,&IID_ISCardISO7816,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCardISO7816_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardISO7816StubVtbl = { - &IID_ISCardISO7816,&ISCardISO7816_ServerInfo,25,&ISCardISO7816_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO ISCard_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCard_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,1014,3132,1086,3168,3204,3240,3276,3324,336,3360,3402,3438 -}; - -static const MIDL_SERVER_INFO ISCard_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCard_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCard_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCard_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(19) _ISCardProxyVtbl = { - &ISCard_ProxyInfo,&IID_ISCard,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCard_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardStubVtbl = { - &IID_ISCard,&ISCard_ServerInfo,19,&ISCard_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO ISCardDatabase_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCardDatabase_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,3474,3516,3558,3612,3654 -}; - -static const MIDL_SERVER_INFO ISCardDatabase_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCardDatabase_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCardDatabase_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCardDatabase_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(12) _ISCardDatabaseProxyVtbl = { - &ISCardDatabase_ProxyInfo,&IID_ISCardDatabase,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCardDatabase_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardDatabaseStubVtbl = { - &IID_ISCardDatabase,&ISCardDatabase_ServerInfo,12,&ISCardDatabase_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc; -static const MIDL_SERVER_INFO ISCardLocate_ServerInfo; - -#pragma code_seg(".orpc") -static const unsigned short ISCardLocate_FormatStringOffsetTable[] = { - (unsigned short) -1,(unsigned short) -1,(unsigned short) -1,(unsigned short) -1,3696,3750,3804 -}; - -static const MIDL_SERVER_INFO ISCardLocate_ServerInfo = { - &Object_StubDesc,0,__MIDL_ProcFormatString.Format,&ISCardLocate_FormatStringOffsetTable[-3],0,0,0,0 -}; - -static const MIDL_STUBLESS_PROXY_INFO ISCardLocate_ProxyInfo = { - &Object_StubDesc,__MIDL_ProcFormatString.Format,&ISCardLocate_FormatStringOffsetTable[-3],0,0,0 -}; - -CINTERFACE_PROXY_VTABLE(10) _ISCardLocateProxyVtbl = { - &ISCardLocate_ProxyInfo,&IID_ISCardLocate,IUnknown_QueryInterface_Proxy,IUnknown_AddRef_Proxy,IUnknown_Release_Proxy ,0 ,0 ,0 ,0 ,(void *)-1 ,(void *)-1 ,(void *)-1 -}; - -static const PRPC_STUB_FUNCTION ISCardLocate_table[] = { - STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,STUB_FORWARDING_FUNCTION,NdrStubCall2,NdrStubCall2,NdrStubCall2 -}; - -CInterfaceStubVtbl _ISCardLocateStubVtbl = { - &IID_ISCardLocate,&ISCardLocate_ServerInfo,10,&ISCardLocate_table[-3],CStdStubBuffer_DELEGATING_METHODS -}; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[WIRE_MARSHAL_TABLE_SIZE]; - -static const MIDL_STUB_DESC Object_StubDesc = { - 0,NdrOleAllocate,NdrOleFree,0,0,0,0,0,__MIDL_TypeFormatString.Format,1,0x50002,0,0x5030117,0,UserMarshalRoutines,0,0x1,0,0,0 -}; - -#pragma data_seg(".rdata") -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[WIRE_MARSHAL_TABLE_SIZE] = { - { HGLOBAL_UserSize,HGLOBAL_UserMarshal,HGLOBAL_UserUnmarshal,HGLOBAL_UserFree }, - { LPSAFEARRAY_UserSize,LPSAFEARRAY_UserMarshal,LPSAFEARRAY_UserUnmarshal,LPSAFEARRAY_UserFree}, - { BSTR_UserSize,BSTR_UserMarshal,BSTR_UserUnmarshal,BSTR_UserFree } -}; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString = { - 0,{ 0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x45,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x13),NdrFcShort(0x4),NdrFcShort(0x2),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x46,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x6),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x201b),NdrFcShort(0x4),NdrFcShort(0x18),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0x18),NdrFcShort(0x18),NdrFcShort(0x18),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x201b),NdrFcShort(0x4),NdrFcShort(0x18),NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x158),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x158),NdrFcShort(0x10),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xc),NdrFcShort(0x10),NdrFcShort(0xd),NdrFcShort(0x8),0x44,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x148),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xd),NdrFcShort(0x14),NdrFcShort(0x18),NdrFcShort(0x8),0x44,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xe),NdrFcShort(0x14),NdrFcShort(0x15),NdrFcShort(0x15),0x44,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x158),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x158),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xf),NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x8),0x44,0x1,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x70),NdrFcShort(0x4),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x10),NdrFcShort(0x14),NdrFcShort(0x18),NdrFcShort(0x10),0x44,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x158),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x11),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x12),NdrFcShort(0x10),NdrFcShort(0x24),NdrFcShort(0x24),0x44,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x11a),NdrFcShort(0x4),NdrFcShort(0x3a),NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x13),NdrFcShort(0x14),NdrFcShort(0x18),NdrFcShort(0x8),0x44,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x14),NdrFcShort(0x14),NdrFcShort(0x15),NdrFcShort(0x15),0x44,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x158),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x158),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0x14),NdrFcShort(0xd),NdrFcShort(0x8),0x45,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x148),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x8,0x0,NdrFcShort(0x13),NdrFcShort(0xc),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x3,0x8,0x3,NdrFcShort(0x3),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x2013),NdrFcShort(0x8),NdrFcShort(0x48),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x3,0x8,0x3,NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x2113),NdrFcShort(0x8),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x3,0x8,0x5,NdrFcShort(0x0),NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4b8),NdrFcShort(0x13),NdrFcShort(0x8),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x15),0x44,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x2012),NdrFcShort(0x8),NdrFcShort(0x4c2),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xc),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x8),0x45,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x13),NdrFcShort(0x8),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xd),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x8),0x45,0x3,0x8,0x3,NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x2113),NdrFcShort(0x8),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xe),NdrFcShort(0x10),NdrFcShort(0x5),NdrFcShort(0x8),0x46,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x6),NdrFcShort(0x148),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xf),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x3,0x8,0x3,NdrFcShort(0x3),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x6),NdrFcShort(0x2013),NdrFcShort(0x8),NdrFcShort(0x48),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x10),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x18),0x46,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x6),NdrFcShort(0x2112),NdrFcShort(0x8),NdrFcShort(0x2ce),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x45,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x13),NdrFcShort(0x4),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x46,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x45,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x13),NdrFcShort(0x4),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x46,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xc),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xd),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xe),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xf),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x10),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x45,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x13),NdrFcShort(0x4),NdrFcShort(0x44),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x11),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x46,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x12),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x13),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x14),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x15),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x16),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x17),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x18),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x19),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1a),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xe),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x6,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1b),NdrFcShort(0xc),NdrFcShort(0x6),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x6,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1c),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1d),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1e),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xe),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2010),NdrFcShort(0x4),NdrFcShort(0x4d6),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x1f),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x20),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x21),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x22),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x23),NdrFcShort(0x20),NdrFcShort(0x1c),NdrFcShort(0x8),0x46,0x7,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x10),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0x14),NdrFcShort(0x1c),NdrFcShort(0x148),NdrFcShort(0x18),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x1c),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x24),NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x8),0x44,0x1,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x70),NdrFcShort(0x4),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x25),NdrFcShort(0x10),NdrFcShort(0x6),NdrFcShort(0x8),0x46,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x48),NdrFcShort(0x8),0xd,0x0,NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x26),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xd),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x27),NdrFcShort(0xc),NdrFcShort(0x5),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0x14),NdrFcShort(0x5),NdrFcShort(0x8),0x47,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0x8),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0xc),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x8),0x47,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x8),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0x18),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xc),NdrFcShort(0x18),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xd),NdrFcShort(0x1c),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x6,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x48),NdrFcShort(0x10),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x14),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x18),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xe),NdrFcShort(0x14),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x201b),NdrFcShort(0xc),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xf),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x10),NdrFcShort(0x18),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x11),NdrFcShort(0x18),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x12),NdrFcShort(0x1c),NdrFcShort(0x12),NdrFcShort(0x8),0x47,0x6,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x48),NdrFcShort(0x10),0x8,0x0,NdrFcShort(0x201b),NdrFcShort(0x14),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x18),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x14),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x15),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x16),NdrFcShort(0x14),NdrFcShort(0x5),NdrFcShort(0x8),0x47,0x4,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0x8),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0xc),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x17),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x18),NdrFcShort(0x18),NdrFcShort(0xa),NdrFcShort(0x8),0x47,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x2,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0x2,0x0,NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x1c),NdrFcShort(0x201b),NdrFcShort(0x10),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x10),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x2150),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xc),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xd),NdrFcShort(0x14),NdrFcShort(0x10),NdrFcShort(0x8),0x46,0x4,0x8,0x5,NdrFcShort(0x0),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4f8),NdrFcShort(0x48),NdrFcShort(0x8),0xe,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0x10),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xe),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x10),NdrFcShort(0x10),NdrFcShort(0x10),NdrFcShort(0x8),0x44,0x3,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x11),NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x201b),NdrFcShort(0x4),NdrFcShort(0x4da),NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x12),NdrFcShort(0xc),NdrFcShort(0x8),NdrFcShort(0x8),0x44,0x2,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x70),NdrFcShort(0x8),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x30),0x46,0x3,0x8,0x5,NdrFcShort(0x0),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4f8),NdrFcShort(0x2012),NdrFcShort(0x8),NdrFcShort(0x502),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0x8),0x47,0x3,0x8,0x7,NdrFcShort(0x12),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4f8),NdrFcShort(0x2113),NdrFcShort(0x8),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0x18),NdrFcShort(0x8),NdrFcShort(0x8),0x47,0x5,0x8,0x7,NdrFcShort(0x12),NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0xb),NdrFcShort(0x4),NdrFcShort(0x1c),NdrFcShort(0x8b),NdrFcShort(0x8),NdrFcShort(0x4b8),NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x2113),NdrFcShort(0x10),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xa),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x8),0x45,0x3,0x8,0x3,NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x2113),NdrFcShort(0x8),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0xb),NdrFcShort(0x10),NdrFcShort(0x8),NdrFcShort(0x8),0x45,0x3,0x8,0x3,NdrFcShort(0x12),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0x8,0x0,NdrFcShort(0x2113),NdrFcShort(0x8),NdrFcShort(0x4a6),NdrFcShort(0x70),NdrFcShort(0xc),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x7),NdrFcShort(0x18),NdrFcShort(0x8),NdrFcShort(0x8),0x46,0x5,0x8,0x5,NdrFcShort(0x0),NdrFcShort(0x25),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4b8),NdrFcShort(0x8b),NdrFcShort(0x8),NdrFcShort(0x4b8),NdrFcShort(0x8b),NdrFcShort(0xc),NdrFcShort(0x4f8),NdrFcShort(0x48),NdrFcShort(0x10),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x8),NdrFcShort(0x18),NdrFcShort(0x8),NdrFcShort(0x8),0x46,0x5,0x8,0x5,NdrFcShort(0x0),NdrFcShort(0x25),NdrFcShort(0x0),NdrFcShort(0x8b),NdrFcShort(0x4),NdrFcShort(0x4b8),NdrFcShort(0x8b),NdrFcShort(0x8),NdrFcShort(0x4b8),NdrFcShort(0x8b),NdrFcShort(0xc),NdrFcShort(0x4f8),NdrFcShort(0x48),NdrFcShort(0x10),0x8,0x0,NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x33,0x6c,NdrFcLong(0x0),NdrFcShort(0x9),NdrFcShort(0x18),NdrFcShort(0x18),NdrFcShort(0x38),0x44,0x5,0x8,0x1,NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x0),NdrFcShort(0x48),NdrFcShort(0x4),0xe,0x0,NdrFcShort(0x48),NdrFcShort(0x8),0xe,0x0,NdrFcShort(0x48),NdrFcShort(0xc),0x8,0x0,NdrFcShort(0x2012),NdrFcShort(0x10),NdrFcShort(0x50a),NdrFcShort(0x70),NdrFcShort(0x14),0x8,0x0,0x0 } -}; - -const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString = { - 0,{ NdrFcShort(0x0),0x11,0x10,NdrFcShort(0x2),0x2f,0x5a,NdrFcLong(0xc),NdrFcShort(0x0),NdrFcShort(0x0),0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x11,0x14,NdrFcShort(0x2),0x2f,0x5a,NdrFcLong(0xe126f8fe),NdrFcShort(0xa7af),NdrFcShort(0x11d0),0xb8,0x8a,0x0,0xc0,0x4f,0xd4,0x24,0xb9,0x11,0x8,0x8,0x5c,0x11,0x8,0x2,0x5c,0x11,0x0,NdrFcShort(0x2),0x15,0x3,NdrFcShort(0x14),0x8,0x8,0x8,0x8,0x8,0x5b,0x11,0x10,NdrFcShort(0xffffffd6),0x11,0x14,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x50),0x13,0x0,NdrFcShort(0x2),0x2a,0x88,NdrFcShort(0x8),NdrFcShort(0x3),NdrFcLong(0x48746457),NdrFcShort(0x8008),NdrFcLong(0x52746457),NdrFcShort(0xa),NdrFcLong(0x50746457),NdrFcShort(0x800b),NdrFcShort(0xffffffff),0x13,0x0,NdrFcShort(0xe),0x1b,0x0,NdrFcShort(0x1),0x9,0x0,NdrFcShort(0xfffc),NdrFcShort(0x1),0x1,0x5b,0x17,0x3,NdrFcShort(0x8),NdrFcShort(0xfffffff0),0x8,0x8,0x5c,0x5b,0xb4,0x83,NdrFcShort(0x0),NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0xffffffc0),0x1b,0x0,NdrFcShort(0x1),0x19,0x0,NdrFcShort(0x4),NdrFcShort(0x1),0x2,0x5b,0x1a,0x3,NdrFcShort(0xc),NdrFcShort(0x0),NdrFcShort(0xa),0x4c,0x0,NdrFcShort(0xffffffe0),0x8,0x36,0x5c,0x5b,0x13,0x0,NdrFcShort(0xffffffe2),0x11,0x4,NdrFcShort(0x3f2),0x13,0x10,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x3d8),0x2a,0x49,NdrFcShort(0x18),NdrFcShort(0xa),NdrFcLong(0x8),NdrFcShort(0x70),NdrFcLong(0xd),NdrFcShort(0xa6),NdrFcLong(0x9),NdrFcShort(0xd8),NdrFcLong(0xc),NdrFcShort(0x2bc),NdrFcLong(0x24),NdrFcShort(0x2e6),NdrFcLong(0x800d),NdrFcShort(0x302),NdrFcLong(0x10),NdrFcShort(0x31c),NdrFcLong(0x2),NdrFcShort(0x336),NdrFcLong(0x3),NdrFcShort(0x350),NdrFcLong(0x14),NdrFcShort(0x36a),NdrFcShort(0xffffffff),0x1b,0x1,NdrFcShort(0x2),0x9,0x0,NdrFcShort(0xfffc),NdrFcShort(0x1),0x6,0x5b,0x17,0x3,NdrFcShort(0x8),NdrFcShort(0xfffffff0),0x8,0x8,0x5c,0x5b,0x1b,0x3,NdrFcShort(0x4),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x4b,0x5c,0x48,0x49,NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x0),0x13,0x0,NdrFcShort(0xffffffdc),0x5b,0x8,0x5c,0x5b,0x16,0x3,NdrFcShort(0x8),0x4b,0x5c,0x46,0x5c,NdrFcShort(0x4),NdrFcShort(0x4),0x11,0x0,NdrFcShort(0xffffffd2),0x5b,0x8,0x8,0x5b,0x2f,0x5a,NdrFcLong(0x0),NdrFcShort(0x0),NdrFcShort(0x0),0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x21,0x3,NdrFcShort(0x0),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),NdrFcLong(0xffffffff),NdrFcShort(0x0),0x4c,0x0,NdrFcShort(0xffffffdc),0x5c,0x5b,0x1a,0x3,NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x6),0x8,0x36,0x5c,0x5b,0x11,0x0,NdrFcShort(0xffffffdc),0x2f,0x5a,NdrFcLong(0x20400),NdrFcShort(0x0),NdrFcShort(0x0),0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x21,0x3,NdrFcShort(0x0),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),NdrFcLong(0xffffffff),NdrFcShort(0x0),0x4c,0x0,NdrFcShort(0xffffffdc),0x5c,0x5b,0x1a,0x3,NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x6),0x8,0x36,0x5c,0x5b,0x11,0x0,NdrFcShort(0xffffffdc),0x2b,0x9,0x7,0x0,NdrFcShort(0xfff8),NdrFcShort(0x1),NdrFcShort(0x2),NdrFcShort(0x10),NdrFcShort(0x2b),NdrFcLong(0x3),NdrFcShort(0x8008),NdrFcLong(0x11),NdrFcShort(0x8001),NdrFcLong(0x2),NdrFcShort(0x8006),NdrFcLong(0x4),NdrFcShort(0x800a),NdrFcLong(0x5),NdrFcShort(0x800c),NdrFcLong(0xb),NdrFcShort(0x8006),NdrFcLong(0xa),NdrFcShort(0x8008),NdrFcLong(0x6),NdrFcShort(0xd6),NdrFcLong(0x7),NdrFcShort(0x800c),NdrFcLong(0x8),NdrFcShort(0xd0),NdrFcLong(0xd),NdrFcShort(0xffffff42),NdrFcLong(0x9),NdrFcShort(0xffffff74),NdrFcLong(0x2000),NdrFcShort(0xc2),NdrFcLong(0x24),NdrFcShort(0xc4),NdrFcLong(0x4024),NdrFcShort(0xbe),NdrFcLong(0x4011),NdrFcShort(0xee),NdrFcLong(0x4002),NdrFcShort(0xec),NdrFcLong(0x4003),NdrFcShort(0xea),NdrFcLong(0x4004),NdrFcShort(0xe8),NdrFcLong(0x4005),NdrFcShort(0xe6),NdrFcLong(0x400b),NdrFcShort(0xd4),NdrFcLong(0x400a),NdrFcShort(0xd2),NdrFcLong(0x4006),NdrFcShort(0xd8),NdrFcLong(0x4007),NdrFcShort(0xce),NdrFcLong(0x4008),NdrFcShort(0xd0),NdrFcLong(0x400d),NdrFcShort(0xce),NdrFcLong(0x4009),NdrFcShort(0xcc),NdrFcLong(0x6000),NdrFcShort(0xca),NdrFcLong(0x400c),NdrFcShort(0xd0),NdrFcLong(0x10),NdrFcShort(0x8002),NdrFcLong(0x12),NdrFcShort(0x8006),NdrFcLong(0x13),NdrFcShort(0x8008),NdrFcLong(0x16),NdrFcShort(0x8008),NdrFcLong(0x17),NdrFcShort(0x8008),NdrFcLong(0xe),NdrFcShort(0xb4),NdrFcLong(0x400e),NdrFcShort(0xba),NdrFcLong(0x4010),NdrFcShort(0xb8),NdrFcLong(0x4012),NdrFcShort(0x6e),NdrFcLong(0x4013),NdrFcShort(0x6c),NdrFcLong(0x4016),NdrFcShort(0x66),NdrFcLong(0x4017),NdrFcShort(0x60),NdrFcLong(0x0),NdrFcShort(0x0),NdrFcLong(0x1),NdrFcShort(0x0),NdrFcShort(0xffffffff),0x15,0x7,NdrFcShort(0x8),0xb,0x5b,0x13,0x0,NdrFcShort(0xfffffe38),0x13,0x10,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x1b6),0x13,0x0,NdrFcShort(0x20),0x2f,0x5a,NdrFcLong(0x2f),NdrFcShort(0x0),NdrFcShort(0x0),0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x46,0x1b,0x0,NdrFcShort(0x1),0x19,0x0,NdrFcShort(0x4),NdrFcShort(0x1),0x1,0x5b,0x1a,0x3,NdrFcShort(0x10),NdrFcShort(0x0),NdrFcShort(0xa),0x8,0x8,0x4c,0x0,NdrFcShort(0xffffffd6),0x36,0x5b,0x13,0x0,NdrFcShort(0xffffffe2),0x13,0x8,0x1,0x5c,0x13,0x8,0x6,0x5c,0x13,0x8,0x8,0x5c,0x13,0x8,0xa,0x5c,0x13,0x8,0xc,0x5c,0x13,0x0,NdrFcShort(0xffffffa2),0x13,0x10,NdrFcShort(0xffffffa4),0x13,0x10,NdrFcShort(0xfffffe18),0x13,0x10,NdrFcShort(0xfffffe4c),0x13,0x10,NdrFcShort(0x2),0x13,0x10,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x150),0x13,0x10,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x16),0x15,0x7,NdrFcShort(0x10),0x6,0x1,0x1,0x38,0x8,0x39,0xb,0x5b,0x13,0x0,NdrFcShort(0xfffffff2),0x13,0x8,0x2,0x5c,0x1a,0x7,NdrFcShort(0x20),NdrFcShort(0x0),NdrFcShort(0x0),0x8,0x8,0x6,0x6,0x6,0x6,0x4c,0x0,NdrFcShort(0xfffffe4a),0x5c,0x5b,0x1b,0x3,NdrFcShort(0x4),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x4b,0x5c,0x48,0x49,NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x0),0x13,0x0,NdrFcShort(0xffffffd2),0x5b,0x8,0x5c,0x5b,0x1a,0x3,NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x6),0x8,0x36,0x5c,0x5b,0x11,0x0,NdrFcShort(0xffffffd2),0x1b,0x3,NdrFcShort(0x4),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x4b,0x5c,0x48,0x49,NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0x1),NdrFcShort(0x0),NdrFcShort(0x0),0x13,0x0,NdrFcShort(0xffffff42),0x5b,0x8,0x5c,0x5b,0x1a,0x3,NdrFcShort(0x8),NdrFcShort(0x0),NdrFcShort(0x6),0x8,0x36,0x5c,0x5b,0x11,0x0,NdrFcShort(0xffffffd2),0x1d,0x0,NdrFcShort(0x8),0x2,0x5b,0x15,0x3,NdrFcShort(0x10),0x8,0x6,0x6,0x4c,0x0,NdrFcShort(0xfffffff1),0x5b,0x1a,0x3,NdrFcShort(0x18),NdrFcShort(0x0),NdrFcShort(0xa),0x8,0x36,0x4c,0x0,NdrFcShort(0xffffffe8),0x5c,0x5b,0x11,0x0,NdrFcShort(0xfffffd64),0x1b,0x0,NdrFcShort(0x1),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x1,0x5b,0x16,0x3,NdrFcShort(0x8),0x4b,0x5c,0x46,0x5c,NdrFcShort(0x4),NdrFcShort(0x4),0x13,0x0,NdrFcShort(0xffffffe6),0x5b,0x8,0x8,0x5b,0x1b,0x1,NdrFcShort(0x2),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x6,0x5b,0x16,0x3,NdrFcShort(0x8),0x4b,0x5c,0x46,0x5c,NdrFcShort(0x4),NdrFcShort(0x4),0x13,0x0,NdrFcShort(0xffffffe6),0x5b,0x8,0x8,0x5b,0x1b,0x3,NdrFcShort(0x4),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0x8,0x5b,0x16,0x3,NdrFcShort(0x8),0x4b,0x5c,0x46,0x5c,NdrFcShort(0x4),NdrFcShort(0x4),0x13,0x0,NdrFcShort(0xffffffe6),0x5b,0x8,0x8,0x5b,0x1b,0x7,NdrFcShort(0x8),0x19,0x0,NdrFcShort(0x0),NdrFcShort(0x1),0xb,0x5b,0x16,0x3,NdrFcShort(0x8),0x4b,0x5c,0x46,0x5c,NdrFcShort(0x4),NdrFcShort(0x4),0x13,0x0,NdrFcShort(0xffffffe6),0x5b,0x8,0x8,0x5b,0x15,0x3,NdrFcShort(0x8),0x8,0x8,0x5c,0x5b,0x1b,0x3,NdrFcShort(0x8),0x7,0x0,NdrFcShort(0xffd8),NdrFcShort(0x1),0x4c,0x0,NdrFcShort(0xffffffec),0x5c,0x5b,0x1a,0x3,NdrFcShort(0x28),NdrFcShort(0xffffffec),NdrFcShort(0x0),0x6,0x6,0x38,0x8,0x8,0x4c,0x0,NdrFcShort(0xfffffc1b),0x5b,0xb4,0x83,NdrFcShort(0x1),NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0xfffffc08),0x12,0x10,NdrFcShort(0x2),0x12,0x0,NdrFcShort(0xffffffde),0xb4,0x83,NdrFcShort(0x1),NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0xfffffff0),0x11,0x14,NdrFcShort(0xfffffe9a),0x11,0x4,NdrFcShort(0xfffffe06),0x11,0xc,0x8,0x5c,0x11,0xc,0x2,0x5c,0x11,0xc,0x6,0x5c,0x11,0xc,0xd,0x5c,0x11,0x14,NdrFcShort(0x2),0x2f,0x5a,NdrFcLong(0xd5778ae3),NdrFcShort(0x43de),NdrFcShort(0x11d0),0x91,0x71,0x0,0xaa,0x0,0xc1,0x80,0x68,0x11,0xc,0xe,0x5c,0x12,0x0,NdrFcShort(0xfffffc18),0xb4,0x83,NdrFcShort(0x2),NdrFcShort(0x4),NdrFcShort(0x0),NdrFcShort(0xfffffff4),0x11,0x14,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0xfffffed4),0x11,0x14,NdrFcShort(0x2),0x13,0x0,NdrFcShort(0x2),0x15,0x3,NdrFcShort(0x20),0x8,0x8,0xe,0xe,0x8,0x8,0x8,0x8,0x5c,0x5b,0x0 } -}; - -const CInterfaceProxyVtbl *_scardssp_ProxyVtblList[] = { - (CInterfaceProxyVtbl *) &_ISCardTypeConvProxyVtbl,(CInterfaceProxyVtbl *) &_ISCardISO7816ProxyVtbl,(CInterfaceProxyVtbl *) &_ISCardProxyVtbl,(CInterfaceProxyVtbl *) &_ISCardDatabaseProxyVtbl,(CInterfaceProxyVtbl *) &_ISCardLocateProxyVtbl,(CInterfaceProxyVtbl *) &_ISCardCmdProxyVtbl,(CInterfaceProxyVtbl *) &_IByteBufferProxyVtbl,0 -}; - -const CInterfaceStubVtbl *_scardssp_StubVtblList[] = { - (CInterfaceStubVtbl *) &_ISCardTypeConvStubVtbl,(CInterfaceStubVtbl *) &_ISCardISO7816StubVtbl,(CInterfaceStubVtbl *) &_ISCardStubVtbl,(CInterfaceStubVtbl *) &_ISCardDatabaseStubVtbl,(CInterfaceStubVtbl *) &_ISCardLocateStubVtbl,(CInterfaceStubVtbl *) &_ISCardCmdStubVtbl,(CInterfaceStubVtbl *) &_IByteBufferStubVtbl,0 -}; - -PCInterfaceName const _scardssp_InterfaceNamesList[] = { - "ISCardTypeConv","ISCardISO7816","ISCard","ISCardDatabase","ISCardLocate","ISCardCmd","IByteBuffer",0 -}; - -const IID *_scardssp_BaseIIDList[] = { - &IID_IDispatch,&IID_IDispatch,&IID_IDispatch,&IID_IDispatch,&IID_IDispatch,&IID_IDispatch,&IID_IDispatch,0 -}; - -#define _scardssp_CHECK_IID(n) IID_GENERIC_CHECK_IID(_scardssp,pIID,n) - -int __stdcall _scardssp_IID_Lookup(const IID *pIID,int *pIndex) { - IID_BS_LOOKUP_SETUP - IID_BS_LOOKUP_INITIAL_TEST(_scardssp,7,4) - IID_BS_LOOKUP_NEXT_TEST(_scardssp,2) - IID_BS_LOOKUP_NEXT_TEST(_scardssp,1) - IID_BS_LOOKUP_RETURN_RESULT(_scardssp,7,*pIndex) -} - -const ExtendedProxyFileInfo scardssp_ProxyFileInfo = { - (PCInterfaceProxyVtblList *) & _scardssp_ProxyVtblList,(PCInterfaceStubVtblList *) & _scardssp_StubVtblList,(const PCInterfaceName *) & _scardssp_InterfaceNamesList,(const IID **) & _scardssp_BaseIIDList,& _scardssp_IID_Lookup,7,2,0,0,0,0 -}; diff --git a/lib/libc/include/any-windows-any/semaphore.h b/lib/libc/include/any-windows-any/semaphore.h index 50630ea5e4b4..9a6c211a93ae 100644 --- a/lib/libc/include/any-windows-any/semaphore.h +++ b/lib/libc/include/any-windows-any/semaphore.h @@ -23,15 +23,13 @@ #ifndef WIN_PTHREADS_SEMAPHORE_H #define WIN_PTHREADS_SEMAPHORE_H +#include #include "pthread_compat.h" #ifdef __cplusplus extern "C" { #endif -/* Set this to 0 to disable it */ -#define USE_SEM_CriticalSection_SpinCount 100 - #define SEM_VALUE_MAX INT_MAX typedef void *sem_t; @@ -46,7 +44,16 @@ WINPTHREAD_API int sem_trywait(sem_t *sem); WINPTHREAD_API int sem_wait(sem_t *sem); -WINPTHREAD_API int sem_timedwait(sem_t * sem, const struct timespec *t); +WINPTHREAD_API int sem_timedwait32(sem_t * sem, const struct _timespec32 *t); +WINPTHREAD_API int sem_timedwait64(sem_t * sem, const struct _timespec64 *t); +WINPTHREAD_SEM_DECL int sem_timedwait(sem_t * sem, const struct timespec *t) +{ +#if WINPTHREADS_TIME_BITS == 32 + return sem_timedwait32 (sem, (const struct _timespec32 *) t); +#else + return sem_timedwait64 (sem, (const struct _timespec64 *) t); +#endif +} WINPTHREAD_API int sem_post(sem_t *sem); diff --git a/lib/libc/include/any-windows-any/sensorsapi.h b/lib/libc/include/any-windows-any/sensorsapi.h index fa9055105143..c173dd49e2be 100644 --- a/lib/libc/include/any-windows-any/sensorsapi.h +++ b/lib/libc/include/any-windows-any/sensorsapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/sensorsapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/sensorsapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/servprov.h b/lib/libc/include/any-windows-any/servprov.h index b1a311cefad0..11d7aa20c0cd 100644 --- a/lib/libc/include/any-windows-any/servprov.h +++ b/lib/libc/include/any-windows-any/servprov.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/servprov.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/servprov.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/setjmp.h b/lib/libc/include/any-windows-any/setjmp.h index 2dc7d8739e3a..74e7c7ea4a37 100644 --- a/lib/libc/include/any-windows-any/setjmp.h +++ b/lib/libc/include/any-windows-any/setjmp.h @@ -224,21 +224,21 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp (void); #ifndef _INC_SETJMPEX # if defined(_X86_) || defined(__i386__) # define setjmp(BUF) _setjmp3((BUF), NULL) -# elif ((defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__)) && (!defined(__SEH__) || !__has_builtin(__builtin_sponentry) || defined(__USE_MINGW_SETJMP_NON_SEH))) -# define setjmp(BUF) __mingw_setjmp((BUF)) -# define longjmp __mingw_longjmp - int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) __mingw_setjmp(jmp_buf _Buf); - __MINGW_ATTRIB_NORETURN __attribute__ ((__nothrow__)) void __mingw_longjmp(jmp_buf _Buf,int _Value); -# elif defined(__SEH__) && !defined(__USE_MINGW_SETJMP_NON_SEH) -# if defined(__aarch64__) || defined(_ARM64_) || defined(__arm__) || defined(_ARM_) -# define setjmp(BUF) _setjmp((BUF), __builtin_sponentry()) -# elif (__MINGW_GCC_VERSION < 40702) && !defined(__clang__) -# define setjmp(BUF) _setjmp((BUF), mingw_getsp()) +# elif !defined(__SEH__) || defined(__USE_MINGW_SETJMP_NON_SEH) +# if defined(__arm__) || defined(__aarch64__) +# define setjmp(BUF) __mingw_setjmp((BUF)) +# define longjmp __mingw_longjmp + int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) __mingw_setjmp(jmp_buf _Buf); + __MINGW_ATTRIB_NORETURN __attribute__ ((__nothrow__)) void __mingw_longjmp(jmp_buf _Buf,int _Value); # else -# define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0)) +# define setjmp(BUF) _setjmp((BUF), NULL) # endif +# elif __has_builtin(__builtin_sponentry) +# define setjmp(BUF) _setjmp((BUF), __builtin_sponentry()) +# elif (__MINGW_GCC_VERSION < 40702) && !defined(__clang__) +# define setjmp(BUF) _setjmp((BUF), mingw_getsp()) # else -# define setjmp(BUF) _setjmp((BUF), NULL) +# define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0)) # endif int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx); int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp3(jmp_buf _Buf, void *_Ctx); diff --git a/lib/libc/include/any-windows-any/shldisp.h b/lib/libc/include/any-windows-any/shldisp.h index d8c9e29e5614..f0afd65c54e0 100644 --- a/lib/libc/include/any-windows-any/shldisp.h +++ b/lib/libc/include/any-windows-any/shldisp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/shldisp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/shldisp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/shlobj.h b/lib/libc/include/any-windows-any/shlobj.h index c775f50b5c80..4b0811b36d38 100644 --- a/lib/libc/include/any-windows-any/shlobj.h +++ b/lib/libc/include/any-windows-any/shlobj.h @@ -33,7 +33,7 @@ typedef enum { SHGFP_TYPE_CURRENT = 0, - SHGFP_TYPE_DEFAULT = 1, + SHGFP_TYPE_DEFAULT = 1 } SHGFP_TYPE; SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath); @@ -1108,7 +1108,7 @@ extern "C" { STDMETHOD(GetBandInfoSFB) (THIS_ PBANDINFOSFB pbi) PURE; }; enum { - SFBID_PIDLCHANGED, + SFBID_PIDLCHANGED }; #undef INTERFACE @@ -1550,7 +1550,7 @@ extern "C" { DROPIMAGE_LINK = DROPEFFECT_LINK, DROPIMAGE_LABEL = 6, DROPIMAGE_WARNING = 7, - DROPIMAGE_NOIMAGE = 8, + DROPIMAGE_NOIMAGE = 8 } DROPIMAGETYPE; typedef struct { @@ -2747,7 +2747,7 @@ DECLARE_INTERFACE_IID_ (INamedPropertyBag, IUnknown, "FB700430-952C-11d1-946F-00 IESHORTCUT_NEWBROWSER = 0x01, IESHORTCUT_OPENNEWTAB = 0x02, IESHORTCUT_FORCENAVIGATE = 0x04, - IESHORTCUT_BACKGROUNDTAB = 0x08, + IESHORTCUT_BACKGROUNDTAB = 0x08 } IESHORTCUTFLAGS; #endif diff --git a/lib/libc/include/any-windows-any/shobjidl.h b/lib/libc/include/any-windows-any/shobjidl.h index bb5d9a2febaa..e6ead3ac0185 100644 --- a/lib/libc/include/any-windows-any/shobjidl.h +++ b/lib/libc/include/any-windows-any/shobjidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/shobjidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/shobjidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/shtypes.h b/lib/libc/include/any-windows-any/shtypes.h index c62de4426084..e87fe79b18f9 100644 --- a/lib/libc/include/any-windows-any/shtypes.h +++ b/lib/libc/include/any-windows-any/shtypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/shtypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/shtypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/spatialaudioclient.h b/lib/libc/include/any-windows-any/spatialaudioclient.h index 05c8e5e985ff..0eb9fd3d471a 100644 --- a/lib/libc/include/any-windows-any/spatialaudioclient.h +++ b/lib/libc/include/any-windows-any/spatialaudioclient.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/spatialaudioclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/spatialaudioclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/spellcheck.h b/lib/libc/include/any-windows-any/spellcheck.h index 49a1106c1cf9..0d9d36d4b56f 100644 --- a/lib/libc/include/any-windows-any/spellcheck.h +++ b/lib/libc/include/any-windows-any/spellcheck.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/spellcheck.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/spellcheck.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/sql.h b/lib/libc/include/any-windows-any/sql.h index 0a4f67b7f679..bdfd6b751092 100644 --- a/lib/libc/include/any-windows-any/sql.h +++ b/lib/libc/include/any-windows-any/sql.h @@ -7,7 +7,7 @@ #define __SQL #ifndef ODBCVER -#define ODBCVER 0x0351 +#define ODBCVER 0x0380 #endif #include diff --git a/lib/libc/include/any-windows-any/sqlext.h b/lib/libc/include/any-windows-any/sqlext.h index 419caad997a6..53f7ad22a23e 100644 --- a/lib/libc/include/any-windows-any/sqlext.h +++ b/lib/libc/include/any-windows-any/sqlext.h @@ -13,10 +13,12 @@ extern "C" { #endif #define SQL_SPEC_MAJOR 3 -#define SQL_SPEC_MINOR 52 -#define SQL_SPEC_STRING "03.52" +#define SQL_SPEC_MINOR 80 +#define SQL_SPEC_STRING "03.80" #define SQL_SQLSTATE_SIZE 5 +typedef SQLTCHAR SQLSTATE[SQL_SQLSTATE_SIZE + 1]; + #define SQL_MAX_DSN_LENGTH 32 #define SQL_MAX_OPTION_STRING_LENGTH 256 @@ -35,6 +37,7 @@ extern "C" { #define SQL_ATTR_ODBC_VERSION 200 #define SQL_ATTR_CONNECTION_POOLING 201 #define SQL_ATTR_CP_MATCH 202 +#define SQL_ATTR_APPLICATION_KEY 203 #endif #if (ODBCVER >= 0x0300) @@ -42,6 +45,7 @@ extern "C" { #define SQL_CP_OFF __MSABI_LONG(0U) #define SQL_CP_ONE_PER_DRIVER __MSABI_LONG(1U) #define SQL_CP_ONE_PER_HENV __MSABI_LONG(2U) +#define SQL_CP_DRIVER_AWARE __MSABI_LONG(3U) #define SQL_CP_DEFAULT SQL_CP_OFF #define SQL_CP_STRICT_MATCH __MSABI_LONG(0U) @@ -52,6 +56,10 @@ extern "C" { #define SQL_OV_ODBC3 __MSABI_LONG(3U) #endif +#if (ODBCVER >= 0x0380) +#define SQL_OV_ODBC3_80 __MSABI_LONG(380U) +#endif + #define SQL_ACCESS_MODE 101 #define SQL_AUTOCOMMIT 102 #define SQL_LOGIN_TIMEOUT 103 @@ -91,6 +99,15 @@ extern "C" { #define SQL_ATTR_ANSI_APP 115 #endif +#if (ODBCVER >= 0x0380) +#define SQL_ATTR_RESET_CONNECTION 116 +#define SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE 117 +#endif + +#if (ODBCVER >= 0x0380) +#define SQL_ATTR_ASYNC_DBC_EVENT 119 +#endif + #if (ODBCVER < 0x0300) #define SQL_CONNECT_OPT_DRVR_START 1000 #endif @@ -136,6 +153,16 @@ extern "C" { #define SQL_AA_FALSE __MSABI_LONG(0) #endif +#if (ODBCVER >= 0x0380) +#define SQL_RESET_CONNECTION_YES __MSABI_LONG(1U) +#endif + +#if (ODBCVER >= 0x0380) +#define SQL_ASYNC_DBC_ENABLE_ON __MSABI_LONG(1U) +#define SQL_ASYNC_DBC_ENABLE_OFF __MSABI_LONG(0U) +#define SQL_ASYNC_DBC_ENABLE_DEFAULT SQL_ASYNC_DBC_ENABLE_OFF +#endif + #define SQL_QUERY_TIMEOUT 0 #define SQL_MAX_ROWS 1 #define SQL_NOSCAN 2 @@ -181,6 +208,10 @@ extern "C" { #define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS #endif +#if (ODBCVER >= 0x0380) +#define SQL_ATTR_ASYNC_STMT_EVENT 29 +#endif + #if (ODBCVER < 0x0300) #define SQL_STMT_OPT_MAX SQL_ROW_NUMBER #define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT @@ -439,6 +470,19 @@ extern "C" { #define SQL_TYPE_MAX SQL_VARCHAR #endif +#if (ODBCVER >= 0x380) +#define SQL_DRIVER_C_TYPE_BASE 0x4000 +#endif + +#if (ODBCVER >= 0x380) +#define SQL_DRIVER_SQL_TYPE_BASE 0x4000 +#define SQL_DRIVER_DESC_FIELD_BASE 0x4000 +#define SQL_DRIVER_DIAG_FIELD_BASE 0x4000 +#define SQL_DRIVER_INFO_TYPE_BASE 0x4000 +#define SQL_DRIVER_CONN_ATTR_BASE 0x00004000 +#define SQL_DRIVER_STMT_ATTR_BASE 0x00004000 +#endif + #if (ODBCVER >= 0x0300) #define SQL_C_VARBOOKMARK SQL_C_BINARY #endif @@ -513,6 +557,7 @@ extern "C" { #define SQL_API_SQLDESCRIBEPARAM 58 #define SQL_API_SQLDRIVERCONNECT 41 #define SQL_API_SQLDRIVERS 71 +#define SQL_API_SQLPRIVATEDRIVERS 79 #define SQL_API_SQLEXTENDEDFETCH 59 #define SQL_API_SQLFOREIGNKEYS 60 #define SQL_API_SQLMORERESULTS 61 @@ -705,8 +750,21 @@ extern "C" { #define SQL_INSERT_STATEMENT 172 #define SQL_CONVERT_GUID 173 #define SQL_UNION_STATEMENT SQL_UNION + +#if (ODBCVER >= 0x0380) +#define SQL_ASYNC_DBC_FUNCTIONS 10023 +#endif + +#define SQL_DRIVER_AWARE_POOLING_SUPPORTED 10024 + +#if (ODBCVER >= 0x0380) +#define SQL_ASYNC_NOTIFICATION 10025 +#define SQL_ASYNC_NOTIFICATION_NOT_CAPABLE __MSABI_LONG(0x00000000) +#define SQL_ASYNC_NOTIFICATION_CAPABLE __MSABI_LONG(0x00000001) #endif +#endif /* ODBCVER >= 0x0300 */ + #define SQL_DTC_TRANSITION_COST 1750 #if (ODBCVER >= 0x0300) @@ -968,6 +1026,9 @@ extern "C" { #define SQL_GD_BLOCK __MSABI_LONG(0x00000004) #define SQL_GD_BOUND __MSABI_LONG(0x00000008) +#if (ODBCVER >= 0x0380) +#define SQL_GD_OUTPUT_PARAMS __MSABI_LONG(0x00000010) +#endif #define SQL_PS_POSITIONED_DELETE __MSABI_LONG(0x00000001) #define SQL_PS_POSITIONED_UPDATE __MSABI_LONG(0x00000002) @@ -1302,11 +1363,19 @@ extern "C" { #define SQL_US_UNION SQL_U_UNION #define SQL_US_UNION_ALL SQL_U_UNION_ALL + +#define SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE __MSABI_LONG(0x00000000) +#define SQL_DRIVER_AWARE_POOLING_CAPABLE __MSABI_LONG(0x00000001) #endif #define SQL_DTC_ENLIST_EXPENSIVE __MSABI_LONG(0x00000001) #define SQL_DTC_UNENLIST_EXPENSIVE __MSABI_LONG(0x00000002) +#if (ODBCVER >= 0x0380) +#define SQL_ASYNC_DBC_NOT_CAPABLE __MSABI_LONG(0x00000000) +#define SQL_ASYNC_DBC_CAPABLE __MSABI_LONG(0x00000001) +#endif + #if (ODBCVER >= 0x0300) #define SQL_FETCH_FIRST_USER 31 #define SQL_FETCH_FIRST_SYSTEM 32 @@ -1412,6 +1481,10 @@ extern "C" { #define SQL_RESULT_COL 3 #define SQL_PARAM_OUTPUT 4 #define SQL_RETURN_VALUE 5 +#if (ODBCVER >= 0x0380) +#define SQL_PARAM_INPUT_OUTPUT_STREAM 8 +#define SQL_PARAM_OUTPUT_STREAM 16 +#endif #define SQL_PT_UNKNOWN 0 #define SQL_PT_PROCEDURE 1 diff --git a/lib/libc/include/any-windows-any/sqltypes.h b/lib/libc/include/any-windows-any/sqltypes.h index 809b11fd9c52..f66c7ceeadf0 100644 --- a/lib/libc/include/any-windows-any/sqltypes.h +++ b/lib/libc/include/any-windows-any/sqltypes.h @@ -7,7 +7,7 @@ #define __SQLTYPES #ifndef ODBCVER -#define ODBCVER 0x0351 +#define ODBCVER 0x0380 #endif #ifdef __cplusplus diff --git a/lib/libc/include/any-windows-any/stdio.h b/lib/libc/include/any-windows-any/stdio.h index 7e0d3d9175f0..91d617fc0fb2 100644 --- a/lib/libc/include/any-windows-any/stdio.h +++ b/lib/libc/include/any-windows-any/stdio.h @@ -206,32 +206,62 @@ extern extern __MINGW_MS_SCANF(2, 3) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...); + int __cdecl __ms_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(sscanf); +extern + __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vsscanf(const char * __restrict__ _Str,const char * __restrict__ _Format,va_list argp) + __MINGW_ASM_CALL(vsscanf); extern __MINGW_MS_SCANF(1, 2) __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_scanf(const char * __restrict__ _Format,...); + int __cdecl __ms_scanf(const char * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(scanf); +extern + __MINGW_MS_SCANF(1, 0) __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_vscanf(const char * __restrict__ _Format,va_list argp) + __MINGW_ASM_CALL(vscanf); extern __MINGW_MS_SCANF(2, 3) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...); + int __cdecl __ms_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(fscanf); +extern + __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vfscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,va_list argp) + __MINGW_ASM_CALL(vfscanf); extern __MINGW_MS_PRINTF(1, 2) __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_printf(const char * __restrict__ , ... ) __MINGW_NOTHROW; + int __cdecl __ms_printf(const char * __restrict__ , ... ) + __MINGW_UCRT_ASM_CALL(printf) __MINGW_NOTHROW; extern __MINGW_MS_PRINTF(1, 0) __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_vprintf (const char * __restrict__ , va_list) __MINGW_NOTHROW; + int __cdecl __ms_vprintf (const char * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vprintf) __MINGW_NOTHROW; extern __MINGW_MS_PRINTF(2, 3) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW; + int __cdecl __ms_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(fprintf) __MINGW_NOTHROW; extern __MINGW_MS_PRINTF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __MINGW_NOTHROW; + int __cdecl __ms_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vfprintf) __MINGW_NOTHROW +; extern __MINGW_MS_PRINTF(2, 3) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_sprintf (char * __restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW; + int __cdecl __ms_sprintf (char * __restrict__ , const char * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(sprintf) __MINGW_NOTHROW; extern __MINGW_MS_PRINTF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __MINGW_NOTHROW; + int __cdecl __ms_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vsprintf) __MINGW_NOTHROW; +extern + __MINGW_MS_PRINTF(3, 4) __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_snprintf (char * __restrict__ , size_t , const char * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(snprintf) __MINGW_NOTHROW; +extern + __MINGW_MS_PRINTF(3, 0) __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_vsnprintf (char * __restrict__ , size_t , const char * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vsnprintf) __MINGW_NOTHROW; #ifdef _UCRT int __cdecl __stdio_common_vsprintf(unsigned __int64 options, char *str, size_t len, const char *format, _locale_t locale, va_list valist); @@ -487,24 +517,12 @@ int vsnprintf (char *__stream, size_t __n, const char *__format, __builtin_va_li #pragma GCC diagnostic ignored "-Wshadow" #endif - __MINGW_MS_SCANF(1, 0) __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_vscanf(const char * __restrict__ Format, va_list argp); - __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp); __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp); - - __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int vfscanf (FILE *__stream, const char *__format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vfscanf); - + int vfscanf (FILE *__stream, const char *__format, __builtin_va_list __local_argv); __MINGW_MS_SCANF(2, 0) __MINGW_ATTRIB_NONNULL(2) - int vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vsscanf); - + int vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv); __MINGW_MS_SCANF(1, 0) __MINGW_ATTRIB_NONNULL(1) - int vscanf(const char *__format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vscanf); + int vscanf(const char *__format, __builtin_va_list __local_argv); #ifdef __GNUC__ #pragma GCC diagnostic pop @@ -794,10 +812,6 @@ char * tmpnam(char * __dst) #pragma GCC diagnostic ignored "-Wshadow" #endif - __MINGW_MS_PRINTF(3, 0) __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_vsnprintf(char * __restrict__ d,size_t n,const char * __restrict__ format,va_list arg) - __MINGW_ATTRIB_DEPRECATED_MSVC2005 __MINGW_ATTRIB_DEPRECATED_SEC_WARN; - __mingw_bos_ovr __MINGW_MS_PRINTF(3, 0) __MINGW_ATTRIB_NONNULL(3) int vsnprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, va_list __local_argv) @@ -810,9 +824,6 @@ char * tmpnam(char * __dst) return __ms_vsnprintf (__stream, __n, __format, __local_argv); } - __MINGW_MS_PRINTF(3, 4) __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...); - #ifndef __NO_ISOCEXT #if __MINGW_FORTIFY_VA_ARG @@ -928,24 +939,49 @@ int vsprintf (char * __restrict__ __stream, const char * __restrict__ __format, int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(swscanf); +/* __attribute__((__format__ (ms_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vswscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,va_list) + __MINGW_ASM_CALL(vswscanf); /* __attribute__((__format__ (ms_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(wscanf); +/* __attribute__((__format__ (ms_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_vwscanf(const wchar_t * __restrict__ _Format, va_list) + __MINGW_ASM_CALL(vwscanf); /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(fwscanf); +/* __attribute__((__format__ (ms_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vfwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list) + __MINGW_ASM_CALL(vfwscanf); /* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) int __cdecl __ms_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + /* No __MINGW_UCRT_ASM_CALL for __ms_fwprintf; this is provided as an + * actual function in the ucrt import libraries. */ /* __attribute__((__format__ (ms_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(wprintf); /* __attribute__((__format__ (ms_wprintf, 2, 0))) */__MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList) + __MINGW_UCRT_ASM_CALL(vfwprintf); /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList) + __MINGW_UCRT_ASM_CALL(vwprintf); +/* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(swprintf); +/* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list) + __MINGW_UCRT_ASM_CALL(vswprintf); /* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); + int __cdecl __ms_snwprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(snwprintf); /* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); + int __cdecl __ms_vsnwprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vsnwprintf); #ifdef _UCRT int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); @@ -1062,98 +1098,38 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti #else /* !__USE_MINGW_ANSI_STDIO */ #ifdef _UCRT - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl wscanf(const wchar_t * __restrict__ _Format,...); __MINGW_ATTRIB_NONNULL(2) - int vfwscanf (FILE *__stream, const wchar_t *__format, va_list __local_argv) - { - return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv); - } + int vfwscanf (FILE *__stream, const wchar_t *__format, va_list __local_argv); - __mingw_ovr __MINGW_ATTRIB_NONNULL(2) - int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, va_list __local_argv) - { - return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __source, (size_t)-1, __format, NULL, __local_argv); - } - __mingw_ovr + int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, va_list __local_argv); __MINGW_ATTRIB_NONNULL(1) - int vwscanf(const wchar_t *__format, va_list __local_argv) - { - return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv); - } + int vwscanf(const wchar_t *__format, va_list __local_argv); int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); - __mingw_ovr - int __cdecl wprintf(const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr - int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList) - { - return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, _ArgList); - } - __mingw_ovr - int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList) - { - return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); - } + int __cdecl wprintf(const wchar_t * __restrict__ _Format,...); + int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); #else int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ - int __cdecl __ms_vwscanf (const wchar_t * __restrict__ , va_list); - int __cdecl __ms_vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list); - int __cdecl __ms_vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list); - __MINGW_ATTRIB_NONNULL(2) - int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vfwscanf); + int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv); __MINGW_ATTRIB_NONNULL(2) - int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vswscanf); + int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv); __MINGW_ATTRIB_NONNULL(1) - int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) - __MINGW_ASM_CALL(__ms_vwscanf); + int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv); #endif /* __NO_ISOCEXT */ @@ -1203,59 +1179,11 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; #if __USE_MINGW_ANSI_STDIO == 0 - __mingw_ovr - int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - /* - * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and - * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is - * executed in "standard snprintf behavior" and returns number of (wide) - * chars required to allocate. For all other cases it is executed in a way - * that returns negative value on error. But C95+ compliant swprintf() for - * case _Count == 0 returns negative value, so handle this case specially. - */ - if (_Dest == NULL && _Count == 0) - return -1; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret < 0 ? -1 : __ret; - } - __mingw_ovr - int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) - { - int __ret; - /* - * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and - * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is - * executed in "standard snprintf behavior" and returns number of (wide) - * chars required to allocate. For all other cases it is executed in a way - * that returns negative value on error. But C95+ compliant vswprintf() for - * case _Count == 0 returns negative value, so handle this case specially. - */ - if (_Dest == NULL && _Count == 0) - return -1; - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, _Args); - return __ret < 0 ? -1 : __ret; - } + int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...); + int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args); - __mingw_ovr - int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, format); - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr - int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) - { - return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, arg); - } + int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); + int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg); #endif __mingw_ovr @@ -1291,8 +1219,6 @@ int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builti #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ #if __USE_MINGW_ANSI_STDIO == 0 - int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); - int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) __MINGW_ASM_CALL(__ms_snwprintf); int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) __MINGW_ASM_CALL(__ms_vsnwprintf); #endif diff --git a/lib/libc/include/any-windows-any/stdlib.h b/lib/libc/include/any-windows-any/stdlib.h index d43fa33b7f2c..482971357cfe 100644 --- a/lib/libc/include/any-windows-any/stdlib.h +++ b/lib/libc/include/any-windows-any/stdlib.h @@ -458,12 +458,10 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re _CRTIMP void *__cdecl _aligned_offset_malloc(size_t _Size,size_t _Alignment,size_t _Offset); _CRTIMP void *__cdecl _aligned_realloc(void *_Memory,size_t _Size,size_t _Alignment); _CRTIMP void *__cdecl _aligned_offset_realloc(void *_Memory,size_t _Size,size_t _Alignment,size_t _Offset); -# if __MSVCRT_VERSION__ >= 0x900 _CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size); _CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment); _CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset); _CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset); -# endif #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) #pragma pop_macro("calloc") diff --git a/lib/libc/include/any-windows-any/strmif.h b/lib/libc/include/any-windows-any/strmif.h index 6c8658afe8d8..16e6d17408a0 100644 --- a/lib/libc/include/any-windows-any/strmif.h +++ b/lib/libc/include/any-windows-any/strmif.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/strmif.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/strmif.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/structuredquerycondition.h b/lib/libc/include/any-windows-any/structuredquerycondition.h index abb285e15701..d253110575ef 100644 --- a/lib/libc/include/any-windows-any/structuredquerycondition.h +++ b/lib/libc/include/any-windows-any/structuredquerycondition.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/structuredquerycondition.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/structuredquerycondition.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/sys/stat.h b/lib/libc/include/any-windows-any/sys/stat.h index 5a85c2c483b5..5d2e6dfaf031 100644 --- a/lib/libc/include/any-windows-any/sys/stat.h +++ b/lib/libc/include/any-windows-any/sys/stat.h @@ -70,67 +70,21 @@ extern "C" { _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat); _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat); _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat); - int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); -#ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat) - { - struct _stat64 st; - int __ret=_fstat64(_FileDes,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; - } -#endif /* __CRT__NO_INLINE */ + _CRTIMP int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat); _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat); - int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); -#ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) - { - struct _stat64 st; - int __ret=_stat64(_Name,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; - } -#endif /* __CRT__NO_INLINE */ + _CRTIMP int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); #ifndef _WSTAT_DEFINED #define _WSTAT_DEFINED _CRTIMP int __cdecl _wstat32(const wchar_t *_Name,struct _stat32 *_Stat); _CRTIMP int __cdecl _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat); - int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); + _CRTIMP int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat); #endif #ifndef NO_OLDNAMES -#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ +#define _S_IFBLK 0x6000 /* Block: Is this ever set under w32? */ #define S_IFMT _S_IFMT #define S_IFDIR _S_IFDIR @@ -170,115 +124,69 @@ extern "C" { #endif -#if !defined (RC_INVOKED) && !defined (NO_OLDNAMES) -int __cdecl fstat(int _Desc,struct stat *_Stat); -#ifdef _UCRT - __mingw_ovr int __cdecl stat(const char *_Filename,struct stat *_Stat) - { - return _stat(_Filename, (struct _stat *)_Stat); - } - __mingw_ovr int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat) - { - return _wstat(_Filename, (struct _stat *)_Stat); - } -#else -int __cdecl stat(const char *_Filename,struct stat *_Stat); -int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat); -#endif +#if !defined(NO_OLDNAMES) || defined(_POSIX) -#ifndef __CRT__NO_INLINE +/* + * When building mingw-w64 CRT files it is required that the fstat, stat and + * wstat functions are not declared with __MINGW_ASM_CALL redirection. + * Otherwise the mingw-w64 would provide broken fstat, stat and wstat symbols. + * To prevent ABI issues, the mingw-w64 runtime should not call the fstat, + * stat and wstat functions, instead it should call the fixed-size variants. + */ +#ifndef _CRTBLD +struct stat { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + off_t st_size; /* off_t follows _FILE_OFFSET_BITS */ + time_t st_atime; /* time_t follows _USE_32BIT_TIME_T */ + time_t st_mtime; + time_t st_ctime; +}; +#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) #ifdef _USE_32BIT_TIME_T -__CRT_INLINE int __cdecl - fstat(int _Desc,struct stat *_Stat) { - struct _stat32 st; - int __ret=_fstat32(_Desc,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat32 - are the same for this case. */ - memcpy(_Stat, &st, sizeof(struct _stat32)); - return __ret; -} -/* Disable it for making sure trailing slash issue is fixed. */ -#if 0 -__CRT_INLINE int __cdecl - stat(const char *_Filename,struct stat *_Stat) { - struct _stat32 st; - int __ret=_stat32(_Filename,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat32 - are the same for this case. */ - memcpy(_Stat, &st, sizeof(struct _stat32)); - return __ret; -} -#endif +int __cdecl fstat(int _Desc, struct stat *_Stat) __MINGW_ASM_CALL(_fstat32i64); +int __cdecl stat(const char *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(stat32i64); +int __cdecl wstat(const wchar_t *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(wstat32i64); #else -__CRT_INLINE int __cdecl - fstat(int _Desc,struct stat *_Stat) { - struct _stat64 st; - int __ret=_fstat64(_Desc,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat64i32 - are the same for this case. */ - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; -} -/* Disable it for making sure trailing slash issue is fixed. */ -#if 0 -__CRT_INLINE int __cdecl - stat(const char *_Filename,struct stat *_Stat) { - struct _stat64 st; - int __ret=_stat64(_Filename,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat64i32 - are the same for this case. */ - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; -} +int __cdecl fstat(int _Desc, struct stat *_Stat) __MINGW_ASM_CALL(_fstat64); +int __cdecl stat(const char *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(stat64); +int __cdecl wstat(const wchar_t *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(wstat64); #endif -#endif /* _USE_32BIT_TIME_T */ -#endif /* __CRT__NO_INLINE */ -#endif /* !RC_INVOKED && !NO_OLDNAMES */ - -#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) +#else #ifdef _USE_32BIT_TIME_T -#define stat _stat32i64 -#define fstat _fstat32i64 +int __cdecl fstat(int _Desc, struct stat *_Stat) __MINGW_ASM_CALL(_fstat32); +int __cdecl stat(const char *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(stat32); +int __cdecl wstat(const wchar_t *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(wstat32); #else -#define stat _stat64 -#define fstat _fstat64 -#endif +int __cdecl fstat(int _Desc, struct stat *_Stat) __MINGW_ASM_CALL(_fstat64i32); +int __cdecl stat(const char *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(stat64i32); +int __cdecl wstat(const wchar_t *_Filename, struct stat *_Stat) __MINGW_ASM_CALL(wstat64i32); +#endif +#endif +#endif + +struct stat64 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __MINGW_EXTENSION __int64 st_size; + __time64_t st_atime; + __time64_t st_mtime; + __time64_t st_ctime; +}; +int __cdecl fstat64(int _Desc, struct stat64 *_Stat); +int __cdecl stat64(const char *_Filename, struct stat64 *_Stat); +int __cdecl wstat64(const wchar_t *_Filename, struct stat64 *_Stat); + #endif #ifdef __cplusplus diff --git a/lib/libc/include/any-windows-any/sysinfoapi.h b/lib/libc/include/any-windows-any/sysinfoapi.h index dfacf62963ea..ef4537f060d0 100644 --- a/lib/libc/include/any-windows-any/sysinfoapi.h +++ b/lib/libc/include/any-windows-any/sysinfoapi.h @@ -41,8 +41,18 @@ extern "C" { #if _WIN32_WINNT >= 0x0600 WINBASEAPI ULONGLONG WINAPI GetTickCount64 (VOID); #endif + +#define USER_CET_ENVIRONMENT_WIN32_PROCESS 0x00000000 +#define USER_CET_ENVIRONMENT_SGX2_ENCLAVE 0x00000002 +#define USER_CET_ENVIRONMENT_VBS_ENCLAVE 0x00000010 +#define USER_CET_ENVIRONMENT_VBS_BASIC_ENCLAVE 0x00000011 + +#if (NTDDI_VERSION >= NTDDI_WIN10_VB) + WINBASEAPI WINBOOL WINAPI IsUserCetAvailableInEnvironment(DWORD UserCetEnvironment); #endif +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ + #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 typedef struct _MEMORYSTATUSEX { diff --git a/lib/libc/include/any-windows-any/systemmediatransportcontrolsinterop.h b/lib/libc/include/any-windows-any/systemmediatransportcontrolsinterop.h index 71f031c2a7f4..a6972303f0b3 100644 --- a/lib/libc/include/any-windows-any/systemmediatransportcontrolsinterop.h +++ b/lib/libc/include/any-windows-any/systemmediatransportcontrolsinterop.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/systemmediatransportcontrolsinterop.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/taskschd.h b/lib/libc/include/any-windows-any/taskschd.h index 801080b9a92b..fbabd1f6acc4 100644 --- a/lib/libc/include/any-windows-any/taskschd.h +++ b/lib/libc/include/any-windows-any/taskschd.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/taskschd.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/taskschd.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tchar.h b/lib/libc/include/any-windows-any/tchar.h index 42d6b1ae353c..356d8ee524b5 100644 --- a/lib/libc/include/any-windows-any/tchar.h +++ b/lib/libc/include/any-windows-any/tchar.h @@ -473,9 +473,7 @@ extern "C" { #define _istxdigit iswxdigit #define _istxdigit_l _iswxdigit_l #define _istblank iswblank -#if __MSVCRT_VERSION__ >= 0xC00 #define _istblank_l _iswblank_l -#endif /* msvcr120 */ #define _totupper towupper #define _totupper_l _towupper_l @@ -1005,9 +1003,7 @@ extern "C" { #define _istupper _ismbcupper #define _istupper_l _ismbcupper_l #define _istblank _ismbcblank -#if __MSVCRT_VERSION__ >= 0xC00 #define _istblank_l _ismbcblank_l -#endif /* msvcr120 */ #define _totupper _mbctoupper #define _totupper_l _mbctoupper_l @@ -1146,9 +1142,7 @@ extern "C" { #define _istupper isupper #define _istupper_l _isupper_l #define _istblank isblank -#if __MSVCRT_VERSION__ >= 0xC00 #define _istblank_l _isblank_l -#endif /* msvcr120 */ #define _totupper toupper #define _totupper_l _toupper_l diff --git a/lib/libc/include/any-windows-any/textstor.h b/lib/libc/include/any-windows-any/textstor.h index fff21396f824..7c1a23241f1a 100644 --- a/lib/libc/include/any-windows-any/textstor.h +++ b/lib/libc/include/any-windows-any/textstor.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/textstor.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/textstor.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/thumbcache.h b/lib/libc/include/any-windows-any/thumbcache.h index 6bf6c4656318..b36d0cafc73f 100644 --- a/lib/libc/include/any-windows-any/thumbcache.h +++ b/lib/libc/include/any-windows-any/thumbcache.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/thumbcache.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/thumbcache.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tlbref.h b/lib/libc/include/any-windows-any/tlbref.h index 7d285dc2ced8..0ad1d6a0a316 100644 --- a/lib/libc/include/any-windows-any/tlbref.h +++ b/lib/libc/include/any-windows-any/tlbref.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/tlbref.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/tlbref.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tlogstg.h b/lib/libc/include/any-windows-any/tlogstg.h index 26104fe0446d..c448b0138caa 100644 --- a/lib/libc/include/any-windows-any/tlogstg.h +++ b/lib/libc/include/any-windows-any/tlogstg.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/tlogstg.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/tlogstg.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tpcshrd.h b/lib/libc/include/any-windows-any/tpcshrd.h index b471a77a793e..c82889ef4083 100644 --- a/lib/libc/include/any-windows-any/tpcshrd.h +++ b/lib/libc/include/any-windows-any/tpcshrd.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/tpcshrd.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/tpcshrd.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tsattrs.h b/lib/libc/include/any-windows-any/tsattrs.h index c119cbdfad43..b60d752c4239 100644 --- a/lib/libc/include/any-windows-any/tsattrs.h +++ b/lib/libc/include/any-windows-any/tsattrs.h @@ -1,100 +1,100 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#ifndef _TSATTRS_H_ -#define _TSATTRS_H_ - -DEFINE_GUID(TSATTRID_OTHERS, 0xb3c32af9,0x57d0,0x46a9,0xbc,0xa8,0xda,0xc2,0x38,0xa1,0x30,0x57); - -DEFINE_GUID(TSATTRID_Font, 0x573ea825,0x749b,0x4f8a,0x9c,0xfd,0x21,0xc3,0x60,0x5c,0xa8,0x28); -DEFINE_GUID(TSATTRID_Font_FaceName, 0xb536aeb6,0x053b,0x4eb8,0xb6,0x5a,0x50,0xda,0x1e,0x81,0xe7,0x2e); -DEFINE_GUID(TSATTRID_Font_SizePts, 0xc8493302,0xa5e9,0x456d,0xaf,0x04,0x80,0x05,0xe4,0x13,0x0f,0x03); -DEFINE_GUID(TSATTRID_Font_Style, 0x68b2a77f,0x6b0e,0x4f28,0x81,0x77,0x57,0x1c,0x2f,0x3a,0x42,0xb1); -DEFINE_GUID(TSATTRID_Font_Style_Bold, 0x48813a43,0x8a20,0x4940,0x8e,0x58,0x97,0x82,0x3f,0x7b,0x26,0x8a); -DEFINE_GUID(TSATTRID_Font_Style_Italic, 0x8740682a,0xa765,0x48e1,0xac,0xfc,0xd2,0x22,0x22,0xb2,0xf8,0x10); -DEFINE_GUID(TSATTRID_Font_Style_SmallCaps, 0xfacb6bc6,0x9100,0x4cc6,0xb9,0x69,0x11,0xee,0xa4,0x5a,0x86,0xb4); -DEFINE_GUID(TSATTRID_Font_Style_Capitalize, 0x7d85a3ba,0xb4fd,0x43b3,0xbe,0xfc,0x6b,0x98,0x5c,0x84,0x31,0x41); -DEFINE_GUID(TSATTRID_Font_Style_Uppercase, 0x33a300e8,0xe340,0x4937,0xb6,0x97,0x8f,0x23,0x40,0x45,0xcd,0x9a); -DEFINE_GUID(TSATTRID_Font_Style_Lowercase, 0x76d8ccb5,0xca7b,0x4498,0x8e,0xe9,0xd5,0xc4,0xf6,0xf7,0x4c,0x60); -DEFINE_GUID(TSATTRID_Font_Style_Animation, 0xdcf73d22,0xe029,0x47b7,0xbb,0x36,0xf2,0x63,0xa3,0xd0,0x04,0xcc); -DEFINE_GUID(TSATTRID_Font_Style_Animation_LasVegasLights, 0xf40423d5,0x0f87,0x4f8f,0xba,0xda,0xe6,0xd6,0x0c,0x25,0xe1,0x52); -DEFINE_GUID(TSATTRID_Font_Style_Animation_BlinkingBackground, 0x86e5b104,0x0104,0x4b10,0xb5,0x85,0x00,0xf2,0x52,0x75,0x22,0xb5); -DEFINE_GUID(TSATTRID_Font_Style_Animation_SparkleText, 0x533aad20,0x962c,0x4e9f,0x8c,0x09,0xb4,0x2e,0xa4,0x74,0x97,0x11); -DEFINE_GUID(TSATTRID_Font_Style_Animation_MarchingBlackAnts, 0x7644e067,0xf186,0x4902,0xbf,0xc6,0xec,0x81,0x5a,0xa2,0x0e,0x9d); -DEFINE_GUID(TSATTRID_Font_Style_Animation_MarchingRedAnts, 0x78368dad,0x50fb,0x4c6f,0x84,0x0b,0xd4,0x86,0xbb,0x6c,0xf7,0x81); -DEFINE_GUID(TSATTRID_Font_Style_Animation_Shimmer, 0x2ce31b58,0x5293,0x4c36,0x88,0x09,0xbf,0x8b,0xb5,0x1a,0x27,0xb3); -DEFINE_GUID(TSATTRID_Font_Style_Animation_WipeDown, 0x5872e874,0x367b,0x4803,0xb1,0x60,0xc9,0x0f,0xf6,0x25,0x69,0xd0); -DEFINE_GUID(TSATTRID_Font_Style_Animation_WipeRight, 0xb855cbe3,0x3d2c,0x4600,0xb1,0xe9,0xe1,0xc9,0xce,0x02,0xf8,0x42); -DEFINE_GUID(TSATTRID_Font_Style_Emboss, 0xbd8ed742,0x349e,0x4e37,0x82,0xfb,0x43,0x79,0x79,0xcb,0x53,0xa7); -DEFINE_GUID(TSATTRID_Font_Style_Engrave, 0x9c3371de,0x8332,0x4897,0xbe,0x5d,0x89,0x23,0x32,0x23,0x17,0x9a); -DEFINE_GUID(TSATTRID_Font_Style_Hidden, 0xb1e28770,0x881c,0x475f,0x86,0x3f,0x88,0x7a,0x64,0x7b,0x10,0x90); -DEFINE_GUID(TSATTRID_Font_Style_Kerning, 0xcc26e1b4,0x2f9a,0x47c8,0x8b,0xff,0xbf,0x1e,0xb7,0xcc,0xe0,0xdd); -DEFINE_GUID(TSATTRID_Font_Style_Outlined, 0x10e6db31,0xdb0d,0x4ac6,0xa7,0xf5,0x9c,0x9c,0xff,0x6f,0x2a,0xb4); -DEFINE_GUID(TSATTRID_Font_Style_Position, 0x15cd26ab,0xf2fb,0x4062,0xb5,0xa6,0x9a,0x49,0xe1,0xa5,0xcc,0x0b); -DEFINE_GUID(TSATTRID_Font_Style_Protected, 0x1c557cb2,0x14cf,0x4554,0xa5,0x74,0xec,0xb2,0xf7,0xe7,0xef,0xd4); -DEFINE_GUID(TSATTRID_Font_Style_Shadow, 0x5f686d2f,0xc6cd,0x4c56,0x8a,0x1a,0x99,0x4a,0x4b,0x97,0x66,0xbe); -DEFINE_GUID(TSATTRID_Font_Style_Spacing, 0x98c1200d,0x8f06,0x409a,0x8e,0x49,0x6a,0x55,0x4b,0xf7,0xc1,0x53); -DEFINE_GUID(TSATTRID_Font_Style_Weight, 0x12f3189c,0x8bb0,0x461b,0xb1,0xfa,0xea,0xf9,0x07,0x04,0x7f,0xe0); -DEFINE_GUID(TSATTRID_Font_Style_Height, 0x7e937477,0x12e6,0x458b,0x92,0x6a,0x1f,0xa4,0x4e,0xe8,0xf3,0x91); -DEFINE_GUID(TSATTRID_Font_Style_Underline, 0xc3c9c9f3,0x7902,0x444b,0x9a,0x7b,0x48,0xe7,0x0f,0x4b,0x50,0xf7); -DEFINE_GUID(TSATTRID_Font_Style_Underline_Single, 0x1b6720e5,0x0f73,0x4951,0xa6,0xb3,0x6f,0x19,0xe4,0x3c,0x94,0x61); -DEFINE_GUID(TSATTRID_Font_Style_Underline_Double, 0x74d24aa6,0x1db3,0x4c69,0xa1,0x76,0x31,0x12,0x0e,0x75,0x86,0xd5); -DEFINE_GUID(TSATTRID_Font_Style_Strikethrough, 0x0c562193,0x2d08,0x4668,0x96,0x01,0xce,0xd4,0x13,0x09,0xd7,0xaf); -DEFINE_GUID(TSATTRID_Font_Style_Strikethrough_Single, 0x75d736b6,0x3c8f,0x4b97,0xab,0x78,0x18,0x77,0xcb,0x99,0x0d,0x31); -DEFINE_GUID(TSATTRID_Font_Style_Strikethrough_Double, 0x62489b31,0xa3e7,0x4f94,0xac,0x43,0xeb,0xaf,0x8f,0xcc,0x7a,0x9f); -DEFINE_GUID(TSATTRID_Font_Style_Overline, 0xe3989f4a,0x992b,0x4301,0x8c,0xe1,0xa5,0xb7,0xc6,0xd1,0xf3,0xc8); -DEFINE_GUID(TSATTRID_Font_Style_Overline_Single, 0x8440d94c,0x51ce,0x47b2,0x8d,0x4c,0x15,0x75,0x1e,0x5f,0x72,0x1b); -DEFINE_GUID(TSATTRID_Font_Style_Overline_Double, 0xdc46063a,0xe115,0x46e3,0xbc,0xd8,0xca,0x67,0x72,0xaa,0x95,0xb4); -DEFINE_GUID(TSATTRID_Font_Style_Blink, 0xbfb2c036,0x7acf,0x4532,0xb7,0x20,0xb4,0x16,0xdd,0x77,0x65,0xa8); -DEFINE_GUID(TSATTRID_Font_Style_Subscript, 0x5774fb84,0x389b,0x43bc,0xa7,0x4b,0x15,0x68,0x34,0x7c,0xf0,0xf4); -DEFINE_GUID(TSATTRID_Font_Style_Superscript, 0x2ea4993c,0x563c,0x49aa,0x93,0x72,0x0b,0xef,0x09,0xa9,0x25,0x5b); -DEFINE_GUID(TSATTRID_Font_Style_Color, 0x857a7a37,0xb8af,0x4e9a,0x81,0xb4,0xac,0xf7,0x00,0xc8,0x41,0x1b); -DEFINE_GUID(TSATTRID_Font_Style_BackgroundColor, 0xb50eaa4e,0x3091,0x4468,0x81,0xdb,0xd7,0x9e,0xa1,0x90,0xc7,0xc7); - -DEFINE_GUID(TSATTRID_Text, 0x7edb8e68,0x81f9,0x449d,0xa1,0x5a,0x87,0xa8,0x38,0x8f,0xaa,0xc0); -DEFINE_GUID(TSATTRID_Text_VerticalWriting, 0x6bba8195,0x046f,0x4ea9,0xb3,0x11,0x97,0xfd,0x66,0xc4,0x27,0x4b); -DEFINE_GUID(TSATTRID_Text_RightToLeft, 0xca666e71,0x1b08,0x453d,0xbf,0xdd,0x28,0xe0,0x8c,0x8a,0xaf,0x7a); -DEFINE_GUID(TSATTRID_Text_Orientation, 0x6bab707f,0x8785,0x4c39,0x8b,0x52,0x96,0xf8,0x78,0x30,0x3f,0xfb); -DEFINE_GUID(TSATTRID_Text_Language, 0xd8c04ef1,0x5753,0x4c25,0x88,0x87,0x85,0x44,0x3f,0xe5,0xf8,0x19); -DEFINE_GUID(TSATTRID_Text_ReadOnly, 0x85836617,0xde32,0x4afd,0xa5,0x0f,0xa2,0xdb,0x11,0x0e,0x6e,0x4d); -DEFINE_GUID(TSATTRID_Text_EmbeddedObject, 0x7edb8e68,0x81f9,0x449d,0xa1,0x5a,0x87,0xa8,0x38,0x8f,0xaa,0xc0); -DEFINE_GUID(TSATTRID_Text_Alignment, 0x139941e6,0x1767,0x456d,0x93,0x8e,0x35,0xba,0x56,0x8b,0x5c,0xd4); -DEFINE_GUID(TSATTRID_Text_Alignment_Left, 0x16ae95d3,0x6361,0x43a2,0x84,0x95,0xd0,0x0f,0x39,0x7f,0x16,0x93); -DEFINE_GUID(TSATTRID_Text_Alignment_Right, 0xb36f0f98,0x1b9e,0x4360,0x86,0x16,0x03,0xfb,0x08,0xa7,0x84,0x56); -DEFINE_GUID(TSATTRID_Text_Alignment_Center, 0xa4a95c16,0x53bf,0x4d55,0x8b,0x87,0x4b,0xdd,0x8d,0x42,0x75,0xfc); -DEFINE_GUID(TSATTRID_Text_Alignment_Justify, 0xed350740,0xa0f7,0x42d3,0x8e,0xa8,0xf8,0x1b,0x64,0x88,0xfa,0xf0); -DEFINE_GUID(TSATTRID_Text_Link, 0x47cd9051,0x3722,0x4cd8,0xb7,0xc8,0x4e,0x17,0xca,0x17,0x59,0xf5); -DEFINE_GUID(TSATTRID_Text_Hyphenation, 0xdadf4525,0x618e,0x49eb,0xb1,0xa8,0x3b,0x68,0xbd,0x76,0x48,0xe3); -DEFINE_GUID(TSATTRID_Text_Para, 0x5edc5822,0x99dc,0x4dd6,0xae,0xc3,0xb6,0x2b,0xaa,0x5b,0x2e,0x7c); -DEFINE_GUID(TSATTRID_Text_Para_FirstLineIndent, 0x07c97a13,0x7472,0x4dd8,0x90,0xa9,0x91,0xe3,0xd7,0xe4,0xf2,0x9c); -DEFINE_GUID(TSATTRID_Text_Para_LeftIndent, 0xfb2848e9,0x7471,0x41c9,0xb6,0xb3,0x8a,0x14,0x50,0xe0,0x18,0x97); -DEFINE_GUID(TSATTRID_Text_Para_RightIndent, 0x2c7f26f9,0xa5e2,0x48da,0xb9,0x8a,0x52,0x0c,0xb1,0x65,0x13,0xbf); -DEFINE_GUID(TSATTRID_Text_Para_SpaceAfter, 0x7b0a3f55,0x22dc,0x425f,0xa4,0x11,0x93,0xda,0x1d,0x8f,0x9b,0xaa); -DEFINE_GUID(TSATTRID_Text_Para_SpaceBefore, 0x8df98589,0x194a,0x4601,0xb2,0x51,0x98,0x65,0xa3,0xe9,0x06,0xdd); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing, 0x699b380d,0x7f8c,0x46d6,0xa7,0x3b,0xdf,0xe3,0xd1,0x53,0x8d,0xf3); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Single, 0xed350740,0xa0f7,0x42d3,0x8e,0xa8,0xf8,0x1b,0x64,0x88,0xfa,0xf0); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_OnePtFive, 0x0428a021,0x0397,0x4b57,0x9a,0x17,0x07,0x95,0x99,0x4c,0xd3,0xc5); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Double, 0x82fb1805,0xa6c4,0x4231,0xac,0x12,0x62,0x60,0xaf,0x2a,0xba,0x28); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_AtLeast, 0xadfedf31,0x2d44,0x4434,0xa5,0xff,0x7f,0x4c,0x49,0x90,0xa9,0x05); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Exactly, 0x3d45ad40,0x23de,0x48d7,0xa6,0xb3,0x76,0x54,0x20,0xc6,0x20,0xcc); -DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Multiple, 0x910f1e3c,0xd6d0,0x4f65,0x8a,0x3c,0x42,0xb4,0xb3,0x18,0x68,0xc5); - -DEFINE_GUID(TSATTRID_List, 0x436d673b,0x26f1,0x4aee,0x9e,0x65,0x8f,0x83,0xa4,0xed,0x48,0x84); -DEFINE_GUID(TSATTRID_List_LevelIndel, 0x7f7cc899,0x311f,0x487b,0xad,0x5d,0xe2,0xa4,0x59,0xe1,0x2d,0x42); -DEFINE_GUID(TSATTRID_List_Type, 0xae3e665e,0x4bce,0x49e3,0xa0,0xfe,0x2d,0xb4,0x7d,0x3a,0x17,0xae); -DEFINE_GUID(TSATTRID_List_Type_Bullet, 0xbccd77c5,0x4c4d,0x4ce2,0xb1,0x02,0x55,0x9f,0x3b,0x2b,0xfc,0xea); -DEFINE_GUID(TSATTRID_List_Type_Arabic, 0x1338c5d6,0x98a3,0x4fa3,0x9b,0xd1,0x7a,0x60,0xee,0xf8,0xe9,0xe0); -DEFINE_GUID(TSATTRID_List_Type_LowerLetter, 0x96372285,0xf3cf,0x491e,0xa9,0x25,0x38,0x32,0x34,0x7f,0xd2,0x37); -DEFINE_GUID(TSATTRID_List_Type_UpperLetter, 0x7987b7cd,0xce52,0x428b,0x9b,0x95,0xa3,0x57,0xf6,0xf1,0x0c,0x45); -DEFINE_GUID(TSATTRID_List_Type_LowerRoman, 0x90466262,0x3980,0x4b8e,0x93,0x68,0x91,0x8b,0xd1,0x21,0x8a,0x41); -DEFINE_GUID(TSATTRID_List_Type_UpperRoman, 0x0f6ab552,0x4a80,0x467f,0xb2,0xf1,0x12,0x7e,0x2a,0xa3,0xba,0x9e); - -DEFINE_GUID(TSATTRID_App, 0xa80f77df,0x4237,0x40e5,0x84,0x9c,0xb5,0xfa,0x51,0xc1,0x3a,0xc7); -DEFINE_GUID(TSATTRID_App_IncorrectSpelling, 0xf42de43c,0xef12,0x430d,0x94,0x4c,0x9a,0x08,0x97,0x0a,0x25,0xd2); -DEFINE_GUID(TSATTRID_App_IncorrectGrammar, 0xbd54e398,0xad03,0x4b74,0xb6,0xb3,0x5e,0xdb,0x19,0x99,0x63,0x88); - -#endif - +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#ifndef _TSATTRS_H_ +#define _TSATTRS_H_ + +DEFINE_GUID(TSATTRID_OTHERS, 0xb3c32af9,0x57d0,0x46a9,0xbc,0xa8,0xda,0xc2,0x38,0xa1,0x30,0x57); + +DEFINE_GUID(TSATTRID_Font, 0x573ea825,0x749b,0x4f8a,0x9c,0xfd,0x21,0xc3,0x60,0x5c,0xa8,0x28); +DEFINE_GUID(TSATTRID_Font_FaceName, 0xb536aeb6,0x053b,0x4eb8,0xb6,0x5a,0x50,0xda,0x1e,0x81,0xe7,0x2e); +DEFINE_GUID(TSATTRID_Font_SizePts, 0xc8493302,0xa5e9,0x456d,0xaf,0x04,0x80,0x05,0xe4,0x13,0x0f,0x03); +DEFINE_GUID(TSATTRID_Font_Style, 0x68b2a77f,0x6b0e,0x4f28,0x81,0x77,0x57,0x1c,0x2f,0x3a,0x42,0xb1); +DEFINE_GUID(TSATTRID_Font_Style_Bold, 0x48813a43,0x8a20,0x4940,0x8e,0x58,0x97,0x82,0x3f,0x7b,0x26,0x8a); +DEFINE_GUID(TSATTRID_Font_Style_Italic, 0x8740682a,0xa765,0x48e1,0xac,0xfc,0xd2,0x22,0x22,0xb2,0xf8,0x10); +DEFINE_GUID(TSATTRID_Font_Style_SmallCaps, 0xfacb6bc6,0x9100,0x4cc6,0xb9,0x69,0x11,0xee,0xa4,0x5a,0x86,0xb4); +DEFINE_GUID(TSATTRID_Font_Style_Capitalize, 0x7d85a3ba,0xb4fd,0x43b3,0xbe,0xfc,0x6b,0x98,0x5c,0x84,0x31,0x41); +DEFINE_GUID(TSATTRID_Font_Style_Uppercase, 0x33a300e8,0xe340,0x4937,0xb6,0x97,0x8f,0x23,0x40,0x45,0xcd,0x9a); +DEFINE_GUID(TSATTRID_Font_Style_Lowercase, 0x76d8ccb5,0xca7b,0x4498,0x8e,0xe9,0xd5,0xc4,0xf6,0xf7,0x4c,0x60); +DEFINE_GUID(TSATTRID_Font_Style_Animation, 0xdcf73d22,0xe029,0x47b7,0xbb,0x36,0xf2,0x63,0xa3,0xd0,0x04,0xcc); +DEFINE_GUID(TSATTRID_Font_Style_Animation_LasVegasLights, 0xf40423d5,0x0f87,0x4f8f,0xba,0xda,0xe6,0xd6,0x0c,0x25,0xe1,0x52); +DEFINE_GUID(TSATTRID_Font_Style_Animation_BlinkingBackground, 0x86e5b104,0x0104,0x4b10,0xb5,0x85,0x00,0xf2,0x52,0x75,0x22,0xb5); +DEFINE_GUID(TSATTRID_Font_Style_Animation_SparkleText, 0x533aad20,0x962c,0x4e9f,0x8c,0x09,0xb4,0x2e,0xa4,0x74,0x97,0x11); +DEFINE_GUID(TSATTRID_Font_Style_Animation_MarchingBlackAnts, 0x7644e067,0xf186,0x4902,0xbf,0xc6,0xec,0x81,0x5a,0xa2,0x0e,0x9d); +DEFINE_GUID(TSATTRID_Font_Style_Animation_MarchingRedAnts, 0x78368dad,0x50fb,0x4c6f,0x84,0x0b,0xd4,0x86,0xbb,0x6c,0xf7,0x81); +DEFINE_GUID(TSATTRID_Font_Style_Animation_Shimmer, 0x2ce31b58,0x5293,0x4c36,0x88,0x09,0xbf,0x8b,0xb5,0x1a,0x27,0xb3); +DEFINE_GUID(TSATTRID_Font_Style_Animation_WipeDown, 0x5872e874,0x367b,0x4803,0xb1,0x60,0xc9,0x0f,0xf6,0x25,0x69,0xd0); +DEFINE_GUID(TSATTRID_Font_Style_Animation_WipeRight, 0xb855cbe3,0x3d2c,0x4600,0xb1,0xe9,0xe1,0xc9,0xce,0x02,0xf8,0x42); +DEFINE_GUID(TSATTRID_Font_Style_Emboss, 0xbd8ed742,0x349e,0x4e37,0x82,0xfb,0x43,0x79,0x79,0xcb,0x53,0xa7); +DEFINE_GUID(TSATTRID_Font_Style_Engrave, 0x9c3371de,0x8332,0x4897,0xbe,0x5d,0x89,0x23,0x32,0x23,0x17,0x9a); +DEFINE_GUID(TSATTRID_Font_Style_Hidden, 0xb1e28770,0x881c,0x475f,0x86,0x3f,0x88,0x7a,0x64,0x7b,0x10,0x90); +DEFINE_GUID(TSATTRID_Font_Style_Kerning, 0xcc26e1b4,0x2f9a,0x47c8,0x8b,0xff,0xbf,0x1e,0xb7,0xcc,0xe0,0xdd); +DEFINE_GUID(TSATTRID_Font_Style_Outlined, 0x10e6db31,0xdb0d,0x4ac6,0xa7,0xf5,0x9c,0x9c,0xff,0x6f,0x2a,0xb4); +DEFINE_GUID(TSATTRID_Font_Style_Position, 0x15cd26ab,0xf2fb,0x4062,0xb5,0xa6,0x9a,0x49,0xe1,0xa5,0xcc,0x0b); +DEFINE_GUID(TSATTRID_Font_Style_Protected, 0x1c557cb2,0x14cf,0x4554,0xa5,0x74,0xec,0xb2,0xf7,0xe7,0xef,0xd4); +DEFINE_GUID(TSATTRID_Font_Style_Shadow, 0x5f686d2f,0xc6cd,0x4c56,0x8a,0x1a,0x99,0x4a,0x4b,0x97,0x66,0xbe); +DEFINE_GUID(TSATTRID_Font_Style_Spacing, 0x98c1200d,0x8f06,0x409a,0x8e,0x49,0x6a,0x55,0x4b,0xf7,0xc1,0x53); +DEFINE_GUID(TSATTRID_Font_Style_Weight, 0x12f3189c,0x8bb0,0x461b,0xb1,0xfa,0xea,0xf9,0x07,0x04,0x7f,0xe0); +DEFINE_GUID(TSATTRID_Font_Style_Height, 0x7e937477,0x12e6,0x458b,0x92,0x6a,0x1f,0xa4,0x4e,0xe8,0xf3,0x91); +DEFINE_GUID(TSATTRID_Font_Style_Underline, 0xc3c9c9f3,0x7902,0x444b,0x9a,0x7b,0x48,0xe7,0x0f,0x4b,0x50,0xf7); +DEFINE_GUID(TSATTRID_Font_Style_Underline_Single, 0x1b6720e5,0x0f73,0x4951,0xa6,0xb3,0x6f,0x19,0xe4,0x3c,0x94,0x61); +DEFINE_GUID(TSATTRID_Font_Style_Underline_Double, 0x74d24aa6,0x1db3,0x4c69,0xa1,0x76,0x31,0x12,0x0e,0x75,0x86,0xd5); +DEFINE_GUID(TSATTRID_Font_Style_Strikethrough, 0x0c562193,0x2d08,0x4668,0x96,0x01,0xce,0xd4,0x13,0x09,0xd7,0xaf); +DEFINE_GUID(TSATTRID_Font_Style_Strikethrough_Single, 0x75d736b6,0x3c8f,0x4b97,0xab,0x78,0x18,0x77,0xcb,0x99,0x0d,0x31); +DEFINE_GUID(TSATTRID_Font_Style_Strikethrough_Double, 0x62489b31,0xa3e7,0x4f94,0xac,0x43,0xeb,0xaf,0x8f,0xcc,0x7a,0x9f); +DEFINE_GUID(TSATTRID_Font_Style_Overline, 0xe3989f4a,0x992b,0x4301,0x8c,0xe1,0xa5,0xb7,0xc6,0xd1,0xf3,0xc8); +DEFINE_GUID(TSATTRID_Font_Style_Overline_Single, 0x8440d94c,0x51ce,0x47b2,0x8d,0x4c,0x15,0x75,0x1e,0x5f,0x72,0x1b); +DEFINE_GUID(TSATTRID_Font_Style_Overline_Double, 0xdc46063a,0xe115,0x46e3,0xbc,0xd8,0xca,0x67,0x72,0xaa,0x95,0xb4); +DEFINE_GUID(TSATTRID_Font_Style_Blink, 0xbfb2c036,0x7acf,0x4532,0xb7,0x20,0xb4,0x16,0xdd,0x77,0x65,0xa8); +DEFINE_GUID(TSATTRID_Font_Style_Subscript, 0x5774fb84,0x389b,0x43bc,0xa7,0x4b,0x15,0x68,0x34,0x7c,0xf0,0xf4); +DEFINE_GUID(TSATTRID_Font_Style_Superscript, 0x2ea4993c,0x563c,0x49aa,0x93,0x72,0x0b,0xef,0x09,0xa9,0x25,0x5b); +DEFINE_GUID(TSATTRID_Font_Style_Color, 0x857a7a37,0xb8af,0x4e9a,0x81,0xb4,0xac,0xf7,0x00,0xc8,0x41,0x1b); +DEFINE_GUID(TSATTRID_Font_Style_BackgroundColor, 0xb50eaa4e,0x3091,0x4468,0x81,0xdb,0xd7,0x9e,0xa1,0x90,0xc7,0xc7); + +DEFINE_GUID(TSATTRID_Text, 0x7edb8e68,0x81f9,0x449d,0xa1,0x5a,0x87,0xa8,0x38,0x8f,0xaa,0xc0); +DEFINE_GUID(TSATTRID_Text_VerticalWriting, 0x6bba8195,0x046f,0x4ea9,0xb3,0x11,0x97,0xfd,0x66,0xc4,0x27,0x4b); +DEFINE_GUID(TSATTRID_Text_RightToLeft, 0xca666e71,0x1b08,0x453d,0xbf,0xdd,0x28,0xe0,0x8c,0x8a,0xaf,0x7a); +DEFINE_GUID(TSATTRID_Text_Orientation, 0x6bab707f,0x8785,0x4c39,0x8b,0x52,0x96,0xf8,0x78,0x30,0x3f,0xfb); +DEFINE_GUID(TSATTRID_Text_Language, 0xd8c04ef1,0x5753,0x4c25,0x88,0x87,0x85,0x44,0x3f,0xe5,0xf8,0x19); +DEFINE_GUID(TSATTRID_Text_ReadOnly, 0x85836617,0xde32,0x4afd,0xa5,0x0f,0xa2,0xdb,0x11,0x0e,0x6e,0x4d); +DEFINE_GUID(TSATTRID_Text_EmbeddedObject, 0x7edb8e68,0x81f9,0x449d,0xa1,0x5a,0x87,0xa8,0x38,0x8f,0xaa,0xc0); +DEFINE_GUID(TSATTRID_Text_Alignment, 0x139941e6,0x1767,0x456d,0x93,0x8e,0x35,0xba,0x56,0x8b,0x5c,0xd4); +DEFINE_GUID(TSATTRID_Text_Alignment_Left, 0x16ae95d3,0x6361,0x43a2,0x84,0x95,0xd0,0x0f,0x39,0x7f,0x16,0x93); +DEFINE_GUID(TSATTRID_Text_Alignment_Right, 0xb36f0f98,0x1b9e,0x4360,0x86,0x16,0x03,0xfb,0x08,0xa7,0x84,0x56); +DEFINE_GUID(TSATTRID_Text_Alignment_Center, 0xa4a95c16,0x53bf,0x4d55,0x8b,0x87,0x4b,0xdd,0x8d,0x42,0x75,0xfc); +DEFINE_GUID(TSATTRID_Text_Alignment_Justify, 0xed350740,0xa0f7,0x42d3,0x8e,0xa8,0xf8,0x1b,0x64,0x88,0xfa,0xf0); +DEFINE_GUID(TSATTRID_Text_Link, 0x47cd9051,0x3722,0x4cd8,0xb7,0xc8,0x4e,0x17,0xca,0x17,0x59,0xf5); +DEFINE_GUID(TSATTRID_Text_Hyphenation, 0xdadf4525,0x618e,0x49eb,0xb1,0xa8,0x3b,0x68,0xbd,0x76,0x48,0xe3); +DEFINE_GUID(TSATTRID_Text_Para, 0x5edc5822,0x99dc,0x4dd6,0xae,0xc3,0xb6,0x2b,0xaa,0x5b,0x2e,0x7c); +DEFINE_GUID(TSATTRID_Text_Para_FirstLineIndent, 0x07c97a13,0x7472,0x4dd8,0x90,0xa9,0x91,0xe3,0xd7,0xe4,0xf2,0x9c); +DEFINE_GUID(TSATTRID_Text_Para_LeftIndent, 0xfb2848e9,0x7471,0x41c9,0xb6,0xb3,0x8a,0x14,0x50,0xe0,0x18,0x97); +DEFINE_GUID(TSATTRID_Text_Para_RightIndent, 0x2c7f26f9,0xa5e2,0x48da,0xb9,0x8a,0x52,0x0c,0xb1,0x65,0x13,0xbf); +DEFINE_GUID(TSATTRID_Text_Para_SpaceAfter, 0x7b0a3f55,0x22dc,0x425f,0xa4,0x11,0x93,0xda,0x1d,0x8f,0x9b,0xaa); +DEFINE_GUID(TSATTRID_Text_Para_SpaceBefore, 0x8df98589,0x194a,0x4601,0xb2,0x51,0x98,0x65,0xa3,0xe9,0x06,0xdd); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing, 0x699b380d,0x7f8c,0x46d6,0xa7,0x3b,0xdf,0xe3,0xd1,0x53,0x8d,0xf3); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Single, 0xed350740,0xa0f7,0x42d3,0x8e,0xa8,0xf8,0x1b,0x64,0x88,0xfa,0xf0); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_OnePtFive, 0x0428a021,0x0397,0x4b57,0x9a,0x17,0x07,0x95,0x99,0x4c,0xd3,0xc5); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Double, 0x82fb1805,0xa6c4,0x4231,0xac,0x12,0x62,0x60,0xaf,0x2a,0xba,0x28); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_AtLeast, 0xadfedf31,0x2d44,0x4434,0xa5,0xff,0x7f,0x4c,0x49,0x90,0xa9,0x05); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Exactly, 0x3d45ad40,0x23de,0x48d7,0xa6,0xb3,0x76,0x54,0x20,0xc6,0x20,0xcc); +DEFINE_GUID(TSATTRID_Text_Para_LineSpacing_Multiple, 0x910f1e3c,0xd6d0,0x4f65,0x8a,0x3c,0x42,0xb4,0xb3,0x18,0x68,0xc5); + +DEFINE_GUID(TSATTRID_List, 0x436d673b,0x26f1,0x4aee,0x9e,0x65,0x8f,0x83,0xa4,0xed,0x48,0x84); +DEFINE_GUID(TSATTRID_List_LevelIndel, 0x7f7cc899,0x311f,0x487b,0xad,0x5d,0xe2,0xa4,0x59,0xe1,0x2d,0x42); +DEFINE_GUID(TSATTRID_List_Type, 0xae3e665e,0x4bce,0x49e3,0xa0,0xfe,0x2d,0xb4,0x7d,0x3a,0x17,0xae); +DEFINE_GUID(TSATTRID_List_Type_Bullet, 0xbccd77c5,0x4c4d,0x4ce2,0xb1,0x02,0x55,0x9f,0x3b,0x2b,0xfc,0xea); +DEFINE_GUID(TSATTRID_List_Type_Arabic, 0x1338c5d6,0x98a3,0x4fa3,0x9b,0xd1,0x7a,0x60,0xee,0xf8,0xe9,0xe0); +DEFINE_GUID(TSATTRID_List_Type_LowerLetter, 0x96372285,0xf3cf,0x491e,0xa9,0x25,0x38,0x32,0x34,0x7f,0xd2,0x37); +DEFINE_GUID(TSATTRID_List_Type_UpperLetter, 0x7987b7cd,0xce52,0x428b,0x9b,0x95,0xa3,0x57,0xf6,0xf1,0x0c,0x45); +DEFINE_GUID(TSATTRID_List_Type_LowerRoman, 0x90466262,0x3980,0x4b8e,0x93,0x68,0x91,0x8b,0xd1,0x21,0x8a,0x41); +DEFINE_GUID(TSATTRID_List_Type_UpperRoman, 0x0f6ab552,0x4a80,0x467f,0xb2,0xf1,0x12,0x7e,0x2a,0xa3,0xba,0x9e); + +DEFINE_GUID(TSATTRID_App, 0xa80f77df,0x4237,0x40e5,0x84,0x9c,0xb5,0xfa,0x51,0xc1,0x3a,0xc7); +DEFINE_GUID(TSATTRID_App_IncorrectSpelling, 0xf42de43c,0xef12,0x430d,0x94,0x4c,0x9a,0x08,0x97,0x0a,0x25,0xd2); +DEFINE_GUID(TSATTRID_App_IncorrectGrammar, 0xbd54e398,0xad03,0x4b74,0xb6,0xb3,0x5e,0xdb,0x19,0x99,0x63,0x88); + +#endif + diff --git a/lib/libc/include/any-windows-any/tsuserex_i.c b/lib/libc/include/any-windows-any/tsuserex_i.c deleted file mode 100644 index 735d6b7d7888..000000000000 --- a/lib/libc/include/any-windows-any/tsuserex_i.c +++ /dev/null @@ -1,53 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include -#undef INITGUID -#else -#include -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) -#else - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - typedef struct _IID { - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; - } IID; -#endif - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED - typedef IID CLSID; -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif - - MIDL_DEFINE_GUID(IID,LIBID_TSUSEREXLib,0x45413F04,0xDF86,0x11D1,0xAE,0x27,0x00,0xC0,0x4F,0xA3,0x58,0x13); - MIDL_DEFINE_GUID(CLSID,CLSID_TSUserExInterfaces,0x0910dd01,0xdf8c,0x11d1,0xae,0x27,0x00,0xc0,0x4f,0xa3,0x58,0x13); - MIDL_DEFINE_GUID(IID,IID_IADsTSUserEx,0xC4930E79,0x2989,0x4462,0x8A,0x60,0x2F,0xCF,0x2F,0x29,0x55,0xEF); - MIDL_DEFINE_GUID(CLSID,CLSID_ADsTSUserEx,0xE2E9CAE6,0x1E7B,0x4B8E,0xBA,0xBD,0xE9,0xBF,0x62,0x92,0xAC,0x29); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif diff --git a/lib/libc/include/any-windows-any/tsvirtualchannels.h b/lib/libc/include/any-windows-any/tsvirtualchannels.h index 7d8339b8ee5d..a02d2e8ea5d5 100644 --- a/lib/libc/include/any-windows-any/tsvirtualchannels.h +++ b/lib/libc/include/any-windows-any/tsvirtualchannels.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/tsvirtualchannels.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/tsvirtualchannels.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/tuner.h b/lib/libc/include/any-windows-any/tuner.h index e34cb57c403a..e057a850f1d9 100644 --- a/lib/libc/include/any-windows-any/tuner.h +++ b/lib/libc/include/any-windows-any/tuner.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/tuner.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/tuner.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/uianimation.h b/lib/libc/include/any-windows-any/uianimation.h index df02ca0cd6f3..28d6219b79bd 100644 --- a/lib/libc/include/any-windows-any/uianimation.h +++ b/lib/libc/include/any-windows-any/uianimation.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/uianimation.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/uianimation.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/uiautomationclient.h b/lib/libc/include/any-windows-any/uiautomationclient.h index bff5b3e176c9..1c59acd6d460 100644 --- a/lib/libc/include/any-windows-any/uiautomationclient.h +++ b/lib/libc/include/any-windows-any/uiautomationclient.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/uiautomationclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/uiautomationcore.h b/lib/libc/include/any-windows-any/uiautomationcore.h index 775e5e2504f0..e79b2800c98c 100644 --- a/lib/libc/include/any-windows-any/uiautomationcore.h +++ b/lib/libc/include/any-windows-any/uiautomationcore.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationcore.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/uiautomationcore.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/uiviewsettingsinterop.h b/lib/libc/include/any-windows-any/uiviewsettingsinterop.h index eeefdd5b2849..53898728b29e 100644 --- a/lib/libc/include/any-windows-any/uiviewsettingsinterop.h +++ b/lib/libc/include/any-windows-any/uiviewsettingsinterop.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/uiviewsettingsinterop.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/uiviewsettingsinterop.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/unknwn.h b/lib/libc/include/any-windows-any/unknwn.h index a2cc43d23ceb..98c00ca3e921 100644 --- a/lib/libc/include/any-windows-any/unknwn.h +++ b/lib/libc/include/any-windows-any/unknwn.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/unknwn.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/unknwn.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/unknwnbase.h b/lib/libc/include/any-windows-any/unknwnbase.h index b587289d1c83..61544a870970 100644 --- a/lib/libc/include/any-windows-any/unknwnbase.h +++ b/lib/libc/include/any-windows-any/unknwnbase.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/unknwnbase.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/unknwnbase.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/urlhist.h b/lib/libc/include/any-windows-any/urlhist.h index 5dc1ad9fd5fc..ce038ab9e214 100644 --- a/lib/libc/include/any-windows-any/urlhist.h +++ b/lib/libc/include/any-windows-any/urlhist.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/urlhist.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/urlhist.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/urlmon.h b/lib/libc/include/any-windows-any/urlmon.h index 015c7342dbc9..d677106ff3f9 100644 --- a/lib/libc/include/any-windows-any/urlmon.h +++ b/lib/libc/include/any-windows-any/urlmon.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/urlmon.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/urlmon.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/usp10.h b/lib/libc/include/any-windows-any/usp10.h index c276f480a34b..9f0425510093 100644 --- a/lib/libc/include/any-windows-any/usp10.h +++ b/lib/libc/include/any-windows-any/usp10.h @@ -129,7 +129,7 @@ extern "C" { SCRIPT_JUSTIFY_ARABIC_BA = 12, SCRIPT_JUSTIFY_ARABIC_BARA = 13, SCRIPT_JUSTIFY_ARABIC_SEEN = 14, - SCRIPT_JUSTIFY_ARABIC_SEEN_M = 15, + SCRIPT_JUSTIFY_ARABIC_SEEN_M = 15 } SCRIPT_JUSTIFY; typedef struct tag_SCRIPT_VISATTR { diff --git a/lib/libc/include/any-windows-any/uxtheme.h b/lib/libc/include/any-windows-any/uxtheme.h index d4f43c98a882..250f9b49791d 100644 --- a/lib/libc/include/any-windows-any/uxtheme.h +++ b/lib/libc/include/any-windows-any/uxtheme.h @@ -39,7 +39,7 @@ typedef enum TA_PROPERTY { TAP_STAGGERDELAY, TAP_STAGGERDELAYCAP, TAP_STAGGERDELAYFACTOR, - TAP_ZORDER, + TAP_ZORDER } TA_PROPERTY; typedef enum TA_PROPERTY_FLAG { @@ -48,7 +48,7 @@ typedef enum TA_PROPERTY_FLAG { TAPF_ISRTLAWARE = 0x2, TAPF_ALLOWCOLLECTION = 0x4, TAPF_HASBACKGROUND = 0x8, - TAPF_HASPERSPECTIVE = 0x10, + TAPF_HASPERSPECTIVE = 0x10 } TA_PROPERTY_FLAG; THEMEAPI GetThemeAnimationProperty(HTHEME hTheme, int iStoryboardId, int iTargetId, TA_PROPERTY eProperty, VOID *pvProperty, DWORD cbSize, DWORD *pcbSizeOut); @@ -57,14 +57,14 @@ typedef enum TA_TRANSFORM_TYPE { TATT_TRANSLATE_2D, TATT_SCALE_2D, TATT_OPACITY, - TATT_CLIP, + TATT_CLIP } TA_TRANSFORM_TYPE; typedef enum TA_TRANSFORM_FLAG { TATF_NONE = 0x0, TATF_TARGETVALUES_USER = 0x1, TATF_HASINITIALVALUES = 0x2, - TATF_HASORIGINVALUES = 0x4, + TATF_HASORIGINVALUES = 0x4 } TA_TRANSFORM_FLAG; typedef struct TA_TRANSFORM { @@ -107,7 +107,7 @@ THEMEAPI GetThemeAnimationTransform(HTHEME hTheme, int iStoryboardId, int iTarge typedef enum TA_TIMINGFUNCTION_TYPE { TTFT_UNDEFINED, - TTFT_CUBIC_BEZIER, + TTFT_CUBIC_BEZIER } TA_TIMINGFUNCTION_TYPE; typedef struct TA_TIMINGFUNCTION { diff --git a/lib/libc/include/any-windows-any/vdslun.h b/lib/libc/include/any-windows-any/vdslun.h index 409e74f03c2e..6a3f8b54e933 100644 --- a/lib/libc/include/any-windows-any/vdslun.h +++ b/lib/libc/include/any-windows-any/vdslun.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vdslun.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vdslun.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vidcap.h b/lib/libc/include/any-windows-any/vidcap.h index 38dda1ad1fce..440895482da5 100644 --- a/lib/libc/include/any-windows-any/vidcap.h +++ b/lib/libc/include/any-windows-any/vidcap.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vidcap.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vidcap.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vmr9.h b/lib/libc/include/any-windows-any/vmr9.h index c968813984c9..319222a390ed 100644 --- a/lib/libc/include/any-windows-any/vmr9.h +++ b/lib/libc/include/any-windows-any/vmr9.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vmr9.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vmr9.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vsadmin.h b/lib/libc/include/any-windows-any/vsadmin.h index 54627433c621..290d316da2cf 100644 --- a/lib/libc/include/any-windows-any/vsadmin.h +++ b/lib/libc/include/any-windows-any/vsadmin.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vsadmin.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vsadmin.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vsbackup.h b/lib/libc/include/any-windows-any/vsbackup.h index 7c62b7457e57..08bd51fd3b6d 100644 --- a/lib/libc/include/any-windows-any/vsbackup.h +++ b/lib/libc/include/any-windows-any/vsbackup.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vsbackup.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vsbackup.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vsmgmt.h b/lib/libc/include/any-windows-any/vsmgmt.h index 14eadea44e97..adcc65038a92 100644 --- a/lib/libc/include/any-windows-any/vsmgmt.h +++ b/lib/libc/include/any-windows-any/vsmgmt.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vsmgmt.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vsmgmt.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vsprov.h b/lib/libc/include/any-windows-any/vsprov.h index 54d5de6f4518..870f287ca6b7 100644 --- a/lib/libc/include/any-windows-any/vsprov.h +++ b/lib/libc/include/any-windows-any/vsprov.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vsprov.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vsprov.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vss.h b/lib/libc/include/any-windows-any/vss.h index c6e9e1f9e9eb..42d5ddb451a7 100644 --- a/lib/libc/include/any-windows-any/vss.h +++ b/lib/libc/include/any-windows-any/vss.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vss.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vss.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/vsstyle.h b/lib/libc/include/any-windows-any/vsstyle.h index 85403783ad63..9c250b6c37c8 100644 --- a/lib/libc/include/any-windows-any/vsstyle.h +++ b/lib/libc/include/any-windows-any/vsstyle.h @@ -66,22 +66,22 @@ enum AEROWIZARDPARTS { AW_HEADERAREA = 2, AW_CONTENTAREA = 3, AW_COMMANDAREA = 4, - AW_BUTTON = 5, + AW_BUTTON = 5 }; #define AEROWIZARDSTYLEPARTS AEROWIZARDPARTS; enum TITLEBARSTATES { AW_S_TITLEBAR_ACTIVE = 1, - AW_S_TITLEBAR_INACTIVE = 2, + AW_S_TITLEBAR_INACTIVE = 2 }; enum HEADERAREASTATES { - AW_S_HEADERAREA_NOMARGIN = 1, + AW_S_HEADERAREA_NOMARGIN = 1 }; enum CONTENTAREASTATES { - AW_S_CONTENTAREA_NOMARGIN = 1, + AW_S_CONTENTAREA_NOMARGIN = 1 }; /* BUTTONSTYLE class */ @@ -103,7 +103,7 @@ enum BUTTONPARTS { BP_GROUPBOX = 4, BP_USERBUTTON = 5, BP_COMMANDLINK = 6, - BP_COMMANDLINKGLYPH = 7, + BP_COMMANDLINKGLYPH = 7 }; #define BUTTONSTYLEPARTS BUTTONPARTS; @@ -114,7 +114,7 @@ enum PUSHBUTTONSTATES { PBS_PRESSED = 3, PBS_DISABLED = 4, PBS_DEFAULTED = 5, - PBS_DEFAULTED_ANIMATING = 6, + PBS_DEFAULTED_ANIMATING = 6 }; enum RADIOBUTTONSTATES { @@ -125,7 +125,7 @@ enum RADIOBUTTONSTATES { RBS_CHECKEDNORMAL = 5, RBS_CHECKEDHOT = 6, RBS_CHECKEDPRESSED = 7, - RBS_CHECKEDDISABLED = 8, + RBS_CHECKEDDISABLED = 8 }; enum CHECKBOXSTATES { @@ -148,12 +148,12 @@ enum CHECKBOXSTATES { CBS_EXCLUDEDNORMAL = 17, CBS_EXCLUDEDHOT = 18, CBS_EXCLUDEDPRESSED = 19, - CBS_EXCLUDEDDISABLED = 20, + CBS_EXCLUDEDDISABLED = 20 }; enum GROUPBOXSTATES { GBS_NORMAL = 1, - GBS_DISABLED = 2, + GBS_DISABLED = 2 }; enum COMMANDLINKSTATES { @@ -162,7 +162,7 @@ enum COMMANDLINKSTATES { CMDLS_PRESSED = 3, CMDLS_DISABLED = 4, CMDLS_DEFAULTED = 5, - CMDLS_DEFAULTED_ANIMATING = 6, + CMDLS_DEFAULTED_ANIMATING = 6 }; enum COMMANDLINKGLYPHSTATES { @@ -170,7 +170,7 @@ enum COMMANDLINKGLYPHSTATES { CMDLGS_HOT = 2, CMDLGS_PRESSED = 3, CMDLGS_DISABLED = 4, - CMDLGS_DEFAULTED = 5, + CMDLGS_DEFAULTED = 5 }; /* COMBOBOXSTYLE class */ @@ -193,7 +193,7 @@ enum COMBOBOXPARTS { CP_READONLY = 5, CP_DROPDOWNBUTTONRIGHT = 6, CP_DROPDOWNBUTTONLEFT = 7, - CP_CUEBANNER = 8, + CP_CUEBANNER = 8 }; #define COMBOBOXSTYLEPARTS COMBOBOXPARTS; @@ -202,49 +202,49 @@ enum COMBOBOXSTYLESTATES { CBXS_NORMAL = 1, CBXS_HOT = 2, CBXS_PRESSED = 3, - CBXS_DISABLED = 4, + CBXS_DISABLED = 4 }; enum DROPDOWNBUTTONRIGHTSTATES { CBXSR_NORMAL = 1, CBXSR_HOT = 2, CBXSR_PRESSED = 3, - CBXSR_DISABLED = 4, + CBXSR_DISABLED = 4 }; enum DROPDOWNBUTTONLEFTSTATES { CBXSL_NORMAL = 1, CBXSL_HOT = 2, CBXSL_PRESSED = 3, - CBXSL_DISABLED = 4, + CBXSL_DISABLED = 4 }; enum TRANSPARENTBACKGROUNDSTATES { CBTBS_NORMAL = 1, CBTBS_HOT = 2, CBTBS_DISABLED = 3, - CBTBS_FOCUSED = 4, + CBTBS_FOCUSED = 4 }; enum BORDERSTATES { CBB_NORMAL = 1, CBB_HOT = 2, CBB_FOCUSED = 3, - CBB_DISABLED = 4, + CBB_DISABLED = 4 }; enum READONLYSTATES { CBRO_NORMAL = 1, CBRO_HOT = 2, CBRO_PRESSED = 3, - CBRO_DISABLED = 4, + CBRO_DISABLED = 4 }; enum CUEBANNERSTATES { CBCB_NORMAL = 1, CBCB_HOT = 2, CBCB_PRESSED = 3, - CBCB_DISABLED = 4, + CBCB_DISABLED = 4 }; /* COMMUNICATIONSSTYLE class */ @@ -260,7 +260,7 @@ static const WCHAR VSCLASS_COMMUNICATIONS [] = {'C','O','M','M','U','N','I','C', #endif enum COMMUNICATIONSPARTS { - CSST_TAB = 1, + CSST_TAB = 1 }; #define COMMUNICATIONSSTYLEPARTS COMMUNICATIONSPARTS; @@ -268,7 +268,7 @@ enum COMMUNICATIONSPARTS { enum TABSTATES { CSTB_NORMAL = 1, CSTB_HOT = 2, - CSTB_SELECTED = 3, + CSTB_SELECTED = 3 }; /* CONTROLPANELSTYLE class */ @@ -302,7 +302,7 @@ enum CONTROLPANELPARTS { CPANEL_NAVIGATIONPANELINE = 16, CPANEL_CONTENTPANELINE = 17, CPANEL_BANNERAREA = 18, - CPANEL_BODYTITLE = 19, + CPANEL_BODYTITLE = 19 }; #define CONTROLPANELSTYLEPARTS CONTROLPANELPARTS; @@ -311,7 +311,7 @@ enum HELPLINKSTATES { CPHL_NORMAL = 1, CPHL_HOT = 2, CPHL_PRESSED = 3, - CPHL_DISABLED = 4, + CPHL_DISABLED = 4 }; enum TASKLINKSTATES { @@ -319,19 +319,19 @@ enum TASKLINKSTATES { CPTL_HOT = 2, CPTL_PRESSED = 3, CPTL_DISABLED = 4, - CPTL_PAGE = 5, + CPTL_PAGE = 5 }; enum CONTENTLINKSTATES { CPCL_NORMAL = 1, CPCL_HOT = 2, CPCL_PRESSED = 3, - CPCL_DISABLED = 4, + CPCL_DISABLED = 4 }; enum SECTIONTITLELINKSTATES { CPSTL_NORMAL = 1, - CPSTL_HOT = 2, + CPSTL_HOT = 2 }; /* DATEPICKERSTYLE class */ @@ -349,7 +349,7 @@ static const WCHAR VSCLASS_DATEPICKER [] = {'D','A','T','E','P','I','C','K','E', enum DATEPICKERPARTS { DP_DATETEXT = 1, DP_DATEBORDER = 2, - DP_SHOWCALENDARBUTTONRIGHT = 3, + DP_SHOWCALENDARBUTTONRIGHT = 3 }; #define DATEPICKERSTYLEPARTS DATEPICKERPARTS; @@ -357,21 +357,21 @@ enum DATEPICKERPARTS { enum DATETEXTSTATES { DPDT_NORMAL = 1, DPDT_DISABLED = 2, - DPDT_SELECTED = 3, + DPDT_SELECTED = 3 }; enum DATEBORDERSTATES { DPDB_NORMAL = 1, DPDB_HOT = 2, DPDB_FOCUSED = 3, - DPDB_DISABLED = 4, + DPDB_DISABLED = 4 }; enum SHOWCALENDARBUTTONRIGHTSTATES { DPSCBR_NORMAL = 1, DPSCBR_HOT = 2, DPSCBR_PRESSED = 3, - DPSCBR_DISABLED = 4, + DPSCBR_DISABLED = 4 }; /* DRAGDROPSTYLE class */ @@ -394,39 +394,39 @@ enum DRAGDROPPARTS { DD_WARNING = 5, DD_NONE = 6, DD_IMAGEBG = 7, - DD_TEXTBG = 8, + DD_TEXTBG = 8 }; #define DRAGDROPSTYLEPARTS DRAGDROPPARTS; enum COPYSTATES { DDCOPY_HIGHLIGHT = 1, - DDCOPY_NOHIGHLIGHT = 2, + DDCOPY_NOHIGHLIGHT = 2 }; enum MOVESTATES { DDMOVE_HIGHLIGHT = 1, - DDMOVE_NOHIGHLIGHT = 2, + DDMOVE_NOHIGHLIGHT = 2 }; enum UPDATEMETADATASTATES { DDUPDATEMETADATA_HIGHLIGHT = 1, - DDUPDATEMETADATA_NOHIGHLIGHT = 2, + DDUPDATEMETADATA_NOHIGHLIGHT = 2 }; enum CREATELINKSTATES { DDCREATELINK_HIGHLIGHT = 1, - DDCREATELINK_NOHIGHLIGHT = 2, + DDCREATELINK_NOHIGHLIGHT = 2 }; enum WARNINGSTATES { DDWARNING_HIGHLIGHT = 1, - DDWARNING_NOHIGHLIGHT = 2, + DDWARNING_NOHIGHLIGHT = 2 }; enum NONESTATES { DDNONE_HIGHLIGHT = 1, - DDNONE_NOHIGHLIGHT = 2, + DDNONE_NOHIGHLIGHT = 2 }; /* EDITSTYLE class */ @@ -450,7 +450,7 @@ enum EDITPARTS { EP_EDITBORDER_NOSCROLL = 6, EP_EDITBORDER_HSCROLL = 7, EP_EDITBORDER_VSCROLL = 8, - EP_EDITBORDER_HVSCROLL = 9, + EP_EDITBORDER_HVSCROLL = 9 }; #define EDITSTYLEPARTS EDITPARTS; @@ -463,7 +463,7 @@ enum EDITTEXTSTATES { ETS_FOCUSED = 5, ETS_READONLY = 6, ETS_ASSIST = 7, - ETS_CUEBANNER = 8, + ETS_CUEBANNER = 8 }; enum BACKGROUNDSTATES { @@ -472,42 +472,42 @@ enum BACKGROUNDSTATES { EBS_DISABLED = 3, EBS_FOCUSED = 4, EBS_READONLY = 5, - EBS_ASSIST = 6, + EBS_ASSIST = 6 }; enum BACKGROUNDWITHBORDERSTATES { EBWBS_NORMAL = 1, EBWBS_HOT = 2, EBWBS_DISABLED = 3, - EBWBS_FOCUSED = 4, + EBWBS_FOCUSED = 4 }; enum EDITBORDER_NOSCROLLSTATES { EPSN_NORMAL = 1, EPSN_HOT = 2, EPSN_FOCUSED = 3, - EPSN_DISABLED = 4, + EPSN_DISABLED = 4 }; enum EDITBORDER_HSCROLLSTATES { EPSH_NORMAL = 1, EPSH_HOT = 2, EPSH_FOCUSED = 3, - EPSH_DISABLED = 4, + EPSH_DISABLED = 4 }; enum EDITBORDER_VSCROLLSTATES { EPSV_NORMAL = 1, EPSV_HOT = 2, EPSV_FOCUSED = 3, - EPSV_DISABLED = 4, + EPSV_DISABLED = 4 }; enum EDITBORDER_HVSCROLLSTATES { EPSHV_NORMAL = 1, EPSHV_HOT = 2, EPSHV_FOCUSED = 3, - EPSHV_DISABLED = 4, + EPSHV_DISABLED = 4 }; /* EXPLORERBARSTYLE class */ @@ -534,7 +534,7 @@ enum EXPLORERBARPARTS { EBP_SPECIALGROUPBACKGROUND = 9, EBP_SPECIALGROUPCOLLAPSE = 10, EBP_SPECIALGROUPEXPAND = 11, - EBP_SPECIALGROUPHEAD = 12, + EBP_SPECIALGROUPHEAD = 12 }; #define EXPLORERBARSTYLEPARTS EXPLORERBARPARTS; @@ -542,7 +542,7 @@ enum EXPLORERBARPARTS { enum HEADERCLOSESTATES { EBHC_NORMAL = 1, EBHC_HOT = 2, - EBHC_PRESSED = 3, + EBHC_PRESSED = 3 }; enum HEADERPINSTATES { @@ -551,37 +551,37 @@ enum HEADERPINSTATES { EBHP_PRESSED = 3, EBHP_SELECTEDNORMAL = 4, EBHP_SELECTEDHOT = 5, - EBHP_SELECTEDPRESSED = 6, + EBHP_SELECTEDPRESSED = 6 }; enum IEBARMENUSTATES { EBM_NORMAL = 1, EBM_HOT = 2, - EBM_PRESSED = 3, + EBM_PRESSED = 3 }; enum NORMALGROUPCOLLAPSESTATES { EBNGC_NORMAL = 1, EBNGC_HOT = 2, - EBNGC_PRESSED = 3, + EBNGC_PRESSED = 3 }; enum NORMALGROUPEXPANDSTATES { EBNGE_NORMAL = 1, EBNGE_HOT = 2, - EBNGE_PRESSED = 3, + EBNGE_PRESSED = 3 }; enum SPECIALGROUPCOLLAPSESTATES { EBSGC_NORMAL = 1, EBSGC_HOT = 2, - EBSGC_PRESSED = 3, + EBSGC_PRESSED = 3 }; enum SPECIALGROUPEXPANDSTATES { EBSGE_NORMAL = 1, EBSGE_HOT = 2, - EBSGE_PRESSED = 3, + EBSGE_PRESSED = 3 }; /* FLYOUTSTYLE class */ @@ -604,7 +604,7 @@ enum FLYOUTPARTS { FLYOUT_DIVIDER = 5, FLYOUT_WINDOW = 6, FLYOUT_LINKAREA = 7, - FLYOUT_LINKHEADER = 8, + FLYOUT_LINKHEADER = 8 }; #define FLYOUTSTYLEPARTS FLYOUTPARTS; @@ -613,22 +613,22 @@ enum LABELSTATES { FLS_NORMAL = 1, FLS_SELECTED = 2, FLS_EMPHASIZED = 3, - FLS_DISABLED = 4, + FLS_DISABLED = 4 }; enum LINKSTATES { FLYOUTLINK_NORMAL = 1, - FLYOUTLINK_HOVER = 2, + FLYOUTLINK_HOVER = 2 }; enum BODYSTATES { FBS_NORMAL = 1, - FBS_EMPHASIZED = 2, + FBS_EMPHASIZED = 2 }; enum LINKHEADERSTATES { FLH_NORMAL = 1, - FLH_HOVER = 2, + FLH_HOVER = 2 }; /* HEADERSTYLE class */ @@ -650,14 +650,14 @@ enum HEADERPARTS { HP_HEADERSORTARROW = 4, HP_HEADERDROPDOWN = 5, HP_HEADERDROPDOWNFILTER = 6, - HP_HEADEROVERFLOW = 7, + HP_HEADEROVERFLOW = 7 }; #define HEADERSTYLEPARTS HEADERPARTS; enum HEADERSTYLESTATES { HBG_DETAILS = 1, - HBG_ICON = 2, + HBG_ICON = 2 }; enum HEADERITEMSTATES { @@ -672,41 +672,41 @@ enum HEADERITEMSTATES { HIS_ICONPRESSED = 9, HIS_ICONSORTEDNORMAL = 10, HIS_ICONSORTEDHOT = 11, - HIS_ICONSORTEDPRESSED = 12, + HIS_ICONSORTEDPRESSED = 12 }; enum HEADERITEMLEFTSTATES { HILS_NORMAL = 1, HILS_HOT = 2, - HILS_PRESSED = 3, + HILS_PRESSED = 3 }; enum HEADERITEMRIGHTSTATES { HIRS_NORMAL = 1, HIRS_HOT = 2, - HIRS_PRESSED = 3, + HIRS_PRESSED = 3 }; enum HEADERSORTARROWSTATES { HSAS_SORTEDUP = 1, - HSAS_SORTEDDOWN = 2, + HSAS_SORTEDDOWN = 2 }; enum HEADERDROPDOWNSTATES { HDDS_NORMAL = 1, HDDS_SOFTHOT = 2, - HDDS_HOT = 3, + HDDS_HOT = 3 }; enum HEADERDROPDOWNFILTERSTATES { HDDFS_NORMAL = 1, HDDFS_SOFTHOT = 2, - HDDFS_HOT = 3, + HDDFS_HOT = 3 }; enum HEADEROVERFLOWSTATES { HOFS_NORMAL = 1, - HOFS_HOT = 2, + HOFS_HOT = 2 }; /* LISTBOXSTYLE class */ @@ -726,7 +726,7 @@ enum LISTBOXPARTS { LBCP_BORDER_HVSCROLL = 2, LBCP_BORDER_NOSCROLL = 3, LBCP_BORDER_VSCROLL = 4, - LBCP_ITEM = 5, + LBCP_ITEM = 5 }; #define LISTBOXSTYLEPARTS LISTBOXPARTS; @@ -735,35 +735,35 @@ enum BORDER_HSCROLLSTATES { LBPSH_NORMAL = 1, LBPSH_FOCUSED = 2, LBPSH_HOT = 3, - LBPSH_DISABLED = 4, + LBPSH_DISABLED = 4 }; enum BORDER_HVSCROLLSTATES { LBPSHV_NORMAL = 1, LBPSHV_FOCUSED = 2, LBPSHV_HOT = 3, - LBPSHV_DISABLED = 4, + LBPSHV_DISABLED = 4 }; enum BORDER_NOSCROLLSTATES { LBPSN_NORMAL = 1, LBPSN_FOCUSED = 2, LBPSN_HOT = 3, - LBPSN_DISABLED = 4, + LBPSN_DISABLED = 4 }; enum BORDER_VSCROLLSTATES { LBPSV_NORMAL = 1, LBPSV_FOCUSED = 2, LBPSV_HOT = 3, - LBPSV_DISABLED = 4, + LBPSV_DISABLED = 4 }; enum ITEMSTATES { LBPSI_HOT = 1, LBPSI_HOTSELECTED = 2, LBPSI_SELECTED = 3, - LBPSI_SELECTEDNOTFOCUS = 4, + LBPSI_SELECTEDNOTFOCUS = 4 }; /* LISTVIEWSTYLE class */ @@ -788,7 +788,7 @@ enum LISTVIEWPARTS { LVP_GROUPHEADERLINE = 7, LVP_EXPANDBUTTON = 8, LVP_COLLAPSEBUTTON = 9, - LVP_COLUMNDETAIL = 10, + LVP_COLUMNDETAIL = 10 }; #define LISTVIEWSTYLEPARTS LISTVIEWPARTS; @@ -799,7 +799,7 @@ enum LISTITEMSTATES { LISS_SELECTED = 3, LISS_DISABLED = 4, LISS_SELECTEDNOTFOCUS = 5, - LISS_HOTSELECTED = 6, + LISS_HOTSELECTED = 6 }; enum GROUPHEADERSTATES { @@ -818,7 +818,7 @@ enum GROUPHEADERSTATES { LVGH_CLOSESELECTEDNOTFOCUSED = 13, LVGH_CLOSESELECTEDNOTFOCUSEDHOT = 14, LVGH_CLOSEMIXEDSELECTION = 15, - LVGH_CLOSEMIXEDSELECTIONHOT = 16, + LVGH_CLOSEMIXEDSELECTIONHOT = 16 }; enum GROUPHEADERLINESTATES { @@ -837,19 +837,19 @@ enum GROUPHEADERLINESTATES { LVGHL_CLOSESELECTEDNOTFOCUSED = 13, LVGHL_CLOSESELECTEDNOTFOCUSEDHOT = 14, LVGHL_CLOSEMIXEDSELECTION = 15, - LVGHL_CLOSEMIXEDSELECTIONHOT = 16, + LVGHL_CLOSEMIXEDSELECTIONHOT = 16 }; enum EXPANDBUTTONSTATES { LVEB_NORMAL = 1, LVEB_HOVER = 2, - LVEB_PUSHED = 3, + LVEB_PUSHED = 3 }; enum COLLAPSEBUTTONSTATES { LVCB_NORMAL = 1, LVCB_HOVER = 2, - LVCB_PUSHED = 3, + LVCB_PUSHED = 3 }; /* MENUSTYLE class */ @@ -884,14 +884,14 @@ enum MENUPARTS { MENU_SYSTEMCLOSE = 17, MENU_SYSTEMMAXIMIZE = 18, MENU_SYSTEMMINIMIZE = 19, - MENU_SYSTEMRESTORE = 20, + MENU_SYSTEMRESTORE = 20 }; #define MENUSTYLEPARTS MENUPARTS; enum BARBACKGROUNDSTATES { MB_ACTIVE = 1, - MB_INACTIVE = 2, + MB_INACTIVE = 2 }; enum BARITEMSTATES { @@ -900,52 +900,52 @@ enum BARITEMSTATES { MBI_PUSHED = 3, MBI_DISABLED = 4, MBI_DISABLEDHOT = 5, - MBI_DISABLEDPUSHED = 6, + MBI_DISABLEDPUSHED = 6 }; enum POPUPCHECKSTATES { MC_CHECKMARKNORMAL = 1, MC_CHECKMARKDISABLED = 2, MC_BULLETNORMAL = 3, - MC_BULLETDISABLED = 4, + MC_BULLETDISABLED = 4 }; enum POPUPCHECKBACKGROUNDSTATES { MCB_DISABLED = 1, MCB_NORMAL = 2, - MCB_BITMAP = 3, + MCB_BITMAP = 3 }; enum POPUPITEMSTATES { MPI_NORMAL = 1, MPI_HOT = 2, MPI_DISABLED = 3, - MPI_DISABLEDHOT = 4, + MPI_DISABLEDHOT = 4 }; enum POPUPSUBMENUSTATES { MSM_NORMAL = 1, - MSM_DISABLED = 2, + MSM_DISABLED = 2 }; enum SYSTEMCLOSESTATES { MSYSC_NORMAL = 1, - MSYSC_DISABLED = 2, + MSYSC_DISABLED = 2 }; enum SYSTEMMAXIMIZESTATES { MSYSMX_NORMAL = 1, - MSYSMX_DISABLED = 2, + MSYSMX_DISABLED = 2 }; enum SYSTEMMINIMIZESTATES { MSYSMN_NORMAL = 1, - MSYSMN_DISABLED = 2, + MSYSMN_DISABLED = 2 }; enum SYSTEMRESTORESTATES { MSYSR_NORMAL = 1, - MSYSR_DISABLED = 2, + MSYSR_DISABLED = 2 }; /* NAVIGATION class */ @@ -960,28 +960,28 @@ static const WCHAR VSCLASS_NAVIGATION [] = {'N','A','V','I','G','A','T','I','O', enum NAVIGATIONPARTS { NAV_BACKBUTTON = 1, NAV_FORWARDBUTTON = 2, - NAV_MENUBUTTON = 3, + NAV_MENUBUTTON = 3 }; enum NAV_BACKBUTTONSTATES { NAV_BB_NORMAL = 1, NAV_BB_HOT = 2, NAV_BB_PRESSED = 3, - NAV_BB_DISABLED = 4, + NAV_BB_DISABLED = 4 }; enum NAV_FORWARDBUTTONSTATES { NAV_FB_NORMAL = 1, NAV_FB_HOT = 2, NAV_FB_PRESSED = 3, - NAV_FB_DISABLED = 4, + NAV_FB_DISABLED = 4 }; enum NAV_MENUBUTTONSTATES { NAV_MB_NORMAL = 1, NAV_MB_HOT = 2, NAV_MB_PRESSED = 3, - NAV_MB_DISABLED = 4, + NAV_MB_DISABLED = 4 }; /* PROGRESSSTYLE class */ @@ -1008,33 +1008,33 @@ enum PROGRESSPARTS { PP_PULSEOVERLAYVERT = 9, PP_MOVEOVERLAYVERT = 10, PP_TRANSPARENTBAR = 11, - PP_TRANSPARENTBARVERT = 12, + PP_TRANSPARENTBARVERT = 12 }; #define PROGRESSSTYLEPARTS PROGRESSPARTS; enum TRANSPARENTBARSTATES { PBBS_NORMAL = 1, - PBBS_PARTIAL = 2, + PBBS_PARTIAL = 2 }; enum TRANSPARENTBARVERTSTATES { PBBVS_NORMAL = 1, - PBBVS_PARTIAL = 2, + PBBVS_PARTIAL = 2 }; enum FILLSTATES { PBFS_NORMAL = 1, PBFS_ERROR = 2, PBFS_PAUSED = 3, - PBFS_PARTIAL = 4, + PBFS_PARTIAL = 4 }; enum FILLVERTSTATES { PBFVS_NORMAL = 1, PBFVS_ERROR = 2, PBFVS_PAUSED = 3, - PBFVS_PARTIAL = 4, + PBFVS_PARTIAL = 4 }; /* REBARSTYLE class */ @@ -1057,7 +1057,7 @@ enum REBARPARTS { RP_CHEVRONVERT = 5, RP_BACKGROUND = 6, RP_SPLITTER = 7, - RP_SPLITTERVERT = 8, + RP_SPLITTERVERT = 8 }; #define REBARSTYLEPARTS REBARPARTS; @@ -1065,25 +1065,25 @@ enum REBARPARTS { enum CHEVRONSTATES { CHEVS_NORMAL = 1, CHEVS_HOT = 2, - CHEVS_PRESSED = 3, + CHEVS_PRESSED = 3 }; enum CHEVRONVERTSTATES { CHEVSV_NORMAL = 1, CHEVSV_HOT = 2, - CHEVSV_PRESSED = 3, + CHEVSV_PRESSED = 3 }; enum SPLITTERSTATES { SPLITS_NORMAL = 1, SPLITS_HOT = 2, - SPLITS_PRESSED = 3, + SPLITS_PRESSED = 3 }; enum SPLITTERVERTSTATES { SPLITSV_NORMAL = 1, SPLITSV_HOT = 2, - SPLITSV_PRESSED = 3, + SPLITSV_PRESSED = 3 }; /* SCROLLBARSTYLE class */ @@ -1108,7 +1108,7 @@ enum SCROLLBARPARTS { SBP_UPPERTRACKVERT = 7, SBP_GRIPPERHORZ = 8, SBP_GRIPPERVERT = 9, - SBP_SIZEBOX = 10, + SBP_SIZEBOX = 10 }; #define SCROLLBARSTYLEPARTS SCROLLBARPARTS; @@ -1133,7 +1133,7 @@ enum ARROWBTNSTATES { ABS_UPHOVER = 17, ABS_DOWNHOVER = 18, ABS_LEFTHOVER = 19, - ABS_RIGHTHOVER = 20, + ABS_RIGHTHOVER = 20 }; enum SCROLLBARSTYLESTATES { @@ -1141,7 +1141,7 @@ enum SCROLLBARSTYLESTATES { SCRBS_HOT = 2, SCRBS_PRESSED = 3, SCRBS_DISABLED = 4, - SCRBS_HOVER = 5, + SCRBS_HOVER = 5 }; enum SIZEBOXSTATES { @@ -1152,7 +1152,7 @@ enum SIZEBOXSTATES { SZB_HALFBOTTOMRIGHTALIGN = 5, SZB_HALFBOTTOMLEFTALIGN = 6, SZB_HALFTOPRIGHTALIGN = 7, - SZB_HALFTOPLEFTALIGN = 8, + SZB_HALFTOPLEFTALIGN = 8 }; /* SPINSTYLE class */ @@ -1175,7 +1175,7 @@ enum SPINPARTS { SPNP_UP = 1, SPNP_DOWN = 2, SPNP_UPHORZ = 3, - SPNP_DOWNHORZ = 4, + SPNP_DOWNHORZ = 4 }; #define SPINSTYLEPARTS SPINPARTS; @@ -1184,28 +1184,28 @@ enum UPSTATES { UPS_NORMAL = 1, UPS_HOT = 2, UPS_PRESSED = 3, - UPS_DISABLED = 4, + UPS_DISABLED = 4 }; enum DOWNSTATES { DNS_NORMAL = 1, DNS_HOT = 2, DNS_PRESSED = 3, - DNS_DISABLED = 4, + DNS_DISABLED = 4 }; enum UPHORZSTATES { UPHZS_NORMAL = 1, UPHZS_HOT = 2, UPHZS_PRESSED = 3, - UPHZS_DISABLED = 4, + UPHZS_DISABLED = 4 }; enum DOWNHORZSTATES { DNHZS_NORMAL = 1, DNHZS_HOT = 2, DNHZS_PRESSED = 3, - DNHZS_DISABLED = 4, + DNHZS_DISABLED = 4 }; /* STATUSSTYLE class */ @@ -1223,7 +1223,7 @@ static const WCHAR VSCLASS_STATUS [] = {'S','T','A','T','U','S',0}; enum STATUSPARTS { SP_PANE = 1, SP_GRIPPERPANE = 2, - SP_GRIPPER = 3, + SP_GRIPPER = 3 }; #define STATUSSTYLEPARTS STATUSPARTS; @@ -1251,7 +1251,7 @@ enum TABPARTS { TABP_TOPTABITEMBOTHEDGE = 8, TABP_PANE = 9, TABP_BODY = 10, - TABP_AEROWIZARDBODY = 11, + TABP_AEROWIZARDBODY = 11 }; #define TABSTYLEPARTS TABPARTS; @@ -1261,7 +1261,7 @@ enum TABITEMSTATES { TIS_HOT = 2, TIS_SELECTED = 3, TIS_DISABLED = 4, - TIS_FOCUSED = 5, + TIS_FOCUSED = 5 }; enum TABITEMLEFTEDGESTATES { @@ -1269,7 +1269,7 @@ enum TABITEMLEFTEDGESTATES { TILES_HOT = 2, TILES_SELECTED = 3, TILES_DISABLED = 4, - TILES_FOCUSED = 5, + TILES_FOCUSED = 5 }; enum TABITEMRIGHTEDGESTATES { @@ -1277,7 +1277,7 @@ enum TABITEMRIGHTEDGESTATES { TIRES_HOT = 2, TIRES_SELECTED = 3, TIRES_DISABLED = 4, - TIRES_FOCUSED = 5, + TIRES_FOCUSED = 5 }; enum TABITEMBOTHEDGESTATES { @@ -1285,7 +1285,7 @@ enum TABITEMBOTHEDGESTATES { TIBES_HOT = 2, TIBES_SELECTED = 3, TIBES_DISABLED = 4, - TIBES_FOCUSED = 5, + TIBES_FOCUSED = 5 }; enum TOPTABITEMSTATES { @@ -1293,7 +1293,7 @@ enum TOPTABITEMSTATES { TTIS_HOT = 2, TTIS_SELECTED = 3, TTIS_DISABLED = 4, - TTIS_FOCUSED = 5, + TTIS_FOCUSED = 5 }; enum TOPTABITEMLEFTEDGESTATES { @@ -1301,7 +1301,7 @@ enum TOPTABITEMLEFTEDGESTATES { TTILES_HOT = 2, TTILES_SELECTED = 3, TTILES_DISABLED = 4, - TTILES_FOCUSED = 5, + TTILES_FOCUSED = 5 }; enum TOPTABITEMRIGHTEDGESTATES { @@ -1309,7 +1309,7 @@ enum TOPTABITEMRIGHTEDGESTATES { TTIRES_HOT = 2, TTIRES_SELECTED = 3, TTIRES_DISABLED = 4, - TTIRES_FOCUSED = 5, + TTIRES_FOCUSED = 5 }; enum TOPTABITEMBOTHEDGESTATES { @@ -1317,7 +1317,7 @@ enum TOPTABITEMBOTHEDGESTATES { TTIBES_HOT = 2, TTIBES_SELECTED = 3, TTIBES_DISABLED = 4, - TTIBES_FOCUSED = 5, + TTIBES_FOCUSED = 5 }; /* TASKDIALOGSTYLE class */ @@ -1353,13 +1353,13 @@ enum TASKDIALOGPARTS { TDLG_EXPANDEDFOOTERAREA = 18, TDLG_PROGRESSBAR = 19, TDLG_IMAGEALIGNMENT = 20, - TDLG_RADIOBUTTONPANE = 21, + TDLG_RADIOBUTTONPANE = 21 }; #define TASKDIALOGSTYLEPARTS TASKDIALOGPARTS; enum CONTENTPANESTATES { - TDLGCPS_STANDALONE = 1, + TDLGCPS_STANDALONE = 1 }; enum EXPANDOBUTTONSTATES { @@ -1368,7 +1368,7 @@ enum EXPANDOBUTTONSTATES { TDLGEBS_PRESSED = 3, TDLGEBS_EXPANDEDNORMAL = 4, TDLGEBS_EXPANDEDHOVER = 5, - TDLGEBS_EXPANDEDPRESSED = 6, + TDLGEBS_EXPANDEDPRESSED = 6 }; /* TEXTSTYLE class */ @@ -1389,19 +1389,19 @@ enum TEXTSTYLEPARTS { TEXT_HYPERLINKTEXT = 6, TEXT_EXPANDED = 7, TEXT_LABEL = 8, - TEXT_CONTROLLABEL = 9, + TEXT_CONTROLLABEL = 9 }; enum HYPERLINKTEXTSTATES { TS_HYPERLINK_NORMAL = 1, TS_HYPERLINK_HOT = 2, TS_HYPERLINK_PRESSED = 3, - TS_HYPERLINK_DISABLED = 4, + TS_HYPERLINK_DISABLED = 4 }; enum CONTROLLABELSTATES { TS_CONTROLLABEL_NORMAL = 1, - TS_CONTROLLABEL_DISABLED = 2, + TS_CONTROLLABEL_DISABLED = 2 }; /* TOOLBARSTYLE class */ @@ -1423,7 +1423,7 @@ enum TOOLBARPARTS { TP_SPLITBUTTONDROPDOWN = 4, TP_SEPARATOR = 5, TP_SEPARATORVERT = 6, - TP_DROPDOWNBUTTONGLYPH = 7, + TP_DROPDOWNBUTTONGLYPH = 7 }; #define TOOLBARSTYLEPARTS TOOLBARPARTS; @@ -1436,7 +1436,7 @@ enum TOOLBARSTYLESTATES { TS_CHECKED = 5, TS_HOTCHECKED = 6, TS_NEARHOT = 7, - TS_OTHERSIDEHOT = 8, + TS_OTHERSIDEHOT = 8 }; /* TOOLTIPSTYLE class */ @@ -1458,7 +1458,7 @@ enum TOOLTIPPARTS { TTP_BALLOONTITLE = 4, TTP_CLOSE = 5, TTP_BALLOONSTEM = 6, - TTP_WRENCH = 7, + TTP_WRENCH = 7 }; #define TOOLTIPSTYLEPARTS TOOLTIPPARTS; @@ -1466,17 +1466,17 @@ enum TOOLTIPPARTS { enum CLOSESTATES { TTCS_NORMAL = 1, TTCS_HOT = 2, - TTCS_PRESSED = 3, + TTCS_PRESSED = 3 }; enum STANDARDSTATES { TTSS_NORMAL = 1, - TTSS_LINK = 2, + TTSS_LINK = 2 }; enum BALLOONSTATES { TTBS_NORMAL = 1, - TTBS_LINK = 2, + TTBS_LINK = 2 }; enum BALLOONSTEMSTATES { @@ -1485,13 +1485,13 @@ enum BALLOONSTEMSTATES { TTBSS_POINTINGUPRIGHTWALL = 3, TTBSS_POINTINGDOWNRIGHTWALL = 4, TTBSS_POINTINGDOWNCENTERED = 5, - TTBSS_POINTINGDOWNLEFTWALL = 6, + TTBSS_POINTINGDOWNLEFTWALL = 6 }; enum WRENCHSTATES { TTWS_NORMAL = 1, TTWS_HOT = 2, - TTWS_PRESSED = 3, + TTWS_PRESSED = 3 }; /* TRACKBARSTYLE class */ @@ -1516,21 +1516,21 @@ enum TRACKBARPARTS { TKP_THUMBLEFT = 7, TKP_THUMBRIGHT = 8, TKP_TICS = 9, - TKP_TICSVERT = 10, + TKP_TICSVERT = 10 }; #define TRACKBARSTYLEPARTS TRACKBARPARTS; enum TRACKBARSTYLESTATES { - TKS_NORMAL = 1, + TKS_NORMAL = 1 }; enum TRACKSTATES { - TRS_NORMAL = 1, + TRS_NORMAL = 1 }; enum TRACKVERTSTATES { - TRVS_NORMAL = 1, + TRVS_NORMAL = 1 }; enum THUMBSTATES { @@ -1538,7 +1538,7 @@ enum THUMBSTATES { TUS_HOT = 2, TUS_PRESSED = 3, TUS_FOCUSED = 4, - TUS_DISABLED = 5, + TUS_DISABLED = 5 }; enum THUMBBOTTOMSTATES { @@ -1546,7 +1546,7 @@ enum THUMBBOTTOMSTATES { TUBS_HOT = 2, TUBS_PRESSED = 3, TUBS_FOCUSED = 4, - TUBS_DISABLED = 5, + TUBS_DISABLED = 5 }; enum THUMBTOPSTATES { @@ -1554,7 +1554,7 @@ enum THUMBTOPSTATES { TUTS_HOT = 2, TUTS_PRESSED = 3, TUTS_FOCUSED = 4, - TUTS_DISABLED = 5, + TUTS_DISABLED = 5 }; enum THUMBVERTSTATES { @@ -1562,7 +1562,7 @@ enum THUMBVERTSTATES { TUVS_HOT = 2, TUVS_PRESSED = 3, TUVS_FOCUSED = 4, - TUVS_DISABLED = 5, + TUVS_DISABLED = 5 }; enum THUMBLEFTSTATES { @@ -1570,7 +1570,7 @@ enum THUMBLEFTSTATES { TUVLS_HOT = 2, TUVLS_PRESSED = 3, TUVLS_FOCUSED = 4, - TUVLS_DISABLED = 5, + TUVLS_DISABLED = 5 }; enum THUMBRIGHTSTATES { @@ -1578,15 +1578,15 @@ enum THUMBRIGHTSTATES { TUVRS_HOT = 2, TUVRS_PRESSED = 3, TUVRS_FOCUSED = 4, - TUVRS_DISABLED = 5, + TUVRS_DISABLED = 5 }; enum TICSSTATES { - TSS_NORMAL = 1, + TSS_NORMAL = 1 }; enum TICSVERTSTATES { - TSVS_NORMAL = 1, + TSVS_NORMAL = 1 }; /* TREEVIEWSTYLE class */ @@ -1605,7 +1605,7 @@ enum TREEVIEWPARTS { TVP_TREEITEM = 1, TVP_GLYPH = 2, TVP_BRANCH = 3, - TVP_HOTGLYPH = 4, + TVP_HOTGLYPH = 4 }; #define TREEVIEWSTYLEPARTS TREEVIEWPARTS; @@ -1616,17 +1616,17 @@ enum TREEITEMSTATES { TREIS_SELECTED = 3, TREIS_DISABLED = 4, TREIS_SELECTEDNOTFOCUS = 5, - TREIS_HOTSELECTED = 6, + TREIS_HOTSELECTED = 6 }; enum GLYPHSTATES { GLPS_CLOSED = 1, - GLPS_OPENED = 2, + GLPS_OPENED = 2 }; enum HOTGLYPHSTATES { HGLPS_CLOSED = 1, - HGLPS_OPENED = 2, + HGLPS_OPENED = 2 }; /* WINDOWSTYLE class */ @@ -1679,102 +1679,102 @@ enum WINDOWPARTS { WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35, WP_FRAMEBOTTOMSIZINGTEMPLATE = 36, WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37, - WP_FRAME = 38, + WP_FRAME = 38 }; #define WINDOWSTYLEPARTS WINDOWPARTS; enum FRAMESTATES { FS_ACTIVE = 1, - FS_INACTIVE = 2, + FS_INACTIVE = 2 }; enum CAPTIONSTATES { CS_ACTIVE = 1, CS_INACTIVE = 2, - CS_DISABLED = 3, + CS_DISABLED = 3 }; enum MAXCAPTIONSTATES { MXCS_ACTIVE = 1, MXCS_INACTIVE = 2, - MXCS_DISABLED = 3, + MXCS_DISABLED = 3 }; enum MINCAPTIONSTATES { MNCS_ACTIVE = 1, MNCS_INACTIVE = 2, - MNCS_DISABLED = 3, + MNCS_DISABLED = 3 }; enum HORZSCROLLSTATES { HSS_NORMAL = 1, HSS_HOT = 2, HSS_PUSHED = 3, - HSS_DISABLED = 4, + HSS_DISABLED = 4 }; enum HORZTHUMBSTATES { HTS_NORMAL = 1, HTS_HOT = 2, HTS_PUSHED = 3, - HTS_DISABLED = 4, + HTS_DISABLED = 4 }; enum VERTSCROLLSTATES { VSS_NORMAL = 1, VSS_HOT = 2, VSS_PUSHED = 3, - VSS_DISABLED = 4, + VSS_DISABLED = 4 }; enum VERTTHUMBSTATES { VTS_NORMAL = 1, VTS_HOT = 2, VTS_PUSHED = 3, - VTS_DISABLED = 4, + VTS_DISABLED = 4 }; enum SYSBUTTONSTATES { SBS_NORMAL = 1, SBS_HOT = 2, SBS_PUSHED = 3, - SBS_DISABLED = 4, + SBS_DISABLED = 4 }; enum MINBUTTONSTATES { MINBS_NORMAL = 1, MINBS_HOT = 2, MINBS_PUSHED = 3, - MINBS_DISABLED = 4, + MINBS_DISABLED = 4 }; enum MAXBUTTONSTATES { MAXBS_NORMAL = 1, MAXBS_HOT = 2, MAXBS_PUSHED = 3, - MAXBS_DISABLED = 4, + MAXBS_DISABLED = 4 }; enum RESTOREBUTTONSTATES { RBS_NORMAL = 1, RBS_HOT = 2, RBS_PUSHED = 3, - RBS_DISABLED = 4, + RBS_DISABLED = 4 }; enum HELPBUTTONSTATES { HBS_NORMAL = 1, HBS_HOT = 2, HBS_PUSHED = 3, - HBS_DISABLED = 4, + HBS_DISABLED = 4 }; enum CLOSEBUTTONSTATES { CBS_NORMAL = 1, CBS_HOT = 2, CBS_PUSHED = 3, - CBS_DISABLED = 4, + CBS_DISABLED = 4 }; #endif /* __VSSTYLE_H__ */ diff --git a/lib/libc/include/any-windows-any/vssym32.h b/lib/libc/include/any-windows-any/vssym32.h index 88ec01f944f5..f4d05b549620 100644 --- a/lib/libc/include/any-windows-any/vssym32.h +++ b/lib/libc/include/any-windows-any/vssym32.h @@ -51,18 +51,18 @@ enum BGTYPE { BT_IMAGEFILE = 0, BT_BORDERFILL = 1, - BT_NONE = 2, + BT_NONE = 2 }; enum IMAGELAYOUT { IL_VERTICAL = 0, - IL_HORIZONTAL = 1, + IL_HORIZONTAL = 1 }; enum BORDERTYPE { BT_RECT = 0, BT_ROUNDRECT = 1, - BT_ELLIPSE = 2, + BT_ELLIPSE = 2 }; enum FILLTYPE { @@ -70,31 +70,31 @@ enum FILLTYPE { FT_VERTGRADIENT = 1, FT_HORZGRADIENT = 2, FT_RADIALGRADIENT = 3, - FT_TILEIMAGE = 4, + FT_TILEIMAGE = 4 }; enum SIZINGTYPE { ST_TRUESIZE = 0, ST_STRETCH = 1, - ST_TILE = 2, + ST_TILE = 2 }; enum HALIGN { HA_LEFT = 0, HA_CENTER = 1, - HA_RIGHT = 2, + HA_RIGHT = 2 }; enum CONTENTALIGNMENT { CA_LEFT = 0, CA_CENTER = 1, - CA_RIGHT = 2, + CA_RIGHT = 2 }; enum VALIGN { VA_TOP = 0, VA_CENTER = 1, - VA_BOTTOM = 2, + VA_BOTTOM = 2 }; enum OFFSETTYPE { @@ -111,7 +111,7 @@ enum OFFSETTYPE { OT_LEFTOFLASTBUTTON = 10, OT_RIGHTOFLASTBUTTON = 11, OT_ABOVELASTBUTTON = 12, - OT_BELOWLASTBUTTON = 13, + OT_BELOWLASTBUTTON = 13 }; enum ICONEFFECT { @@ -119,37 +119,37 @@ enum ICONEFFECT { ICE_GLOW = 1, ICE_SHADOW = 2, ICE_PULSE = 3, - ICE_ALPHA = 4, + ICE_ALPHA = 4 }; enum TEXTSHADOWTYPE { TST_NONE = 0, TST_SINGLE = 1, - TST_CONTINUOUS = 2, + TST_CONTINUOUS = 2 }; enum GLYPHTYPE { GT_NONE = 0, GT_IMAGEGLYPH = 1, - GT_FONTGLYPH = 2, + GT_FONTGLYPH = 2 }; enum IMAGESELECTTYPE { IST_NONE = 0, IST_SIZE = 1, - IST_DPI = 2, + IST_DPI = 2 }; enum TRUESIZESCALINGTYPE { TSST_NONE = 0, TSST_SIZE = 1, - TSST_DPI = 2, + TSST_DPI = 2 }; enum GLYPHFONTSIZINGTYPE { GFST_NONE = 0, GFST_SIZE = 1, - GFST_DPI = 2, + GFST_DPI = 2 }; #define TMT_RESERVEDLOW 0 @@ -413,12 +413,12 @@ static const WCHAR VSCLASS_LINK[] = {'L','I','N','K',0}; #endif enum LINKPARTS { - LP_HYPERLINK = 1, + LP_HYPERLINK = 1 }; enum HYPERLINKSTATES { HLS_NORMALTEXT = 1, - HLS_LINKTEXT = 2, + HLS_LINKTEXT = 2 }; /* EMPTYMARKUP class */ @@ -431,12 +431,12 @@ static const WCHAR VSCLASS_EMPTYMARKUP[] = {'E','M','P','T','Y','M','A','R','K', #endif enum EMPTYMARKUPPARTS { - EMP_MARKUPTEXT = 1, + EMP_MARKUPTEXT = 1 }; enum MARKUPTEXTSTATES { EMT_NORMALTEXT = 1, - EMT_LINKTEXT = 2, + EMT_LINKTEXT = 2 }; /* STATIC class */ @@ -449,7 +449,7 @@ static const WCHAR VSCLASS_STATIC[] = {'S','T','A','T','I','C',0}; #endif enum STATICPARTS { - STAT_TEXT = 1, + STAT_TEXT = 1 }; /* PAGE class */ @@ -465,7 +465,7 @@ enum PAGEPARTS { PGRP_UP = 1, PGRP_DOWN = 2, PGRP_UPHORZ = 3, - PGRP_DOWNHORZ = 4, + PGRP_DOWNHORZ = 4 }; /* MONTHCAL class */ @@ -488,7 +488,7 @@ enum MONTHCALPARTS { MC_TRAILINGGRIDCELL = 8, MC_TRAILINGGRIDCELLUPPER = 9, MC_NAVNEXT = 10, - MC_NAVPREV = 11, + MC_NAVPREV = 11 }; enum GRIDCELLBACKGROUNDSTATES { @@ -496,47 +496,47 @@ enum GRIDCELLBACKGROUNDSTATES { MCGCB_HOT = 2, MCGCB_SELECTEDHOT = 3, MCGCB_SELECTEDNOTFOCUSED = 4, - MCGCB_TODAY = 5, + MCGCB_TODAY = 5 }; enum GRIDCELLSTATES { MCGC_HOT = 1, MCGC_HASSTATE = 2, MCGC_HASSTATEHOT = 3, - MCGC_TODAY = 4, + MCGC_TODAY = 4 }; enum GRIDCELLUPPERSTATES { MCGCU_HOT = 1, MCGCU_HASSTATE = 2, - MCGCU_HASSTATEHOT = 3, + MCGCU_HASSTATEHOT = 3 }; enum TRAILINGGRIDCELLSTATES { MCTGC_HOT = 1, MCTGC_HASSTATE = 2, MCTGC_HASSTATEHOT = 3, - MCTGC_TODAY = 4, + MCTGC_TODAY = 4 }; enum TRAILINGGRIDCELLUPPERSTATES { MCTGCU_HOT = 1, MCTGCU_HASSTATE = 2, - MCTGCU_HASSTATEHOT = 3, + MCTGCU_HASSTATEHOT = 3 }; enum NAVNEXTSTATES { MCNN_NORMAL = 1, MCNN_HOT = 2, MCNN_PRESSED = 3, - MCNN_DISABLED = 4, + MCNN_DISABLED = 4 }; enum NAVPREVSTATES { MCNP_NORMAL = 1, MCNP_HOT = 2, MCNP_PRESSED = 3, - MCNP_DISABLED = 4, + MCNP_DISABLED = 4 }; /* CLOCK class */ @@ -549,13 +549,13 @@ static const WCHAR VSCLASS_CLOCK[] = {'C','L','O','C','K',0}; #endif enum CLOCKPARTS { - CLP_TIME = 1, + CLP_TIME = 1 }; enum CLOCKSTATES { CLS_NORMAL = 1, CLS_HOT = 2, - CLS_PRESSED = 3, + CLS_PRESSED = 3 }; /* TRAYNOTIFY class */ @@ -569,7 +569,7 @@ static const WCHAR VSCLASS_TRAYNOTIFY[] = {'T','R','A','Y','N','O','T','I','F',' enum TRAYNOTIFYPARTS { TNP_BACKGROUND = 1, - TNP_ANIMBACKGROUND = 2, + TNP_ANIMBACKGROUND = 2 }; /* TASKBAR class */ @@ -589,7 +589,7 @@ enum TASKBARPARTS { TBP_SIZINGBARBOTTOM = 5, TBP_SIZINGBARRIGHT = 6, TBP_SIZINGBARTOP = 7, - TBP_SIZINGBARLEFT = 8, + TBP_SIZINGBARLEFT = 8 }; /* TASKBAND class */ @@ -604,7 +604,7 @@ static const WCHAR VSCLASS_TASKBAND[] = {'T','A','S','K','B','A','N','D',0}; enum TASKBANDPARTS { TDP_GROUPCOUNT = 1, TDP_FLASHBUTTON = 2, - TDP_FLASHBUTTONGROUPMENU = 3, + TDP_FLASHBUTTONGROUPMENU = 3 }; /* STARTPANEL class */ @@ -635,7 +635,7 @@ enum STARTPANELPARTS { SPP_SEARCHVIEW = 16, SPP_MOREPROGRAMSARROWBACK = 17, SPP_TOPMATCH = 18, - SPP_LOGOFFSPLITBUTTONDROPDOWN = 19, + SPP_LOGOFFSPLITBUTTONDROPDOWN = 19 }; enum MOREPROGRAMSTABSTATES { @@ -643,7 +643,7 @@ enum MOREPROGRAMSTABSTATES { SPMPT_HOT = 2, SPMPT_SELECTED = 3, SPMPT_DISABLED = 4, - SPMPT_FOCUSED = 5, + SPMPT_FOCUSED = 5 }; enum SOFTWAREEXPLORERSTATES { @@ -651,7 +651,7 @@ enum SOFTWAREEXPLORERSTATES { SPSE_HOT = 2, SPSE_SELECTED = 3, SPSE_DISABLED = 4, - SPSE_FOCUSED = 5, + SPSE_FOCUSED = 5 }; enum OPENBOXSTATES { @@ -659,25 +659,25 @@ enum OPENBOXSTATES { SPOB_HOT = 2, SPOB_SELECTED = 3, SPOB_DISABLED = 4, - SPOB_FOCUSED = 5, + SPOB_FOCUSED = 5 }; enum MOREPROGRAMSARROWSTATES { SPS_NORMAL = 1, SPS_HOT = 2, - SPS_PRESSED = 3, + SPS_PRESSED = 3 }; enum MOREPROGRAMSARROWBACKSTATES { SPSB_NORMAL = 1, SPSB_HOT = 2, - SPSB_PRESSED = 3, + SPSB_PRESSED = 3 }; enum LOGOFFBUTTONSSTATES { SPLS_NORMAL = 1, SPLS_HOT = 2, - SPLS_PRESSED = 3, + SPLS_PRESSED = 3 }; /* MENUBAND class */ @@ -691,7 +691,7 @@ static const WCHAR VSCLASS_MENUBAND[] = {'M','E','N','U','B','A','N','D',0}; enum MENUBANDPARTS { MDP_NEWAPPBUTTON = 1, - MDP_SEPERATOR = 2, + MDP_SEPERATOR = 2 }; enum MENUBANDSTATES { @@ -700,7 +700,7 @@ enum MENUBANDSTATES { MDS_PRESSED = 3, MDS_DISABLED = 4, MDS_CHECKED = 5, - MDS_HOTCHECKED = 6, + MDS_HOTCHECKED = 6 }; #endif /* __VSSYM32_H__ */ diff --git a/lib/libc/include/any-windows-any/vswriter.h b/lib/libc/include/any-windows-any/vswriter.h index 814a3c011ad9..d75afb166fa6 100644 --- a/lib/libc/include/any-windows-any/vswriter.h +++ b/lib/libc/include/any-windows-any/vswriter.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/vswriter.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/vswriter.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wbemads.h b/lib/libc/include/any-windows-any/wbemads.h index 994f3cf96338..d4a0bceb38cc 100644 --- a/lib/libc/include/any-windows-any/wbemads.h +++ b/lib/libc/include/any-windows-any/wbemads.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wbemads.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wbemads.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wbemcli.h b/lib/libc/include/any-windows-any/wbemcli.h index 1f5d7ba70be2..1f64731d0cbc 100644 --- a/lib/libc/include/any-windows-any/wbemcli.h +++ b/lib/libc/include/any-windows-any/wbemcli.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wbemcli.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wbemcli.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wbemdisp.h b/lib/libc/include/any-windows-any/wbemdisp.h index 9ee50d7909bf..8970c4a1f1e6 100644 --- a/lib/libc/include/any-windows-any/wbemdisp.h +++ b/lib/libc/include/any-windows-any/wbemdisp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wbemdisp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wbemdisp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wbemidl.h b/lib/libc/include/any-windows-any/wbemidl.h index 7c221583276c..a055944ef6e1 100644 --- a/lib/libc/include/any-windows-any/wbemidl.h +++ b/lib/libc/include/any-windows-any/wbemidl.h @@ -6,8 +6,8 @@ #ifndef __WBEMIDL_H_ #define __WBEMIDL_H_ -#include - +#include + #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) #include diff --git a/lib/libc/include/any-windows-any/wbemprov.h b/lib/libc/include/any-windows-any/wbemprov.h index 11718bd70d04..df6c098e1933 100644 --- a/lib/libc/include/any-windows-any/wbemprov.h +++ b/lib/libc/include/any-windows-any/wbemprov.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wbemprov.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wbemprov.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wbemtran.h b/lib/libc/include/any-windows-any/wbemtran.h index 7f3f61de7af8..a925bee638b1 100644 --- a/lib/libc/include/any-windows-any/wbemtran.h +++ b/lib/libc/include/any-windows-any/wbemtran.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wbemtran.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wbemtran.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wchar.h b/lib/libc/include/any-windows-any/wchar.h index ca2c1fc70cb3..c72530c18d7e 100644 --- a/lib/libc/include/any-windows-any/wchar.h +++ b/lib/libc/include/any-windows-any/wchar.h @@ -9,6 +9,7 @@ #include #include #include +#include #if __USE_MINGW_ANSI_STDIO && !defined (__USE_MINGW_STRTOX) && !defined(_CRTBLD) #define __USE_MINGW_STRTOX 1 @@ -148,109 +149,6 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); #define _WConst_return _CONST_RETURN -#ifndef _CRT_CTYPEDATA_DEFINED -#define _CRT_CTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS - -#ifndef __PCTYPE_FUNC -#define __PCTYPE_FUNC __pctype_func() - _CRTIMP const unsigned short* __pctype_func(void); -#endif - -#ifndef _pctype -#define _pctype (__pctype_func()) -#endif -#endif -#endif - -#ifndef _CRT_WCTYPEDATA_DEFINED -#define _CRT_WCTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS -#if !defined(_wctype) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) - extern const unsigned short ** __MINGW_IMP_SYMBOL(_wctype); -#define _wctype (* __MINGW_IMP_SYMBOL(_wctype)) -#endif - - _CRTIMP const wctype_t * __cdecl __pwctype_func(void); -#ifndef _pwctype -#define _pwctype (__pwctype_func()) -#endif - -#endif -#endif - -#define _UPPER 0x1 -#define _LOWER 0x2 -#define _DIGIT 0x4 -#define _SPACE 0x8 - -#define _PUNCT 0x10 -#define _CONTROL 0x20 -#define _BLANK 0x40 -#define _HEX 0x80 - -#define _LEADBYTE 0x8000 -#define _ALPHA (0x0100|_UPPER|_LOWER) - -#ifndef _WCTYPE_DEFINED -#define _WCTYPE_DEFINED - - int __cdecl iswalpha(wint_t _C); - int __cdecl iswupper(wint_t _C); - int __cdecl iswlower(wint_t _C); - int __cdecl iswdigit(wint_t _C); - int __cdecl iswxdigit(wint_t _C); - int __cdecl iswspace(wint_t _C); - int __cdecl iswpunct(wint_t _C); - int __cdecl iswalnum(wint_t _C); - int __cdecl iswprint(wint_t _C); - int __cdecl iswgraph(wint_t _C); - int __cdecl iswcntrl(wint_t _C); - int __cdecl iswascii(wint_t _C); -#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - int __cdecl isleadbyte(int _C); -#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - wint_t __cdecl towupper(wint_t _C); - wint_t __cdecl towlower(wint_t _C); - int __cdecl iswctype(wint_t _C,wctype_t _Type); -#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) - /* These are available since msvcr80.dll (__MSVCRT_VERSION__ >= 0x800), and in - * msvcrt.dll (__MSVCRT_VERSION__ == 0x600) since Vista (_WIN32_WINNT >= 0x0600). */ - _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale); -# ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - _CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale); -# endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - _CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale); - _CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale); - _CRTIMP int __cdecl __iswcsymf(wint_t _C); - _CRTIMP int __cdecl __iswcsym(wint_t _C); -#endif -#if __MSVCRT_VERSION__ >= 0x800 - /* These are only available since msvcr80.dll, never in msvcrt.dll. */ - _CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale); - _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale); -#endif -#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP - int __cdecl is_wctype(wint_t _C,wctype_t _Type); -#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus) - int __cdecl iswblank(wint_t _C); -#endif - -#endif - #ifndef _WDIRECT_DEFINED #define _WDIRECT_DEFINED @@ -304,6 +202,10 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale); #endif +#if __MSVCRT_VERSION__ >= 0xB00 + _CRTIMP _locale_t __cdecl _wcreate_locale(int _Category, const wchar_t *_Locale); +#endif + #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP #ifndef _WEXEC_DEFINED #define _WEXEC_DEFINED @@ -335,41 +237,6 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); #endif #endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP */ -#ifndef _WCTYPE_INLINE_DEFINED -#undef _CRT_WCTYPE_NOINLINE -#if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE) -#define iswalpha(_c) (iswctype(_c,_ALPHA)) -#define iswupper(_c) (iswctype(_c,_UPPER)) -#define iswlower(_c) (iswctype(_c,_LOWER)) -#define iswdigit(_c) (iswctype(_c,_DIGIT)) -#define iswxdigit(_c) (iswctype(_c,_HEX)) -#define iswspace(_c) (iswctype(_c,_SPACE)) -#define iswpunct(_c) (iswctype(_c,_PUNCT)) -#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) -#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) -#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) -#define iswcntrl(_c) (iswctype(_c,_CONTROL)) -#define iswascii(_c) ((unsigned)(_c) < 0x80) -#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x600 && _WIN32_WINNT >= 0x0600) -# define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) -# define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) -# define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) -# define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p)) -# define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p)) -# define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p)) -# define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p)) -# define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p)) -# define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p)) -# define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) -# define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) -#endif /* __MSVCRT_VERSION__ >= 0x800 */ -#if !defined(_CTYPE_DISABLE_MACROS) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) -#define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE) -#endif -#endif -#define _WCTYPE_INLINE_DEFINED -#endif - #if !defined(_POSIX_) || defined(__GNUC__) #ifndef _INO_T_DEFINED #define _INO_T_DEFINED @@ -395,7 +262,7 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); _CRTIMP int __cdecl _wstat32(const wchar_t *_Name,struct _stat32 *_Stat); _CRTIMP int __cdecl _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat); - int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); + _CRTIMP int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat); _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat); #endif #endif @@ -472,24 +339,49 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(swscanf); +/* __attribute__((__format__ (ms_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vswscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,va_list) + __MINGW_ASM_CALL(vswscanf); /* __attribute__((__format__ (ms_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(wscanf); +/* __attribute__((__format__ (ms_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_vwscanf(const wchar_t * __restrict__ _Format, va_list) + __MINGW_ASM_CALL(vwscanf); /* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(fwscanf); +/* __attribute__((__format__ (ms_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_vfwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list) + __MINGW_ASM_CALL(vfwscanf); /* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) int __cdecl __ms_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + /* No __MINGW_UCRT_ASM_CALL for __ms_fwprintf; this is provided as an + * actual function in the ucrt import libraries. */ /* __attribute__((__format__ (ms_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...); + int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...) + __MINGW_UCRT_ASM_CALL(wprintf); /* __attribute__((__format__ (ms_wprintf, 2, 0))) */__MINGW_ATTRIB_NONNULL(2) - int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl __ms_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList) + __MINGW_UCRT_ASM_CALL(vfwprintf); /*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) - int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList) + __MINGW_UCRT_ASM_CALL(vwprintf); /* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); + int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(swprintf); /* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) - int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list); + int __cdecl __ms_vswprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ ,va_list) + __MINGW_UCRT_ASM_CALL(vswprintf); +/* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_snwprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...) + __MINGW_UCRT_ASM_CALL(snwprintf); +/* __attribute__((__format__ (ms_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_vsnwprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list) + __MINGW_UCRT_ASM_CALL(vsnwprintf); #ifdef _UCRT int __cdecl __stdio_common_vswprintf(unsigned __int64 options, wchar_t *str, size_t len, const wchar_t *format, _locale_t locale, va_list valist); @@ -570,145 +462,41 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); #else /* !__USE_MINGW_ANSI_STDIO */ #ifdef _UCRT - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN - int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); + __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl wscanf(const wchar_t * __restrict__ _Format,...); __MINGW_ATTRIB_NONNULL(2) - int vfwscanf (FILE *__stream, const wchar_t *__format, va_list __local_argv) - { - return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv); - } + int vfwscanf (FILE *__stream, const wchar_t *__format, va_list __local_argv); - __mingw_ovr __MINGW_ATTRIB_NONNULL(2) - int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, va_list __local_argv) - { - return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __source, (size_t)-1, __format, NULL, __local_argv); - } - __mingw_ovr + int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, va_list __local_argv); __MINGW_ATTRIB_NONNULL(1) - int vwscanf(const wchar_t *__format, va_list __local_argv) - { - return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv); - } + int vwscanf(const wchar_t *__format, va_list __local_argv); int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); - __mingw_ovr - int __cdecl wprintf(const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret; - } - __mingw_ovr - int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList) - { - return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, _ArgList); - } - __mingw_ovr - int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList) - { - return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); - } + int __cdecl wprintf(const wchar_t * __restrict__ _Format,...); + int __cdecl vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + int __cdecl vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); - __mingw_ovr - int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) - { - __builtin_va_list __ap; - int __ret; - /* - * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and - * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is - * executed in "standard snprintf behavior" and returns number of (wide) - * chars required to allocate. For all other cases it is executed in a way - * that returns negative value on error. But C95+ compliant swprintf() for - * case _Count == 0 returns negative value, so handle this case specially. - */ - if (_Dest == NULL && _Count == 0) - return -1; - __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, __ap); - __builtin_va_end(__ap); - return __ret < 0 ? -1 : __ret; - } - __mingw_ovr - int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) - { - int __ret; - /* - * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and - * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is - * executed in "standard snprintf behavior" and returns number of (wide) - * chars required to allocate. For all other cases it is executed in a way - * that returns negative value on error. But C95+ compliant vswprintf() for - * case _Count == 0 returns negative value, so handle this case specially. - */ - if (_Dest == NULL && _Count == 0) - return -1; - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, _Args); - return __ret < 0 ? -1 : __ret; - } + int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...); + int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args); #else int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ - int __cdecl __ms_vwscanf (const wchar_t * __restrict__ , va_list); - int __cdecl __ms_vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list); - int __cdecl __ms_vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list); - - __mingw_ovr __MINGW_ATTRIB_NONNULL(2) - int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) - { - return __ms_vfwscanf (__stream, __format, __local_argv); - } + int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv); - __mingw_ovr __MINGW_ATTRIB_NONNULL(2) - int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv) - { - return __ms_vswscanf( __source, __format, __local_argv ); - } - __mingw_ovr - __MINGW_ATTRIB_NONNULL(1) - int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) - { - return __ms_vwscanf (__format, __local_argv); - } + int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv); + __MINGW_ATTRIB_NONNULL(1) + int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv); #endif /* __NO_ISOCEXT */ int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); @@ -765,22 +553,8 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); } #if __USE_MINGW_ANSI_STDIO == 0 - __mingw_ovr - int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) - { - __builtin_va_list __ap; - int __ret; - __builtin_va_start(__ap, format); - __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); - __builtin_va_end(__ap); - return __ret < 0 ? -1 : __ret; - } - __mingw_ovr - int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) - { - int __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, arg); - return __ret < 0 ? -1 : __ret; - } + int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); + int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg); #endif #else @@ -798,8 +572,6 @@ __MINGW_ASM_CALL(__mingw_vsnwprintf); #pragma push_macro("vsnwprintf") # undef snwprintf # undef vsnwprintf - int __cdecl __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); - int __cdecl __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) __MINGW_ASM_CALL(__ms_snwprintf); int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) __MINGW_ASM_CALL(__ms_vsnwprintf); #pragma pop_macro ("vsnwprintf") diff --git a/lib/libc/include/any-windows-any/wctype.h b/lib/libc/include/any-windows-any/wctype.h index b45ba26c9e53..418d75e9e246 100644 --- a/lib/libc/include/any-windows-any/wctype.h +++ b/lib/libc/include/any-windows-any/wctype.h @@ -6,145 +6,10 @@ #ifndef _INC_WCTYPE #define _INC_WCTYPE -#ifndef _WIN32 -#error Only Win32 target is supported! -#endif - -#include - -#pragma pack(push,_CRT_PACKING) +#include #ifdef __cplusplus extern "C" { -#endif - -#ifndef _CRTIMP -#define _CRTIMP __declspec(dllimport) -#endif - -#ifndef _WCHAR_T_DEFINED -#define _WCHAR_T_DEFINED -#ifndef __cplusplus - typedef unsigned short wchar_t; -#endif /* C++ */ -#endif /* _WCHAR_T_DEFINED */ - -#ifndef _WCTYPE_T_DEFINED -#define _WCTYPE_T_DEFINED - typedef unsigned short wint_t; - typedef unsigned short wctype_t; -#endif /* _WCTYPE_T_DEFINED */ - -#ifndef WEOF -#define WEOF (wint_t)(0xFFFF) -#endif - -#ifndef _CRT_CTYPEDATA_DEFINED -#define _CRT_CTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS - -#ifndef __PCTYPE_FUNC -#define __PCTYPE_FUNC __pctype_func() - _CRTIMP const unsigned short* __pctype_func(void); -#endif - -#ifndef _pctype -#define _pctype (__pctype_func()) -#endif - -#endif -#endif - -#ifndef _CRT_WCTYPEDATA_DEFINED -#define _CRT_WCTYPEDATA_DEFINED -#ifndef _CTYPE_DISABLE_MACROS -#if !defined(_wctype) && defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) - extern const unsigned short ** __MINGW_IMP_SYMBOL(_wctype); -#define _wctype (* __MINGW_IMP_SYMBOL(_wctype)) -#endif - - _CRTIMP const wctype_t * __cdecl __pwctype_func(void); -#ifndef _pwctype -#define _pwctype (__pwctype_func()) -#endif -#endif -#endif - -#define _UPPER 0x1 -#define _LOWER 0x2 -#define _DIGIT 0x4 -#define _SPACE 0x8 - -#define _PUNCT 0x10 -#define _CONTROL 0x20 -#define _BLANK 0x40 -#define _HEX 0x80 - -#define _LEADBYTE 0x8000 -#define _ALPHA (0x0100|_UPPER|_LOWER) - -#ifndef _WCTYPE_DEFINED -#define _WCTYPE_DEFINED - - int __cdecl iswalpha(wint_t); - int __cdecl iswupper(wint_t); - int __cdecl iswlower(wint_t); - int __cdecl iswdigit(wint_t); - int __cdecl iswxdigit(wint_t); - int __cdecl iswspace(wint_t); - int __cdecl iswpunct(wint_t); - int __cdecl iswalnum(wint_t); - int __cdecl iswprint(wint_t); - int __cdecl iswgraph(wint_t); - int __cdecl iswcntrl(wint_t); - int __cdecl iswascii(wint_t); - int __cdecl isleadbyte(int); - wint_t __cdecl towupper(wint_t); - wint_t __cdecl towlower(wint_t); - int __cdecl iswctype(wint_t,wctype_t); -#if __MSVCRT_VERSION__ >= 0x800 - _CRTIMP int __cdecl __iswcsymf(wint_t); - _CRTIMP int __cdecl __iswcsym(wint_t); -#endif - int __cdecl is_wctype(wint_t,wctype_t); -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) || defined (__cplusplus) -int __cdecl iswblank(wint_t _C); -#endif -#endif - -#ifndef _WCTYPE_INLINE_DEFINED -#define _WCTYPE_INLINE_DEFINED -#ifndef __cplusplus -#define iswalpha(_c) (iswctype(_c,_ALPHA)) -#define iswupper(_c) (iswctype(_c,_UPPER)) -#define iswlower(_c) (iswctype(_c,_LOWER)) -#define iswdigit(_c) (iswctype(_c,_DIGIT)) -#define iswxdigit(_c) (iswctype(_c,_HEX)) -#define iswspace(_c) (iswctype(_c,_SPACE)) -#define iswpunct(_c) (iswctype(_c,_PUNCT)) -#define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) -#define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) -#define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) -#define iswcntrl(_c) (iswctype(_c,_CONTROL)) -#define iswascii(_c) ((unsigned)(_c) < 0x80) -#define isleadbyte(c) (__pctype_func()[(unsigned char)(c)] & _LEADBYTE) -#else -#ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl iswalpha(wint_t _C) {return (iswctype(_C,_ALPHA)); } - __CRT_INLINE int __cdecl iswupper(wint_t _C) {return (iswctype(_C,_UPPER)); } - __CRT_INLINE int __cdecl iswlower(wint_t _C) {return (iswctype(_C,_LOWER)); } - __CRT_INLINE int __cdecl iswdigit(wint_t _C) {return (iswctype(_C,_DIGIT)); } - __CRT_INLINE int __cdecl iswxdigit(wint_t _C) {return (iswctype(_C,_HEX)); } - __CRT_INLINE int __cdecl iswspace(wint_t _C) {return (iswctype(_C,_SPACE)); } - __CRT_INLINE int __cdecl iswpunct(wint_t _C) {return (iswctype(_C,_PUNCT)); } - __CRT_INLINE int __cdecl iswalnum(wint_t _C) {return (iswctype(_C,_ALPHA|_DIGIT)); } - __CRT_INLINE int __cdecl iswprint(wint_t _C) {return (iswctype(_C,_BLANK|_PUNCT|_ALPHA|_DIGIT)); } - __CRT_INLINE int __cdecl iswgraph(wint_t _C) {return (iswctype(_C,_PUNCT|_ALPHA|_DIGIT)); } - __CRT_INLINE int __cdecl iswcntrl(wint_t _C) {return (iswctype(_C,_CONTROL)); } - __CRT_INLINE int __cdecl iswascii(wint_t _C) {return ((unsigned)(_C) < 0x80); } - __CRT_INLINE int __cdecl isleadbyte(int _C) {return (__pctype_func()[(unsigned char)(_C)] & _LEADBYTE); } -#endif /* !__CRT__NO_INLINE */ -#endif /* __cplusplus */ #endif typedef wchar_t wctrans_t; @@ -156,5 +21,4 @@ int __cdecl iswblank(wint_t _C); } #endif -#pragma pack(pop) #endif diff --git a/lib/libc/include/any-windows-any/wdstptmgmt.h b/lib/libc/include/any-windows-any/wdstptmgmt.h index 0e73ec654024..2a645f400aab 100644 --- a/lib/libc/include/any-windows-any/wdstptmgmt.h +++ b/lib/libc/include/any-windows-any/wdstptmgmt.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wdstptmgmt.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wdstptmgmt.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/weakreference.h b/lib/libc/include/any-windows-any/weakreference.h index de9c7bec4ff6..6975e8f95fa4 100644 --- a/lib/libc/include/any-windows-any/weakreference.h +++ b/lib/libc/include/any-windows-any/weakreference.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/weakreference.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/weakreference.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wia_lh.h b/lib/libc/include/any-windows-any/wia_lh.h index a3e99f042d50..84c3b526abbf 100644 --- a/lib/libc/include/any-windows-any/wia_lh.h +++ b/lib/libc/include/any-windows-any/wia_lh.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wia_lh.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wia_lh.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wia_xp.h b/lib/libc/include/any-windows-any/wia_xp.h index 3364c2fdf290..5acc750d3051 100644 --- a/lib/libc/include/any-windows-any/wia_xp.h +++ b/lib/libc/include/any-windows-any/wia_xp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wia_xp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wia_xp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wiadef.h b/lib/libc/include/any-windows-any/wiadef.h index c6d5a62b17b8..b007390086b7 100644 --- a/lib/libc/include/any-windows-any/wiadef.h +++ b/lib/libc/include/any-windows-any/wiadef.h @@ -253,9 +253,9 @@ extern "C" { #define WIA_DIP_DRIVER_VERSION_STR L"Driver Version" #ifdef WIA_DECLARE_DEVINFO_PROP_ARRAY - PROPSPEC g_psDeviceInfo[WIA_NUM_DIP] = { {PRSPEC_PROPID,WIA_DIP_DEV_ID},{PRSPEC_PROPID,WIA_DIP_VEND_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_TYPE},{PRSPEC_PROPID,WIA_DIP_PORT_NAME},{PRSPEC_PROPID,WIA_DIP_DEV_NAME},{PRSPEC_PROPID,WIA_DIP_SERVER_NAME},{PRSPEC_PROPID,WIA_DIP_REMOTE_DEV_ID},{PRSPEC_PROPID,WIA_DIP_UI_CLSID},{PRSPEC_PROPID,WIA_DIP_HW_CONFIG},{PRSPEC_PROPID,WIA_DIP_BAUDRATE},{PRSPEC_PROPID,WIA_DIP_STI_GEN_CAPABILITIES},{PRSPEC_PROPID,WIA_DIP_WIA_VERSION},{PRSPEC_PROPID,WIA_DIP_DRIVER_VERSION},}; - PROPID g_piDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID,WIA_DIP_VEND_DESC,WIA_DIP_DEV_DESC,WIA_DIP_DEV_TYPE,WIA_DIP_PORT_NAME,WIA_DIP_DEV_NAME,WIA_DIP_SERVER_NAME,WIA_DIP_REMOTE_DEV_ID,WIA_DIP_UI_CLSID,WIA_DIP_HW_CONFIG,WIA_DIP_BAUDRATE,WIA_DIP_STI_GEN_CAPABILITIES,WIA_DIP_WIA_VERSION,WIA_DIP_DRIVER_VERSION,}; - LPOLESTR g_pszDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID_STR,WIA_DIP_VEND_DESC_STR,WIA_DIP_DEV_DESC_STR,WIA_DIP_DEV_TYPE_STR,WIA_DIP_PORT_NAME_STR,WIA_DIP_DEV_NAME_STR,WIA_DIP_SERVER_NAME_STR,WIA_DIP_REMOTE_DEV_ID_STR,WIA_DIP_UI_CLSID_STR,WIA_DIP_HW_CONFIG_STR,WIA_DIP_BAUDRATE_STR,WIA_DIP_STI_GEN_CAPABILITIES_STR,WIA_DIP_WIA_VERSION_STR,WIA_DIP_DRIVER_VERSION_STR,}; + PROPSPEC g_psDeviceInfo[WIA_NUM_DIP] = { {PRSPEC_PROPID,WIA_DIP_DEV_ID},{PRSPEC_PROPID,WIA_DIP_VEND_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_TYPE},{PRSPEC_PROPID,WIA_DIP_PORT_NAME},{PRSPEC_PROPID,WIA_DIP_DEV_NAME},{PRSPEC_PROPID,WIA_DIP_SERVER_NAME},{PRSPEC_PROPID,WIA_DIP_REMOTE_DEV_ID},{PRSPEC_PROPID,WIA_DIP_UI_CLSID},{PRSPEC_PROPID,WIA_DIP_HW_CONFIG},{PRSPEC_PROPID,WIA_DIP_BAUDRATE},{PRSPEC_PROPID,WIA_DIP_STI_GEN_CAPABILITIES},{PRSPEC_PROPID,WIA_DIP_WIA_VERSION},{PRSPEC_PROPID,WIA_DIP_DRIVER_VERSION}}; + PROPID g_piDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID,WIA_DIP_VEND_DESC,WIA_DIP_DEV_DESC,WIA_DIP_DEV_TYPE,WIA_DIP_PORT_NAME,WIA_DIP_DEV_NAME,WIA_DIP_SERVER_NAME,WIA_DIP_REMOTE_DEV_ID,WIA_DIP_UI_CLSID,WIA_DIP_HW_CONFIG,WIA_DIP_BAUDRATE,WIA_DIP_STI_GEN_CAPABILITIES,WIA_DIP_WIA_VERSION,WIA_DIP_DRIVER_VERSION}; + LPOLESTR g_pszDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID_STR,WIA_DIP_VEND_DESC_STR,WIA_DIP_DEV_DESC_STR,WIA_DIP_DEV_TYPE_STR,WIA_DIP_PORT_NAME_STR,WIA_DIP_DEV_NAME_STR,WIA_DIP_SERVER_NAME_STR,WIA_DIP_REMOTE_DEV_ID_STR,WIA_DIP_UI_CLSID_STR,WIA_DIP_HW_CONFIG_STR,WIA_DIP_BAUDRATE_STR,WIA_DIP_STI_GEN_CAPABILITIES_STR,WIA_DIP_WIA_VERSION_STR,WIA_DIP_DRIVER_VERSION_STR}; #else extern PROPSPEC g_psDeviceInfo[WIA_NUM_DIP]; extern PROPID g_piDeviceInfo[WIA_NUM_DIP]; diff --git a/lib/libc/include/any-windows-any/winbase.h b/lib/libc/include/any-windows-any/winbase.h index f7337843f198..43d80a79ee97 100644 --- a/lib/libc/include/any-windows-any/winbase.h +++ b/lib/libc/include/any-windows-any/winbase.h @@ -2311,7 +2311,7 @@ typedef enum FILE_FLUSH_MODE { COPYFILE2_CALLBACK_STREAM_FINISHED, COPYFILE2_CALLBACK_POLL_CONTINUE, COPYFILE2_CALLBACK_ERROR, - COPYFILE2_CALLBACK_MAX, + COPYFILE2_CALLBACK_MAX } COPYFILE2_MESSAGE_TYPE; typedef enum _COPYFILE2_MESSAGE_ACTION { @@ -2319,7 +2319,7 @@ typedef enum FILE_FLUSH_MODE { COPYFILE2_PROGRESS_CANCEL, COPYFILE2_PROGRESS_STOP, COPYFILE2_PROGRESS_QUIET, - COPYFILE2_PROGRESS_PAUSE, + COPYFILE2_PROGRESS_PAUSE } COPYFILE2_MESSAGE_ACTION; typedef enum _COPYFILE2_COPY_PHASE { @@ -2330,7 +2330,7 @@ typedef enum FILE_FLUSH_MODE { COPYFILE2_PHASE_WRITE_DESTINATION, COPYFILE2_PHASE_SERVER_COPY, COPYFILE2_PHASE_NAMEGRAFT_COPY, - COPYFILE2_PHASE_MAX, + COPYFILE2_PHASE_MAX } COPYFILE2_COPY_PHASE; #define COPYFILE2_MESSAGE_COPY_OFFLOAD (__MSABI_LONG (0x00000001)) diff --git a/lib/libc/include/any-windows-any/wincodec.h b/lib/libc/include/any-windows-any/wincodec.h index 104526b69eba..4b1b306d6c94 100644 --- a/lib/libc/include/any-windows-any/wincodec.h +++ b/lib/libc/include/any-windows-any/wincodec.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wincodec.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wincodec.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wincodecsdk.h b/lib/libc/include/any-windows-any/wincodecsdk.h index f0ff12dfdd74..011b1f17ba2b 100644 --- a/lib/libc/include/any-windows-any/wincodecsdk.h +++ b/lib/libc/include/any-windows-any/wincodecsdk.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wincodecsdk.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wincodecsdk.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/winddi.h b/lib/libc/include/any-windows-any/winddi.h index 9b4b197dd835..d40212969838 100644 --- a/lib/libc/include/any-windows-any/winddi.h +++ b/lib/libc/include/any-windows-any/winddi.h @@ -2027,7 +2027,7 @@ typedef enum _ENG_SYSTEM_ATTRIBUTE { EngProcessorFeature = 1, EngNumberOfProcessors, EngOptimumAvailableUserMemory, - EngOptimumAvailableSystemMemory, + EngOptimumAvailableSystemMemory } ENG_SYSTEM_ATTRIBUTE; #define QSA_MMX 0x00000100 diff --git a/lib/libc/include/any-windows-any/windot11.h b/lib/libc/include/any-windows-any/windot11.h index 0b3e14ff45c6..dab78586851e 100644 --- a/lib/libc/include/any-windows-any/windot11.h +++ b/lib/libc/include/any-windows-any/windot11.h @@ -1444,7 +1444,7 @@ typedef struct _DOT11_SEND_EXTENSION_INFO { typedef enum _DOT11_ACK_POLICY { dot11_ack_policy_none = 0, dot11_ack_policy_acknowledge = 1, - dot11_ack_policy_do_not_acknowledge = 2, + dot11_ack_policy_do_not_acknowledge = 2 } DOT11_ACK_POLICY, *PDOT11_ACK_POLICY; typedef struct _DOT11_SEND_EXTENSION_INFO_V2 { diff --git a/lib/libc/include/any-windows-any/windowsnumerics.impl.h b/lib/libc/include/any-windows-any/windowsnumerics.impl.h index e089602e41fd..04cc73455672 100644 --- a/lib/libc/include/any-windows-any/windowsnumerics.impl.h +++ b/lib/libc/include/any-windows-any/windowsnumerics.impl.h @@ -372,7 +372,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { return { 1.0f, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, + 0.0f, 0.0f }; } @@ -422,21 +422,21 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { return { dot(v1r1, v2c1), dot(v1r1, v2c2), dot(v1r2, v2c1), dot(v1r2, v2c2), - dot(v1r3, v2c1), dot(v1r3, v2c2), + dot(v1r3, v2c1), dot(v1r3, v2c2) }; } inline float3x2 operator*(const float3x2 &val1, float val2) { return { val1.m11 * val2, val1.m12 * val2, val1.m21 * val2, val1.m22 * val2, - val1.m31 * val2, val1.m32 * val2, + val1.m31 * val2, val1.m32 * val2 }; } inline float3x2 operator-(const float3x2 &val) { return { -val.m11, -val.m12, -val.m21, -val.m22, - -val.m31, -val.m32, + -val.m31, -val.m32 }; } #undef _WINDOWS_NUMERICS_IMPL_BINARY_OP @@ -479,7 +479,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f }; } @@ -552,7 +552,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { dot(v1r1, v2c1), dot(v1r1, v2c2), dot(v1r1, v2c3), dot(v1r1, v2c4), dot(v1r2, v2c1), dot(v1r2, v2c2), dot(v1r2, v2c3), dot(v1r2, v2c4), dot(v1r3, v2c1), dot(v1r3, v2c2), dot(v1r3, v2c3), dot(v1r3, v2c4), - dot(v1r4, v2c1), dot(v1r4, v2c2), dot(v1r4, v2c3), dot(v1r4, v2c4), + dot(v1r4, v2c1), dot(v1r4, v2c2), dot(v1r4, v2c3), dot(v1r4, v2c4) }; } inline float4x4 operator*(const float4x4 &val1, float val2) { @@ -560,7 +560,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { val1.m11 * val2, val1.m12 * val2, val1.m13 * val2, val1.m14 * val2, val1.m21 * val2, val1.m22 * val2, val1.m23 * val2, val1.m24 * val2, val1.m31 * val2, val1.m32 * val2, val1.m33 * val2, val1.m34 * val2, - val1.m41 * val2, val1.m42 * val2, val1.m43 * val2, val1.m44 * val2, + val1.m41 * val2, val1.m42 * val2, val1.m43 * val2, val1.m44 * val2 }; } inline float4x4 operator-(const float4x4 &val) { @@ -568,7 +568,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { -val.m11, -val.m12, -val.m13, -val.m14, -val.m21, -val.m22, -val.m23, -val.m24, -val.m31, -val.m32, -val.m33, -val.m34, - -val.m41, -val.m42, -val.m43, -val.m44, + -val.m41, -val.m42, -val.m43, -val.m44 }; } #undef _WINDOWS_NUMERICS_IMPL_BINARY_OP @@ -678,7 +678,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { val1.w * val2.x + val1.x * val2.w + val1.y * val2.z - val1.z * val2.y, val1.w * val2.y - val1.x * val2.z + val1.y * val2.w + val1.z * val2.x, val1.w * val2.z + val1.x * val2.y - val1.y * val2.x + val1.z * val2.w, - val1.w * val2.w - val1.x * val2.x - val1.y * val2.y - val1.z * val2.z, + val1.w * val2.w - val1.x * val2.x - val1.y * val2.y - val1.z * val2.z }; } inline quaternion operator*(const quaternion &val1, float val2) { return { val1.x * val2, val1.y * val2, val1.z * val2, val1.w * val2 }; @@ -783,7 +783,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { return { val1.y * val2.z - val2.y * val1.z, val1.z * val2.x - val2.z * val1.x, - val1.x * val2.y - val2.x * val1.y, + val1.x * val2.y - val2.x * val1.y }; } inline float3 reflect(const float3 &vec, const float3 &norm) { @@ -845,7 +845,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { ::std::min(val1.x, val2.x), ::std::min(val1.y, val2.y), ::std::min(val1.z, val2.z), - ::std::min(val1.w, val2.w), + ::std::min(val1.w, val2.w) }; } inline float4 max(const float4 &val1, const float4 &val2) { @@ -853,7 +853,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { ::std::max(val1.x, val2.x), ::std::max(val1.y, val2.y), ::std::max(val1.z, val2.z), - ::std::max(val1.w, val2.w), + ::std::max(val1.w, val2.w) }; } inline float4 clamp(const float4 &val, const float4 &min, const float4 &max) { @@ -861,7 +861,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { _impl::clamp(val.x, min.x, max.x), _impl::clamp(val.y, min.y, max.y), _impl::clamp(val.z, min.z, max.z), - _impl::clamp(val.w, min.w, max.w), + _impl::clamp(val.w, min.w, max.w) }; } inline float4 lerp(const float4 &val1, const float4 &val2, float amount) { @@ -869,7 +869,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { _impl::lerp(val1.x, val2.x, amount), _impl::lerp(val1.y, val2.y, amount), _impl::lerp(val1.z, val2.z, amount), - _impl::lerp(val1.w, val2.w, amount), + _impl::lerp(val1.w, val2.w, amount) }; } // TODO: impl @@ -1018,7 +1018,7 @@ _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { val.m11, val.m21, val.m31, val.m41, val.m12, val.m22, val.m32, val.m42, val.m13, val.m23, val.m33, val.m43, - val.m14, val.m24, val.m34, val.m44, + val.m14, val.m24, val.m34, val.m44 }; } inline float4x4 lerp(const float4x4 &val1, const float4x4 &val2, float amount); diff --git a/lib/libc/include/any-windows-any/winhttp.h b/lib/libc/include/any-windows-any/winhttp.h index d0ba52d611fb..4b3683af873d 100644 --- a/lib/libc/include/any-windows-any/winhttp.h +++ b/lib/libc/include/any-windows-any/winhttp.h @@ -20,9 +20,9 @@ #define __WINE_WINHTTP_H #ifdef _WIN64 -#include +#pragma pack(push,8) #else -#include +#pragma pack(push,4) #endif #ifdef _WINHTTP_INTERNAL_ @@ -178,7 +178,53 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME; #define WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED 145 #define WINHTTP_OPTION_REQUEST_STATS 146 #define WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT 147 -#define WINHTTP_LAST_OPTION WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT +#define WINHTTP_OPTION_CONNECTION_STATS_V1 150 +#define WINHTTP_OPTION_SECURITY_INFO 151 +#define WINHTTP_OPTION_TCP_KEEPALIVE 152 +#define WINHTTP_OPTION_TCP_FAST_OPEN 153 +#define WINHTTP_OPTION_TCP_FALSE_START 154 +#define WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE 155 +#define WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK 158 +#define WINHTTP_OPTION_STREAM_ERROR_CODE 159 +#define WINHTTP_OPTION_REQUIRE_STREAM_END 160 +#define WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT 161 +#define WINHTTP_OPTION_FAILED_CONNECTION_RETRIES 162 +#define WINHTTP_OPTION_HTTP2_KEEPALIVE 164 +#define WINHTTP_OPTION_RESOLUTION_HOSTNAME 165 +#define WINHTTP_OPTION_SET_TOKEN_BINDING 166 +#define WINHTTP_OPTION_TOKEN_BINDING_PUBLIC_KEY 167 +#define WINHTTP_OPTION_REFERER_TOKEN_BINDING_HOSTNAME 168 +#define WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING 169 +#define WINHTTP_OPTION_RESOLVER_CACHE_CONFIG 170 +#define WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING 171 +#define WINHTTP_OPTION_BACKGROUND_CONNECTIONS 172 +#define WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION 173 +#define WINHTTP_OPTION_TCP_PRIORITY_STATUS 177 +#define WINHTTP_OPTION_CONNECTION_GUID 178 +#define WINHTTP_OPTION_MATCH_CONNECTION_GUID 179 +#define WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW 183 +#define WINHTTP_OPTION_FEATURE_SUPPORTED 184 +#define WINHTTP_OPTION_QUIC_STATS 185 +#define WINHTTP_OPTION_HTTP3_KEEPALIVE 188 +#define WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT 189 +#define WINHTTP_OPTION_HTTP3_INITIAL_RTT 190 +#define WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE 191 +#define WINHTTP_OPTION_REQUEST_ANNOTATION 192 +#define WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES 193 +#define WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT 194 +#define WINHTTP_OPTION_DISABLE_GLOBAL_POOLING 195 +#define WINHTTP_OPTION_USE_SESSION_SCH_CRED 196 +#define WINHTTP_OPTION_QUIC_STATS_V2 200 +#define WINHTTP_OPTION_QUIC_STREAM_STATS 202 +#define WINHTTP_OPTION_USE_LOOKASIDE 203 +#define WINHTTP_OPTION_ERROR_LOG_GUID 204 +#define WINHTTP_OPTION_ENABLE_FAST_FORWARDING 205 +#define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_DATA 206 +#define WINHTTP_OPTION_UPGRADE_TO_PROTOCOL 207 +#define WINHTTP_OPTION_CONNECTION_STATS_V2 208 +#define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS 209 + +#define WINHTTP_LAST_OPTION WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS #define WINHTTP_OPTION_USERNAME 0x1000 #define WINHTTP_OPTION_PASSWORD 0x1001 #define WINHTTP_OPTION_PROXY_USERNAME 0x1002 @@ -816,6 +862,16 @@ typedef struct _WINHTTP_WEB_SOCKET_STATUS #define WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH 123 #define WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE 15000 +#ifdef __SCHANNEL_H__ + +typedef struct _WINHTTP_SECURITY_INFO +{ + SecPkgContext_ConnectionInfo ConnectionInfo; + SecPkgContext_CipherInfo CipherInfo; +} WINHTTP_SECURITY_INFO, *PWINHTTP_SECURITY_INFO; + +#endif + #ifdef __cplusplus extern "C" { #endif @@ -872,6 +928,6 @@ WINHTTPAPI DWORD WINAPI WinHttpWriteProxySettings(HINTERNET,WINBOOL,WINHTT } #endif -#include +#pragma pack(pop) #endif /* __WINE_WINHTTP_H */ diff --git a/lib/libc/include/any-windows-any/winhvemulation.h b/lib/libc/include/any-windows-any/winhvemulation.h index 112f62bf7a86..b15127de10aa 100644 --- a/lib/libc/include/any-windows-any/winhvemulation.h +++ b/lib/libc/include/any-windows-any/winhvemulation.h @@ -15,6 +15,8 @@ #include +#if defined(__x86_64__) + typedef union WHV_EMULATOR_STATUS { __C89_NAMELESS struct { UINT32 EmulationSuccessful : 1; @@ -77,6 +79,8 @@ HRESULT WINAPI WHvEmulatorTryMmioEmulation(WHV_EMULATOR_HANDLE Emulator, VOID *C } #endif -#endif +#endif /* defined(__x86_64__) */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif diff --git a/lib/libc/include/any-windows-any/winhvplatform.h b/lib/libc/include/any-windows-any/winhvplatform.h index b148804fbace..b1914a4aa10b 100644 --- a/lib/libc/include/any-windows-any/winhvplatform.h +++ b/lib/libc/include/any-windows-any/winhvplatform.h @@ -15,6 +15,8 @@ #include +#if defined(__x86_64__) || defined(__aarch64__) + #ifdef __cplusplus extern "C" { #endif @@ -39,16 +41,22 @@ HRESULT WINAPI WHvRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpI HRESULT WINAPI WHvCancelRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags); HRESULT WINAPI WHvGetVirtualProcessorRegisters(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const WHV_REGISTER_NAME *RegisterNames, UINT32 RegisterCount, WHV_REGISTER_VALUE *RegisterValues); HRESULT WINAPI WHvSetVirtualProcessorRegisters(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const WHV_REGISTER_NAME *RegisterNames, UINT32 RegisterCount, const WHV_REGISTER_VALUE *RegisterValues); +#if defined(__x86_64__) HRESULT WINAPI WHvGetVirtualProcessorInterruptControllerState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *State, UINT32 StateSize, UINT32 *WrittenSize); HRESULT WINAPI WHvSetVirtualProcessorInterruptControllerState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *State, UINT32 StateSize); +#endif HRESULT WINAPI WHvRequestInterrupt(WHV_PARTITION_HANDLE Partition, const WHV_INTERRUPT_CONTROL *Interrupt, UINT32 InterruptControlSize); +#if defined(__x86_64__) HRESULT WINAPI WHvGetVirtualProcessorXsaveState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *Buffer, UINT32 BufferSizeInBytes, UINT32 *BytesWritten); HRESULT WINAPI WHvSetVirtualProcessorXsaveState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *Buffer, UINT32 BufferSizeInBytes); +#endif HRESULT WINAPI WHvQueryGpaRangeDirtyBitmap(WHV_PARTITION_HANDLE Partition, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 RangeSizeInBytes, UINT64 *Bitmap, UINT32 BitmapSizeInBytes); HRESULT WINAPI WHvGetPartitionCounters(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_COUNTER_SET CounterSet, VOID *Buffer, UINT32 BufferSizeInBytes, UINT32 *BytesWritten); HRESULT WINAPI WHvGetVirtualProcessorCounters(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_PROCESSOR_COUNTER_SET CounterSet, VOID *Buffer, UINT32 BufferSizeInBytes, UINT32 *BytesWritten); +#if defined(__x86_64__) HRESULT WINAPI WHvGetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *State, UINT32 StateSize, UINT32 *WrittenSize); HRESULT WINAPI WHvSetVirtualProcessorInterruptControllerState2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const VOID *State, UINT32 StateSize); +#endif HRESULT WINAPI WHvRegisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData, HANDLE EventHandle); HRESULT WINAPI WHvUnregisterPartitionDoorbellEvent(WHV_PARTITION_HANDLE Partition, const WHV_DOORBELL_MATCH_DATA *MatchData); HRESULT WINAPI WHvAdviseGpaRange(WHV_PARTITION_HANDLE Partition, const WHV_MEMORY_RANGE_ENTRY *GpaRanges, UINT32 GpaRangesCount, WHV_ADVISE_GPA_RANGE_CODE Advice, const VOID *AdviceBuffer, UINT32 AdviceBufferSizeInBytes); @@ -79,8 +87,10 @@ HRESULT WINAPI WHvCreateNotificationPort(WHV_PARTITION_HANDLE Partition, const W HRESULT WINAPI WHvSetNotificationPortProperty(WHV_PARTITION_HANDLE Partition, WHV_NOTIFICATION_PORT_HANDLE PortHandle, WHV_NOTIFICATION_PORT_PROPERTY_CODE PropertyCode, WHV_NOTIFICATION_PORT_PROPERTY PropertyValue); HRESULT WINAPI WHvDeleteNotificationPort(WHV_PARTITION_HANDLE Partition, WHV_NOTIFICATION_PORT_HANDLE PortHandle); HRESULT WINAPI WHvPostVirtualProcessorSynicMessage(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 SintIndex, const VOID *Message, UINT32 MessageSizeInBytes); +#if defined(__x86_64__) HRESULT WINAPI WHvGetVirtualProcessorCpuidOutput(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Eax, UINT32 Ecx, WHV_CPUID_OUTPUT *CpuidOutput); HRESULT WINAPI WHvGetInterruptTargetVpSet(WHV_PARTITION_HANDLE Partition, UINT64 Destination, WHV_INTERRUPT_DESTINATION_MODE DestinationMode, UINT32 *TargetVps, UINT32 VpCount, UINT32 *TargetVpCount); +#endif HRESULT WINAPI WHvStartPartitionMigration(WHV_PARTITION_HANDLE Partition, HANDLE *MigrationHandle); HRESULT WHvCancelPartitionMigration(WHV_PARTITION_HANDLE Partition); HRESULT WHvCompletePartitionMigration(WHV_PARTITION_HANDLE Partition); @@ -90,6 +100,101 @@ HRESULT WINAPI WHvAcceptPartitionMigration(HANDLE MigrationHandle, WHV_PARTITION } #endif +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* _WINHVAPI_H_ */ + + +#ifndef ext_ms_win_hyperv_hvplatform_l1_1_5_query_routines +#define ext_ms_win_hyperv_hvplatform_l1_1_5_query_routines + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(__x86_64__) || defined(__aarch64__) + +BOOLEAN WINAPI IsWHvGetCapabilityPresent(VOID); +BOOLEAN WINAPI IsWHvCreatePartitionPresent(VOID); +BOOLEAN WINAPI IsWHvSetupPartitionPresent(VOID); +BOOLEAN WINAPI IsWHvResetPartitionPresent(VOID); +BOOLEAN WINAPI IsWHvDeletePartitionPresent(VOID); +BOOLEAN WINAPI IsWHvGetPartitionPropertyPresent(VOID); +BOOLEAN WINAPI IsWHvSetPartitionPropertyPresent(VOID); +BOOLEAN WINAPI IsWHvSuspendPartitionTimePresent(VOID); +BOOLEAN WINAPI IsWHvResumePartitionTimePresent(VOID); +BOOLEAN WINAPI IsWHvMapGpaRangePresent(VOID); +BOOLEAN WINAPI IsWHvMapGpaRange2Present(VOID); +BOOLEAN WINAPI IsWHvUnmapGpaRangePresent(VOID); +BOOLEAN WINAPI IsWHvTranslateGvaPresent(VOID); +BOOLEAN WINAPI IsWHvCreateVirtualProcessorPresent(VOID); +BOOLEAN WINAPI IsWHvCreateVirtualProcessor2Present(VOID); +BOOLEAN WINAPI IsWHvDeleteVirtualProcessorPresent(VOID); +BOOLEAN WINAPI IsWHvRunVirtualProcessorPresent(VOID); +BOOLEAN WINAPI IsWHvCancelRunVirtualProcessorPresent(VOID); +BOOLEAN WINAPI IsWHvGetVirtualProcessorRegistersPresent(VOID); +BOOLEAN WINAPI IsWHvSetVirtualProcessorRegistersPresent(VOID); +#if defined(__x86_64__) +BOOLEAN WINAPI IsWHvGetVirtualProcessorInterruptControllerStatePresent(VOID); +BOOLEAN WINAPI IsWHvSetVirtualProcessorInterruptControllerStatePresent(VOID); +#endif +BOOLEAN WINAPI IsWHvRequestInterruptPresent(VOID); +#if defined(__x86_64__) +BOOLEAN WINAPI IsWHvGetVirtualProcessorXsaveStatePresent(VOID); +BOOLEAN WINAPI IsWHvSetVirtualProcessorXsaveStatePresent(VOID); +#endif +BOOLEAN WINAPI IsWHvQueryGpaRangeDirtyBitmapPresent(VOID); +BOOLEAN WINAPI IsWHvGetPartitionCountersPresent(VOID); +BOOLEAN WINAPI IsWHvGetVirtualProcessorCountersPresent(VOID); +#if defined(__x86_64__) +BOOLEAN WINAPI IsWHvGetVirtualProcessorInterruptControllerState2Present(VOID); +BOOLEAN WINAPI IsWHvSetVirtualProcessorInterruptControllerState2Present(VOID); +#endif +BOOLEAN WINAPI IsWHvRegisterPartitionDoorbellEventPresent(VOID); +BOOLEAN WINAPI IsWHvUnregisterPartitionDoorbellEventPresent(VOID); +BOOLEAN WINAPI IsWHvAdviseGpaRangePresent(VOID); +BOOLEAN WINAPI IsWHvReadGpaRangePresent(VOID); +BOOLEAN WINAPI IsWHvWriteGpaRangePresent(VOID); +BOOLEAN WINAPI IsWHvSignalVirtualProcessorSynicEventPresent(VOID); +BOOLEAN WINAPI IsWHvGetVirtualProcessorStatePresent(VOID); +BOOLEAN WINAPI IsWHvSetVirtualProcessorStatePresent(VOID); +BOOLEAN WINAPI IsWHvAllocateVpciResourcePresent(VOID); +BOOLEAN WINAPI IsWHvCreateVpciDevicePresent(VOID); +BOOLEAN WINAPI IsWHvDeleteVpciDevicePresent(VOID); +BOOLEAN WINAPI IsWHvGetVpciDevicePropertyPresent(VOID); +BOOLEAN WINAPI IsWHvGetVpciDeviceNotificationPresent(VOID); +BOOLEAN WINAPI IsWHvMapVpciDeviceMmioRangesPresent(VOID); +BOOLEAN WINAPI IsWHvUnmapVpciDeviceMmioRangesPresent(VOID); +BOOLEAN WINAPI IsWHvSetVpciDevicePowerStatePresent(VOID); +BOOLEAN WINAPI IsWHvReadVpciDeviceRegisterPresent(VOID); +BOOLEAN WINAPI IsWHvWriteVpciDeviceRegisterPresent(VOID); +BOOLEAN WINAPI IsWHvMapVpciDeviceInterruptPresent(VOID); +BOOLEAN WINAPI IsWHvUnmapVpciDeviceInterruptPresent(VOID); +BOOLEAN WINAPI IsWHvRetargetVpciDeviceInterruptPresent(VOID); +BOOLEAN WINAPI IsWHvRequestVpciDeviceInterruptPresent(VOID); +BOOLEAN WINAPI IsWHvGetVpciDeviceInterruptTargetPresent(VOID); +BOOLEAN WINAPI IsWHvCreateTriggerPresent(VOID); +BOOLEAN WINAPI IsWHvUpdateTriggerParametersPresent(VOID); +BOOLEAN WINAPI IsWHvDeleteTriggerPresent(VOID); +BOOLEAN WINAPI IsWHvCreateNotificationPortPresent(VOID); +BOOLEAN WINAPI IsWHvSetNotificationPortPropertyPresent(VOID); +BOOLEAN WINAPI IsWHvDeleteNotificationPortPresent(VOID); +BOOLEAN WINAPI IsWHvPostVirtualProcessorSynicMessagePresent(VOID); +#if defined(__x86_64__) +BOOLEAN WINAPI IsWHvGetVirtualProcessorCpuidOutputPresent(VOID); +BOOLEAN WINAPI IsWHvGetInterruptTargetVpSetPresent(VOID); +#endif +BOOLEAN WINAPI IsWHvStartPartitionMigrationPresent(VOID); +BOOLEAN WINAPI IsWHvCancelPartitionMigrationPresent(VOID); +BOOLEAN WINAPI IsWHvCompletePartitionMigrationPresent(VOID); +BOOLEAN WINAPI IsWHvAcceptPartitionMigrationPresent(VOID); + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +#ifdef __cplusplus +} +#endif + +#endif /* ext_ms_win_hyperv_hvplatform_l1_1_5_query_routines */ diff --git a/lib/libc/include/any-windows-any/winhvplatformdefs.h b/lib/libc/include/any-windows-any/winhvplatformdefs.h index 9cf239cd361f..b547b7a5679c 100644 --- a/lib/libc/include/any-windows-any/winhvplatformdefs.h +++ b/lib/libc/include/any-windows-any/winhvplatformdefs.h @@ -6,790 +6,7 @@ #ifndef _WINHVAPIDEFS_H_ #define _WINHVAPIDEFS_H_ -typedef enum WHV_CAPABILITY_CODE { - WHvCapabilityCodeHypervisorPresent = 0x00000000 - ,WHvCapabilityCodeFeatures = 0x00000001 - ,WHvCapabilityCodeExtendedVmExits = 0x00000002 -#if defined(__x86_64__) - ,WHvCapabilityCodeExceptionExitBitmap = 0x00000003 - ,WHvCapabilityCodeX64MsrExitBitmap = 0x00000004 -#endif - ,WHvCapabilityCodeGpaRangePopulateFlags = 0x00000005 - ,WHvCapabilityCodeSchedulerFeatures = 0x00000006 - ,WHvCapabilityCodeProcessorVendor = 0x00001000 - ,WHvCapabilityCodeProcessorFeatures = 0x00001001 - ,WHvCapabilityCodeProcessorClFlushSize = 0x00001002 -#if defined(__x86_64__) - ,WHvCapabilityCodeProcessorXsaveFeatures = 0x00001003 -#endif - ,WHvCapabilityCodeProcessorClockFrequency = 0x00001004 -#if defined(__x86_64__) - ,WHvCapabilityCodeInterruptClockFrequency = 0x00001005 -#endif - ,WHvCapabilityCodeProcessorFeaturesBanks = 0x00001006 - ,WHvCapabilityCodeProcessorFrequencyCap = 0x00001007 - ,WHvCapabilityCodeSyntheticProcessorFeaturesBanks = 0x00001008 -#if defined(__x86_64__) - ,WHvCapabilityCodeProcessorPerfmonFeatures = 0x00001009 -#endif - ,WHvCapabilityCodePhysicalAddressWidth = 0x0000100A -#if defined(__x86_64__) - ,WHvCapabilityCodeVmxBasic = 0x00002000 - ,WHvCapabilityCodeVmxPinbasedCtls = 0x00002001 - ,WHvCapabilityCodeVmxProcbasedCtls = 0x00002002 - ,WHvCapabilityCodeVmxExitCtls = 0x00002003 - ,WHvCapabilityCodeVmxEntryCtls = 0x00002004 - ,WHvCapabilityCodeVmxMisc = 0x00002005 - ,WHvCapabilityCodeVmxCr0Fixed0 = 0x00002006 - ,WHvCapabilityCodeVmxCr0Fixed1 = 0x00002007 - ,WHvCapabilityCodeVmxCr4Fixed0 = 0x00002008 - ,WHvCapabilityCodeVmxCr4Fixed1 = 0x00002009 - ,WHvCapabilityCodeVmxVmcsEnum = 0x0000200A - ,WHvCapabilityCodeVmxProcbasedCtls2 = 0x0000200B - ,WHvCapabilityCodeVmxEptVpidCap = 0x0000200C - ,WHvCapabilityCodeVmxTruePinbasedCtls = 0x0000200D - ,WHvCapabilityCodeVmxTrueProcbasedCtls = 0x0000200E - ,WHvCapabilityCodeVmxTrueExitCtls = 0x0000200F - ,WHvCapabilityCodeVmxTrueEntryCtls = 0x00002010 -#endif -} WHV_CAPABILITY_CODE; - -typedef union WHV_CAPABILITY_FEATURES { - __C89_NAMELESS struct { - UINT64 PartialUnmap : 1; -#if defined(__x86_64__) - UINT64 LocalApicEmulation : 1; - UINT64 Xsave : 1; -#else - UINT64 ReservedArm0 : 2; -#endif - UINT64 DirtyPageTracking : 1; - UINT64 SpeculationControl : 1; -#if defined(__x86_64__) - UINT64 ApicRemoteRead : 1; -#else - UINT64 ReservedArm1 : 1; -#endif - UINT64 IdleSuspend : 1; - UINT64 VirtualPciDeviceSupport : 1; - UINT64 IommuSupport : 1; - UINT64 VpHotAddRemove : 1; - UINT64 Reserved : 54; - }; - UINT64 AsUINT64; -} WHV_CAPABILITY_FEATURES; - -C_ASSERT(sizeof(WHV_CAPABILITY_FEATURES) == sizeof(UINT64)); - -typedef union WHV_EXTENDED_VM_EXITS { - __C89_NAMELESS struct { -#if defined(__x86_64__) - UINT64 X64CpuidExit : 1; - UINT64 X64MsrExit : 1; - UINT64 ExceptionExit : 1; - UINT64 X64RdtscExit : 1; - UINT64 X64ApicSmiExitTrap : 1; -#else - UINT64 ReservedArm0 : 5; -#endif - UINT64 HypercallExit : 1; -#if defined(__x86_64__) - UINT64 X64ApicInitSipiExitTrap : 1; - UINT64 X64ApicWriteLint0ExitTrap : 1; - UINT64 X64ApicWriteLint1ExitTrap : 1; - UINT64 X64ApicWriteSvrExitTrap : 1; -#else - UINT64 ReservedArm1 : 4; -#endif - UINT64 UnknownSynicConnection : 1; - UINT64 RetargetUnknownVpciDevice : 1; -#if defined(__x86_64__) - UINT64 X64ApicWriteLdrExitTrap : 1; - UINT64 X64ApicWriteDfrExitTrap : 1; -#else - UINT64 ReservedArm2 : 2; -#endif - UINT64 GpaAccessFaultExit : 1; - UINT64 Reserved : 49; - }; - UINT64 AsUINT64; -} WHV_EXTENDED_VM_EXITS; - -C_ASSERT(sizeof(WHV_EXTENDED_VM_EXITS) == sizeof(UINT64)); - -typedef enum WHV_PROCESSOR_VENDOR { - WHvProcessorVendorAmd = 0x0000, - WHvProcessorVendorIntel = 0x0001, - WHvProcessorVendorHygon = 0x0002, - WHvProcessorVendorArm = 0x0010 -} WHV_PROCESSOR_VENDOR; - -#if defined(__x86_64__) - -typedef union WHV_X64_PROCESSOR_FEATURES { - __C89_NAMELESS struct { - UINT64 Sse3Support : 1; - UINT64 LahfSahfSupport : 1; - UINT64 Ssse3Support : 1; - UINT64 Sse4_1Support : 1; - UINT64 Sse4_2Support : 1; - UINT64 Sse4aSupport : 1; - UINT64 XopSupport : 1; - UINT64 PopCntSupport : 1; - UINT64 Cmpxchg16bSupport : 1; - UINT64 Altmovcr8Support : 1; - UINT64 LzcntSupport : 1; - UINT64 MisAlignSseSupport : 1; - UINT64 MmxExtSupport : 1; - UINT64 Amd3DNowSupport : 1; - UINT64 ExtendedAmd3DNowSupport : 1; - UINT64 Page1GbSupport : 1; - UINT64 AesSupport : 1; - UINT64 PclmulqdqSupport : 1; - UINT64 PcidSupport : 1; - UINT64 Fma4Support : 1; - UINT64 F16CSupport : 1; - UINT64 RdRandSupport : 1; - UINT64 RdWrFsGsSupport : 1; - UINT64 SmepSupport : 1; - UINT64 EnhancedFastStringSupport : 1; - UINT64 Bmi1Support : 1; - UINT64 Bmi2Support : 1; - UINT64 Reserved1 : 2; - UINT64 MovbeSupport : 1; - UINT64 Npiep1Support : 1; - UINT64 DepX87FPUSaveSupport : 1; - UINT64 RdSeedSupport : 1; - UINT64 AdxSupport : 1; - UINT64 IntelPrefetchSupport : 1; - UINT64 SmapSupport : 1; - UINT64 HleSupport : 1; - UINT64 RtmSupport : 1; - UINT64 RdtscpSupport : 1; - UINT64 ClflushoptSupport : 1; - UINT64 ClwbSupport : 1; - UINT64 ShaSupport : 1; - UINT64 X87PointersSavedSupport : 1; - UINT64 InvpcidSupport : 1; - UINT64 IbrsSupport : 1; - UINT64 StibpSupport : 1; - UINT64 IbpbSupport : 1; - UINT64 UnrestrictedGuestSupport : 1; - UINT64 SsbdSupport : 1; - UINT64 FastShortRepMovSupport : 1; - UINT64 Reserved3 : 1; - UINT64 RdclNo : 1; - UINT64 IbrsAllSupport : 1; - UINT64 Reserved4 : 1; - UINT64 SsbNo : 1; - UINT64 RsbANo : 1; - UINT64 Reserved5 : 1; - UINT64 RdPidSupport : 1; - UINT64 UmipSupport : 1; - UINT64 MdsNoSupport : 1; - UINT64 MdClearSupport : 1; - UINT64 TaaNoSupport : 1; - UINT64 TsxCtrlSupport : 1; - UINT64 Reserved6 : 1; - }; - UINT64 AsUINT64; -} WHV_X64_PROCESSOR_FEATURES, WHV_PROCESSOR_FEATURES; - -C_ASSERT(sizeof(WHV_X64_PROCESSOR_FEATURES) == sizeof(UINT64)); - -typedef union WHV_X64_PROCESSOR_FEATURES1 { - __C89_NAMELESS struct { - UINT64 ACountMCountSupport : 1; - UINT64 TscInvariantSupport : 1; - UINT64 ClZeroSupport : 1; - UINT64 RdpruSupport : 1; - UINT64 La57Support : 1; - UINT64 MbecSupport : 1; - UINT64 NestedVirtSupport : 1; - UINT64 PsfdSupport: 1; - UINT64 CetSsSupport : 1; - UINT64 CetIbtSupport : 1; - UINT64 VmxExceptionInjectSupport : 1; - UINT64 Reserved2 : 1; - UINT64 UmwaitTpauseSupport : 1; - UINT64 MovdiriSupport : 1; - UINT64 Movdir64bSupport : 1; - UINT64 CldemoteSupport : 1; - UINT64 SerializeSupport : 1; - UINT64 TscDeadlineTmrSupport : 1; - UINT64 TscAdjustSupport : 1; - UINT64 FZLRepMovsb : 1; - UINT64 FSRepStosb : 1; - UINT64 FSRepCmpsb : 1; - UINT64 TsxLdTrkSupport : 1; - UINT64 VmxInsOutsExitInfoSupport : 1; - UINT64 Reserved3 : 1; - UINT64 SbdrSsdpNoSupport : 1; - UINT64 FbsdpNoSupport : 1; - UINT64 PsdpNoSupport : 1; - UINT64 FbClearSupport : 1; - UINT64 BtcNoSupport : 1; - UINT64 IbpbRsbFlushSupport : 1; - UINT64 StibpAlwaysOnSupport : 1; - UINT64 PerfGlobalCtrlSupport : 1; - UINT64 NptExecuteOnlySupport : 1; - UINT64 NptADFlagsSupport : 1; - UINT64 Npt1GbPageSupport : 1; - UINT64 Reserved4 : 1; - UINT64 Reserved5 : 1; - UINT64 Reserved6 : 1; - UINT64 Reserved7 : 1; - UINT64 CmpccxaddSupport : 1; - UINT64 Reserved8 : 1; - UINT64 Reserved9 : 1; - UINT64 Reserved10 : 1; - UINT64 Reserved11 : 1; - UINT64 PrefetchISupport : 1; - UINT64 Sha512Support : 1; - UINT64 Reserved12 : 1; - UINT64 Reserved13 : 1; - UINT64 Reserved14 : 1; - UINT64 SM3Support : 1; - UINT64 SM4Support : 1; - UINT64 Reserved15 : 12; - }; - UINT64 AsUINT64; -} WHV_X64_PROCESSOR_FEATURES1, WHV_PROCESSOR_FEATURES1; - -C_ASSERT(sizeof(WHV_X64_PROCESSOR_FEATURES1) == sizeof(UINT64)); - -#elif defined(__aarch64__) - -typedef union WHV_ARM64_PROCESSOR_FEATURES { - __C89_NAMELESS struct { - UINT64 Asid16 : 1; - UINT64 TGran16 : 1; - UINT64 TGran64 : 1; - UINT64 Haf : 1; - UINT64 Hdbs : 1; - UINT64 Pan : 1; - UINT64 AtS1E1 : 1; - UINT64 Uao : 1; - UINT64 El0Aarch32 : 1; - UINT64 Fp : 1; - UINT64 FpHp : 1; - UINT64 AdvSimd : 1; - UINT64 AdvSimdHp : 1; - UINT64 GicV3V4 : 1; - UINT64 GicV41 : 1; - UINT64 Ras : 1; - UINT64 PmuV3 : 1; - UINT64 PmuV3ArmV81 : 1; - UINT64 PmuV3ArmV84 : 1; - UINT64 PmuV3ArmV85 : 1; - UINT64 Aes : 1; - UINT64 PolyMul : 1; - UINT64 Sha1 : 1; - UINT64 Sha256 : 1; - UINT64 Sha512 : 1; - UINT64 Crc32 : 1; - UINT64 Atomic : 1; - UINT64 Rdm : 1; - UINT64 Sha3 : 1; - UINT64 Sm3 : 1; - UINT64 Sm4 : 1; - UINT64 Dp : 1; - UINT64 Fhm : 1; - UINT64 DcCvap : 1; - UINT64 DcCvadp : 1; - UINT64 ApaBase : 1; - UINT64 ApaEp : 1; - UINT64 ApaEp2 : 1; - UINT64 ApaEp2Fp : 1; - UINT64 ApaEp2Fpc : 1; - UINT64 Jscvt : 1; - UINT64 Fcma : 1; - UINT64 RcpcV83 : 1; - UINT64 RcpcV84 : 1; - UINT64 Gpa : 1; - UINT64 L1ipPipt : 1; - UINT64 DzPermitted : 1; - UINT64 Reserved : 17; - }; - UINT64 AsUINT64; -} WHV_ARM64_PROCESSOR_FEATURES, WHV_PROCESSOR_FEATURES; - -typedef union WHV_ARM64_PROCESSOR_FEATURES1 { - __C89_NAMELESS struct { - UINT64 Reserved : 64; - }; - UINT64 AsUINT64; -} WHV_ARM64_PROCESSOR_FEATURES1, WHV_PROCESSOR_FEATURES1; - -#endif /* __x86_64__ || __aarch64__ */ - -#define WHV_PROCESSOR_FEATURES_BANKS_COUNT 2 - -typedef struct WHV_PROCESSOR_FEATURES_BANKS { - UINT32 BanksCount; - UINT32 Reserved0; - __C89_NAMELESS union { - __C89_NAMELESS struct { - WHV_PROCESSOR_FEATURES Bank0; - WHV_PROCESSOR_FEATURES1 Bank1; - }; - UINT64 AsUINT64[WHV_PROCESSOR_FEATURES_BANKS_COUNT]; - }; -} WHV_PROCESSOR_FEATURES_BANKS; - -C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES_BANKS) == sizeof(UINT64) * (WHV_PROCESSOR_FEATURES_BANKS_COUNT + 1)); - -typedef union WHV_SYNTHETIC_PROCESSOR_FEATURES { - __C89_NAMELESS struct { - UINT64 HypervisorPresent : 1; - UINT64 Hv1 : 1; - UINT64 AccessVpRunTimeReg : 1; - UINT64 AccessPartitionReferenceCounter : 1; - UINT64 AccessSynicRegs : 1; - UINT64 AccessSyntheticTimerRegs : 1; - UINT64 AccessIntrCtrlRegs : 1; - UINT64 AccessHypercallRegs : 1; - UINT64 AccessVpIndex : 1; - UINT64 AccessPartitionReferenceTsc : 1; -#ifdef __x86_64__ - UINT64 AccessGuestIdleReg : 1; - UINT64 AccessFrequencyRegs : 1; -#else - UINT64 ReservedZ10 : 1; - UINT64 ReservedZ11 : 1; -#endif - UINT64 ReservedZ12 : 1; - UINT64 ReservedZ13 : 1; - UINT64 ReservedZ14 : 1; -#ifdef __x86_64__ - UINT64 EnableExtendedGvaRangesForFlushVirtualAddressList : 1; -#else - UINT64 ReservedZ15 : 1; -#endif - UINT64 ReservedZ16 : 1; - UINT64 ReservedZ17 : 1; - UINT64 FastHypercallOutput : 1; - UINT64 ReservedZ19 : 1; - UINT64 ReservedZ20 : 1; - UINT64 ReservedZ21 : 1; - UINT64 DirectSyntheticTimers : 1; - UINT64 ReservedZ23 : 1; - UINT64 ExtendedProcessorMasks : 1; -#ifdef __x86_64__ - UINT64 TbFlushHypercalls : 1; -#else - UINT64 ReservedZ25 : 1; -#endif - UINT64 SyntheticClusterIpi : 1; - UINT64 NotifyLongSpinWait : 1; - UINT64 QueryNumaDistance : 1; - UINT64 SignalEvents : 1; - UINT64 RetargetDeviceInterrupt : 1; -#ifdef __x86_64__ - UINT64 RestoreTime : 1; - UINT64 EnlightenedVmcs : 1; - UINT64 NestedDebugCtl : 1; - UINT64 SyntheticTimeUnhaltedTimer : 1; - UINT64 IdleSpecCtrl : 1; -#else - UINT64 ReservedZ31 : 1; - UINT64 ReservedZ32 : 1; - UINT64 ReservedZ33 : 1; - UINT64 ReservedZ34 : 1; - UINT64 ReservedZ35 : 1; -#endif - UINT64 ReservedZ36 : 1; - UINT64 WakeVps : 1; - UINT64 AccessVpRegs : 1; -#ifdef __aarch64__ - UINT64 SyncContext : 1; -#else - UINT64 ReservedZ39 : 1; -#endif - UINT64 ReservedZ40 : 1; - UINT64 Reserved : 23; - }; - UINT64 AsUINT64; -} WHV_SYNTHETIC_PROCESSOR_FEATURES; - -C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES) == 8); - -#define WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT 1 - -typedef struct WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS { - UINT32 BanksCount; - UINT32 Reserved0; - __C89_NAMELESS union { - __C89_NAMELESS struct { - WHV_SYNTHETIC_PROCESSOR_FEATURES Bank0; - }; - UINT64 AsUINT64[WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT]; - }; -} WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS; - -C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS) == 16); - -typedef union _WHV_PROCESSOR_XSAVE_FEATURES { - __C89_NAMELESS struct { - UINT64 XsaveSupport : 1; - UINT64 XsaveoptSupport : 1; - UINT64 AvxSupport : 1; - UINT64 Avx2Support : 1; - UINT64 FmaSupport : 1; - UINT64 MpxSupport : 1; - UINT64 Avx512Support : 1; - UINT64 Avx512DQSupport : 1; - UINT64 Avx512CDSupport : 1; - UINT64 Avx512BWSupport : 1; - UINT64 Avx512VLSupport : 1; - UINT64 XsaveCompSupport : 1; - UINT64 XsaveSupervisorSupport : 1; - UINT64 Xcr1Support : 1; - UINT64 Avx512BitalgSupport : 1; - UINT64 Avx512IfmaSupport : 1; - UINT64 Avx512VBmiSupport : 1; - UINT64 Avx512VBmi2Support : 1; - UINT64 Avx512VnniSupport : 1; - UINT64 GfniSupport : 1; - UINT64 VaesSupport : 1; - UINT64 Avx512VPopcntdqSupport : 1; - UINT64 VpclmulqdqSupport : 1; - UINT64 Avx512Bf16Support : 1; - UINT64 Avx512Vp2IntersectSupport : 1; - UINT64 Avx512Fp16Support : 1; - UINT64 XfdSupport : 1; - UINT64 AmxTileSupport : 1; - UINT64 AmxBf16Support : 1; - UINT64 AmxInt8Support : 1; - UINT64 AvxVnniSupport : 1; - UINT64 Reserved : 33; - }; - UINT64 AsUINT64; -} WHV_PROCESSOR_XSAVE_FEATURES, *PWHV_PROCESSOR_XSAVE_FEATURES; - -C_ASSERT(sizeof(WHV_PROCESSOR_XSAVE_FEATURES) == sizeof(UINT64)); - -typedef union WHV_PROCESSOR_PERFMON_FEATURES { - __C89_NAMELESS struct { - UINT64 PmuSupport : 1; - UINT64 LbrSupport : 1; - UINT64 Reserved : 62; - }; - UINT64 AsUINT64; -} WHV_PROCESSOR_PERFMON_FEATURES, *PWHV_PROCESSOR_PERFMON_FEATURES; - -C_ASSERT(sizeof(WHV_PROCESSOR_PERFMON_FEATURES) == 8); - -typedef union WHV_X64_MSR_EXIT_BITMAP { - UINT64 AsUINT64; - __C89_NAMELESS struct { - UINT64 UnhandledMsrs : 1; - UINT64 TscMsrWrite : 1; - UINT64 TscMsrRead : 1; - UINT64 ApicBaseMsrWrite : 1; - UINT64 MiscEnableMsrRead:1; - UINT64 McUpdatePatchLevelMsrRead:1; - UINT64 Reserved:58; - }; -} WHV_X64_MSR_EXIT_BITMAP; - -C_ASSERT(sizeof(WHV_X64_MSR_EXIT_BITMAP) == sizeof(UINT64)); - -typedef struct WHV_MEMORY_RANGE_ENTRY { - UINT64 GuestAddress; - UINT64 SizeInBytes; -} WHV_MEMORY_RANGE_ENTRY; - -C_ASSERT(sizeof(WHV_MEMORY_RANGE_ENTRY) == 16); - -typedef union WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS { - UINT32 AsUINT32; - __C89_NAMELESS struct { - UINT32 Prefetch:1; - UINT32 AvoidHardFaults:1; - UINT32 Reserved:30; - }; -} WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS; - -C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS) == 4); - -typedef enum WHV_MEMORY_ACCESS_TYPE { - WHvMemoryAccessRead = 0, - WHvMemoryAccessWrite = 1, - WHvMemoryAccessExecute = 2 -} WHV_MEMORY_ACCESS_TYPE; - -typedef struct WHV_ADVISE_GPA_RANGE_POPULATE { - WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS Flags; - WHV_MEMORY_ACCESS_TYPE AccessType; -} WHV_ADVISE_GPA_RANGE_POPULATE; - -C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE) == 8); - -typedef struct WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP { - UINT32 IsSupported:1; - UINT32 Reserved:31; - UINT32 HighestFrequencyMhz; - UINT32 NominalFrequencyMhz; - UINT32 LowestFrequencyMhz; - UINT32 FrequencyStepMhz; -} WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP; - -C_ASSERT(sizeof(WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP) == 20); - -typedef union WHV_SCHEDULER_FEATURES { - __C89_NAMELESS struct { - UINT64 CpuReserve: 1; - UINT64 CpuCap: 1; - UINT64 CpuWeight: 1; - UINT64 CpuGroupId: 1; - UINT64 DisableSmt: 1; - UINT64 Reserved: 59; - }; - UINT64 AsUINT64; -} WHV_SCHEDULER_FEATURES; - -C_ASSERT(sizeof(WHV_SCHEDULER_FEATURES) == 8); - -typedef union WHV_CAPABILITY { - WINBOOL HypervisorPresent; - WHV_CAPABILITY_FEATURES Features; - WHV_EXTENDED_VM_EXITS ExtendedVmExits; - WHV_PROCESSOR_VENDOR ProcessorVendor; - WHV_PROCESSOR_FEATURES ProcessorFeatures; - WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks; - WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures; - UINT8 ProcessorClFlushSize; - UINT64 ExceptionExitBitmap; - WHV_X64_MSR_EXIT_BITMAP X64MsrExitBitmap; - UINT64 ProcessorClockFrequency; - UINT64 InterruptClockFrequency; - WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks; - WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS GpaRangePopulateFlags; - WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP ProcessorFrequencyCap; - WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures; - WHV_SCHEDULER_FEATURES SchedulerFeatures; -} WHV_CAPABILITY; - -typedef VOID* WHV_PARTITION_HANDLE; - -typedef enum WHV_PARTITION_PROPERTY_CODE { - WHvPartitionPropertyCodeExtendedVmExits = 0x00000001, - WHvPartitionPropertyCodeExceptionExitBitmap = 0x00000002, - WHvPartitionPropertyCodeSeparateSecurityDomain = 0x00000003, - WHvPartitionPropertyCodeNestedVirtualization = 0x00000004, - WHvPartitionPropertyCodeX64MsrExitBitmap = 0x00000005, - WHvPartitionPropertyCodePrimaryNumaNode = 0x00000006, - WHvPartitionPropertyCodeCpuReserve = 0x00000007, - WHvPartitionPropertyCodeCpuCap = 0x00000008, - WHvPartitionPropertyCodeCpuWeight = 0x00000009, - WHvPartitionPropertyCodeCpuGroupId = 0x0000000A, - WHvPartitionPropertyCodeProcessorFrequencyCap = 0x0000000B, - WHvPartitionPropertyCodeAllowDeviceAssignment = 0x0000000C, - WHvPartitionPropertyCodeDisableSmt = 0x0000000D, - WHvPartitionPropertyCodeProcessorFeatures = 0x00001001, - WHvPartitionPropertyCodeProcessorClFlushSize = 0x00001002, - WHvPartitionPropertyCodeCpuidExitList = 0x00001003, - WHvPartitionPropertyCodeCpuidResultList = 0x00001004, - WHvPartitionPropertyCodeLocalApicEmulationMode = 0x00001005, - WHvPartitionPropertyCodeProcessorXsaveFeatures = 0x00001006, - WHvPartitionPropertyCodeProcessorClockFrequency = 0x00001007, - WHvPartitionPropertyCodeInterruptClockFrequency = 0x00001008, - WHvPartitionPropertyCodeApicRemoteReadSupport = 0x00001009, - WHvPartitionPropertyCodeProcessorFeaturesBanks = 0x0000100A, - WHvPartitionPropertyCodeReferenceTime = 0x0000100B, - WHvPartitionPropertyCodeSyntheticProcessorFeaturesBanks = 0x0000100C, - WHvPartitionPropertyCodeCpuidResultList2 = 0x0000100D, - WHvPartitionPropertyCodeProcessorPerfmonFeatures = 0x0000100E, - WHvPartitionPropertyCodeMsrActionList = 0x0000100F, - WHvPartitionPropertyCodeUnimplementedMsrAction = 0x00001010, - WHvPartitionPropertyCodeProcessorCount = 0x00001fff -} WHV_PARTITION_PROPERTY_CODE; - -typedef struct WHV_X64_CPUID_RESULT { - UINT32 Function; - UINT32 Reserved[3]; - UINT32 Eax; - UINT32 Ebx; - UINT32 Ecx; - UINT32 Edx; -} WHV_X64_CPUID_RESULT; - -C_ASSERT(sizeof(WHV_X64_CPUID_RESULT) == 32); - -typedef enum WHV_X64_CPUID_RESULT2_FLAGS { - WHvX64CpuidResult2FlagSubleafSpecific = 0x00000001, - WHvX64CpuidResult2FlagVpSpecific = 0x00000002 -} WHV_X64_CPUID_RESULT2_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(WHV_X64_CPUID_RESULT2_FLAGS); - -typedef struct WHV_CPUID_OUTPUT { - UINT32 Eax; - UINT32 Ebx; - UINT32 Ecx; - UINT32 Edx; -} WHV_CPUID_OUTPUT; - -C_ASSERT(sizeof(WHV_CPUID_OUTPUT) == 16); - -typedef struct WHV_X64_CPUID_RESULT2 { - UINT32 Function; - UINT32 Index; - UINT32 VpIndex; - WHV_X64_CPUID_RESULT2_FLAGS Flags; - WHV_CPUID_OUTPUT Output; - WHV_CPUID_OUTPUT Mask; -} WHV_X64_CPUID_RESULT2; - -C_ASSERT(sizeof(WHV_X64_CPUID_RESULT2) == 48); - -typedef struct WHV_MSR_ACTION_ENTRY { - UINT32 Index; - UINT8 ReadAction; - UINT8 WriteAction; - UINT16 Reserved; -} WHV_MSR_ACTION_ENTRY; - -C_ASSERT(sizeof(WHV_MSR_ACTION_ENTRY) == 8); - -typedef enum WHV_MSR_ACTION { - WHvMsrActionArchitectureDefault = 0, - WHvMsrActionIgnoreWriteReadZero = 1, - WHvMsrActionExit = 2 -} WHV_MSR_ACTION; - -typedef enum WHV_EXCEPTION_TYPE { - WHvX64ExceptionTypeDivideErrorFault = 0x0, - WHvX64ExceptionTypeDebugTrapOrFault = 0x1, - WHvX64ExceptionTypeBreakpointTrap = 0x3, - WHvX64ExceptionTypeOverflowTrap = 0x4, - WHvX64ExceptionTypeBoundRangeFault = 0x5, - WHvX64ExceptionTypeInvalidOpcodeFault = 0x6, - WHvX64ExceptionTypeDeviceNotAvailableFault = 0x7, - WHvX64ExceptionTypeDoubleFaultAbort = 0x8, - WHvX64ExceptionTypeInvalidTaskStateSegmentFault = 0x0A, - WHvX64ExceptionTypeSegmentNotPresentFault = 0x0B, - WHvX64ExceptionTypeStackFault = 0x0C, - WHvX64ExceptionTypeGeneralProtectionFault = 0x0D, - WHvX64ExceptionTypePageFault = 0x0E, - WHvX64ExceptionTypeFloatingPointErrorFault = 0x10, - WHvX64ExceptionTypeAlignmentCheckFault = 0x11, - WHvX64ExceptionTypeMachineCheckAbort = 0x12, - WHvX64ExceptionTypeSimdFloatingPointFault = 0x13 -} WHV_EXCEPTION_TYPE; - -typedef enum WHV_X64_LOCAL_APIC_EMULATION_MODE { - WHvX64LocalApicEmulationModeNone, - WHvX64LocalApicEmulationModeXApic, - WHvX64LocalApicEmulationModeX2Apic -} WHV_X64_LOCAL_APIC_EMULATION_MODE; - -typedef union WHV_PARTITION_PROPERTY { - WHV_EXTENDED_VM_EXITS ExtendedVmExits; - WHV_PROCESSOR_FEATURES ProcessorFeatures; - WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks; - WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures; - UINT8 ProcessorClFlushSize; - UINT32 ProcessorCount; - UINT32 CpuidExitList[1]; - WHV_X64_CPUID_RESULT CpuidResultList[1]; - WHV_X64_CPUID_RESULT2 CpuidResultList2[1]; - WHV_MSR_ACTION_ENTRY MsrActionList[1]; - WHV_MSR_ACTION UnimplementedMsrAction; - UINT64 ExceptionExitBitmap; - WHV_X64_LOCAL_APIC_EMULATION_MODE LocalApicEmulationMode; - WINBOOL SeparateSecurityDomain; - WINBOOL NestedVirtualization; - WHV_X64_MSR_EXIT_BITMAP X64MsrExitBitmap; - UINT64 ProcessorClockFrequency; - UINT64 InterruptClockFrequency; - WINBOOL ApicRemoteRead; - WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks; - UINT64 ReferenceTime; - USHORT PrimaryNumaNode; - UINT32 CpuReserve; - UINT32 CpuCap; - UINT32 CpuWeight; - UINT64 CpuGroupId; - UINT32 ProcessorFrequencyCap; - WINBOOL AllowDeviceAssignment; - WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures; - WINBOOL DisableSmt; -} WHV_PARTITION_PROPERTY; - -typedef UINT64 WHV_GUEST_PHYSICAL_ADDRESS; -typedef UINT64 WHV_GUEST_VIRTUAL_ADDRESS; - -typedef enum WHV_MAP_GPA_RANGE_FLAGS { - WHvMapGpaRangeFlagNone = 0x00000000, - WHvMapGpaRangeFlagRead = 0x00000001, - WHvMapGpaRangeFlagWrite = 0x00000002, - WHvMapGpaRangeFlagExecute = 0x00000004, - WHvMapGpaRangeFlagTrackDirtyPages = 0x00000008 -} WHV_MAP_GPA_RANGE_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(WHV_MAP_GPA_RANGE_FLAGS); - -typedef enum WHV_TRANSLATE_GVA_FLAGS { - WHvTranslateGvaFlagNone = 0x00000000, - WHvTranslateGvaFlagValidateRead = 0x00000001, - WHvTranslateGvaFlagValidateWrite = 0x00000002, - WHvTranslateGvaFlagValidateExecute = 0x00000004, - WHvTranslateGvaFlagPrivilegeExempt = 0x00000008, - WHvTranslateGvaFlagSetPageTableBits = 0x00000010, - WHvTranslateGvaFlagEnforceSmap = 0x00000100, - WHvTranslateGvaFlagOverrideSmap = 0x00000200 -} WHV_TRANSLATE_GVA_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(WHV_TRANSLATE_GVA_FLAGS); - -typedef enum WHV_TRANSLATE_GVA_RESULT_CODE { - WHvTranslateGvaResultSuccess = 0, - WHvTranslateGvaResultPageNotPresent = 1, - WHvTranslateGvaResultPrivilegeViolation = 2, - WHvTranslateGvaResultInvalidPageTableFlags = 3, - WHvTranslateGvaResultGpaUnmapped = 4, - WHvTranslateGvaResultGpaNoReadAccess = 5, - WHvTranslateGvaResultGpaNoWriteAccess = 6, - WHvTranslateGvaResultGpaIllegalOverlayAccess = 7, - WHvTranslateGvaResultIntercept = 8 -} WHV_TRANSLATE_GVA_RESULT_CODE; - -typedef struct WHV_TRANSLATE_GVA_RESULT { - WHV_TRANSLATE_GVA_RESULT_CODE ResultCode; - UINT32 Reserved; -} WHV_TRANSLATE_GVA_RESULT; - -C_ASSERT(sizeof(WHV_TRANSLATE_GVA_RESULT) == 8); - -typedef union WHV_ADVISE_GPA_RANGE { - WHV_ADVISE_GPA_RANGE_POPULATE Populate; -} WHV_ADVISE_GPA_RANGE; - -C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE) == 8); - -typedef enum WHV_CACHE_TYPE { - WHvCacheTypeUncached = 0, - WHvCacheTypeWriteCombining = 1, - WHvCacheTypeWriteThrough = 4, -#ifdef __x86_64__ - WHvCacheTypeWriteProtected = 5, -#endif - WHvCacheTypeWriteBack = 6 -} WHV_CACHE_TYPE; - -typedef union WHV_ACCESS_GPA_CONTROLS { - UINT64 AsUINT64; - __C89_NAMELESS struct { - WHV_CACHE_TYPE CacheType; - UINT32 Reserved; - }; -} WHV_ACCESS_GPA_CONTROLS; - -C_ASSERT(sizeof(WHV_ACCESS_GPA_CONTROLS) == 8); - -#define WHV_READ_WRITE_GPA_RANGE_MAX_SIZE 16 +#if defined(__x86_64__) || defined(__aarch64__) #if defined(__x86_64__) @@ -1086,7 +303,6 @@ typedef enum WHV_REGISTER_NAME { WHvArm64RegisterFp = 0x0002001D, WHvArm64RegisterLr = 0x0002001E, WHvArm64RegisterPc = 0x00020022, - WHvArm64RegisterXzr = 0x0002FFFE, WHvArm64RegisterQ0 = 0x00030000, WHvArm64RegisterQ1 = 0x00030001, WHvArm64RegisterQ2 = 0x00030002, @@ -1119,52 +335,143 @@ typedef enum WHV_REGISTER_NAME { WHvArm64RegisterQ29 = 0x0003001D, WHvArm64RegisterQ30 = 0x0003001E, WHvArm64RegisterQ31 = 0x0003001F, - WHvArm64RegisterCurrentEl = 0x00021003, - WHvArm64RegisterDaif = 0x00021004, - WHvArm64RegisterDit = 0x00021005, WHvArm64RegisterPstate = 0x00020023, WHvArm64RegisterElrEl1 = 0x00040015, WHvArm64RegisterFpcr = 0x00040012, WHvArm64RegisterFpsr = 0x00040013, - WHvArm64RegisterNzcv = 0x00021006, - WHvArm64RegisterPan = 0x00021007, WHvArm64RegisterSp = 0x0002001F, WHvArm64RegisterSpEl0 = 0x00020020, WHvArm64RegisterSpEl1 = 0x00020021, - WHvArm64RegisterSpSel = 0x00021008, WHvArm64RegisterSpsrEl1 = 0x00040014, - WHvArm64RegisterSsbs = 0x00021009, - WHvArm64RegisterTco = 0x0002100A, - WHvArm64RegisterUao = 0x0002100B, + WHvArm64RegisterIdMidrEl1 = 0x00022000, + WHvArm64RegisterIdRes01El1 = 0x00022001, + WHvArm64RegisterIdRes02El1 = 0x00022002, + WHvArm64RegisterIdRes03El1 = 0x00022003, + WHvArm64RegisterIdRes04El1 = 0x00022004, + WHvArm64RegisterIdMpidrEl1 = 0x00022005, + WHvArm64RegisterIdRevidrEl1 = 0x00022006, + WHvArm64RegisterIdRes07El1 = 0x00022007, + WHvArm64RegisterIdPfr0El1 = 0x00022008, + WHvArm64RegisterIdPfr1El1 = 0x00022009, + WHvArm64RegisterIdDfr0El1 = 0x0002200A, + WHvArm64RegisterIdRes13El1 = 0x0002200B, + WHvArm64RegisterIdMmfr0El1 = 0x0002200C, + WHvArm64RegisterIdMmfr1El1 = 0x0002200D, + WHvArm64RegisterIdMmfr2El1 = 0x0002200E, + WHvArm64RegisterIdMmfr3El1 = 0x0002200F, + WHvArm64RegisterIdIsar0El1 = 0x00022010, + WHvArm64RegisterIdIsar1El1 = 0x00022011, + WHvArm64RegisterIdIsar2El1 = 0x00022012, + WHvArm64RegisterIdIsar3El1 = 0x00022013, + WHvArm64RegisterIdIsar4El1 = 0x00022014, + WHvArm64RegisterIdIsar5El1 = 0x00022015, + WHvArm64RegisterIdRes26El1 = 0x00022016, + WHvArm64RegisterIdRes27El1 = 0x00022017, + WHvArm64RegisterIdMvfr0El1 = 0x00022018, + WHvArm64RegisterIdMvfr1El1 = 0x00022019, + WHvArm64RegisterIdMvfr2El1 = 0x0002201A, + WHvArm64RegisterIdRes33El1 = 0x0002201B, + WHvArm64RegisterIdPfr2El1 = 0x0002201C, + WHvArm64RegisterIdRes35El1 = 0x0002201D, + WHvArm64RegisterIdRes36El1 = 0x0002201E, + WHvArm64RegisterIdRes37El1 = 0x0002201F, + WHvArm64RegisterIdAa64Pfr0El1 = 0x00022020, + WHvArm64RegisterIdAa64Pfr1El1 = 0x00022021, + WHvArm64RegisterIdAa64Pfr2El1 = 0x00022022, + WHvArm64RegisterIdRes43El1 = 0x00022023, + WHvArm64RegisterIdAa64Zfr0El1 = 0x00022024, + WHvArm64RegisterIdAa64Smfr0El1 = 0x00022025, + WHvArm64RegisterIdRes46El1 = 0x00022026, + WHvArm64RegisterIdRes47El1 = 0x00022027, WHvArm64RegisterIdAa64Dfr0El1 = 0x00022028, WHvArm64RegisterIdAa64Dfr1El1 = 0x00022029, + WHvArm64RegisterIdRes52El1 = 0x0002202A, + WHvArm64RegisterIdRes53El1 = 0x0002202B, + WHvArm64RegisterIdRes54El1 = 0x0002202C, + WHvArm64RegisterIdRes55El1 = 0x0002202D, + WHvArm64RegisterIdRes56El1 = 0x0002202E, + WHvArm64RegisterIdRes57El1 = 0x0002202F, WHvArm64RegisterIdAa64Isar0El1 = 0x00022030, WHvArm64RegisterIdAa64Isar1El1 = 0x00022031, WHvArm64RegisterIdAa64Isar2El1 = 0x00022032, + WHvArm64RegisterIdRes63El1 = 0x00022033, + WHvArm64RegisterIdRes64El1 = 0x00022034, + WHvArm64RegisterIdRes65El1 = 0x00022035, + WHvArm64RegisterIdRes66El1 = 0x00022036, + WHvArm64RegisterIdRes67El1 = 0x00022037, WHvArm64RegisterIdAa64Mmfr0El1 = 0x00022038, WHvArm64RegisterIdAa64Mmfr1El1 = 0x00022039, WHvArm64RegisterIdAa64Mmfr2El1 = 0x0002203A, WHvArm64RegisterIdAa64Mmfr3El1 = 0x0002203B, WHvArm64RegisterIdAa64Mmfr4El1 = 0x0002203C, - WHvArm64RegisterIdAa64Pfr0El1 = 0x00022020, - WHvArm64RegisterIdAa64Pfr1El1 = 0x00022021, - WHvArm64RegisterIdAa64Pfr2El1 = 0x00022022, - WHvArm64RegisterIdAa64Smfr0El1 = 0x00022025, - WHvArm64RegisterIdAa64Zfr0El1 = 0x00022024, - WHvArm64RegisterIdDfr0El1 = 0x0002200A, - WHvArm64RegisterIdIsar0El1 = 0x00022010, - WHvArm64RegisterIdIsar1El1 = 0x00022011, - WHvArm64RegisterIdIsar2El1 = 0x00022012, - WHvArm64RegisterIdIsar3El1 = 0x00022013, - WHvArm64RegisterIdIsar4El1 = 0x00022014, - WHvArm64RegisterIdIsar5El1 = 0x00022015, - WHvArm64RegisterIdMmfr0El1 = 0x0002200C, - WHvArm64RegisterIdMmfr1El1 = 0x0002200D, - WHvArm64RegisterIdMmfr2El1 = 0x0002200E, - WHvArm64RegisterIdMmfr3El1 = 0x0002200F, - WHvArm64RegisterIdPfr0El1 = 0x00022008, - WHvArm64RegisterIdPfr1El1 = 0x00022009, - WHvArm64RegisterIdPfr2El1 = 0x0002201C, + WHvArm64RegisterIdRes75El1 = 0x0002203D, + WHvArm64RegisterIdRes76El1 = 0x0002203E, + WHvArm64RegisterIdRes77El1 = 0x0002203F, + WHvArm64RegisterIdRes80El1 = 0x00022040, + WHvArm64RegisterIdRes81El1 = 0x00022041, + WHvArm64RegisterIdRes82El1 = 0x00022042, + WHvArm64RegisterIdRes83El1 = 0x00022043, + WHvArm64RegisterIdRes84El1 = 0x00022044, + WHvArm64RegisterIdRes85El1 = 0x00022045, + WHvArm64RegisterIdRes86El1 = 0x00022046, + WHvArm64RegisterIdRes87El1 = 0x00022047, + WHvArm64RegisterIdRes90El1 = 0x00022048, + WHvArm64RegisterIdRes91El1 = 0x00022049, + WHvArm64RegisterIdRes92El1 = 0x0002204A, + WHvArm64RegisterIdRes93El1 = 0x0002204B, + WHvArm64RegisterIdRes94El1 = 0x0002204C, + WHvArm64RegisterIdRes95El1 = 0x0002204D, + WHvArm64RegisterIdRes96El1 = 0x0002204E, + WHvArm64RegisterIdRes97El1 = 0x0002204F, + WHvArm64RegisterIdRes100El1 = 0x00022050, + WHvArm64RegisterIdRes101El1 = 0x00022051, + WHvArm64RegisterIdRes102El1 = 0x00022052, + WHvArm64RegisterIdRes103El1 = 0x00022053, + WHvArm64RegisterIdRes104El1 = 0x00022054, + WHvArm64RegisterIdRes105El1 = 0x00022055, + WHvArm64RegisterIdRes106El1 = 0x00022056, + WHvArm64RegisterIdRes107El1 = 0x00022057, + WHvArm64RegisterIdRes110El1 = 0x00022058, + WHvArm64RegisterIdRes111El1 = 0x00022059, + WHvArm64RegisterIdRes112El1 = 0x0002205A, + WHvArm64RegisterIdRes113El1 = 0x0002205B, + WHvArm64RegisterIdRes114El1 = 0x0002205C, + WHvArm64RegisterIdRes115El1 = 0x0002205D, + WHvArm64RegisterIdRes116El1 = 0x0002205E, + WHvArm64RegisterIdRes117El1 = 0x0002205F, + WHvArm64RegisterIdRes120El1 = 0x00022060, + WHvArm64RegisterIdRes121El1 = 0x00022061, + WHvArm64RegisterIdRes122El1 = 0x00022062, + WHvArm64RegisterIdRes123El1 = 0x00022063, + WHvArm64RegisterIdRes124El1 = 0x00022064, + WHvArm64RegisterIdRes125El1 = 0x00022065, + WHvArm64RegisterIdRes126El1 = 0x00022066, + WHvArm64RegisterIdRes127El1 = 0x00022067, + WHvArm64RegisterIdRes130El1 = 0x00022068, + WHvArm64RegisterIdRes131El1 = 0x00022069, + WHvArm64RegisterIdRes132El1 = 0x0002206A, + WHvArm64RegisterIdRes133El1 = 0x0002206B, + WHvArm64RegisterIdRes134El1 = 0x0002206C, + WHvArm64RegisterIdRes135El1 = 0x0002206D, + WHvArm64RegisterIdRes136El1 = 0x0002206E, + WHvArm64RegisterIdRes137El1 = 0x0002206F, + WHvArm64RegisterIdRes140El1 = 0x00022070, + WHvArm64RegisterIdRes141El1 = 0x00022071, + WHvArm64RegisterIdRes142El1 = 0x00022072, + WHvArm64RegisterIdRes143El1 = 0x00022073, + WHvArm64RegisterIdRes144El1 = 0x00022074, + WHvArm64RegisterIdRes145El1 = 0x00022075, + WHvArm64RegisterIdRes146El1 = 0x00022076, + WHvArm64RegisterIdRes147El1 = 0x00022077, + WHvArm64RegisterIdRes150El1 = 0x00022078, + WHvArm64RegisterIdRes151El1 = 0x00022079, + WHvArm64RegisterIdRes152El1 = 0x0002207A, + WHvArm64RegisterIdRes153El1 = 0x0002207B, + WHvArm64RegisterIdRes154El1 = 0x0002207C, + WHvArm64RegisterIdRes155El1 = 0x0002207D, + WHvArm64RegisterIdRes156El1 = 0x0002207E, + WHvArm64RegisterIdRes157El1 = 0x0002207F, + WHvArm64RegisterActlrEl1 = 0x00040003, WHvArm64RegisterApdAKeyHiEl1 = 0x00040026, WHvArm64RegisterApdAKeyLoEl1 = 0x00040027, WHvArm64RegisterApdBKeyHiEl1 = 0x00040028, @@ -1175,28 +482,15 @@ typedef enum WHV_REGISTER_NAME { WHvArm64RegisterApiAKeyLoEl1 = 0x0004002D, WHvArm64RegisterApiBKeyHiEl1 = 0x0004002E, WHvArm64RegisterApiBKeyLoEl1 = 0x0004002F, - WHvArm64RegisterCcsidrEl1 = 0x00040030, - WHvArm64RegisterCcsidr2El1 = 0x00040031, - WHvArm64RegisterClidrEl1 = 0x00040032, WHvArm64RegisterContextidrEl1 = 0x0004000D, WHvArm64RegisterCpacrEl1 = 0x00040004, WHvArm64RegisterCsselrEl1 = 0x00040035, - WHvArm64RegisterCtrEl0 = 0x00040036, - WHvArm64RegisterDczidEl0 = 0x00040038, WHvArm64RegisterEsrEl1 = 0x00040008, WHvArm64RegisterFarEl1 = 0x00040009, - WHvArm64RegisterIsrEl1 = 0x0004004A, WHvArm64RegisterMairEl1 = 0x0004000B, WHvArm64RegisterMidrEl1 = 0x00040051, WHvArm64RegisterMpidrEl1 = 0x00040001, - WHvArm64RegisterMvfr0El1 = 0x00040052, - WHvArm64RegisterMvfr1El1 = 0x00040053, - WHvArm64RegisterMvfr2El1 = 0x00040054, WHvArm64RegisterParEl1 = 0x0004000A, - WHvArm64RegisterRevidrEl1 = 0x00040055, - WHvArm64RegisterRgsrEl1 = 0x00040056, - WHvArm64RegisterRndr = 0x00040057, - WHvArm64RegisterRndrrs = 0x00040058, WHvArm64RegisterSctlrEl1 = 0x00040002, WHvArm64RegisterTcrEl1 = 0x00040007, WHvArm64RegisterTpidrEl0 = 0x00040011, @@ -1205,6 +499,7 @@ typedef enum WHV_REGISTER_NAME { WHvArm64RegisterTtbr0El1 = 0x00040005, WHvArm64RegisterTtbr1El1 = 0x00040006, WHvArm64RegisterVbarEl1 = 0x0004000C, + WHvArm64RegisterZcrEl1 = 0x00040071, WHvArm64RegisterDbgbcr0El1 = 0x00050000, WHvArm64RegisterDbgbcr1El1 = 0x00050001, WHvArm64RegisterDbgbcr2El1 = 0x00050002, @@ -1349,32 +644,12 @@ typedef enum WHV_REGISTER_NAME { WHvArm64RegisterPmovsclrEl0 = 0x00052048, WHvArm64RegisterPmovssetEl0 = 0x00052049, WHvArm64RegisterPmselrEl0 = 0x0005204A, - WHvArm64RegisterPmswincEl0 = 0x0005204B, WHvArm64RegisterPmuserenrEl0 = 0x0005204C, - WHvArm64RegisterPmxevcntrEl0 = 0x0005204D, - WHvArm64RegisterPmxevtyperEl0 = 0x0005204E, - WHvArm64RegisterCntfrqEl0 = 0x00058000, WHvArm64RegisterCntkctlEl1 = 0x00058008, WHvArm64RegisterCntvCtlEl0 = 0x0005800E, WHvArm64RegisterCntvCvalEl0 = 0x0005800F, - WHvArm64RegisterCntvTvalEl0 = 0x00058010, WHvArm64RegisterCntvctEl0 = 0x00058011, - WHvArm64RegisterIccAp1R0El1 = 0x00060000, - WHvArm64RegisterIccAp1R1El1 = 0x00060001, - WHvArm64RegisterIccAp1R2El1 = 0x00060002, - WHvArm64RegisterIccAp1R3El1 = 0x00060003, - WHvArm64RegisterIccAsgi1REl1 = 0x00060004, - WHvArm64RegisterIccBpr1El1 = 0x00060005, - WHvArm64RegisterIccCtlrEl1 = 0x00060006, - WHvArm64RegisterIccDirEl1 = 0x00060007, - WHvArm64RegisterIccEoir1El1 = 0x00060008, - WHvArm64RegisterIccHppir1El1 = 0x00060009, - WHvArm64RegisterIccIar1El1 = 0x0006000A, - WHvArm64RegisterIccIgrpen1El1 = 0x0006000B, - WHvArm64RegisterIccPmrEl1 = 0x0006000C, - WHvArm64RegisterIccRprEl1 = 0x0006000D, - WHvArm64RegisterIccSgi1REl1 = 0x0006000E, - WHvArm64RegisterIccSreEl1 = 0x0006000F, + WHvArm64RegisterGicrBaseGpa = 0x00063000, WHvRegisterSint0 = 0x000A0000, WHvRegisterSint1 = 0x000A0001, WHvRegisterSint2 = 0x000A0002, @@ -1396,6 +671,19 @@ typedef enum WHV_REGISTER_NAME { WHvRegisterSifp = 0x000A0012, WHvRegisterSipp = 0x000A0013, WHvRegisterEom = 0x000A0014, + WHvRegisterHypervisorVersion = 0x00000100, + WHvRegisterPrivilegesAndFeaturesInfo = 0x00000200, + WHvRegisterFeaturesInfo = 0x00000201, + WHvRegisterImplementationLimitsInfo = 0x00000202, + WHvRegisterHardwareFeaturesInfo = 0x00000203, + WHvRegisterCpuManagementFeaturesInfo = 0x00000204, + WHvRegisterPasidFeaturesInfo = 0x00000205, + WHvRegisterGuestCrashP0 = 0x00000210, + WHvRegisterGuestCrashP1 = 0x00000211, + WHvRegisterGuestCrashP2 = 0x00000212, + WHvRegisterGuestCrashP3 = 0x00000213, + WHvRegisterGuestCrashP4 = 0x00000214, + WHvRegisterGuestCrashCtl = 0x00000215, WHvRegisterVpRuntime = 0x00090000, WHvRegisterGuestOsId = 0x00090002, WHvRegisterVpAssistPage = 0x00090013, @@ -1410,362 +698,1463 @@ typedef enum WHV_REGISTER_NAME { WHvRegisterPendingEvent3 = 0x00010009 } WHV_REGISTER_NAME; -#define WHvRegisterSiefp WHvRegisterSifp -#define WHvRegisterSimp WHvRegisterSipp -#define WHvRegisterPendingEvent WHvRegisterPendingEvent0 +#define WHvRegisterSiefp WHvRegisterSifp +#define WHvRegisterSimp WHvRegisterSipp +#define WHvRegisterPendingEvent WHvRegisterPendingEvent0 + +#endif /* __x86_64__ || __aarch64__ */ + +typedef UINT64 WHV_GUEST_PHYSICAL_ADDRESS; +typedef UINT64 WHV_GUEST_VIRTUAL_ADDRESS; + +typedef union DECLSPEC_ALIGN(16) WHV_UINT128 { + __C89_NAMELESS struct { + UINT64 Low64; + UINT64 High64; + }; + UINT32 Dword[4]; +} WHV_UINT128; + +C_ASSERT(sizeof(WHV_UINT128) == 16); + +#if defined(__x86_64__) + +typedef union WHV_X64_FP_REGISTER { + __C89_NAMELESS struct { + UINT64 Mantissa; + UINT64 BiasedExponent:15; + UINT64 Sign:1; + UINT64 Reserved:48; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_FP_REGISTER; + +C_ASSERT(sizeof(WHV_X64_FP_REGISTER) == 16); + +typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER { + __C89_NAMELESS struct { + UINT16 FpControl; + UINT16 FpStatus; + UINT8 FpTag; + UINT8 Reserved; + UINT16 LastFpOp; + __C89_NAMELESS union { + UINT64 LastFpRip; + __C89_NAMELESS struct { + UINT32 LastFpEip; + UINT16 LastFpCs; + UINT16 Reserved2; + }; + }; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_FP_CONTROL_STATUS_REGISTER; + +C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16); + +typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER { + __C89_NAMELESS struct { + __C89_NAMELESS union { + UINT64 LastFpRdp; + __C89_NAMELESS struct { + UINT32 LastFpDp; + UINT16 LastFpDs; + UINT16 Reserved; + }; + }; + UINT32 XmmStatusControl; + UINT32 XmmStatusControlMask; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_XMM_CONTROL_STATUS_REGISTER; + +C_ASSERT(sizeof(WHV_X64_XMM_CONTROL_STATUS_REGISTER) == 16); + +typedef struct WHV_X64_SEGMENT_REGISTER { + UINT64 Base; + UINT32 Limit; + UINT16 Selector; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT16 SegmentType:4; + UINT16 NonSystemSegment:1; + UINT16 DescriptorPrivilegeLevel:2; + UINT16 Present:1; + UINT16 Reserved:4; + UINT16 Available:1; + UINT16 Long:1; + UINT16 Default:1; + UINT16 Granularity:1; + }; + UINT16 Attributes; + }; +} WHV_X64_SEGMENT_REGISTER; + +C_ASSERT(sizeof(WHV_X64_SEGMENT_REGISTER) == 16); + +typedef struct WHV_X64_TABLE_REGISTER { + UINT16 Pad[3]; + UINT16 Limit; + UINT64 Base; +} WHV_X64_TABLE_REGISTER; + +C_ASSERT(sizeof(WHV_X64_TABLE_REGISTER) == 16); + +typedef union WHV_X64_INTERRUPT_STATE_REGISTER { + __C89_NAMELESS struct { + UINT64 InterruptShadow:1; + UINT64 NmiMasked:1; + UINT64 Reserved:62; + }; + UINT64 AsUINT64; +} WHV_X64_INTERRUPT_STATE_REGISTER; + +C_ASSERT(sizeof(WHV_X64_INTERRUPT_STATE_REGISTER) == 8); + +typedef union WHV_X64_PENDING_INTERRUPTION_REGISTER { + __C89_NAMELESS struct { + UINT32 InterruptionPending:1; + UINT32 InterruptionType:3; + UINT32 DeliverErrorCode:1; + UINT32 InstructionLength:4; + UINT32 NestedEvent:1; + UINT32 Reserved:6; + UINT32 InterruptionVector:16; + UINT32 ErrorCode; + }; + UINT64 AsUINT64; +} WHV_X64_PENDING_INTERRUPTION_REGISTER; + +C_ASSERT(sizeof(WHV_X64_PENDING_INTERRUPTION_REGISTER) == sizeof(UINT64)); + +typedef enum WHV_X64_PENDING_EVENT_TYPE { + WHvX64PendingEventException = 0, + WHvX64PendingEventExtInt = 5, + WHvX64PendingEventSvmNestedExit = 7, + WHvX64PendingEventVmxNestedExit = 8 +} WHV_X64_PENDING_EVENT_TYPE; + +typedef union WHV_X64_PENDING_EXCEPTION_EVENT { + __C89_NAMELESS struct { + UINT32 EventPending : 1; + UINT32 EventType : 3; + UINT32 Reserved0 : 4; + UINT32 DeliverErrorCode : 1; + UINT32 Reserved1 : 7; + UINT32 Vector : 16; + UINT32 ErrorCode; + UINT64 ExceptionParameter; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_EXCEPTION_EVENT; + +C_ASSERT(sizeof(WHV_X64_PENDING_EXCEPTION_EVENT) == sizeof(WHV_UINT128)); + +typedef union WHV_X64_PENDING_EXT_INT_EVENT { + __C89_NAMELESS struct { + UINT64 EventPending : 1; + UINT64 EventType : 3; + UINT64 Reserved0 : 4; + UINT64 Vector : 8; + UINT64 Reserved1 : 48; + UINT64 Reserved2; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_EXT_INT_EVENT; + +C_ASSERT(sizeof(WHV_X64_PENDING_EXT_INT_EVENT) == sizeof(WHV_UINT128)); + +typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0 { + __C89_NAMELESS struct { + UINT64 EventPending : 1; + UINT64 EventType : 4; + UINT64 Reserved0 : 3; + UINT64 InstructionBytesValid : 1; + UINT64 Reserved1 : 55; + UINT64 ExitCode; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0; + +typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1 { + __C89_NAMELESS struct { + UINT64 ExitInfo1; + UINT64 ExitInfo2; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1; + +typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2 { + __C89_NAMELESS struct { + UINT64 NextRip; + UINT8 InstructionBytesFetchedCount; + UINT8 InstructionBytes[7]; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2; + +typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3 { + __C89_NAMELESS struct { + UINT8 InstructionBytes[8]; + UINT64 Reserved2; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3; + +C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0) == 16); +C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1) == 16); +C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2) == 16); +C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3) == 16); + +typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0 { + __C89_NAMELESS struct { + UINT32 EventPending : 1; + UINT32 EventType : 4; + UINT32 Reserved0 : 27; + UINT32 ExitReason; + UINT64 ExitQualification; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0; + +typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1 { + __C89_NAMELESS struct { + UINT32 InstructionLength; + UINT32 InstructionInfo; + UINT32 ExitInterruptionInfo; + UINT32 ExitExceptionErrorCode; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1; + +typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2 { + __C89_NAMELESS struct { + UINT64 GuestLinearAddress; + UINT64 GuestPhysicalAddress; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2; + +C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0) == 16); +C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1) == 16); +C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2) == 16); + +typedef union WHV_X64_NESTED_INVEPT_REGISTER { + __C89_NAMELESS struct { + UINT8 Type; + UINT8 Reserved[7]; + UINT64 Eptp; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_NESTED_INVEPT_REGISTER; + +C_ASSERT(sizeof(WHV_X64_NESTED_INVEPT_REGISTER) == 16); + +typedef union WHV_X64_NESTED_INVVPID_REGISTER { + __C89_NAMELESS struct { + UINT8 Type; + UINT8 Reserved[3]; + UINT32 Vpid; + UINT64 LinearAddress; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_NESTED_INVVPID_REGISTER; + +C_ASSERT(sizeof(WHV_X64_NESTED_INVVPID_REGISTER) == 16); + +typedef union WHV_X64_NESTED_GUEST_STATE { + __C89_NAMELESS struct { + UINT64 NestedVirtActive : 1; + UINT64 NestedGuestMode : 1; + UINT64 VmEntryPending : 1; + UINT64 Reserved0 : 61; + UINT64 Reserved1; + }; + WHV_UINT128 AsUINT128; +} WHV_X64_NESTED_GUEST_STATE; + +C_ASSERT(sizeof(WHV_X64_NESTED_GUEST_STATE) == 16); + +#endif /* defined(__x86_64__) */ + +typedef union WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER { + __C89_NAMELESS struct { +#if defined(__x86_64__) + UINT64 NmiNotification:1; + UINT64 InterruptNotification:1; + UINT64 InterruptPriority:4; + UINT64 Reserved:42; +#elif defined(__aarch64__) + UINT64 Reserved:48; +#endif + UINT64 Sint:16; + }; + UINT64 AsUINT64; +} WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER, WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER; + +C_ASSERT(sizeof(WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER) == 8); + +typedef union WHV_INTERNAL_ACTIVITY_REGISTER { + __C89_NAMELESS struct { + UINT64 StartupSuspend : 1; + UINT64 HaltSuspend : 1; + UINT64 IdleSuspend : 1; + UINT64 Reserved :61; + }; + UINT64 AsUINT64; +} WHV_INTERNAL_ACTIVITY_REGISTER; + +C_ASSERT(sizeof(WHV_INTERNAL_ACTIVITY_REGISTER) == 8); + +#if defined(__x86_64__) + +typedef union WHV_X64_PENDING_DEBUG_EXCEPTION { + UINT64 AsUINT64; + __C89_NAMELESS struct { + UINT64 Breakpoint0 : 1; + UINT64 Breakpoint1 : 1; + UINT64 Breakpoint2 : 1; + UINT64 Breakpoint3 : 1; + UINT64 SingleStep : 1; + UINT64 Reserved0 : 59; + }; +} WHV_X64_PENDING_DEBUG_EXCEPTION; + +C_ASSERT(sizeof(WHV_X64_PENDING_DEBUG_EXCEPTION) == 8); + +#elif defined(__aarch64__) + +typedef enum WHV_ARM64_PENDING_EVENT_TYPE { + WHvArm64PendingEventException = 0, + WHvArm64PendingEventSyntheticException = 1 +} WHV_ARM64_PENDING_EVENT_TYPE; + +#define WHV_ARM64_PENDING_EVENT_HEADER \ + UINT8 EventPending : 1; \ + UINT8 EventType : 3; \ + UINT8 Reserved : 4 + +typedef union WHV_ARM64_PENDING_EXCEPTION_EVENT { + UINT64 AsUINT64[3]; + __C89_NAMELESS struct { + WHV_ARM64_PENDING_EVENT_HEADER; + UINT8 Reserved1; + UINT16 Reserved2; + UINT32 Reserved3; + UINT64 EsrElx; + UINT64 FarElx; + }; +} WHV_ARM64_PENDING_EXCEPTION_EVENT; + +typedef enum WHV_ARM64_SYNTHETIC_EXCEPTION_TYPE { + WHvArm64SyntheticExceptionTypeSmc = 0x0, + WHvArm64SyntheticExceptionTypeSecure = 0x1, + WHvArm64SyntheticExceptionTypeCrashdump = 0x2, + WHvArm64SyntheticExceptionTypeVirtualizationFault = 0x3, + WHvArm64SyntheticExceptionTypeMax = 0x3F + 1 +} WHV_ARM64_SYNTHETIC_EXCEPTION_TYPE; + +typedef union WHV_ARM64_PENDING_SYNTHETIC_EXCEPTION_EVENT { + UINT64 AsUINT64[2]; + __C89_NAMELESS struct { + WHV_ARM64_PENDING_EVENT_HEADER; + UINT8 Reserved1; + UINT16 Reserved2; + UINT32 ExceptionType; + UINT64 Context; + }; +} WHV_ARM64_PENDING_SYNTHETIC_EXCEPTION_EVENT; + +typedef union WHV_ARM64_PENDING_EVENT { + __C89_NAMELESS struct { + WHV_UINT128 Reg0; + WHV_UINT128 Reg1; + }; + __C89_NAMELESS struct { + WHV_ARM64_PENDING_EVENT_HEADER; + UINT8 EventData[15]; + }; + WHV_ARM64_PENDING_EXCEPTION_EVENT Exception; + WHV_ARM64_PENDING_SYNTHETIC_EXCEPTION_EVENT SyntheticException; +} WHV_ARM64_PENDING_EVENT; + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +typedef union WHV_REGISTER_VALUE { + WHV_UINT128 Reg128; + UINT64 Reg64; + UINT32 Reg32; + UINT16 Reg16; + UINT8 Reg8; + WHV_INTERNAL_ACTIVITY_REGISTER InternalActivity; + WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER DeliverabilityNotifications; +#if defined(__x86_64__) + WHV_X64_FP_REGISTER Fp; + WHV_X64_FP_CONTROL_STATUS_REGISTER FpControlStatus; + WHV_X64_XMM_CONTROL_STATUS_REGISTER XmmControlStatus; + WHV_X64_SEGMENT_REGISTER Segment; + WHV_X64_TABLE_REGISTER Table; + WHV_X64_INTERRUPT_STATE_REGISTER InterruptState; + WHV_X64_PENDING_INTERRUPTION_REGISTER PendingInterruption; + WHV_X64_PENDING_EXCEPTION_EVENT ExceptionEvent; + WHV_X64_PENDING_EXT_INT_EVENT ExtIntEvent; + WHV_X64_PENDING_DEBUG_EXCEPTION PendingDebugException; + WHV_X64_NESTED_GUEST_STATE NestedState; + WHV_X64_NESTED_INVEPT_REGISTER InvEpt; + WHV_X64_NESTED_INVVPID_REGISTER InvVpid; + WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0 SvmNestedExit0; + WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1 SvmNestedExit1; + WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2 SvmNestedExit2; + WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3 SvmNestedExit3; + WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0 VmxNestedExit0; + WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1 VmxNestedExit1; + WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2 VmxNestedExit2; +#endif +} WHV_REGISTER_VALUE; + +C_ASSERT(sizeof(WHV_REGISTER_VALUE) == 16); + +typedef enum WHV_CAPABILITY_CODE { + WHvCapabilityCodeHypervisorPresent = 0x00000000 + ,WHvCapabilityCodeFeatures = 0x00000001 + ,WHvCapabilityCodeExtendedVmExits = 0x00000002 +#if defined(__x86_64__) + ,WHvCapabilityCodeExceptionExitBitmap = 0x00000003 + ,WHvCapabilityCodeX64MsrExitBitmap = 0x00000004 +#endif + ,WHvCapabilityCodeGpaRangePopulateFlags = 0x00000005 + ,WHvCapabilityCodeSchedulerFeatures = 0x00000006 + ,WHvCapabilityCodeProcessorVendor = 0x00001000 + ,WHvCapabilityCodeProcessorFeatures = 0x00001001 + ,WHvCapabilityCodeProcessorClFlushSize = 0x00001002 +#if defined(__x86_64__) + ,WHvCapabilityCodeProcessorXsaveFeatures = 0x00001003 +#endif + ,WHvCapabilityCodeProcessorClockFrequency = 0x00001004 +#if defined(__x86_64__) + ,WHvCapabilityCodeInterruptClockFrequency = 0x00001005 +#endif + ,WHvCapabilityCodeProcessorFeaturesBanks = 0x00001006 + ,WHvCapabilityCodeProcessorFrequencyCap = 0x00001007 + ,WHvCapabilityCodeSyntheticProcessorFeaturesBanks = 0x00001008 +#if defined(__x86_64__) + ,WHvCapabilityCodeProcessorPerfmonFeatures = 0x00001009 +#endif + ,WHvCapabilityCodePhysicalAddressWidth = 0x0000100A +#if defined(__x86_64__) + ,WHvCapabilityCodeVmxBasic = 0x00002000 + ,WHvCapabilityCodeVmxPinbasedCtls = 0x00002001 + ,WHvCapabilityCodeVmxProcbasedCtls = 0x00002002 + ,WHvCapabilityCodeVmxExitCtls = 0x00002003 + ,WHvCapabilityCodeVmxEntryCtls = 0x00002004 + ,WHvCapabilityCodeVmxMisc = 0x00002005 + ,WHvCapabilityCodeVmxCr0Fixed0 = 0x00002006 + ,WHvCapabilityCodeVmxCr0Fixed1 = 0x00002007 + ,WHvCapabilityCodeVmxCr4Fixed0 = 0x00002008 + ,WHvCapabilityCodeVmxCr4Fixed1 = 0x00002009 + ,WHvCapabilityCodeVmxVmcsEnum = 0x0000200A + ,WHvCapabilityCodeVmxProcbasedCtls2 = 0x0000200B + ,WHvCapabilityCodeVmxEptVpidCap = 0x0000200C + ,WHvCapabilityCodeVmxTruePinbasedCtls = 0x0000200D + ,WHvCapabilityCodeVmxTrueProcbasedCtls = 0x0000200E + ,WHvCapabilityCodeVmxTrueExitCtls = 0x0000200F + ,WHvCapabilityCodeVmxTrueEntryCtls = 0x00002010 +#elif defined (__aarch64__) + ,WHvCapabilityCodeGicLpiIntIdBits = 0x00002011 + ,WHvCapabilityCodeMaxSveVectorLength = 0x00002012 +#endif +} WHV_CAPABILITY_CODE; + +typedef union WHV_CAPABILITY_FEATURES { + __C89_NAMELESS struct { + UINT64 PartialUnmap : 1; +#if defined(__x86_64__) + UINT64 LocalApicEmulation : 1; + UINT64 Xsave : 1; +#else + UINT64 ReservedArm0 : 2; +#endif + UINT64 DirtyPageTracking : 1; + UINT64 SpeculationControl : 1; +#if defined(__x86_64__) + UINT64 ApicRemoteRead : 1; +#else + UINT64 ReservedArm1 : 1; +#endif + UINT64 IdleSuspend : 1; + UINT64 VirtualPciDeviceSupport : 1; + UINT64 IommuSupport : 1; + UINT64 VpHotAddRemove : 1; + UINT64 DeviceAccessTracking : 1; +#if defined(__x86_64__) + UINT64 ReservedX640 : 1; +#else + UINT64 Arm64Support : 1; +#endif + UINT64 Reserved : 52; + }; + UINT64 AsUINT64; +} WHV_CAPABILITY_FEATURES; + +C_ASSERT(sizeof(WHV_CAPABILITY_FEATURES) == sizeof(UINT64)); + +typedef union WHV_EXTENDED_VM_EXITS { + __C89_NAMELESS struct { +#if defined(__x86_64__) + UINT64 X64CpuidExit : 1; + UINT64 X64MsrExit : 1; + UINT64 ExceptionExit : 1; + UINT64 X64RdtscExit : 1; + UINT64 X64ApicSmiExitTrap : 1; +#else + UINT64 ReservedArm0 : 5; +#endif + UINT64 HypercallExit : 1; +#if defined(__x86_64__) + UINT64 X64ApicInitSipiExitTrap : 1; + UINT64 X64ApicWriteLint0ExitTrap : 1; + UINT64 X64ApicWriteLint1ExitTrap : 1; + UINT64 X64ApicWriteSvrExitTrap : 1; +#else + UINT64 ReservedArm1 : 4; +#endif + UINT64 UnknownSynicConnection : 1; + UINT64 RetargetUnknownVpciDevice : 1; +#if defined(__x86_64__) + UINT64 X64ApicWriteLdrExitTrap : 1; + UINT64 X64ApicWriteDfrExitTrap : 1; +#else + UINT64 ReservedArm2 : 2; +#endif + UINT64 GpaAccessFaultExit : 1; + UINT64 Reserved : 49; + }; + UINT64 AsUINT64; +} WHV_EXTENDED_VM_EXITS; + +C_ASSERT(sizeof(WHV_EXTENDED_VM_EXITS) == sizeof(UINT64)); + +typedef enum WHV_PROCESSOR_VENDOR { + WHvProcessorVendorAmd = 0x0000, + WHvProcessorVendorIntel = 0x0001, + WHvProcessorVendorHygon = 0x0002, + WHvProcessorVendorArm = 0x0010 +} WHV_PROCESSOR_VENDOR; + +#if defined(__x86_64__) + +typedef union WHV_X64_PROCESSOR_FEATURES { + __C89_NAMELESS struct { + UINT64 Sse3Support : 1; + UINT64 LahfSahfSupport : 1; + UINT64 Ssse3Support : 1; + UINT64 Sse4_1Support : 1; + UINT64 Sse4_2Support : 1; + UINT64 Sse4aSupport : 1; + UINT64 XopSupport : 1; + UINT64 PopCntSupport : 1; + UINT64 Cmpxchg16bSupport : 1; + UINT64 Altmovcr8Support : 1; + UINT64 LzcntSupport : 1; + UINT64 MisAlignSseSupport : 1; + UINT64 MmxExtSupport : 1; + UINT64 Amd3DNowSupport : 1; + UINT64 ExtendedAmd3DNowSupport : 1; + UINT64 Page1GbSupport : 1; + UINT64 AesSupport : 1; + UINT64 PclmulqdqSupport : 1; + UINT64 PcidSupport : 1; + UINT64 Fma4Support : 1; + UINT64 F16CSupport : 1; + UINT64 RdRandSupport : 1; + UINT64 RdWrFsGsSupport : 1; + UINT64 SmepSupport : 1; + UINT64 EnhancedFastStringSupport : 1; + UINT64 Bmi1Support : 1; + UINT64 Bmi2Support : 1; + UINT64 Reserved1 : 2; + UINT64 MovbeSupport : 1; + UINT64 Npiep1Support : 1; + UINT64 DepX87FPUSaveSupport : 1; + UINT64 RdSeedSupport : 1; + UINT64 AdxSupport : 1; + UINT64 IntelPrefetchSupport : 1; + UINT64 SmapSupport : 1; + UINT64 HleSupport : 1; + UINT64 RtmSupport : 1; + UINT64 RdtscpSupport : 1; + UINT64 ClflushoptSupport : 1; + UINT64 ClwbSupport : 1; + UINT64 ShaSupport : 1; + UINT64 X87PointersSavedSupport : 1; + UINT64 InvpcidSupport : 1; + UINT64 IbrsSupport : 1; + UINT64 StibpSupport : 1; + UINT64 IbpbSupport : 1; + UINT64 UnrestrictedGuestSupport : 1; + UINT64 SsbdSupport : 1; + UINT64 FastShortRepMovSupport : 1; + UINT64 Reserved3 : 1; + UINT64 RdclNo : 1; + UINT64 IbrsAllSupport : 1; + UINT64 Reserved4 : 1; + UINT64 SsbNo : 1; + UINT64 RsbANo : 1; + UINT64 Reserved5 : 1; + UINT64 RdPidSupport : 1; + UINT64 UmipSupport : 1; + UINT64 MdsNoSupport : 1; + UINT64 MdClearSupport : 1; + UINT64 TaaNoSupport : 1; + UINT64 TsxCtrlSupport : 1; + UINT64 Reserved6 : 1; + }; + UINT64 AsUINT64; +} WHV_X64_PROCESSOR_FEATURES, WHV_PROCESSOR_FEATURES; + +C_ASSERT(sizeof(WHV_X64_PROCESSOR_FEATURES) == sizeof(UINT64)); + +typedef union WHV_X64_PROCESSOR_FEATURES1 { + __C89_NAMELESS struct { + UINT64 ACountMCountSupport : 1; + UINT64 TscInvariantSupport : 1; + UINT64 ClZeroSupport : 1; + UINT64 RdpruSupport : 1; + UINT64 La57Support : 1; + UINT64 MbecSupport : 1; + UINT64 NestedVirtSupport : 1; + UINT64 PsfdSupport: 1; + UINT64 CetSsSupport : 1; + UINT64 CetIbtSupport : 1; + UINT64 VmxExceptionInjectSupport : 1; + UINT64 Reserved2 : 1; + UINT64 UmwaitTpauseSupport : 1; + UINT64 MovdiriSupport : 1; + UINT64 Movdir64bSupport : 1; + UINT64 CldemoteSupport : 1; + UINT64 SerializeSupport : 1; + UINT64 TscDeadlineTmrSupport : 1; + UINT64 TscAdjustSupport : 1; + UINT64 FZLRepMovsb : 1; + UINT64 FSRepStosb : 1; + UINT64 FSRepCmpsb : 1; + UINT64 TsxLdTrkSupport : 1; + UINT64 VmxInsOutsExitInfoSupport : 1; + UINT64 Reserved3 : 1; + UINT64 SbdrSsdpNoSupport : 1; + UINT64 FbsdpNoSupport : 1; + UINT64 PsdpNoSupport : 1; + UINT64 FbClearSupport : 1; + UINT64 BtcNoSupport : 1; + UINT64 IbpbRsbFlushSupport : 1; + UINT64 StibpAlwaysOnSupport : 1; + UINT64 PerfGlobalCtrlSupport : 1; + UINT64 NptExecuteOnlySupport : 1; + UINT64 NptADFlagsSupport : 1; + UINT64 Npt1GbPageSupport : 1; + UINT64 Reserved4 : 1; + UINT64 Reserved5 : 1; + UINT64 Reserved6 : 1; + UINT64 Reserved7 : 1; + UINT64 CmpccxaddSupport : 1; + UINT64 Reserved8 : 1; + UINT64 Reserved9 : 1; + UINT64 Reserved10 : 1; + UINT64 Reserved11 : 1; + UINT64 PrefetchISupport : 1; + UINT64 Sha512Support : 1; + UINT64 Reserved12 : 1; + UINT64 Reserved13 : 1; + UINT64 Reserved14 : 1; + UINT64 SM3Support : 1; + UINT64 SM4Support : 1; + UINT64 Reserved15 : 1; + UINT64 Reserved16 : 1; + UINT64 SbpbSupported : 1; + UINT64 IbpbBrTypeSupported : 1; + UINT64 SrsoNoSupported : 1; + UINT64 SrsoUserKernelNoSupported : 1; + UINT64 Reserved17 : 1; + UINT64 Reserved18 : 1; + UINT64 Reserved19 : 1; + UINT64 Reserved20 : 3; + }; + UINT64 AsUINT64; +} WHV_X64_PROCESSOR_FEATURES1, WHV_PROCESSOR_FEATURES1; + +C_ASSERT(sizeof(WHV_X64_PROCESSOR_FEATURES1) == sizeof(UINT64)); + +#elif defined(__aarch64__) + +typedef union WHV_ARM64_PROCESSOR_FEATURES { + __C89_NAMELESS struct { + UINT64 Asid16 : 1; + UINT64 TGran16 : 1; + UINT64 TGran64 : 1; + UINT64 Haf : 1; + UINT64 Hdbs : 1; + UINT64 Pan : 1; + UINT64 AtS1E1 : 1; + UINT64 Uao : 1; + UINT64 El0Aarch32 : 1; + UINT64 Fp : 1; + UINT64 FpHp : 1; + UINT64 AdvSimd : 1; + UINT64 AdvSimdHp : 1; + UINT64 GicV3V4 : 1; + UINT64 GicV41 : 1; + UINT64 Ras : 1; + UINT64 PmuV3 : 1; + UINT64 PmuV3ArmV81 : 1; + UINT64 PmuV3ArmV84 : 1; + UINT64 PmuV3ArmV85 : 1; + UINT64 Aes : 1; + UINT64 PolyMul : 1; + UINT64 Sha1 : 1; + UINT64 Sha256 : 1; + UINT64 Sha512 : 1; + UINT64 Crc32 : 1; + UINT64 Atomic : 1; + UINT64 Rdm : 1; + UINT64 Sha3 : 1; + UINT64 Sm3 : 1; + UINT64 Sm4 : 1; + UINT64 Dp : 1; + UINT64 Fhm : 1; + UINT64 DcCvap : 1; + UINT64 DcCvadp : 1; + UINT64 ApaBase : 1; + UINT64 ApaEp : 1; + UINT64 ApaEp2 : 1; + UINT64 ApaEp2Fp : 1; + UINT64 ApaEp2Fpc : 1; + UINT64 Jscvt : 1; + UINT64 Fcma : 1; + UINT64 RcpcV83 : 1; + UINT64 RcpcV84 : 1; + UINT64 Gpa : 1; + UINT64 L1ipPipt : 1; + UINT64 DzPermitted : 1; + UINT64 Ssbs : 1; + UINT64 SsbsRw : 1; + UINT64 Reserved49 : 1; + UINT64 Reserved50 : 1; + UINT64 Reserved51 : 1; + UINT64 Reserved52 : 1; + UINT64 Csv2 : 1; + UINT64 Csv3 : 1; + UINT64 Sb : 1; + UINT64 Idc : 1; + UINT64 Dic : 1; + UINT64 TlbiOs : 1; + UINT64 TlbiOsRange : 1; + UINT64 FlagsM : 1; + UINT64 FlagsM2 : 1; + UINT64 Bf16 : 1; + UINT64 Ebf16 : 1; + }; + UINT64 AsUINT64; +} WHV_ARM64_PROCESSOR_FEATURES, WHV_PROCESSOR_FEATURES; + +typedef union WHV_ARM64_PROCESSOR_FEATURES1 { + __C89_NAMELESS struct { + UINT64 SveBf16 : 1; + UINT64 SveEbf16 : 1; + UINT64 I8mm : 1; + UINT64 SveI8mm : 1; + UINT64 Frintts : 1; + UINT64 Specres : 1; + UINT64 Reserved6 : 1; + UINT64 Rpres : 1; + UINT64 Exs : 1; + UINT64 SpecSei : 1; + UINT64 Ets : 1; + UINT64 Afp : 1; + UINT64 Iesb : 1; + UINT64 Rng : 1; + UINT64 Lse2 : 1; + UINT64 Idst : 1; + UINT64 Reserved16 : 1; + UINT64 Reserved17 : 1; + UINT64 Reserved18 : 1; + UINT64 Reserved19 : 1; + UINT64 Reserved20 : 1; + UINT64 Reserved21 : 1; + UINT64 Ccidx : 1; + UINT64 Reserved23 : 1; + UINT64 Reserved24 : 1; + UINT64 Reserved25 : 1; + UINT64 Reserved26 : 1; + UINT64 Reserved27 : 1; + UINT64 Reserved28 : 1; + UINT64 Reserved29 : 1; + UINT64 Reserved30 : 1; + UINT64 Reserved31 : 1; + UINT64 Reserved32 : 1; + UINT64 Reserved33 : 1; + UINT64 Reserved34 : 1; + UINT64 TtCnp : 1; + UINT64 Hpds : 1; + UINT64 Sve : 1; + UINT64 SveV2 : 1; + UINT64 SveV2P1 : 1; + UINT64 SpecFpacc : 1; + UINT64 SveAes : 1; + UINT64 SveBitPerm : 1; + UINT64 SveSha3 : 1; + UINT64 SveSm4 : 1; + UINT64 E0PD : 1; + UINT64 Reserved : 8; + }; + UINT64 AsUINT64; +} WHV_ARM64_PROCESSOR_FEATURES1, WHV_PROCESSOR_FEATURES1; + +#endif /* __x86_64__ || __aarch64__ */ + +#define WHV_PROCESSOR_FEATURES_BANKS_COUNT 2 + +typedef struct WHV_PROCESSOR_FEATURES_BANKS { + UINT32 BanksCount; + UINT32 Reserved0; + __C89_NAMELESS union { + __C89_NAMELESS struct { + WHV_PROCESSOR_FEATURES Bank0; + WHV_PROCESSOR_FEATURES1 Bank1; + }; + UINT64 AsUINT64[WHV_PROCESSOR_FEATURES_BANKS_COUNT]; + }; +} WHV_PROCESSOR_FEATURES_BANKS; + +C_ASSERT(sizeof(WHV_PROCESSOR_FEATURES_BANKS) == sizeof(UINT64) * (WHV_PROCESSOR_FEATURES_BANKS_COUNT + 1)); + +typedef union WHV_SYNTHETIC_PROCESSOR_FEATURES { + __C89_NAMELESS struct { + UINT64 HypervisorPresent : 1; + UINT64 Hv1 : 1; + UINT64 AccessVpRunTimeReg : 1; + UINT64 AccessPartitionReferenceCounter : 1; + UINT64 AccessSynicRegs : 1; + UINT64 AccessSyntheticTimerRegs : 1; + UINT64 AccessIntrCtrlRegs : 1; + UINT64 AccessHypercallRegs : 1; + UINT64 AccessVpIndex : 1; + UINT64 AccessPartitionReferenceTsc : 1; +#ifdef __x86_64__ + UINT64 AccessGuestIdleReg : 1; + UINT64 AccessFrequencyRegs : 1; +#else + UINT64 ReservedZ10 : 1; + UINT64 ReservedZ11 : 1; +#endif + UINT64 ReservedZ12 : 1; + UINT64 ReservedZ13 : 1; + UINT64 ReservedZ14 : 1; +#ifdef __x86_64__ + UINT64 EnableExtendedGvaRangesForFlushVirtualAddressList : 1; +#else + UINT64 ReservedZ15 : 1; +#endif + UINT64 ReservedZ16 : 1; + UINT64 ReservedZ17 : 1; + UINT64 FastHypercallOutput : 1; + UINT64 ReservedZ19 : 1; + UINT64 ReservedZ20 : 1; + UINT64 ReservedZ21 : 1; + UINT64 DirectSyntheticTimers : 1; + UINT64 ReservedZ23 : 1; + UINT64 ExtendedProcessorMasks : 1; + UINT64 TbFlushHypercalls : 1; + UINT64 SyntheticClusterIpi : 1; + UINT64 NotifyLongSpinWait : 1; + UINT64 QueryNumaDistance : 1; + UINT64 SignalEvents : 1; + UINT64 RetargetDeviceInterrupt : 1; +#ifdef __x86_64__ + UINT64 RestoreTime : 1; + UINT64 EnlightenedVmcs : 1; + UINT64 NestedDebugCtl : 1; + UINT64 SyntheticTimeUnhaltedTimer : 1; + UINT64 IdleSpecCtrl : 1; +#else + UINT64 ReservedZ31 : 1; + UINT64 ReservedZ32 : 1; + UINT64 ReservedZ33 : 1; + UINT64 ReservedZ34 : 1; + UINT64 ReservedZ35 : 1; +#endif + UINT64 ReservedZ36 : 1; + UINT64 WakeVps : 1; + UINT64 AccessVpRegs : 1; +#ifdef __aarch64__ + UINT64 SyncContext : 1; +#else + UINT64 ReservedZ39 : 1; +#endif + UINT64 ReservedZ40 : 1; + UINT64 ReservedZ41 : 1; + UINT64 ReservedZ42 : 1; + UINT64 ReservedZ43 : 1; + UINT64 ReservedZ44 : 1; + UINT64 Reserved : 19; + }; + UINT64 AsUINT64; +} WHV_SYNTHETIC_PROCESSOR_FEATURES; + +C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES) == 8); + +#define WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT 1 + +typedef struct WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS { + UINT32 BanksCount; + UINT32 Reserved0; + __C89_NAMELESS union { + __C89_NAMELESS struct { + WHV_SYNTHETIC_PROCESSOR_FEATURES Bank0; + }; + UINT64 AsUINT64[WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT]; + }; +} WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS; + +C_ASSERT(sizeof(WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS) == 16); + +typedef UINT8 WHV_VTL; + +#define WHV_VTL_ALL 0xF + +typedef union WHV_INPUT_VTL { + UINT8 AsUINT8; + __C89_NAMELESS struct { + UINT8 TargetVtl : 4; + UINT8 UseTargetVtl : 1; + UINT8 Reserved : 3; + }; +} WHV_INPUT_VTL; + +typedef union WHV_ENABLE_PARTITION_VTL_FLAGS { + UINT8 AsUINT8; + __C89_NAMELESS struct { + UINT8 EnableMbec : 1; + UINT8 EnableSupervisorShadowStack : 1; + UINT8 EnableHardwareHvpt : 1; + UINT8 Reserved : 5; + }; +} WHV_ENABLE_PARTITION_VTL_FLAGS; + +typedef union WHV_DISABLE_PARTITION_VTL_FLAGS { + UINT8 AsUINT8; + __C89_NAMELESS struct { + UINT8 ScrubOnly : 1; + UINT8 Reserved : 7; + }; +} WHV_DISABLE_PARTITION_VTL_FLAGS; + +typedef struct WHV_INITIAL_VP_CONTEXT { +#if defined(__aarch64__) + UINT64 Pc; + UINT64 Sp_ELh; + UINT64 SCTLR_EL1; + UINT64 MAIR_EL1; + UINT64 TCR_EL1; + UINT64 VBAR_EL1; + UINT64 TTBR0_EL1; + UINT64 TTBR1_EL1; + UINT64 X18; +#else + UINT64 Rip; + UINT64 Rsp; + UINT64 Rflags; + WHV_X64_SEGMENT_REGISTER Cs; + WHV_X64_SEGMENT_REGISTER Ds; + WHV_X64_SEGMENT_REGISTER Es; + WHV_X64_SEGMENT_REGISTER Fs; + WHV_X64_SEGMENT_REGISTER Gs; + WHV_X64_SEGMENT_REGISTER Ss; + WHV_X64_SEGMENT_REGISTER Tr; + WHV_X64_SEGMENT_REGISTER Ldtr; + WHV_X64_TABLE_REGISTER Idtr; + WHV_X64_TABLE_REGISTER Gdtr; + UINT64 Efer; + UINT64 Cr0; + UINT64 Cr3; + UINT64 Cr4; + UINT64 MsrCrPat; +#endif +} WHV_INITIAL_VP_CONTEXT; + +typedef union WHV_DISABLE_VP_VTL_FLAGS { + UINT8 AsUINT8; + __C89_NAMELESS struct { + UINT8 ScrubOnly : 1; + UINT8 Reserved : 7; + }; +} WHV_DISABLE_VP_VTL_FLAGS; + +typedef VOID* WHV_PARTITION_HANDLE; + +typedef enum WHV_PARTITION_PROPERTY_CODE { + WHvPartitionPropertyCodeExtendedVmExits = 0x00000001, +#if defined(__x86_64__) + WHvPartitionPropertyCodeExceptionExitBitmap = 0x00000002, +#endif + WHvPartitionPropertyCodeSeparateSecurityDomain = 0x00000003, + WHvPartitionPropertyCodeNestedVirtualization = 0x00000004, +#if defined(__x86_64__) + WHvPartitionPropertyCodeX64MsrExitBitmap = 0x00000005, +#endif + WHvPartitionPropertyCodePrimaryNumaNode = 0x00000006, + WHvPartitionPropertyCodeCpuReserve = 0x00000007, + WHvPartitionPropertyCodeCpuCap = 0x00000008, + WHvPartitionPropertyCodeCpuWeight = 0x00000009, + WHvPartitionPropertyCodeCpuGroupId = 0x0000000A, + WHvPartitionPropertyCodeProcessorFrequencyCap = 0x0000000B, + WHvPartitionPropertyCodeAllowDeviceAssignment = 0x0000000C, + WHvPartitionPropertyCodeDisableSmt = 0x0000000D, + WHvPartitionPropertyCodeProcessorFeatures = 0x00001001, + WHvPartitionPropertyCodeProcessorClFlushSize = 0x00001002, +#if defined(__x86_64__) + WHvPartitionPropertyCodeCpuidExitList = 0x00001003, + WHvPartitionPropertyCodeCpuidResultList = 0x00001004, + WHvPartitionPropertyCodeLocalApicEmulationMode = 0x00001005, + WHvPartitionPropertyCodeProcessorXsaveFeatures = 0x00001006, +#endif + WHvPartitionPropertyCodeProcessorClockFrequency = 0x00001007, +#if defined(__x86_64__) + WHvPartitionPropertyCodeInterruptClockFrequency = 0x00001008, + WHvPartitionPropertyCodeApicRemoteReadSupport = 0x00001009, +#endif + WHvPartitionPropertyCodeProcessorFeaturesBanks = 0x0000100A, + WHvPartitionPropertyCodeReferenceTime = 0x0000100B, + WHvPartitionPropertyCodeSyntheticProcessorFeaturesBanks = 0x0000100C, +#if defined(__x86_64__) + WHvPartitionPropertyCodeCpuidResultList2 = 0x0000100D, + WHvPartitionPropertyCodeProcessorPerfmonFeatures = 0x0000100E, + WHvPartitionPropertyCodeMsrActionList = 0x0000100F, + WHvPartitionPropertyCodeUnimplementedMsrAction = 0x00001010, +#endif + WHvPartitionPropertyCodePhysicalAddressWidth = 0x00001011, +#if defined(__aarch64__) + WHvPartitionPropertyCodeArm64IcParameters = 0x00001012, +#endif + WHvPartitionPropertyCodeProcessorCount = 0x00001fff +} WHV_PARTITION_PROPERTY_CODE; -#endif /* __x86_64__ || __aarch64__ */ +#if defined(__x86_64__) -typedef union DECLSPEC_ALIGN(16) WHV_UINT128 { +typedef union WHV_PROCESSOR_XSAVE_FEATURES { __C89_NAMELESS struct { - UINT64 Low64; - UINT64 High64; + UINT64 XsaveSupport : 1; + UINT64 XsaveoptSupport : 1; + UINT64 AvxSupport : 1; + UINT64 Avx2Support : 1; + UINT64 FmaSupport : 1; + UINT64 MpxSupport : 1; + UINT64 Avx512Support : 1; + UINT64 Avx512DQSupport : 1; + UINT64 Avx512CDSupport : 1; + UINT64 Avx512BWSupport : 1; + UINT64 Avx512VLSupport : 1; + UINT64 XsaveCompSupport : 1; + UINT64 XsaveSupervisorSupport : 1; + UINT64 Xcr1Support : 1; + UINT64 Avx512BitalgSupport : 1; + UINT64 Avx512IfmaSupport : 1; + UINT64 Avx512VBmiSupport : 1; + UINT64 Avx512VBmi2Support : 1; + UINT64 Avx512VnniSupport : 1; + UINT64 GfniSupport : 1; + UINT64 VaesSupport : 1; + UINT64 Avx512VPopcntdqSupport : 1; + UINT64 VpclmulqdqSupport : 1; + UINT64 Avx512Bf16Support : 1; + UINT64 Avx512Vp2IntersectSupport : 1; + UINT64 Avx512Fp16Support : 1; + UINT64 XfdSupport : 1; + UINT64 AmxTileSupport : 1; + UINT64 AmxBf16Support : 1; + UINT64 AmxInt8Support : 1; + UINT64 AvxVnniSupport : 1; + UINT64 AvxIfmaSupport : 1; + UINT64 AvxNeConvertSupport : 1; + UINT64 AvxVnniInt8Support : 1; + UINT64 AvxVnniInt16Support : 1; + UINT64 Avx10_1_256Support : 1; + UINT64 Avx10_1_512Support : 1; + UINT64 AmxFp16Support : 1; + UINT64 Reserved : 26; }; - UINT32 Dword[4]; -} WHV_UINT128; + UINT64 AsUINT64; +} WHV_PROCESSOR_XSAVE_FEATURES, *PWHV_PROCESSOR_XSAVE_FEATURES; -C_ASSERT(sizeof(WHV_UINT128) == 16); +C_ASSERT(sizeof(WHV_PROCESSOR_XSAVE_FEATURES) == sizeof(UINT64)); -typedef union WHV_X64_FP_REGISTER { +typedef union WHV_PROCESSOR_PERFMON_FEATURES { __C89_NAMELESS struct { - UINT64 Mantissa; - UINT64 BiasedExponent:15; - UINT64 Sign:1; - UINT64 Reserved:48; + UINT64 PmuSupport : 1; + UINT64 LbrSupport : 1; + UINT64 Reserved : 62; }; - WHV_UINT128 AsUINT128; -} WHV_X64_FP_REGISTER; + UINT64 AsUINT64; +} WHV_PROCESSOR_PERFMON_FEATURES, *PWHV_PROCESSOR_PERFMON_FEATURES; -C_ASSERT(sizeof(WHV_X64_FP_REGISTER) == 16); +C_ASSERT(sizeof(WHV_PROCESSOR_PERFMON_FEATURES) == 8); -typedef union WHV_X64_FP_CONTROL_STATUS_REGISTER { +typedef union WHV_X64_MSR_EXIT_BITMAP { + UINT64 AsUINT64; __C89_NAMELESS struct { - UINT16 FpControl; - UINT16 FpStatus; - UINT8 FpTag; - UINT8 Reserved; - UINT16 LastFpOp; - __C89_NAMELESS union { - UINT64 LastFpRip; - __C89_NAMELESS struct { - UINT32 LastFpEip; - UINT16 LastFpCs; - UINT16 Reserved2; - }; - }; + UINT64 UnhandledMsrs : 1; + UINT64 TscMsrWrite : 1; + UINT64 TscMsrRead : 1; + UINT64 ApicBaseMsrWrite : 1; + UINT64 MiscEnableMsrRead : 1; + UINT64 McUpdatePatchLevelMsrRead : 1; + UINT64 Reserved : 58; }; - WHV_UINT128 AsUINT128; -} WHV_X64_FP_CONTROL_STATUS_REGISTER; - -C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16); +} WHV_X64_MSR_EXIT_BITMAP; -typedef union WHV_X64_XMM_CONTROL_STATUS_REGISTER { - __C89_NAMELESS struct { - __C89_NAMELESS union { - UINT64 LastFpRdp; - __C89_NAMELESS struct { - UINT32 LastFpDp; - UINT16 LastFpDs; - UINT16 Reserved; - }; - }; - UINT32 XmmStatusControl; - UINT32 XmmStatusControlMask; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_XMM_CONTROL_STATUS_REGISTER; +C_ASSERT(sizeof(WHV_X64_MSR_EXIT_BITMAP) == sizeof(UINT64)); -C_ASSERT(sizeof(WHV_X64_FP_CONTROL_STATUS_REGISTER) == 16); +#endif /* defined(__x86_64__) */ -typedef struct WHV_X64_SEGMENT_REGISTER { - UINT64 Base; - UINT32 Limit; - UINT16 Selector; - __C89_NAMELESS union { - __C89_NAMELESS struct { - UINT16 SegmentType:4; - UINT16 NonSystemSegment:1; - UINT16 DescriptorPrivilegeLevel:2; - UINT16 Present:1; - UINT16 Reserved:4; - UINT16 Available:1; - UINT16 Long:1; - UINT16 Default:1; - UINT16 Granularity:1; - }; - UINT16 Attributes; - }; -} WHV_X64_SEGMENT_REGISTER; +typedef enum WHV_MAP_GPA_RANGE_FLAGS { + WHvMapGpaRangeFlagNone = 0x00000000, + WHvMapGpaRangeFlagRead = 0x00000001, + WHvMapGpaRangeFlagWrite = 0x00000002, + WHvMapGpaRangeFlagExecute = 0x00000004, + WHvMapGpaRangeFlagTrackDirtyPages = 0x00000008 +} WHV_MAP_GPA_RANGE_FLAGS; -C_ASSERT(sizeof(WHV_X64_SEGMENT_REGISTER) == 16); +DEFINE_ENUM_FLAG_OPERATORS(WHV_MAP_GPA_RANGE_FLAGS); -typedef struct WHV_X64_TABLE_REGISTER { - UINT16 Pad[3]; - UINT16 Limit; - UINT64 Base; -} WHV_X64_TABLE_REGISTER; +typedef enum WHV_TRANSLATE_GVA_FLAGS { + WHvTranslateGvaFlagNone = 0x00000000, + WHvTranslateGvaFlagValidateRead = 0x00000001, + WHvTranslateGvaFlagValidateWrite = 0x00000002, + WHvTranslateGvaFlagValidateExecute = 0x00000004 +#if defined(__x86_64__) + ,WHvTranslateGvaFlagPrivilegeExempt = 0x00000008 +#endif + ,WHvTranslateGvaFlagSetPageTableBits = 0x00000010 +#if defined(__x86_64__) + ,WHvTranslateGvaFlagEnforceSmap = 0x00000100 + ,WHvTranslateGvaFlagOverrideSmap = 0x00000200 +#endif +} WHV_TRANSLATE_GVA_FLAGS; -C_ASSERT(sizeof(WHV_X64_TABLE_REGISTER) == 16); +DEFINE_ENUM_FLAG_OPERATORS(WHV_TRANSLATE_GVA_FLAGS); -typedef union WHV_X64_INTERRUPT_STATE_REGISTER { +typedef union WHV_TRANSLATE_GVA_2_FLAGS { __C89_NAMELESS struct { - UINT64 InterruptShadow:1; - UINT64 NmiMasked:1; - UINT64 Reserved:62; + UINT64 ValidateRead : 1; + UINT64 ValidateWrite : 1; + UINT64 ValidateExecute : 1; +#if defined(__x86_64__) + UINT64 PrivilegeExempt : 1; +#else + UINT64 Reserved0 : 1; +#endif + UINT64 SetPageTableBits : 1; + UINT64 Reserved1 : 3; +#if defined(__x86_64__) + UINT64 EnforceSmap : 1; + UINT64 OverrideSmap : 1; +#else + UINT64 Reserved2 : 1; + UINT64 Reserved3 : 1; +#endif + UINT64 Reserved4 : 46; + UINT64 InputVtl : 8; }; UINT64 AsUINT64; -} WHV_X64_INTERRUPT_STATE_REGISTER; +} WHV_TRANSLATE_GVA_2_FLAGS; -C_ASSERT(sizeof(WHV_X64_INTERRUPT_STATE_REGISTER) == 8); +C_ASSERT(sizeof(WHV_TRANSLATE_GVA_2_FLAGS) == 8); -typedef union WHV_X64_PENDING_INTERRUPTION_REGISTER { - __C89_NAMELESS struct { - UINT32 InterruptionPending:1; - UINT32 InterruptionType:3; - UINT32 DeliverErrorCode:1; - UINT32 InstructionLength:4; - UINT32 NestedEvent:1; - UINT32 Reserved:6; - UINT32 InterruptionVector:16; - UINT32 ErrorCode; - }; - UINT64 AsUINT64; -} WHV_X64_PENDING_INTERRUPTION_REGISTER; +typedef enum WHV_TRANSLATE_GVA_RESULT_CODE { + WHvTranslateGvaResultSuccess = 0, + WHvTranslateGvaResultPageNotPresent = 1, + WHvTranslateGvaResultPrivilegeViolation = 2, + WHvTranslateGvaResultInvalidPageTableFlags = 3, + WHvTranslateGvaResultGpaUnmapped = 4, + WHvTranslateGvaResultGpaNoReadAccess = 5, + WHvTranslateGvaResultGpaNoWriteAccess = 6, + WHvTranslateGvaResultGpaIllegalOverlayAccess = 7, + WHvTranslateGvaResultIntercept = 8 +} WHV_TRANSLATE_GVA_RESULT_CODE; -C_ASSERT(sizeof(WHV_X64_PENDING_INTERRUPTION_REGISTER) == sizeof(UINT64)); +typedef struct WHV_TRANSLATE_GVA_RESULT { + WHV_TRANSLATE_GVA_RESULT_CODE ResultCode; + UINT32 Reserved; +} WHV_TRANSLATE_GVA_RESULT; -typedef union WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER { +C_ASSERT(sizeof(WHV_TRANSLATE_GVA_RESULT) == 8); + +#define WHV_READ_WRITE_GPA_RANGE_MAX_SIZE 16 + +typedef struct WHV_MEMORY_RANGE_ENTRY { + UINT64 GuestAddress; + UINT64 SizeInBytes; +} WHV_MEMORY_RANGE_ENTRY; + +C_ASSERT(sizeof(WHV_MEMORY_RANGE_ENTRY) == 16); + +typedef union WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS { + UINT32 AsUINT32; __C89_NAMELESS struct { -#if defined(__x86_64__) - UINT64 NmiNotification:1; - UINT64 InterruptNotification:1; - UINT64 InterruptPriority:4; - UINT64 Reserved:42; -#elif defined(__aarch64__) - UINT64 Reserved:48; -#endif - UINT64 Sint:16; + UINT32 Prefetch:1; + UINT32 AvoidHardFaults:1; + UINT32 Reserved:30; }; - UINT64 AsUINT64; -} WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER, WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER; +} WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS; + +C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS) == 4); + +typedef enum WHV_MEMORY_ACCESS_TYPE { + WHvMemoryAccessRead = 0, + WHvMemoryAccessWrite = 1, + WHvMemoryAccessExecute = 2 +} WHV_MEMORY_ACCESS_TYPE; + +typedef struct WHV_ADVISE_GPA_RANGE_POPULATE { + WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS Flags; + WHV_MEMORY_ACCESS_TYPE AccessType; +} WHV_ADVISE_GPA_RANGE_POPULATE; + +C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE_POPULATE) == 8); + +typedef union WHV_ADVISE_GPA_RANGE { + WHV_ADVISE_GPA_RANGE_POPULATE Populate; +} WHV_ADVISE_GPA_RANGE; -C_ASSERT(sizeof(WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER) == sizeof(UINT64)); +C_ASSERT(sizeof(WHV_ADVISE_GPA_RANGE) == 8); -typedef enum WHV_X64_PENDING_EVENT_TYPE { - WHvX64PendingEventException = 0, - WHvX64PendingEventExtInt = 5, - WHvX64PendingEventSvmNestedExit = 7, - WHvX64PendingEventVmxNestedExit = 8 -} WHV_X64_PENDING_EVENT_TYPE; +typedef enum WHV_CACHE_TYPE { + WHvCacheTypeUncached = 0, + WHvCacheTypeWriteCombining = 1, + WHvCacheTypeWriteThrough = 4, +#ifdef __x86_64__ + WHvCacheTypeWriteProtected = 5, +#endif + WHvCacheTypeWriteBack = 6 +} WHV_CACHE_TYPE; -typedef union WHV_X64_PENDING_EXCEPTION_EVENT { +typedef union WHV_ACCESS_GPA_CONTROLS { + UINT64 AsUINT64; __C89_NAMELESS struct { - UINT32 EventPending : 1; - UINT32 EventType : 3; - UINT32 Reserved0 : 4; - UINT32 DeliverErrorCode : 1; - UINT32 Reserved1 : 7; - UINT32 Vector : 16; - UINT32 ErrorCode; - UINT64 ExceptionParameter; + WHV_CACHE_TYPE CacheType; + WHV_INPUT_VTL InputVtl; + UINT8 Reserved; + UINT16 Reserved1; }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_EXCEPTION_EVENT; +} WHV_ACCESS_GPA_CONTROLS; -C_ASSERT(sizeof(WHV_X64_PENDING_EXCEPTION_EVENT) == sizeof(WHV_UINT128)); +C_ASSERT(sizeof(WHV_ACCESS_GPA_CONTROLS) == 8); -typedef union WHV_X64_PENDING_EXT_INT_EVENT { - __C89_NAMELESS struct { - UINT64 EventPending : 1; - UINT64 EventType : 3; - UINT64 Reserved0 : 4; - UINT64 Vector : 8; - UINT64 Reserved1 : 48; - UINT64 Reserved2; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_EXT_INT_EVENT; +typedef struct WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP { + UINT32 IsSupported:1; + UINT32 Reserved:31; + UINT32 HighestFrequencyMhz; + UINT32 NominalFrequencyMhz; + UINT32 LowestFrequencyMhz; + UINT32 FrequencyStepMhz; +} WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP; -C_ASSERT(sizeof(WHV_X64_PENDING_EXT_INT_EVENT) == sizeof(WHV_UINT128)); +C_ASSERT(sizeof(WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP) == 20); -typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0 { +typedef union WHV_SCHEDULER_FEATURES { __C89_NAMELESS struct { - UINT64 EventPending : 1; - UINT64 EventType : 4; - UINT64 Reserved0 : 3; - UINT64 InstructionBytesValid : 1; - UINT64 Reserved1 : 55; - UINT64 ExitCode; + UINT64 CpuReserve: 1; + UINT64 CpuCap: 1; + UINT64 CpuWeight: 1; + UINT64 CpuGroupId: 1; + UINT64 DisableSmt: 1; + UINT64 Reserved: 59; }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0; + UINT64 AsUINT64; +} WHV_SCHEDULER_FEATURES; -typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1 { - __C89_NAMELESS struct { - UINT64 ExitInfo1; - UINT64 ExitInfo2; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1; +C_ASSERT(sizeof(WHV_SCHEDULER_FEATURES) == 8); -typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2 { - __C89_NAMELESS struct { - UINT64 NextRip; - UINT8 InstructionBytesFetchedCount; - UINT8 InstructionBytes[7]; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2; +typedef union WHV_CAPABILITY { + WINBOOL HypervisorPresent; + WHV_CAPABILITY_FEATURES Features; + WHV_EXTENDED_VM_EXITS ExtendedVmExits; + WHV_PROCESSOR_VENDOR ProcessorVendor; + WHV_PROCESSOR_FEATURES ProcessorFeatures; + WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks; + UINT8 ProcessorClFlushSize; + UINT64 ProcessorClockFrequency; + WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks; + WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS GpaRangePopulateFlags; + WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP ProcessorFrequencyCap; + WHV_SCHEDULER_FEATURES SchedulerFeatures; + UINT32 PhysicalAddressWidth; + UINT64 NestedFeatureRegister; +#if defined(__x86_64__) + WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures; + UINT64 InterruptClockFrequency; + WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures; + WHV_X64_MSR_EXIT_BITMAP X64MsrExitBitmap; + UINT64 ExceptionExitBitmap; +#elif defined (__aarch64__) + UINT32 GicLpiIntIdBits; + UINT32 MaxSveVectorLength; +#endif +} WHV_CAPABILITY; -typedef union WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3 { - __C89_NAMELESS struct { - UINT8 InstructionBytes[8]; - UINT64 Reserved2; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3; +#if defined(__x86_64__) -C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0) == 16); -C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1) == 16); -C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2) == 16); -C_ASSERT(sizeof(WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3) == 16); +typedef struct WHV_X64_CPUID_RESULT { + UINT32 Function; + UINT32 Reserved[3]; + UINT32 Eax; + UINT32 Ebx; + UINT32 Ecx; + UINT32 Edx; +} WHV_X64_CPUID_RESULT; -typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0 { - __C89_NAMELESS struct { - UINT32 EventPending : 1; - UINT32 EventType : 4; - UINT32 Reserved0 : 27; - UINT32 ExitReason; - UINT64 ExitQualification; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0; +C_ASSERT(sizeof(WHV_X64_CPUID_RESULT) == 32); -typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1 { - __C89_NAMELESS struct { - UINT32 InstructionLength; - UINT32 InstructionInfo; - UINT32 ExitInterruptionInfo; - UINT32 ExitExceptionErrorCode; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1; +typedef enum WHV_X64_CPUID_RESULT2_FLAGS { + WHvX64CpuidResult2FlagSubleafSpecific = 0x00000001, + WHvX64CpuidResult2FlagVpSpecific = 0x00000002 +} WHV_X64_CPUID_RESULT2_FLAGS; -typedef union WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2 { - __C89_NAMELESS struct { - UINT64 GuestLinearAddress; - UINT64 GuestPhysicalAddress; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2; +DEFINE_ENUM_FLAG_OPERATORS(WHV_X64_CPUID_RESULT2_FLAGS); -C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0) == 16); -C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1) == 16); -C_ASSERT(sizeof(WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2) == 16); +typedef struct WHV_CPUID_OUTPUT { + UINT32 Eax; + UINT32 Ebx; + UINT32 Ecx; + UINT32 Edx; +} WHV_CPUID_OUTPUT; -typedef union WHV_X64_NESTED_INVEPT_REGISTER { - __C89_NAMELESS struct { - UINT8 Type; - UINT8 Reserved[7]; - UINT64 Eptp; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_NESTED_INVEPT_REGISTER; +C_ASSERT(sizeof(WHV_CPUID_OUTPUT) == 16); -C_ASSERT(sizeof(WHV_X64_NESTED_INVEPT_REGISTER) == 16); +typedef struct WHV_X64_CPUID_RESULT2 { + UINT32 Function; + UINT32 Index; + UINT32 VpIndex; + WHV_X64_CPUID_RESULT2_FLAGS Flags; + WHV_CPUID_OUTPUT Output; + WHV_CPUID_OUTPUT Mask; +} WHV_X64_CPUID_RESULT2; -typedef union WHV_X64_NESTED_INVVPID_REGISTER { - __C89_NAMELESS struct { - UINT8 Type; - UINT8 Reserved[3]; - UINT32 Vpid; - UINT64 LinearAddress; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_NESTED_INVVPID_REGISTER; +C_ASSERT(sizeof(WHV_X64_CPUID_RESULT2) == 48); -C_ASSERT(sizeof(WHV_X64_NESTED_INVVPID_REGISTER) == 16); +typedef struct WHV_MSR_ACTION_ENTRY { + UINT32 Index; + UINT8 ReadAction; + UINT8 WriteAction; + UINT16 Reserved; +} WHV_MSR_ACTION_ENTRY; -typedef union WHV_X64_NESTED_GUEST_STATE { - __C89_NAMELESS struct { - UINT64 NestedVirtActive : 1; - UINT64 NestedGuestMode : 1; - UINT64 VmEntryPending : 1; - UINT64 Reserved0 : 61; - UINT64 Reserved1; - }; - WHV_UINT128 AsUINT128; -} WHV_X64_NESTED_GUEST_STATE; +C_ASSERT(sizeof(WHV_MSR_ACTION_ENTRY) == 8); -C_ASSERT(sizeof(WHV_X64_NESTED_GUEST_STATE) == 16); +typedef enum WHV_MSR_ACTION { + WHvMsrActionArchitectureDefault = 0, + WHvMsrActionIgnoreWriteReadZero = 1, + WHvMsrActionExit = 2 +} WHV_MSR_ACTION; -typedef union WHV_INTERNAL_ACTIVITY_REGISTER { - __C89_NAMELESS struct { - UINT64 StartupSuspend : 1; - UINT64 HaltSuspend : 1; - UINT64 IdleSuspend : 1; - UINT64 Reserved :61; - }; - UINT64 AsUINT64; -} WHV_INTERNAL_ACTIVITY_REGISTER; +typedef enum WHV_EXCEPTION_TYPE { + WHvX64ExceptionTypeDivideErrorFault = 0x0, + WHvX64ExceptionTypeDebugTrapOrFault = 0x1, + WHvX64ExceptionTypeBreakpointTrap = 0x3, + WHvX64ExceptionTypeOverflowTrap = 0x4, + WHvX64ExceptionTypeBoundRangeFault = 0x5, + WHvX64ExceptionTypeInvalidOpcodeFault = 0x6, + WHvX64ExceptionTypeDeviceNotAvailableFault = 0x7, + WHvX64ExceptionTypeDoubleFaultAbort = 0x8, + WHvX64ExceptionTypeInvalidTaskStateSegmentFault = 0x0A, + WHvX64ExceptionTypeSegmentNotPresentFault = 0x0B, + WHvX64ExceptionTypeStackFault = 0x0C, + WHvX64ExceptionTypeGeneralProtectionFault = 0x0D, + WHvX64ExceptionTypePageFault = 0x0E, + WHvX64ExceptionTypeFloatingPointErrorFault = 0x10, + WHvX64ExceptionTypeAlignmentCheckFault = 0x11, + WHvX64ExceptionTypeMachineCheckAbort = 0x12, + WHvX64ExceptionTypeSimdFloatingPointFault = 0x13, + WHvX64ExceptionTypeControlProtectionFault = 0x15 +} WHV_EXCEPTION_TYPE; + +typedef enum WHV_X64_LOCAL_APIC_EMULATION_MODE { + WHvX64LocalApicEmulationModeNone, + WHvX64LocalApicEmulationModeXApic, + WHvX64LocalApicEmulationModeX2Apic +} WHV_X64_LOCAL_APIC_EMULATION_MODE; -C_ASSERT(sizeof(WHV_INTERNAL_ACTIVITY_REGISTER) == sizeof(UINT64)); +#elif defined(__aarch64__) -typedef union WHV_X64_PENDING_DEBUG_EXCEPTION { - UINT64 AsUINT64; - __C89_NAMELESS struct { - UINT64 Breakpoint0 : 1; - UINT64 Breakpoint1 : 1; - UINT64 Breakpoint2 : 1; - UINT64 Breakpoint3 : 1; - UINT64 SingleStep : 1; - UINT64 Reserved0 : 59; - }; -} WHV_X64_PENDING_DEBUG_EXCEPTION; +typedef enum WHV_ARM64_IC_EMULATION_MODE { + WHvArm64IcEmulationModeNone = 0, + WHvArm64IcEmulationModeGicV3 +} WHV_ARM64_IC_EMULATION_MODE; -C_ASSERT(sizeof(WHV_X64_PENDING_DEBUG_EXCEPTION) == sizeof(UINT64)); +typedef UINT32 WHV_ARM64_INTERRUPT_VECTOR; -typedef struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT { - UINT16 DeliverableSints; - UINT16 Reserved1; - UINT32 Reserved2; -} WHV_SYNIC_SINT_DELIVERABLE_CONTEXT; +typedef struct WHV_ARM64_IC_GIC_V3_PARAMETERS { + WHV_GUEST_PHYSICAL_ADDRESS GicdBaseAddress; + WHV_GUEST_PHYSICAL_ADDRESS GitsTranslaterBaseAddress; + UINT32 Reserved; + UINT32 GicLpiIntIdBits; + WHV_ARM64_INTERRUPT_VECTOR GicPpiOverflowInterruptFromCntv; + WHV_ARM64_INTERRUPT_VECTOR GicPpiPerformanceMonitorsInterrupt; + UINT32 Reserved1[6]; +} WHV_ARM64_IC_GIC_V3_PARAMETERS; -C_ASSERT(sizeof(WHV_SYNIC_SINT_DELIVERABLE_CONTEXT) == 8); +C_ASSERT(sizeof(WHV_ARM64_IC_GIC_V3_PARAMETERS) == 56); -typedef union WHV_REGISTER_VALUE { - WHV_UINT128 Reg128; - UINT64 Reg64; - UINT32 Reg32; - UINT16 Reg16; - UINT8 Reg8; - WHV_INTERNAL_ACTIVITY_REGISTER InternalActivity; - WHV_DELIVERABILITY_NOTIFICATIONS_REGISTER DeliverabilityNotifications; +typedef struct WHV_ARM64_IC_PARAMETERS { + WHV_ARM64_IC_EMULATION_MODE EmulationMode; + UINT32 Reserved; + __C89_NAMELESS union { + WHV_ARM64_IC_GIC_V3_PARAMETERS GicV3Parameters; + }; +} WHV_ARM64_IC_PARAMETERS; + +C_ASSERT(sizeof(WHV_ARM64_IC_PARAMETERS) == 64); + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +typedef union WHV_PARTITION_PROPERTY { + WHV_EXTENDED_VM_EXITS ExtendedVmExits; + WHV_PROCESSOR_FEATURES ProcessorFeatures; + WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS SyntheticProcessorFeaturesBanks; + UINT8 ProcessorClFlushSize; + UINT32 ProcessorCount; + WINBOOL SeparateSecurityDomain; + WINBOOL NestedVirtualization; + UINT64 ProcessorClockFrequency; + WHV_PROCESSOR_FEATURES_BANKS ProcessorFeaturesBanks; + UINT64 ReferenceTime; + USHORT PrimaryNumaNode; + UINT32 CpuReserve; + UINT32 CpuCap; + UINT32 CpuWeight; + UINT64 CpuGroupId; + UINT32 ProcessorFrequencyCap; + WINBOOL AllowDeviceAssignment; + WINBOOL DisableSmt; + UINT32 PhysicalAddressWidth; #if defined(__x86_64__) - WHV_X64_FP_REGISTER Fp; - WHV_X64_FP_CONTROL_STATUS_REGISTER FpControlStatus; - WHV_X64_XMM_CONTROL_STATUS_REGISTER XmmControlStatus; - WHV_X64_SEGMENT_REGISTER Segment; - WHV_X64_TABLE_REGISTER Table; - WHV_X64_INTERRUPT_STATE_REGISTER InterruptState; - WHV_X64_PENDING_INTERRUPTION_REGISTER PendingInterruption; - WHV_X64_PENDING_EXCEPTION_EVENT ExceptionEvent; - WHV_X64_PENDING_EXT_INT_EVENT ExtIntEvent; - WHV_X64_PENDING_DEBUG_EXCEPTION PendingDebugException; - WHV_X64_NESTED_GUEST_STATE NestedState; - WHV_X64_NESTED_INVEPT_REGISTER InvEpt; - WHV_X64_NESTED_INVVPID_REGISTER InvVpid; - WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT0 SvmNestedExit0; - WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT1 SvmNestedExit1; - WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT2 SvmNestedExit2; - WHV_X64_PENDING_SVM_NESTED_EXIT_EVENT3 SvmNestedExit3; - WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT0 VmxNestedExit0; - WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT1 VmxNestedExit1; - WHV_X64_PENDING_VMX_NESTED_EXIT_EVENT2 VmxNestedExit2; + WHV_PROCESSOR_XSAVE_FEATURES ProcessorXsaveFeatures; + UINT32 CpuidExitList[1]; + UINT64 ExceptionExitBitmap; + WINBOOL ApicRemoteRead; + WHV_X64_MSR_EXIT_BITMAP X64MsrExitBitmap; + WHV_PROCESSOR_PERFMON_FEATURES ProcessorPerfmonFeatures; + UINT64 InterruptClockFrequency; + WHV_X64_CPUID_RESULT CpuidResultList[1]; + WHV_X64_CPUID_RESULT2 CpuidResultList2[1]; + WHV_MSR_ACTION_ENTRY MsrActionList[1]; + WHV_MSR_ACTION UnimplementedMsrAction; + WHV_X64_LOCAL_APIC_EMULATION_MODE LocalApicEmulationMode; +#elif defined(__aarch64__) + WHV_ARM64_IC_PARAMETERS Arm64IcParameters; #endif -} WHV_REGISTER_VALUE; +} WHV_PARTITION_PROPERTY; -C_ASSERT(sizeof(WHV_REGISTER_VALUE) == 16); +#if defined(__x86_64__) typedef enum WHV_RUN_VP_EXIT_REASON { WHvRunVpExitReasonNone = 0x00000000, @@ -1789,6 +2178,26 @@ typedef enum WHV_RUN_VP_EXIT_REASON { WHvRunVpExitReasonCanceled = 0x00002001 } WHV_RUN_VP_EXIT_REASON; +#elif defined(__aarch64__) + +typedef enum WHV_RUN_VP_EXIT_REASON { + WHvRunVpExitReasonNone = 0x00000000, + WHvRunVpExitReasonUnmappedGpa = 0x80000000, + WHvRunVpExitReasonGpaIntercept = 0x80000001, + WHvRunVpExitReasonUnrecoverableException = 0x80000021, + WHvRunVpExitReasonInvalidVpRegisterValue = 0x80000020, + WHvRunVpExitReasonUnsupportedFeature = 0x80000022, + WHvRunVpExitReasonSynicSintDeliverable = 0x80000062, + WHvMessageTypeRegisterIntercept = 0x80010006, + WHvRunVpExitReasonArm64Reset = 0x8001000c, + WHvRunVpExitReasonHypercall = 0x80000050, + WHvRunVpExitReasonCanceled = 0xFFFFFFFF +} WHV_RUN_VP_EXIT_REASON; + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +#if defined(__x86_64__) + typedef union WHV_X64_VP_EXECUTION_STATE { __C89_NAMELESS struct { UINT16 Cpl : 2; @@ -1806,7 +2215,7 @@ typedef union WHV_X64_VP_EXECUTION_STATE { C_ASSERT(sizeof(WHV_X64_VP_EXECUTION_STATE) == sizeof(UINT16)); -typedef struct WHV_VP_EXIT_CONTEXT { +typedef struct WHV_X64_VP_EXIT_CONTEXT { WHV_X64_VP_EXECUTION_STATE ExecutionState; UINT8 InstructionLength : 4; UINT8 Cr8 : 4; @@ -1815,9 +2224,17 @@ typedef struct WHV_VP_EXIT_CONTEXT { WHV_X64_SEGMENT_REGISTER Cs; UINT64 Rip; UINT64 Rflags; -} WHV_VP_EXIT_CONTEXT; +} WHV_X64_VP_EXIT_CONTEXT, WHV_VP_EXIT_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_VP_EXIT_CONTEXT) == 40); + +typedef struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT { + UINT16 DeliverableSints; + UINT16 Reserved1; + UINT32 Reserved2; +} WHV_SYNIC_SINT_DELIVERABLE_CONTEXT; -C_ASSERT(sizeof(WHV_VP_EXIT_CONTEXT) == 40); +C_ASSERT(sizeof(WHV_SYNIC_SINT_DELIVERABLE_CONTEXT) == 8); typedef union WHV_MEMORY_ACCESS_INFO { __C89_NAMELESS struct { @@ -1853,7 +2270,7 @@ typedef union WHV_X64_IO_PORT_ACCESS_INFO { UINT32 AsUINT32; } WHV_X64_IO_PORT_ACCESS_INFO; -C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_INFO) == sizeof(UINT32)); +C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_INFO) == 4); typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT { UINT8 InstructionByteCount; @@ -1913,7 +2330,7 @@ typedef union WHV_VP_EXCEPTION_INFO { UINT32 AsUINT32; } WHV_VP_EXCEPTION_INFO; -C_ASSERT(sizeof(WHV_VP_EXCEPTION_INFO) == sizeof(UINT32)); +C_ASSERT(sizeof(WHV_VP_EXCEPTION_INFO) == 4); typedef struct WHV_VP_EXCEPTION_CONTEXT { UINT8 InstructionByteCount; @@ -1941,16 +2358,128 @@ typedef struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT { C_ASSERT(sizeof(WHV_X64_UNSUPPORTED_FEATURE_CONTEXT) == 16); +#elif defined(__aarch64__) + +typedef union WHV_VP_EXECUTION_STATE { + UINT16 AsUINT16; + __C89_NAMELESS struct { + UINT16 Cpl : 2; + UINT16 DebugActive : 1; + UINT16 InterruptionPending : 1; + UINT16 Vtl : 4; + UINT16 VirtualizationFaultActive : 1; + UINT16 Reserved : 7; + }; +} WHV_VP_EXECUTION_STATE; + +C_ASSERT(sizeof(WHV_VP_EXECUTION_STATE) == 2); + +typedef struct WHV_INTERCEPT_MESSAGE_HEADER { + UINT32 VpIndex; + UINT8 InstructionLength; + UINT8 InterceptAccessType; + WHV_VP_EXECUTION_STATE ExecutionState; + UINT64 Pc; + UINT64 Cpsr; +} WHV_INTERCEPT_MESSAGE_HEADER; + +C_ASSERT(sizeof(WHV_INTERCEPT_MESSAGE_HEADER) == 24); + +typedef union WHV_MEMORY_ACCESS_INFO { + UINT8 AsUINT8; + __C89_NAMELESS struct { + UINT8 GvaValid : 1; + UINT8 GvaGpaValid : 1; + UINT8 HypercallOutputPending : 1; + UINT8 Reserved : 5; + }; +} WHV_MEMORY_ACCESS_INFO; + +typedef struct WHV_MEMORY_ACCESS_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; + UINT32 Reserved0; + UINT8 InstructionByteCount; + WHV_MEMORY_ACCESS_INFO AccessInfo; + UINT16 Reserved1; + UINT8 InstructionBytes[4]; + UINT32 Reserved2; + UINT64 Gva; + UINT64 Gpa; + UINT64 Syndrome; +} WHV_MEMORY_ACCESS_CONTEXT; + +C_ASSERT(sizeof(WHV_MEMORY_ACCESS_CONTEXT) == 64); + +typedef struct WHV_UNRECOVERABLE_EXCEPTION_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; +} WHV_UNRECOVERABLE_EXCEPTION_CONTEXT; + +C_ASSERT(sizeof(WHV_UNRECOVERABLE_EXCEPTION_CONTEXT) == 24); + +typedef struct WHV_INVALID_VP_REGISTER_CONTEXT { + UINT32 VpIndex; + UINT32 Reserved; +} WHV_INVALID_VP_REGISTER_CONTEXT; + +C_ASSERT(sizeof(WHV_INVALID_VP_REGISTER_CONTEXT) == 8); + +typedef struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; + UINT16 DeliverableSints; + UINT16 Reserved1; + UINT32 Reserved2; +} WHV_SYNIC_SINT_DELIVERABLE_CONTEXT; + +C_ASSERT(sizeof(WHV_SYNIC_SINT_DELIVERABLE_CONTEXT) == 32); + +typedef union WHV_REGISTER_ACCESS_INFO { + WHV_REGISTER_VALUE SourceValue; + WHV_REGISTER_NAME DestinationRegister; +} WHV_REGISTER_ACCESS_INFO; + +typedef struct WHV_REGISTER_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; + __C89_NAMELESS struct { + UINT8 IsMemoryOp:1; + UINT8 Reserved:7; + }; + UINT8 Reserved8; + UINT16 Reserved16; + WHV_REGISTER_NAME RegisterName; + WHV_REGISTER_ACCESS_INFO AccessInfo; +} WHV_REGISTER_CONTEXT; + +C_ASSERT(sizeof(WHV_REGISTER_CONTEXT) == 48); + +typedef enum WHV_ARM64_RESET_TYPE { + WHvArm64ResetTypePowerOff = 0, + WHvArm64ResetTypeReboot +} WHV_ARM64_RESET_TYPE; + +typedef struct WHV_ARM64_RESET_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; + WHV_ARM64_RESET_TYPE ResetType; + UINT32 Reserved; +} WHV_ARM64_RESET_CONTEXT; + +C_ASSERT(sizeof(WHV_ARM64_RESET_CONTEXT) == 32); + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + typedef enum WHV_RUN_VP_CANCEL_REASON { - WhvRunVpCancelReasonUser = 0 + WHvRunVpCancelReasonUser = 0 } WHV_RUN_VP_CANCEL_REASON; +#define WhvRunVpCancelReasonUser WHvRunVpCancelReasonUser + typedef struct WHV_RUN_VP_CANCELED_CONTEXT { WHV_RUN_VP_CANCEL_REASON CancelReason; } WHV_RUN_VP_CANCELED_CONTEXT; C_ASSERT(sizeof(WHV_RUN_VP_CANCELED_CONTEXT) == 4); +#if defined(__x86_64__) + typedef enum WHV_X64_PENDING_INTERRUPTION_TYPE { WHvX64PendingInterrupt = 0, WHvX64PendingNmi = 2, @@ -1995,9 +2524,13 @@ typedef struct WHV_X64_APIC_SMI_CONTEXT { C_ASSERT(sizeof(WHV_X64_APIC_SMI_CONTEXT) == 8); +#endif /* defined(__x86_64__) */ + +#if defined(__x86_64__) + #define WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS 6 -typedef struct _WHV_HYPERCALL_CONTEXT { +typedef struct WHV_X64_HYPERCALL_CONTEXT { UINT64 Rax; UINT64 Rbx; UINT64 Rcx; @@ -2008,10 +2541,24 @@ typedef struct _WHV_HYPERCALL_CONTEXT { UINT64 Reserved0; WHV_UINT128 XmmRegisters[WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS]; UINT64 Reserved1[2]; -} WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT; +} WHV_X64_HYPERCALL_CONTEXT, WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT; C_ASSERT(sizeof(WHV_HYPERCALL_CONTEXT) == 176); +#elif defined(__aarch64__) + +typedef struct WHV_ARM64_HYPERCALL_CONTEXT { + WHV_INTERCEPT_MESSAGE_HEADER Header; + UINT16 Immediate; + UINT16 Reserved1; + UINT32 Reserved2; + UINT64 X[18]; +} WHV_ARM64_HYPERCALL_CONTEXT, WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT; + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +#if defined(__x86_64__) + typedef struct WHV_X64_APIC_INIT_SIPI_CONTEXT { UINT64 ApicIcr; } WHV_X64_APIC_INIT_SIPI_CONTEXT; @@ -2034,30 +2581,51 @@ typedef struct WHV_X64_APIC_WRITE_CONTEXT { C_ASSERT(sizeof(WHV_X64_APIC_WRITE_CONTEXT) == 16); +#endif /* defined(__x86_64__) */ + typedef struct WHV_RUN_VP_EXIT_CONTEXT { WHV_RUN_VP_EXIT_REASON ExitReason; UINT32 Reserved; +#if defined(__x86_64__) WHV_VP_EXIT_CONTEXT VpContext; +#elif defined(__aarch64__) + UINT64 Reserved1; +#endif __C89_NAMELESS union { WHV_MEMORY_ACCESS_CONTEXT MemoryAccess; + WHV_RUN_VP_CANCELED_CONTEXT CancelReason; + WHV_HYPERCALL_CONTEXT Hypercall; + WHV_SYNIC_SINT_DELIVERABLE_CONTEXT SynicSintDeliverable; +#if defined(__x86_64__) WHV_X64_IO_PORT_ACCESS_CONTEXT IoPortAccess; WHV_X64_MSR_ACCESS_CONTEXT MsrAccess; WHV_X64_CPUID_ACCESS_CONTEXT CpuidAccess; WHV_VP_EXCEPTION_CONTEXT VpException; WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT InterruptWindow; WHV_X64_UNSUPPORTED_FEATURE_CONTEXT UnsupportedFeature; - WHV_RUN_VP_CANCELED_CONTEXT CancelReason; WHV_X64_APIC_EOI_CONTEXT ApicEoi; WHV_X64_RDTSC_CONTEXT ReadTsc; WHV_X64_APIC_SMI_CONTEXT ApicSmi; - WHV_HYPERCALL_CONTEXT Hypercall; WHV_X64_APIC_INIT_SIPI_CONTEXT ApicInitSipi; WHV_X64_APIC_WRITE_CONTEXT ApicWrite; - WHV_SYNIC_SINT_DELIVERABLE_CONTEXT SynicSintDeliverable; + UINT64 AsUINT64[22]; +#elif defined(__aarch64__) + WHV_UNRECOVERABLE_EXCEPTION_CONTEXT UnrecoverableException; + WHV_INVALID_VP_REGISTER_CONTEXT InvalidVpRegister; + WHV_REGISTER_CONTEXT Register; + WHV_ARM64_RESET_CONTEXT Arm64Reset; + UINT64 AsUINT64[32]; +#endif }; } WHV_RUN_VP_EXIT_CONTEXT; +#if defined(__x86_64__) C_ASSERT(sizeof(WHV_RUN_VP_EXIT_CONTEXT) == 224); +#elif defined(__aarch64__) +C_ASSERT(sizeof(WHV_RUN_VP_EXIT_CONTEXT) == 272); +#endif + +#if defined(__x86_64__) typedef enum WHV_INTERRUPT_TYPE { WHvX64InterruptTypeFixed = 0, @@ -2082,13 +2650,48 @@ typedef struct WHV_INTERRUPT_CONTROL { UINT64 Type : 8; UINT64 DestinationMode : 4; UINT64 TriggerMode : 4; - UINT64 Reserved : 48; + UINT64 TargetVtl : 8; + UINT64 Reserved : 40; UINT32 Destination; UINT32 Vector; } WHV_INTERRUPT_CONTROL; C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL) == 16); +#elif defined(__aarch64__) + +typedef enum WHV_INTERRUPT_TYPE { + WHvArm64InterruptTypeFixed = 0x0000, + WHvArm64InterruptTypeMaximum = 0x0008 +} WHV_INTERRUPT_TYPE; + +typedef union WHV_INTERRUPT_CONTROL2 { + UINT64 AsUINT64; + __C89_NAMELESS struct { + WHV_INTERRUPT_TYPE InterruptType; + UINT32 Reserved1 : 2; + UINT32 Asserted : 1; + UINT32 Retarget : 1; + UINT32 Reserved2 : 28; + }; +} WHV_INTERRUPT_CONTROL2; + +C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL2) == 8); + +typedef struct WHV_INTERRUPT_CONTROL { + UINT64 TargetPartition; + WHV_INTERRUPT_CONTROL2 InterruptControl; + UINT64 DestinationAddress; + UINT32 RequestedVector; + UINT8 TargetVtl; + UINT8 ReservedZ0; + UINT16 ReservedZ1; +} WHV_INTERRUPT_CONTROL; + +C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL) == 32); + +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + typedef struct WHV_DOORBELL_MATCH_DATA { WHV_GUEST_PHYSICAL_ADDRESS GuestAddress; UINT64 Value; @@ -2113,11 +2716,13 @@ typedef struct WHV_PARTITION_MEMORY_COUNTERS { C_ASSERT(sizeof(WHV_PARTITION_MEMORY_COUNTERS) == 24); typedef enum WHV_PROCESSOR_COUNTER_SET { - WHvProcessorCounterSetRuntime, - WHvProcessorCounterSetIntercepts, - WHvProcessorCounterSetEvents, - WHvProcessorCounterSetApic, - WHvProcessorCounterSetSyntheticFeatures + WHvProcessorCounterSetRuntime = 0, + WHvProcessorCounterSetIntercepts = 1, + WHvProcessorCounterSetEvents = 2, +#if defined(__x86_64__) + WHvProcessorCounterSetApic = 3, +#endif + WHvProcessorCounterSetSyntheticFeatures = 4 } WHV_PROCESSOR_COUNTER_SET; typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS { @@ -2135,6 +2740,7 @@ typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER { C_ASSERT(sizeof(WHV_PROCESSOR_INTERCEPT_COUNTER) == 16); typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS { +#if defined(__x86_64__) WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations; WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses; WHV_PROCESSOR_INTERCEPT_COUNTER IoInstructions; @@ -2149,6 +2755,13 @@ typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS { WHV_PROCESSOR_INTERCEPT_COUNTER NestedPageFaultIntercepts; WHV_PROCESSOR_INTERCEPT_COUNTER Hypercalls; WHV_PROCESSOR_INTERCEPT_COUNTER RdpmcInstructions; +#elif defined(__aarch64__) + WHV_PROCESSOR_INTERCEPT_COUNTER OtherIntercepts; + WHV_PROCESSOR_INTERCEPT_COUNTER PendingInterrupts; + WHV_PROCESSOR_INTERCEPT_COUNTER NestedPageFaultIntercepts; + WHV_PROCESSOR_INTERCEPT_COUNTER Hypercalls; + WHV_PROCESSOR_INTERCEPT_COUNTER Reserved[10]; +#endif /* defined(__x86_64__) || defined(__aarch64__) */ } WHV_PROCESSOR_ACTIVITY_COUNTERS; C_ASSERT(sizeof(WHV_PROCESSOR_ACTIVITY_COUNTERS) == 224); @@ -2161,6 +2774,8 @@ typedef struct WHV_PROCESSOR_EVENT_COUNTERS { C_ASSERT(sizeof(WHV_PROCESSOR_GUEST_EVENT_COUNTERS) == 24); +#if defined(__x86_64__) + typedef struct WHV_PROCESSOR_APIC_COUNTERS { UINT64 MmioAccessCount; UINT64 EoiAccessCount; @@ -2171,6 +2786,8 @@ typedef struct WHV_PROCESSOR_APIC_COUNTERS { C_ASSERT(sizeof(WHV_PROCESSOR_APIC_COUNTERS) == 40); +#endif /* defined(__x86_64__) */ + typedef struct WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS { UINT64 SyntheticInterruptsCount; UINT64 LongSpinWaitHypercallsCount; @@ -2182,24 +2799,216 @@ typedef struct WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS { C_ASSERT(sizeof(WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS) == 48); +typedef union WHV_VTL_PERMISSION_SET { + UINT32 AsUINT32; + __C89_NAMELESS struct { + UINT16 VtlPermissionFrom1[2]; + }; +} WHV_VTL_PERMISSION_SET; + typedef enum WHV_ADVISE_GPA_RANGE_CODE { WHvAdviseGpaRangeCodePopulate = 0x00000000, WHvAdviseGpaRangeCodePin = 0x00000001, WHvAdviseGpaRangeCodeUnpin = 0x00000002 } WHV_ADVISE_GPA_RANGE_CODE; +#if defined(__x86_64__) + typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE { WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000000, WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000001, WHvVirtualProcessorStateTypeSynicTimerState = 0x00000002, WHvVirtualProcessorStateTypeInterruptControllerState2 = 0x00001000, - WHvVirtualProcessorStateTypeXsaveState = 0x00001001 + WHvVirtualProcessorStateTypeXsaveState = 0x00001001, + WHvVirtualProcessorStateTypeNestedState = 0x00001002 +} WHV_VIRTUAL_PROCESSOR_STATE_TYPE; + +#elif defined(__aarch64__) + +#define WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN (1U << 31) +#define WHV_VIRTUAL_PROCESSOR_STATE_TYPE_ANY_VP (1U << 30) + +typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE { + WHvVirtualProcessorStateTypeInterruptControllerState = 0x00000000 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN, + WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000002 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN, + WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000003 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN, + WHvVirtualProcessorStateTypeSynicTimerState = 0x00000004, + WHvVirtualProcessorStateTypeGlobalInterruptState = 0x00000006 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_ANY_VP, + WHvVirtualProcessorStateTypeSveState = 0x00000007 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN } WHV_VIRTUAL_PROCESSOR_STATE_TYPE; +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + +typedef enum WHV_NESTED_STATE_TYPE { + WHvNestedStateTypeVmx, + WHvNestedStateTypeSvm +} WHV_NESTED_STATE_TYPE; + +typedef struct WHV_NESTED_ENLIGHTENMENTS_CONTROL { + __C89_NAMELESS union { + UINT32 AsUINT32; + __C89_NAMELESS struct { + UINT32 DirectHypercall:1; + UINT32 VirtualizationException:1; + UINT32 Reserved:30; + }; + } Features; + __C89_NAMELESS union { + UINT32 AsUINT32; + __C89_NAMELESS struct { + UINT32 InterPartitionCommunication:1; + UINT32 Reserved:31; + }; + } HypercallControls; +} WHV_NESTED_ENLIGHTENMENTS_CONTROL; + +typedef struct WHV_X64_VMX_NESTED_STATE { + WHV_NESTED_STATE_TYPE Vendor; + __C89_NAMELESS struct { + UINT32 GuestMode : 1; + UINT32 Vmxon : 1; + UINT32 CurrentVmcsValid : 1; + UINT32 VmEntryPending : 1; + UINT32 VmcsEnlightened : 1; + UINT32 EnlightenedVmEntry : 1; + UINT32 Reserved : 26; + } Flags; + WHV_NESTED_ENLIGHTENMENTS_CONTROL NestedEnlightenmentsControl; + UINT64 Pdpt[4]; + UINT64 VmxonRegionGpa; + UINT64 VmcsGpa; + UINT64 CurrentEnlightenedVmcs; + __C89_NAMELESS struct { + UINT32 Tpr; + UINT32 Ppr; + UINT32 Isr[8]; + UINT32 Irr[8]; + UINT32 IcrLow; + UINT32 IcrHigh; + } VirtualApicRegs; + UINT8 Reserved[3944]; + DECLSPEC_ALIGN(4096) UINT8 VmcsBytes[4096]; +} WHV_X64_VMX_NESTED_STATE; + +typedef struct WHV_SVM_VMCB_SELECTOR { + UINT16 Selector; + UINT16 Attrib; + UINT32 Limit; + UINT64 Base; +} WHV_SVM_VMCB_SELECTOR; + +typedef struct WHV_SVM_NESTED_HOST_STATE { + UINT64 Rip; + UINT64 Rsp; + UINT64 Rflags; + UINT64 Rax; + WHV_SVM_VMCB_SELECTOR Es; + WHV_SVM_VMCB_SELECTOR Cs; + WHV_SVM_VMCB_SELECTOR Ss; + WHV_SVM_VMCB_SELECTOR Ds; + WHV_SVM_VMCB_SELECTOR Gdtr; + WHV_SVM_VMCB_SELECTOR Idtr; + UINT64 Efer; + UINT64 Cr0; + UINT64 Cr3; + UINT64 Cr4; + UINT64 VirtualTpr; + UINT64 Reserved[6]; +} WHV_SVM_NESTED_HOST_STATE; + +typedef struct WHV_X64_SVM_NESTED_STATE { + WHV_NESTED_STATE_TYPE Vendor; + __C89_NAMELESS struct { + UINT32 GuestMode : 1; + UINT32 VmEntryPending : 1; + UINT32 HostSaveGpaValid : 1; + UINT32 CurrentVmcbValid : 1; + UINT32 Reserved : 28; + } Flags; + WHV_NESTED_ENLIGHTENMENTS_CONTROL NestedEnlightenmentsControl; + UINT64 HostSaveGpa; + UINT64 VmControlMsr; + UINT64 VirtualTscRatioMsr; + UINT64 VmcbGpa; + WHV_SVM_NESTED_HOST_STATE HostState; + UINT8 Reserved[3832]; + DECLSPEC_ALIGN(4096) UINT8 VmcbBytes[4096]; +} WHV_X64_SVM_NESTED_STATE; + +typedef union WHV_X64_NESTED_STATE { + WHV_X64_VMX_NESTED_STATE Vmx; + WHV_X64_SVM_NESTED_STATE Svm; +} WHV_X64_NESTED_STATE; + +C_ASSERT(sizeof(WHV_X64_NESTED_STATE) == (2 * 4096)); + +#if defined (__aarch64__) + +typedef struct WHV_ARM64_INTERRUPT_STATE { + __C89_NAMELESS struct { + UINT8 Enabled : 1; + UINT8 EdgeTriggered : 1; + UINT8 Asserted : 1; + UINT8 SetPending : 1; + UINT8 Active : 1; + UINT8 Direct : 1; + UINT8 Reserved0 : 2; + }; + UINT8 GicrIpriorityrConfigured; + UINT8 GicrIpriorityrActive; + UINT8 Reserved1; +} WHV_ARM64_INTERRUPT_STATE; + +typedef struct WHV_ARM64_GLOBAL_INTERRUPT_STATE { + UINT32 InterruptId; + UINT32 ActiveVpIndex; + __C89_NAMELESS union { + UINT32 TargetMpidr; + UINT32 TargetVpIndex; + }; + WHV_ARM64_INTERRUPT_STATE InterruptState; +} WHV_ARM64_GLOBAL_INTERRUPT_STATE; + +#define WHV_ARM64_GLOBAL_INTERRUPT_CONTROLLER_STATE_VERSION_CURRENT (1) + +typedef struct WHV_ARM64_GLOBAL_INTERRUPT_CONTROLLER_STATE { + UINT8 Version; + UINT8 GicVersion; + UINT8 Reserved0[2]; + UINT32 NumInterrupts; + UINT64 GicdCtlrEnableGrp1A; + WHV_ARM64_GLOBAL_INTERRUPT_STATE Interrupts[ANYSIZE_ARRAY]; +} WHV_ARM64_GLOBAL_INTERRUPT_CONTROLLER_STATE; + +#define WHV_ARM64_INTERRUPT_CONTROLLER_STATE_VERSION_CURRENT (1) + +typedef struct WHV_ARM64_LOCAL_INTERRUPT_CONTROLLER_STATE { + UINT8 Version; + UINT8 GicVersion; + UINT8 Reserved0[6]; + UINT64 IccIgrpen1El1; + UINT64 GicrCtlrEnableLpis; + UINT64 IccBpr1El1; + UINT64 IccPmrEl1; + UINT64 GicrPropbaser; + UINT64 GicrPendbaser; + UINT32 IchAp1REl2[4]; + WHV_ARM64_INTERRUPT_STATE BankedInterruptState[32]; +} WHV_ARM64_LOCAL_INTERRUPT_CONTROLLER_STATE; + +typedef struct WHV_ARM64_VP_STATE_SVE { + USHORT Version; + USHORT RegisterDataOffset; + UINT32 VectorLength; + UINT64 Reserved0; +} WHV_ARM64_VP_STATE_SVE; + +#endif /* defined(__aarch64__) */ + typedef struct WHV_SYNIC_EVENT_PARAMETERS { UINT32 VpIndex; UINT8 TargetSint; - UINT8 Reserved; + WHV_VTL TargetVtl; UINT16 FlagNumber; } WHV_SYNIC_EVENT_PARAMETERS; @@ -2326,7 +3135,9 @@ typedef struct WHV_VPCI_INTERRUPT_TARGET { C_ASSERT(sizeof(WHV_VPCI_INTERRUPT_TARGET) == 16); typedef enum WHV_TRIGGER_TYPE { +#if defined(__x86_64__) WHvTriggerTypeInterrupt = 0, +#endif WHvTriggerTypeSynicEvent = 1, WHvTriggerTypeDeviceInterrupt = 2 } WHV_TRIGGER_TYPE; @@ -2335,7 +3146,9 @@ typedef struct WHV_TRIGGER_PARAMETERS { WHV_TRIGGER_TYPE TriggerType; UINT32 Reserved; __C89_NAMELESS union { +#if defined(__x86_64__) WHV_INTERRUPT_CONTROL Interrupt; +#endif WHV_SYNIC_EVENT_PARAMETERS SynicEvent; __C89_NAMELESS struct { UINT64 LogicalDeviceId; @@ -2372,7 +3185,9 @@ typedef enum WHV_NOTIFICATION_PORT_TYPE { typedef struct WHV_NOTIFICATION_PORT_PARAMETERS { WHV_NOTIFICATION_PORT_TYPE NotificationPortType; - UINT32 Reserved; + UINT16 Reserved; + UINT8 Reserved1; + UINT8 ConnectionVtl; __C89_NAMELESS union { WHV_DOORBELL_MATCH_DATA Doorbell; __C89_NAMELESS struct { @@ -2398,4 +3213,6 @@ typedef PVOID WHV_NOTIFICATION_PORT_HANDLE; #define WHV_SYNIC_MESSAGE_SIZE 256 +#endif /* defined(__x86_64__) || defined(__aarch64__) */ + #endif /* _WINHVAPIDEFS_H_ */ diff --git a/lib/libc/include/any-windows-any/winioctl.h b/lib/libc/include/any-windows-any/winioctl.h index 55aa288be771..036297cd815c 100644 --- a/lib/libc/include/any-windows-any/winioctl.h +++ b/lib/libc/include/any-windows-any/winioctl.h @@ -3229,6 +3229,54 @@ typedef struct _CSV_NAMESPACE_INFO { #define FSCTL_LMR_QUERY_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 286, METHOD_BUFFERED, FILE_ANY_ACCESS) #endif +#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) +typedef struct _DUPLICATE_EXTENTS_DATA { + HANDLE FileHandle; + LARGE_INTEGER SourceFileOffset; + LARGE_INTEGER TargetFileOffset; + LARGE_INTEGER ByteCount; +} DUPLICATE_EXTENTS_DATA, *PDUPLICATE_EXTENTS_DATA; + +#if ((NTDDI_VERSION >= NTDDI_WIN10_RS2) && defined(_WIN64)) +typedef struct _DUPLICATE_EXTENTS_DATA32 { + UINT32 FileHandle; + LARGE_INTEGER SourceFileOffset; + LARGE_INTEGER TargetFileOffset; + LARGE_INTEGER ByteCount; +} DUPLICATE_EXTENTS_DATA32, *PDUPLICATE_EXTENTS_DATA32; +#endif /* ((NTDDI_VERSION >= NTDDI_WIN10_RS2) && defined(_WIN64)) */ + +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_RS3) +#define DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC 0x00000001 + +#if (NTDDI_VERSION >= NTDDI_WIN10_VB) +#define DUPLICATE_EXTENTS_DATA_EX_ASYNC 0x00000002 +#endif /* (NTDDI_VERSION >= NTDDI_WIN10_VB) */ + +typedef struct _DUPLICATE_EXTENTS_DATA_EX { + SIZE_T Size; + HANDLE FileHandle; + LARGE_INTEGER SourceFileOffset; + LARGE_INTEGER TargetFileOffset; + LARGE_INTEGER ByteCount; + DWORD Flags; +} DUPLICATE_EXTENTS_DATA_EX, *PDUPLICATE_EXTENTS_DATA_EX; + +#if ((NTDDI_VERSION >= NTDDI_WIN10_RS3) && defined(_WIN64)) +typedef struct _DUPLICATE_EXTENTS_DATA_EX32 { + DWORD32 Size; + DWORD32 FileHandle; + LARGE_INTEGER SourceFileOffset; + LARGE_INTEGER TargetFileOffset; + LARGE_INTEGER ByteCount; + DWORD Flags; +} DUPLICATE_EXTENTS_DATA_EX32, *PDUPLICATE_EXTENTS_DATA_EX32; +#endif /* ((NTDDI_VERSION >= NTDDI_WIN10_RS3) && defined(_WIN64)) */ + +#endif /* (NTDDI_VERSION >= NTDDI_WIN10_RS3) */ + #endif /* _FILESYSTEMFSCTL_ */ diff --git a/lib/libc/include/any-windows-any/winnt.h b/lib/libc/include/any-windows-any/winnt.h index 9373525f129e..9e57bb1006a5 100644 --- a/lib/libc/include/any-windows-any/winnt.h +++ b/lib/libc/include/any-windows-any/winnt.h @@ -2454,6 +2454,21 @@ extern "C" { #define UNW_FLAG_EHANDLER 0x1 #define UNW_FLAG_UHANDLER 0x2 +#define NONVOL_INT_NUMREG_ARM64 (11) +#define NONVOL_FP_NUMREG_ARM64 (8) + +#define NONVOL_INT_SIZE_ARM64 (NONVOL_INT_NUMREG_ARM64 * sizeof(DWORD64)) +#define NONVOL_FP_SIZE_ARM64 (NONVOL_FP_NUMREG_ARM64 * sizeof(double)) + + typedef union _DISPATCHER_CONTEXT_NONVOLREG_ARM64 { + BYTE Buffer[NONVOL_INT_SIZE_ARM64 + NONVOL_FP_SIZE_ARM64]; + + __C89_NAMELESS struct { + DWORD64 GpNvRegs[NONVOL_INT_NUMREG_ARM64]; + double FpNvRegs[NONVOL_FP_NUMREG_ARM64]; + } DUMMYSTRUCTNAME; + } DISPATCHER_CONTEXT_NONVOLREG_ARM64; + typedef struct _DISPATCHER_CONTEXT_ARM64 { ULONG_PTR ControlPc; ULONG_PTR ImageBase; @@ -5401,7 +5416,7 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) SERVERSILO_STARTED, SERVERSILO_SHUTTING_DOWN, SERVERSILO_TERMINATING, - SERVERSILO_TERMINATED, + SERVERSILO_TERMINATED } SERVERSILO_STATE, *PSERVERSILO_STATE; typedef struct _SERVERSILO_BASIC_INFORMATION { @@ -8805,14 +8820,14 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) typedef enum ARM64_FNPDATA_FLAGS { PdataRefToFullXdata = 0, PdataPackedUnwindFunction = 1, - PdataPackedUnwindFragment = 2, + PdataPackedUnwindFragment = 2 } ARM64_FNPDATA_FLAGS; typedef enum ARM64_FNPDATA_CR { PdataCrUnchained = 0, PdataCrUnchainedSavedLr = 1, PdataCrChainedWithPac = 2, - PdataCrChained = 3, + PdataCrChained = 3 } ARM64_FNPDATA_CR; typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { @@ -9125,27 +9140,27 @@ DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) #endif #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) - NTSYSAPI VOID NTAPI RtlUnwind (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue); + NTSYSAPI VOID NTAPI __MINGW_ATTRIB_NORETURN RtlUnwind (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue); NTSYSAPI PVOID NTAPI RtlPcToFileHeader (PVOID PcValue, PVOID *BaseOfImage); #if defined (__x86_64__) NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); - NTSYSAPI VOID NTAPI RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); + NTSYSAPI VOID NTAPI __MINGW_ATTRIB_NORETURN RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); NTSYSAPI PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind (DWORD HandlerType, DWORD64 ImageBase, DWORD64 ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PDWORD64 EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); NTSYSAPI BOOLEAN NTAPI RtlIsEcCode(DWORD64 CodePointer); #endif #if defined (__arm__) NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (ULONG_PTR ControlPc, PDWORD ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); - NTSYSAPI VOID NTAPI RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); + NTSYSAPI VOID NTAPI __MINGW_ATTRIB_NORETURN RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); NTSYSAPI PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind (DWORD HandlerType, DWORD ImageBase, DWORD ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PDWORD EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); #endif #if defined (__aarch64__) NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (ULONG_PTR ControlPc, PULONG_PTR ImageBase, PUNWIND_HISTORY_TABLE HistoryTable); - NTSYSAPI VOID NTAPI RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); + NTSYSAPI VOID NTAPI __MINGW_ATTRIB_NORETURN RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); NTSYSAPI PEXCEPTION_ROUTINE NTAPI RtlVirtualUnwind (DWORD HandlerType, ULONG_PTR ImageBase, ULONG_PTR ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PULONG_PTR EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); #endif #if defined (__ia64__) NTSYSAPI PRUNTIME_FUNCTION NTAPI RtlLookupFunctionEntry (ULONGLONG ControlPc, PULONGLONG ImageBase, PULONGLONG TargetGp); - NTSYSAPI VOID NTAPI RtlUnwindEx (FRAME_POINTERS TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); + NTSYSAPI VOID NTAPI __MINGW_ATTRIB_NORETURN RtlUnwindEx (FRAME_POINTERS TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable); NTSYSAPI ULONGLONG NTAPI RtlVirtualUnwind (ULONGLONG ImageBase, ULONGLONG ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PBOOLEAN InFunction, PFRAME_POINTERS EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); #endif #endif @@ -9470,7 +9485,7 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); typedef enum _RTL_UMS_SCHEDULER_REASON { UmsSchedulerStartup = 0, UmsSchedulerThreadBlocked, - UmsSchedulerThreadYield, + UmsSchedulerThreadYield } RTL_UMS_SCHEDULER_REASON,*PRTL_UMS_SCHEDULER_REASON; typedef VOID NTAPI RTL_UMS_SCHEDULER_ENTRY_POINT (RTL_UMS_SCHEDULER_REASON Reason, ULONG_PTR ActivationPayload, PVOID SchedulerParam); @@ -10457,13 +10472,13 @@ typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); typedef enum _TRANSACTION_OUTCOME { TransactionOutcomeUndetermined = 1, TransactionOutcomeCommitted, - TransactionOutcomeAborted, + TransactionOutcomeAborted } TRANSACTION_OUTCOME; typedef enum _TRANSACTION_STATE { TransactionStateNormal = 1, TransactionStateIndoubt, - TransactionStateCommittedNotify, + TransactionStateCommittedNotify } TRANSACTION_STATE; typedef struct _TRANSACTION_BASIC_INFORMATION { diff --git a/lib/libc/include/any-windows-any/winuser.h b/lib/libc/include/any-windows-any/winuser.h index d68333f7b9da..5423c72ea175 100644 --- a/lib/libc/include/any-windows-any/winuser.h +++ b/lib/libc/include/any-windows-any/winuser.h @@ -2836,7 +2836,7 @@ DIALOG_DPI_CHANGE_BEHAVIORS WINAPI GetDialogDpiChangeBehavior(HWND hDlg); POINTER_CHANGE_FOURTHBUTTON_DOWN, POINTER_CHANGE_FOURTHBUTTON_UP, POINTER_CHANGE_FIFTHBUTTON_DOWN, - POINTER_CHANGE_FIFTHBUTTON_UP, + POINTER_CHANGE_FIFTHBUTTON_UP } POINTER_BUTTON_CHANGE_TYPE; typedef struct tagPOINTER_INFO { @@ -6705,7 +6705,7 @@ WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetDpiAwarenessContextForProcess(HANDLE IMO_UNAVAILABLE = 0x00000000, IMO_HARDWARE = 0x00000001, IMO_INJECTED = 0x00000002, - IMO_SYSTEM = 0x00000004, + IMO_SYSTEM = 0x00000004 } INPUT_MESSAGE_ORIGIN_ID; typedef struct tagINPUT_MESSAGE_SOURCE { diff --git a/lib/libc/include/any-windows-any/wmcodecdsp.h b/lib/libc/include/any-windows-any/wmcodecdsp.h index ae24fd05b942..82de8a4c29b9 100644 --- a/lib/libc/include/any-windows-any/wmcodecdsp.h +++ b/lib/libc/include/any-windows-any/wmcodecdsp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmcodecdsp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmcodecdsp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmcontainer.h b/lib/libc/include/any-windows-any/wmcontainer.h index c91f014043d3..3c28f613d0b4 100644 --- a/lib/libc/include/any-windows-any/wmcontainer.h +++ b/lib/libc/include/any-windows-any/wmcontainer.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmcontainer.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmcontainer.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmdrmsdk.h b/lib/libc/include/any-windows-any/wmdrmsdk.h index d2ff2488c1f7..3a78e2e88158 100644 --- a/lib/libc/include/any-windows-any/wmdrmsdk.h +++ b/lib/libc/include/any-windows-any/wmdrmsdk.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmdrmsdk.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmdrmsdk.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmp.h b/lib/libc/include/any-windows-any/wmp.h index 012e32eb4be4..fd6ebe482a85 100644 --- a/lib/libc/include/any-windows-any/wmp.h +++ b/lib/libc/include/any-windows-any/wmp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmprealestate.h b/lib/libc/include/any-windows-any/wmprealestate.h index e91b830e117b..ac1a805b6823 100644 --- a/lib/libc/include/any-windows-any/wmprealestate.h +++ b/lib/libc/include/any-windows-any/wmprealestate.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmprealestate.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmprealestate.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmpservices.h b/lib/libc/include/any-windows-any/wmpservices.h index 2871fce98f24..35cfcd81665e 100644 --- a/lib/libc/include/any-windows-any/wmpservices.h +++ b/lib/libc/include/any-windows-any/wmpservices.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmpservices.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmpservices.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmsbuffer.h b/lib/libc/include/any-windows-any/wmsbuffer.h index e4f206ed3d3c..859c6454b203 100644 --- a/lib/libc/include/any-windows-any/wmsbuffer.h +++ b/lib/libc/include/any-windows-any/wmsbuffer.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmsbuffer.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmsbuffer.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wmsdkidl.h b/lib/libc/include/any-windows-any/wmsdkidl.h index 65b0de7b87a1..a5e7e64a28b0 100644 --- a/lib/libc/include/any-windows-any/wmsdkidl.h +++ b/lib/libc/include/any-windows-any/wmsdkidl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmsdkidl.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmsdkidl.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -652,6 +652,7 @@ typedef enum tagWMT_STORAGE_FORMAT { WMT_Storage_Format_MP3 = 0, WMT_Storage_Format_V1 = 1 } WMT_STORAGE_FORMAT; +#pragma pack(push,2) typedef struct _WMStreamPrioritizationRecord { WORD wStreamNumber; WINBOOL fMandatory; @@ -662,6 +663,7 @@ typedef struct _WMT_TIMECODE_EXTENSION_DATA { DWORD dwUserbits; DWORD dwAmFlags; } WMT_TIMECODE_EXTENSION_DATA; +#pragma pack(pop) typedef struct _WM_PORT_NUMBER_RANGE { WORD wPortBegin; WORD wPortEnd; diff --git a/lib/libc/include/any-windows-any/wmsecure.h b/lib/libc/include/any-windows-any/wmsecure.h index 2cd92bf48fc3..f1526c8e4923 100644 --- a/lib/libc/include/any-windows-any/wmsecure.h +++ b/lib/libc/include/any-windows-any/wmsecure.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wmsecure.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wmsecure.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wpcapi.h b/lib/libc/include/any-windows-any/wpcapi.h index ca7a03b1f202..02c6a1506d6b 100644 --- a/lib/libc/include/any-windows-any/wpcapi.h +++ b/lib/libc/include/any-windows-any/wpcapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wpcapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wpcapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wrl/client.h b/lib/libc/include/any-windows-any/wrl/client.h index aeb886ea8a99..07cedbe4e4b5 100644 --- a/lib/libc/include/any-windows-any/wrl/client.h +++ b/lib/libc/include/any-windows-any/wrl/client.h @@ -7,7 +7,7 @@ #ifndef _WRL_CLIENT_H_ #define _WRL_CLIENT_H_ -#include +#include #include /* #include */ #include @@ -263,6 +263,51 @@ namespace Microsoft { return tmp->Release(); } }; + + template + bool operator==(const ComPtr &a, const ComPtr &b) throw() + { + static_assert(__is_base_of(T, U) || __is_base_of(U, T), "Type incompatible"); + return a.Get() == b.Get(); + } + + template + bool operator==(const ComPtr &a, std::nullptr_t) throw() + { + return a.Get() == nullptr; + } + + template + bool operator==(std::nullptr_t, const ComPtr &a) throw() + { + return a.Get() == nullptr; + } + + template + bool operator!=(const ComPtr &a, const ComPtr &b) throw() + { + static_assert(__is_base_of(T, U) || __is_base_of(U, T), "Type incompatible"); + return a.Get() != b.Get(); + } + + template + bool operator!=(const ComPtr &a, std::nullptr_t) throw() + { + return a.Get() != nullptr; + } + + template + bool operator!=(std::nullptr_t, const ComPtr &a) throw() + { + return a.Get() != nullptr; + } + + template + bool operator<(const ComPtr &a, const ComPtr &b) throw() + { + static_assert(__is_base_of(T, U) || __is_base_of(U, T), "Type incompatible"); + return a.Get() < b.Get(); + } } } diff --git a/lib/libc/include/any-windows-any/wsdattachment.h b/lib/libc/include/any-windows-any/wsdattachment.h index 07fa5e6fe2e9..a0e5c16c83c6 100644 --- a/lib/libc/include/any-windows-any/wsdattachment.h +++ b/lib/libc/include/any-windows-any/wsdattachment.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsdattachment.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsdattachment.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsdbase.h b/lib/libc/include/any-windows-any/wsdbase.h index 7e98ef7230b9..62e66f297389 100644 --- a/lib/libc/include/any-windows-any/wsdbase.h +++ b/lib/libc/include/any-windows-any/wsdbase.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsdbase.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsdbase.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsdclient.h b/lib/libc/include/any-windows-any/wsdclient.h index 6d8a20fd392b..689fbf52ce9d 100644 --- a/lib/libc/include/any-windows-any/wsdclient.h +++ b/lib/libc/include/any-windows-any/wsdclient.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsdclient.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsdclient.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsddisco.h b/lib/libc/include/any-windows-any/wsddisco.h index 5596bcf4bb9b..465bcfb04fb1 100644 --- a/lib/libc/include/any-windows-any/wsddisco.h +++ b/lib/libc/include/any-windows-any/wsddisco.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsddisco.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsddisco.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsdhost.h b/lib/libc/include/any-windows-any/wsdhost.h index 0fe49dc0bc68..41939a3741f4 100644 --- a/lib/libc/include/any-windows-any/wsdhost.h +++ b/lib/libc/include/any-windows-any/wsdhost.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsdhost.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsdhost.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsdtypes.h b/lib/libc/include/any-windows-any/wsdtypes.h index d5a2b188d082..866a46bbd65f 100644 --- a/lib/libc/include/any-windows-any/wsdtypes.h +++ b/lib/libc/include/any-windows-any/wsdtypes.h @@ -55,7 +55,7 @@ typedef enum _WSD_PROTOCOL_TYPE { WSD_PT_UDP = 0x01, WSD_PT_HTTP = 0x02, WSD_PT_HTTPS = 0x04, - WSD_PT_ALL = 0xff, + WSD_PT_ALL = 0xff } WSD_PROTOCOL_TYPE; typedef enum _WSDEventType { diff --git a/lib/libc/include/any-windows-any/wsdxml.h b/lib/libc/include/any-windows-any/wsdxml.h index 2d0a28299cf7..59e059301b16 100644 --- a/lib/libc/include/any-windows-any/wsdxml.h +++ b/lib/libc/include/any-windows-any/wsdxml.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsdxml.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsdxml.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wsman.h b/lib/libc/include/any-windows-any/wsman.h index ae7a70962de5..a2f7bc0d1d51 100644 --- a/lib/libc/include/any-windows-any/wsman.h +++ b/lib/libc/include/any-windows-any/wsman.h @@ -101,7 +101,7 @@ extern "C" { WSMAN_OPTION_PROXY_IE_PROXY_CONFIG = 1, WSMAN_OPTION_PROXY_WINHTTP_PROXY_CONFIG = 2, WSMAN_OPTION_PROXY_AUTO_DETECT = 4, - WSMAN_OPTION_PROXY_NO_PROXY_SERVER = 8, + WSMAN_OPTION_PROXY_NO_PROXY_SERVER = 8 }; typedef enum WSManSessionOption { diff --git a/lib/libc/include/any-windows-any/wsmandisp.h b/lib/libc/include/any-windows-any/wsmandisp.h index 550e6fa180b4..914ba4fba19e 100644 --- a/lib/libc/include/any-windows-any/wsmandisp.h +++ b/lib/libc/include/any-windows-any/wsmandisp.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wsmandisp.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wsmandisp.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wtypes.h b/lib/libc/include/any-windows-any/wtypes.h index 8a4b51804c0f..9b10fa486582 100644 --- a/lib/libc/include/any-windows-any/wtypes.h +++ b/lib/libc/include/any-windows-any/wtypes.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wtypes.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wtypes.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wtypesbase.h b/lib/libc/include/any-windows-any/wtypesbase.h index 99c07c2bd9b3..1eef5f9cb9f6 100644 --- a/lib/libc/include/any-windows-any/wtypesbase.h +++ b/lib/libc/include/any-windows-any/wtypesbase.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wtypesbase.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wtypesbase.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/wuapi.h b/lib/libc/include/any-windows-any/wuapi.h index 6f48641e3829..6824a76e9219 100644 --- a/lib/libc/include/any-windows-any/wuapi.h +++ b/lib/libc/include/any-windows-any/wuapi.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/wuapi.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/wuapi.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xamlom.h b/lib/libc/include/any-windows-any/xamlom.h index 42f035a8cdcb..80bb68c29670 100644 --- a/lib/libc/include/any-windows-any/xamlom.h +++ b/lib/libc/include/any-windows-any/xamlom.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xamlom.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xamlom.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xapo.h b/lib/libc/include/any-windows-any/xapo.h index c0177b0973a1..ed76e42f9202 100644 --- a/lib/libc/include/any-windows-any/xapo.h +++ b/lib/libc/include/any-windows-any/xapo.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xapo.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xapo.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xaudio2.h b/lib/libc/include/any-windows-any/xaudio2.h index 331fa2166130..122343323f77 100644 --- a/lib/libc/include/any-windows-any/xaudio2.h +++ b/lib/libc/include/any-windows-any/xaudio2.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xaudio2.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -87,36 +87,13 @@ interface IXAudio2Extension; #include #include #include +#include #ifdef __cplusplus extern "C" { #endif -#include -#if 0 -typedef struct WAVEFORMATEX { - WORD wFormatTag; - WORD nChannels; - DWORD nSamplesPerSec; - DWORD nAvgBytesPerSec; - WORD nBlockAlign; - WORD wBitsPerSample; - WORD cbSize; -} WAVEFORMATEX; -typedef struct __WIDL_xaudio2_generated_name_00000020 { - WAVEFORMATEX Format; - union { - WORD wValidBitsPerSample; - WORD wSamplesPerBlock; - WORD wReserved; - } Samples; - DWORD dwChannelMask; - GUID SubFormat; -} WAVEFORMATEXTENSIBLE; -typedef struct __WIDL_xaudio2_generated_name_00000020 *PWAVEFORMATEXTENSIBLE; -#else -#include -#endif +#pragma pack(push,1) #ifndef __IXAudio2Voice_FWD_DEFINED__ #define __IXAudio2Voice_FWD_DEFINED__ typedef interface IXAudio2Voice IXAudio2Voice; @@ -1879,7 +1856,7 @@ inline static float XAudio2FrequencyRatioToSemitones(float freqratio) { return 3 inline static float XAudio2CutoffFrequencyToRadians(float cutofffreq, UINT32 samplerate) { if ((UINT32)(cutofffreq * 6.0f) >= samplerate) { return XAUDIO2_MAX_FILTER_FREQUENCY; } return 2.0f * sinf((float)M_PI * cutofffreq / samplerate); } inline static float XAudio2RadiansToCutoffFrequency(float radians, float samplerate) { return samplerate * asinf(radians/2.0f) / (float)M_PI; } #endif -#include +#pragma pack(pop) HRESULT WINAPI XAudio2Create(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor); /* Begin additional prototypes for all interfaces */ diff --git a/lib/libc/include/any-windows-any/xaudio2fx.h b/lib/libc/include/any-windows-any/xaudio2fx.h index 8d859970eaa7..3fed8dcdf6bf 100644 --- a/lib/libc/include/any-windows-any/xaudio2fx.h +++ b/lib/libc/include/any-windows-any/xaudio2fx.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2fx.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xaudio2fx.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xmllite.h b/lib/libc/include/any-windows-any/xmllite.h index 73541e154216..3731c973d9c0 100644 --- a/lib/libc/include/any-windows-any/xmllite.h +++ b/lib/libc/include/any-windows-any/xmllite.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xmllite.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xmllite.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xpsdigitalsignature.h b/lib/libc/include/any-windows-any/xpsdigitalsignature.h index b0877ff3c37a..242783edd862 100644 --- a/lib/libc/include/any-windows-any/xpsdigitalsignature.h +++ b/lib/libc/include/any-windows-any/xpsdigitalsignature.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xpsdigitalsignature.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xpsdigitalsignature.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xpsobjectmodel.h b/lib/libc/include/any-windows-any/xpsobjectmodel.h index ddce0ab8d917..7e778de62aa4 100644 --- a/lib/libc/include/any-windows-any/xpsobjectmodel.h +++ b/lib/libc/include/any-windows-any/xpsobjectmodel.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xpsobjectmodel.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xpsobjectmodel_1.h b/lib/libc/include/any-windows-any/xpsobjectmodel_1.h index 353f5fe09439..63acf5805ea5 100644 --- a/lib/libc/include/any-windows-any/xpsobjectmodel_1.h +++ b/lib/libc/include/any-windows-any/xpsobjectmodel_1.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel_1.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xpsobjectmodel_1.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xpsprint.h b/lib/libc/include/any-windows-any/xpsprint.h index 774ffe7966ee..0a62e574dd52 100644 --- a/lib/libc/include/any-windows-any/xpsprint.h +++ b/lib/libc/include/any-windows-any/xpsprint.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xpsprint.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xpsprint.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/include/any-windows-any/xpsrassvc.h b/lib/libc/include/any-windows-any/xpsrassvc.h index 50287864fe69..a91297a89ba7 100644 --- a/lib/libc/include/any-windows-any/xpsrassvc.h +++ b/lib/libc/include/any-windows-any/xpsrassvc.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 10.0-rc1 from include/xpsrassvc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 10.4 from include/xpsrassvc.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ diff --git a/lib/libc/mingw/cfguard/mingw_cfguard_support.c b/lib/libc/mingw/cfguard/mingw_cfguard_support.c index 1e777ebfc009..5c736e162339 100644 --- a/lib/libc/mingw/cfguard/mingw_cfguard_support.c +++ b/lib/libc/mingw/cfguard/mingw_cfguard_support.c @@ -17,14 +17,6 @@ // really matter here because this is a no-op anyway. static void __guard_check_icall_dummy(void) {} -// When CFGuard is not active, directly tail-call the target address, which -// is passed via %rax. -__asm__( - ".globl __guard_dispatch_icall_dummy\n" - "__guard_dispatch_icall_dummy:\n" - " jmp *%rax\n" -); - // This is intentionally declared as _not_ a function pointer, so that the // jmp instruction is not included as a valid call target for CFGuard. extern void *__guard_dispatch_icall_dummy; diff --git a/lib/libc/mingw/crt/CRT_fp10.c b/lib/libc/mingw/crt/CRT_fp10.c index f39b5175f736..c8a8bfbeebcc 100644 --- a/lib/libc/mingw/crt/CRT_fp10.c +++ b/lib/libc/mingw/crt/CRT_fp10.c @@ -8,19 +8,11 @@ void _fpreset (void); void _fpreset (void) { -#if defined(_ARM_) || defined(__arm__) - __asm__ __volatile__ ( - "vmsr fpscr, %0\n\t" : : "r"(0 /* INITIAL_FPSCR */)); -#elif defined(_ARM64_) || defined(__aarch64__) - __asm__ __volatile__ ( - "msr fpcr, %0\n\t" : : "r"(0LL /* INITIAL_FPSCR */)); -#else #ifdef __GNUC__ __asm__ ("fninit"); #else /* msvc: */ __asm fninit; #endif -#endif } #ifdef __GNUC__ diff --git a/lib/libc/mingw/crt/CRT_fp8.c b/lib/libc/mingw/crt/CRT_fp8.c new file mode 100644 index 000000000000..a7d3a979424b --- /dev/null +++ b/lib/libc/mingw/crt/CRT_fp8.c @@ -0,0 +1,23 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include <_mingw.h> + +extern void (* __MINGW_IMP_SYMBOL(_fpreset))(void); +void _fpreset (void); + +void _fpreset (void) +{ + (* __MINGW_IMP_SYMBOL(_fpreset))(); +} + +#ifdef __GNUC__ +void __attribute__ ((alias ("_fpreset"))) fpreset(void); +#else +void fpreset(void) { + _fpreset(); +} +#endif diff --git a/lib/libc/mingw/crt/crtdll.c b/lib/libc/mingw/crt/crtdll.c index 90da38e604f7..6bee08f596ab 100644 --- a/lib/libc/mingw/crt/crtdll.c +++ b/lib/libc/mingw/crt/crtdll.c @@ -4,12 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#ifdef CRTDLL -#undef CRTDLL -#ifndef _DLL -#define _DLL -#endif - #include #include #include @@ -19,20 +13,14 @@ #include #ifndef _CRTIMP -#ifdef CRTDLL -#define _CRTIMP __declspec(dllexport) -#else -#ifdef _DLL #define _CRTIMP __declspec(dllimport) -#else -#define _CRTIMP -#endif -#endif #endif #include #include -extern void __cdecl _initterm(_PVFV *,_PVFV *); +#if defined(__x86_64__) && !defined(__SEH__) +extern int __mingw_init_ehandler (void); +#endif extern void __main (); extern void _pei386_runtime_relocator (void); extern _PIFV __xi_a[]; @@ -50,20 +38,6 @@ static _onexit_table_t atexit_table; extern int __mingw_app_type; -extern WINBOOL WINAPI DllMain (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved); - -extern WINBOOL WINAPI DllEntryPoint (HANDLE, DWORD, LPVOID); - -static int pre_c_init (void); - -_CRTALLOC(".CRT$XIAA") _PIFV pcinit = pre_c_init; - -static int -pre_c_init (void) -{ - return _initialize_onexit_table(&atexit_table); -} - WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { if (dwReason == DLL_PROCESS_DETACH) @@ -77,10 +51,11 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { void *lock_free = NULL; void *fiberid = ((PNT_TIB)NtCurrentTeb ())->StackBase; - int nested = FALSE; + BOOL nested = FALSE; + int ret = 0; - while ((lock_free = InterlockedCompareExchangePointer ((volatile PVOID *) &__native_startup_lock, - fiberid, 0)) != 0) + while ((lock_free = InterlockedCompareExchangePointer (&__native_startup_lock, + fiberid, NULL)) != 0) { if (lock_free == fiberid) { @@ -89,25 +64,37 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) } Sleep(1000); } - if (__native_startup_state == __initializing) + if (__native_startup_state != __uninitialized) { _amsg_exit (31); } - else if (__native_startup_state == __uninitialized) + else { __native_startup_state = __initializing; - if (_initterm_e (__xi_a, __xi_z) != 0) - return FALSE; - } - if (__native_startup_state == __initializing) - { + _pei386_runtime_relocator (); +#if defined(__x86_64__) && !defined(__SEH__) + __mingw_init_ehandler (); +#endif + ret = _initialize_onexit_table (&atexit_table); + if (ret != 0) + goto i__leave; + ret = _initterm_e (__xi_a, __xi_z); + if (ret != 0) + goto i__leave; _initterm (__xc_a, __xc_z); + __main (); + __native_startup_state = __initialized; } +i__leave: if (! nested) { - (void) InterlockedExchangePointer ((volatile PVOID *) &__native_startup_lock, 0); + (void) InterlockedExchangePointer (&__native_startup_lock, NULL); + } + if (ret != 0) + { + return FALSE; } if (__dyn_tls_init_callback != NULL) { @@ -118,8 +105,16 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) else if (dwReason == DLL_PROCESS_DETACH) { void *lock_free = NULL; - while ((lock_free = InterlockedCompareExchangePointer ((volatile PVOID *) &__native_startup_lock,(PVOID) 1, 0)) != 0) + void *fiberid = ((PNT_TIB)NtCurrentTeb ())->StackBase; + BOOL nested = FALSE; + + while ((lock_free = InterlockedCompareExchangePointer (&__native_startup_lock, fiberid, NULL)) != 0) { + if (lock_free == fiberid) + { + nested = TRUE; + break; + } Sleep(1000); } if (__native_startup_state != __initialized) @@ -130,84 +125,56 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { _execute_onexit_table(&atexit_table); __native_startup_state = __uninitialized; - (void) InterlockedExchangePointer ((volatile PVOID *) &__native_startup_lock, 0); + } + if (! nested) + { + (void) InterlockedExchangePointer (&__native_startup_lock, NULL); } } return TRUE; } -static WINBOOL __DllMainCRTStartup (HANDLE, DWORD, LPVOID); - WINBOOL WINAPI DllMainCRTStartup (HANDLE, DWORD, LPVOID); -#if defined(__x86_64__) && !defined(__SEH__) -int __mingw_init_ehandler (void); -#endif -__attribute__((used)) /* required due to GNU LD bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30300 */ -WINBOOL WINAPI -DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) -{ - __mingw_app_type = 0; - return __DllMainCRTStartup (hDllHandle, dwReason, lpreserved); -} - -static #if defined(__i386__) || defined(_X86_) /* We need to make sure that we align the stack to 16 bytes for the sake of SSE - opts in DllMain/DllEntryPoint or in functions called from DllMain/DllEntryPoint. */ + opts in DllMain or in functions called from DllMain. */ __attribute__((force_align_arg_pointer)) #endif -__declspec(noinline) WINBOOL -__DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) +__attribute__((used)) /* required due to GNU LD bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30300 */ +WINBOOL WINAPI +DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { WINBOOL retcode = TRUE; + __mingw_app_type = 0; __native_dllmain_reason = dwReason; - if (dwReason == DLL_PROCESS_DETACH && __proc_attached == 0) + if (dwReason == DLL_PROCESS_DETACH && __proc_attached <= 0) { retcode = FALSE; goto i__leave; } - _pei386_runtime_relocator (); - -#if defined(__x86_64__) && !defined(__SEH__) - if (dwReason == DLL_PROCESS_ATTACH) - __mingw_init_ehandler (); -#endif if (dwReason == DLL_PROCESS_ATTACH || dwReason == DLL_THREAD_ATTACH) { retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved); if (!retcode) goto i__leave; - retcode = DllEntryPoint (hDllHandle, dwReason, lpreserved); - if (! retcode) - { - if (dwReason == DLL_PROCESS_ATTACH) - _CRT_INIT (hDllHandle, DLL_PROCESS_DETACH, lpreserved); - goto i__leave; - } } - if (dwReason == DLL_PROCESS_ATTACH) - __main (); retcode = DllMain(hDllHandle,dwReason,lpreserved); if (dwReason == DLL_PROCESS_ATTACH && ! retcode) { DllMain (hDllHandle, DLL_PROCESS_DETACH, lpreserved); - DllEntryPoint (hDllHandle, DLL_PROCESS_DETACH, lpreserved); _CRT_INIT (hDllHandle, DLL_PROCESS_DETACH, lpreserved); } if (dwReason == DLL_PROCESS_DETACH || dwReason == DLL_THREAD_DETACH) { - retcode = DllEntryPoint (hDllHandle, dwReason, lpreserved); - if (_CRT_INIT (hDllHandle, dwReason, lpreserved) == FALSE) - retcode = FALSE; + retcode = _CRT_INIT (hDllHandle, dwReason, lpreserved); } i__leave: __native_dllmain_reason = UINT_MAX; return retcode ; } -#endif int __cdecl atexit (_PVFV func) { diff --git a/lib/libc/mingw/crt/crtexe.c b/lib/libc/mingw/crt/crtexe.c index 328cc305b9b8..4bc8a92f497a 100644 --- a/lib/libc/mingw/crt/crtexe.c +++ b/lib/libc/mingw/crt/crtexe.c @@ -4,13 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#undef CRTDLL -#ifndef _DLL -#define _DLL -#endif - -#define SPECIAL_CRTEXE - #include #include #include @@ -211,9 +204,9 @@ __tmainCRTStartup (void) { void *lock_free = NULL; void *fiberid = ((PNT_TIB)NtCurrentTeb())->StackBase; - int nested = FALSE; - while((lock_free = InterlockedCompareExchangePointer ((volatile PVOID *) &__native_startup_lock, - fiberid, 0)) != 0) + BOOL nested = FALSE; + while((lock_free = InterlockedCompareExchangePointer (&__native_startup_lock, + fiberid, NULL)) != 0) { if (lock_free == fiberid) { @@ -242,7 +235,7 @@ __tmainCRTStartup (void) } _ASSERTE(__native_startup_state == __initialized); if (! nested) - (VOID)InterlockedExchangePointer ((volatile PVOID *) &__native_startup_lock, 0); + (VOID)InterlockedExchangePointer (&__native_startup_lock, NULL); if (__dyn_tls_init_callback != NULL) __dyn_tls_init_callback (NULL, DLL_THREAD_ATTACH, NULL); diff --git a/lib/libc/mingw/crt/crtexewin.c b/lib/libc/mingw/crt/crtexewin.c index 26179fa905bb..af860f3e76da 100644 --- a/lib/libc/mingw/crt/crtexewin.c +++ b/lib/libc/mingw/crt/crtexewin.c @@ -56,7 +56,6 @@ int _tmain (int __UNUSED_PARAM(argc), { STARTUPINFO StartupInfo; - memset (&StartupInfo, 0, sizeof (STARTUPINFO)); GetStartupInfo (&StartupInfo); if (StartupInfo.dwFlags & STARTF_USESHOWWINDOW) nShowCmd = StartupInfo.wShowWindow; diff --git a/lib/libc/mingw/crt/dll_argv.c b/lib/libc/mingw/crt/dll_argv.c index 19eeda7cd6d9..4e2674dc5eca 100644 --- a/lib/libc/mingw/crt/dll_argv.c +++ b/lib/libc/mingw/crt/dll_argv.c @@ -4,10 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#ifdef CRTDLL -#undef CRTDLL -#endif - #include extern int _dowildcard; diff --git a/lib/libc/mingw/crt/dllargv.c b/lib/libc/mingw/crt/dllargv.c index df0453430d0e..d6be1bc7c2cf 100644 --- a/lib/libc/mingw/crt/dllargv.c +++ b/lib/libc/mingw/crt/dllargv.c @@ -4,10 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#ifdef CRTDLL -#undef CRTDLL -#endif - #include int __CRTDECL diff --git a/lib/libc/mingw/crt/natstart.c b/lib/libc/mingw/crt/natstart.c index 06def19d51a9..5008790e1eef 100644 --- a/lib/libc/mingw/crt/natstart.c +++ b/lib/libc/mingw/crt/natstart.c @@ -10,5 +10,5 @@ _PGLOBAL volatile unsigned int __native_dllmain_reason = UINT_MAX; volatile unsigned int __native_vcclrit_reason = UINT_MAX; -volatile __enative_startup_state __native_startup_state; -volatile void *__native_startup_lock; +volatile __enative_startup_state __native_startup_state = __uninitialized; +void *volatile __native_startup_lock = NULL; diff --git a/lib/libc/mingw/crt/tlssup.c b/lib/libc/mingw/crt/tlssup.c index de546dcb4d26..09ddcc42e696 100644 --- a/lib/libc/mingw/crt/tlssup.c +++ b/lib/libc/mingw/crt/tlssup.c @@ -6,10 +6,6 @@ * Written by Kai Tietz */ -#ifdef CRTDLL -#undef CRTDLL -#endif - #include #ifndef WIN32_LEAN_AND_MEAN diff --git a/lib/libc/mingw/def-include/crt-aliases.def.in b/lib/libc/mingw/def-include/crt-aliases.def.in index be873c0df376..2c9090b9e130 100644 --- a/lib/libc/mingw/def-include/crt-aliases.def.in +++ b/lib/libc/mingw/def-include/crt-aliases.def.in @@ -137,8 +137,11 @@ ADD_UNDERSCORE(spawnve) ADD_UNDERSCORE(spawnvp) ADD_UNDERSCORE(spawnvpe) #endif -#ifndef CRTDLL -; stat is provided by mingw to workaround trailing slash issue in _stat +#ifdef UCRTBASE +F32(stat == _stat32) +F64(stat == _stat64i32) +#else +; stat for non-UCRT is provided by mingw to workaround trailing slash issue in _stat #endif #ifdef NO_STRCMPI_ALIAS ; Symbol _strcmpi is natively present and defined in the library def file @@ -208,7 +211,11 @@ ADD_UNDERSCORE(write) ; This is list of symbol aliases added in the Visual C++ 2.0 oldnames.lib library ; All these symbols with leading underscore are present also in pre-2.0 CRT versions: crtdll.dll and msvcrt10.dll ; ADD_UNDERSCORE(control87) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ +ADD_UNDERSCORE(fpreset) +#else ; ADD_UNDERSCORE(fpreset) ; Alias fpreset is set in CRT_fp10.c and CRT_fp8.c +#endif ADD_UNDERSCORE(wcsdup) ADD_UNDERSCORE(wcsicmp) ADD_UNDERSCORE(wcsicoll) @@ -222,7 +229,11 @@ ADD_UNDERSCORE(wcsupr) ; This is list of symbol aliases added in the Visual C++ 4.0 oldnames.lib library ; All these symbols with leading underscore are present also in pre-4.0 CRT versions: crtdll.dll, msvcrt10.dll and msvcrt20.dll ; ADD_UNDERSCORE(cabs) +#ifdef UCRTBASE +; hypot is natively exported from UCRT +#else ADD_UNDERSCORE(hypot) +#endif ADD_UNDERSCORE(j0) ADD_UNDERSCORE(j1) ADD_UNDERSCORE(jn) @@ -247,27 +258,26 @@ wcstok == wcstok_s ADD_UNDERSCORE(nextafter) #endif -#if defined(DEF_ARM32) || defined(DEF_ARM64) ; This is list of symbol aliases for C99 ARM long double functions ; They are defined as aliases to regular double symbols as on ARM, long double is equal to regular double -acosl == acos -asinl == asin -atan2l == atan2 -atanl == atan -ceill == ceil -cosl == cos -expl == exp -floorl == floor -fmodl == fmod -log10l == log10 -logl == log +F_LD64(acosl == acos) +F_LD64(asinl == asin) +F_LD64(atan2l == atan2) +F_LD64(atanl == atan) +F_LD64(ceill == ceil) +F_LD64(cosl == cos) +F_LD64(expl == exp) +F_LD64(floorl == floor) +F_LD64(fmodl == fmod) +F_LD64(log10l == log10) +F_LD64(logl == log) ; FIXME: Why is powl alias defined only for UCRT? #ifdef UCRTBASE -powl == pow -#endif -sinl == sin -tanl == tan +F_LD64(powl == pow) #endif +F_LD64(sinl == sin) +F_LD64(tanl == tan) +F_LD64(_chgsignl == _chgsign) ; This is list of symbol aliases for C11 functions #ifdef UCRTBASE @@ -290,6 +300,22 @@ ADD_UNDERSCORE(popen) fgetpos64 == fgetpos fsetpos64 == fsetpos #endif +#ifdef UCRTBASE +stat32 == _stat32 +stat32i64 == _stat32i64 +stat64 == _stat64 +stat64i32 == _stat64i32 +#else +; stat for non-UCRT is provided by mingw to workaround trailing slash issue in _stat +#endif +#ifdef FIXED_SIZE_SYMBOLS +// NO_FIXED_SIZE_64_ALIAS means that DLL provides the native _fstat64 symbol +#if defined(NO_FIXED_SIZE_64_ALIAS) && !defined(NO_FSTAT64_ALIAS) +fstat64 == _fstat64 +#endif +#else +fstat64 == _fstat64 +#endif ; This is list of symbol aliases for GNU functions which are not part of POSIX or ISO C strcasecmp == _stricmp @@ -545,19 +571,23 @@ __ms_vsprintf == vsprintf __ms_vwprintf == vwprintf __ms_wprintf == wprintf __ms_wscanf == wscanf -#ifdef WITH_MS_VSCANF_ALIASES -__ms_vfscanf == vfscanf -__ms_vfwscanf == vfwscanf -__ms_vscanf == vscanf -__ms_vsscanf == vsscanf -__ms_vswscanf == vswscanf -__ms_vwscanf == vwscanf -#endif #endif ; This is list of additional symbol aliases not available in any library as neither native symbols nor aliases ; FIXME: check if these really are needed +; This is wstat and wstat64 symbol available only in mingw but for a long time +#ifdef UCRTBASE +F32(wstat == _wstat32) +F64(wstat == _wstat64i32) +wstat32 == _wstat32 +wstat32i64 == _wstat32i64 +wstat64 == _wstat64 +wstat64i32 == _wstat64i32 +#else +; wstat for non-UCRT is provided by mingw to workaround trailing slash issue in _wstat +#endif + ; Origin of the symbol wcscmpi is unknown. This symbol is not present in ; crtdll.dll and neither in any msvcr* version. The only source of wcscmpi is ; wcstr.h header file from the Microsoft Visual C++ 1.0 (32-bit for NT) and diff --git a/lib/libc/mingw/def-include/func.def.in b/lib/libc/mingw/def-include/func.def.in index 0b45da35ac1f..1d542a1f47a7 100644 --- a/lib/libc/mingw/def-include/func.def.in +++ b/lib/libc/mingw/def-include/func.def.in @@ -12,26 +12,26 @@ // F_NON_I386 - function available on everything but i386 // F_NON_X64 - function available on everything but x86_64 // F_NON_ARM64 - function available on everything but arm64 -#if defined(DEF_X64) +#if defined(__x86_64__) #define F64(x) x #define F_X64(x) x #define F_X86_ANY(x) x #define F_NON_I386(x) x #define F_NON_ARM64(x) x -#elif defined(DEF_I386) +#elif defined(__i386__) #define F32(x) x #define F_I386(x) x #define F_X86_ANY(x) x #define F_NON_X64(x) x #define F_NON_ARM64(x) x -#elif defined(DEF_ARM32) +#elif defined(__arm__) #define F32(x) x #define F_ARM32(x) x #define F_ARM_ANY(x) x #define F_NON_I386(x) x #define F_NON_X64(x) x #define F_NON_ARM64(x) x -#elif defined(DEF_ARM64) +#elif defined(__aarch64__) #define F64(x) x #define F_ARM64(x) x #define F_ARM_ANY(x) x @@ -75,9 +75,17 @@ #define F_NON_ARM64(x) #endif -#if defined(DEF_I386) +#if defined(__i386__) #define STDCALL_DECORATED_EXPORT(symbol) symbol == _ ## symbol #define FASTCALL_DECORATED_EXPORT(symbol) symbol == symbol #endif +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ +#define F_LD64(x) x +#define F_LD80(x) +#else +#define F_LD64(x) +#define F_LD80(x) x +#endif + #endif // FUNC_DEF_IN diff --git a/lib/libc/mingw/gdtoa/strtodnrp.c b/lib/libc/mingw/gdtoa/strtodnrp.c index bc5e861110f8..9304866bfda1 100644 --- a/lib/libc/mingw/gdtoa/strtodnrp.c +++ b/lib/libc/mingw/gdtoa/strtodnrp.c @@ -85,8 +85,7 @@ double __cdecl __mingw_strtod (const char * __restrict__ src, char ** __restrict__ endptr) __attribute__((alias("__strtod"))); -#if !(defined(_AMD64_) || defined(__x86_64__) || \ - defined(_X86_) || defined(__i386__)) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ /* For systems other than x86, where long double == double, provide the * long double functions as aliases to __strtod. */ diff --git a/lib/libc/mingw/gdtoa/strtopx.c b/lib/libc/mingw/gdtoa/strtopx.c index a5bc3ec60e18..b80a79476afe 100644 --- a/lib/libc/mingw/gdtoa/strtopx.c +++ b/lib/libc/mingw/gdtoa/strtopx.c @@ -53,8 +53,19 @@ THIS SOFTWARE. #define _4 0 #endif +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ +/* For ARM, where long double == double, provide the long double function as + * an alias for __strtod. Do this in a separate object file from other + * functions, to avoid linker conflicts if object files import both 'strtold' + * from libucrt*.a and the object file providing '__strtod'. */ +long double __cdecl +strtold (const char * __restrict__ src, char ** __restrict__ endptr) +{ + return __mingw_strtod(src, endptr); +} + /* This is specific to the x86 80 bit long doubles. */ -#if defined(_AMD64_) || defined(__x86_64__) || \ +#elif defined(_AMD64_) || defined(__x86_64__) || \ defined(_X86_) || defined(__i386__) typedef union lD { @@ -133,14 +144,4 @@ long double __cdecl strtold (const char * __restrict__ src, char ** __restrict__ endptr) __attribute__((alias("__strtold"))); -#elif defined(__arm__) || defined(__aarch64__) || defined(_ARM_) || defined(_ARM64_) -/* For ARM, where long double == double, provide the long double function as - * an alias for __strtod. Do this in a separate object file from other - * functions, to avoid linker conflicts if object files import both 'strtold' - * from libucrt*.a and the object file providing '__strtod'. */ -long double __cdecl -strtold (const char * __restrict__ src, char ** __restrict__ endptr) -{ - return __mingw_strtod(src, endptr); -} #endif diff --git a/lib/libc/mingw/include/internal.h b/lib/libc/mingw/include/internal.h index 752c5dc9662c..997a89b189a1 100644 --- a/lib/libc/mingw/include/internal.h +++ b/lib/libc/mingw/include/internal.h @@ -14,6 +14,7 @@ extern "C" { #endif #include +#include #include #pragma pack(push,_CRT_PACKING) @@ -130,7 +131,7 @@ extern "C" { } __enative_startup_state; extern volatile __enative_startup_state __native_startup_state; - extern volatile void *__native_startup_lock; + extern void *volatile __native_startup_lock; extern volatile unsigned int __native_dllmain_reason; extern volatile unsigned int __native_vcclrit_reason; @@ -154,6 +155,159 @@ extern "C" { # define __mingw_has_sse() 0 #endif +#if defined(__i386__) || defined(__x86_64__) +enum fenv_masks +{ + /* x87 encoding constants */ + FENV_X_INVALID = 0x00100010, + FENV_X_DENORMAL = 0x00200020, + FENV_X_ZERODIVIDE = 0x00080008, + FENV_X_OVERFLOW = 0x00040004, + FENV_X_UNDERFLOW = 0x00020002, + FENV_X_INEXACT = 0x00010001, + FENV_X_AFFINE = 0x00004000, + FENV_X_UP = 0x00800200, + FENV_X_DOWN = 0x00400100, + FENV_X_24 = 0x00002000, + FENV_X_53 = 0x00001000, + /* SSE encoding constants: they share the same lower word as their x87 counterparts + * but differ in the upper word */ + FENV_Y_INVALID = 0x10000010, + FENV_Y_DENORMAL = 0x20000020, + FENV_Y_ZERODIVIDE = 0x08000008, + FENV_Y_OVERFLOW = 0x04000004, + FENV_Y_UNDERFLOW = 0x02000002, + FENV_Y_INEXACT = 0x01000001, + FENV_Y_UP = 0x80000200, + FENV_Y_DOWN = 0x40000100, + FENV_Y_FLUSH = 0x00000400, + FENV_Y_FLUSH_SAVE = 0x00000800 +}; + +/* encodes the x87 (represented as x) or SSE (represented as y) control/status word in a ulong */ +static inline unsigned long fenv_encode(unsigned int x, unsigned int y) +{ + unsigned long ret = 0; + + if (x & _EM_INVALID) ret |= FENV_X_INVALID; + if (x & _EM_DENORMAL) ret |= FENV_X_DENORMAL; + if (x & _EM_ZERODIVIDE) ret |= FENV_X_ZERODIVIDE; + if (x & _EM_OVERFLOW) ret |= FENV_X_OVERFLOW; + if (x & _EM_UNDERFLOW) ret |= FENV_X_UNDERFLOW; + if (x & _EM_INEXACT) ret |= FENV_X_INEXACT; + if (x & _IC_AFFINE) ret |= FENV_X_AFFINE; + if (x & _RC_UP) ret |= FENV_X_UP; + if (x & _RC_DOWN) ret |= FENV_X_DOWN; + if (x & _PC_24) ret |= FENV_X_24; + if (x & _PC_53) ret |= FENV_X_53; + + if (y & _EM_INVALID) ret |= FENV_Y_INVALID; + if (y & _EM_DENORMAL) ret |= FENV_Y_DENORMAL; + if (y & _EM_ZERODIVIDE) ret |= FENV_Y_ZERODIVIDE; + if (y & _EM_OVERFLOW) ret |= FENV_Y_OVERFLOW; + if (y & _EM_UNDERFLOW) ret |= FENV_Y_UNDERFLOW; + if (y & _EM_INEXACT) ret |= FENV_Y_INEXACT; + if (y & _RC_UP) ret |= FENV_Y_UP; + if (y & _RC_DOWN) ret |= FENV_Y_DOWN; + if (y & _DN_FLUSH) ret |= FENV_Y_FLUSH; + if (y & _DN_FLUSH_OPERANDS_SAVE_RESULTS) ret |= FENV_Y_FLUSH_SAVE; + + return ret; +} + +/* decodes the x87 (represented as x) or SSE (represented as y) control/status word in a ulong */ +static inline BOOL fenv_decode(unsigned long enc, unsigned int *x, unsigned int *y) +{ + *x = *y = 0; + if ((enc & FENV_X_INVALID) == FENV_X_INVALID) *x |= _EM_INVALID; + if ((enc & FENV_X_DENORMAL) == FENV_X_DENORMAL) *x |= _EM_DENORMAL; + if ((enc & FENV_X_ZERODIVIDE) == FENV_X_ZERODIVIDE) *x |= _EM_ZERODIVIDE; + if ((enc & FENV_X_OVERFLOW) == FENV_X_OVERFLOW) *x |= _EM_OVERFLOW; + if ((enc & FENV_X_UNDERFLOW) == FENV_X_UNDERFLOW) *x |= _EM_UNDERFLOW; + if ((enc & FENV_X_INEXACT) == FENV_X_INEXACT) *x |= _EM_INEXACT; + if ((enc & FENV_X_AFFINE) == FENV_X_AFFINE) *x |= _IC_AFFINE; + if ((enc & FENV_X_UP) == FENV_X_UP) *x |= _RC_UP; + if ((enc & FENV_X_DOWN) == FENV_X_DOWN) *x |= _RC_DOWN; + if ((enc & FENV_X_24) == FENV_X_24) *x |= _PC_24; + if ((enc & FENV_X_53) == FENV_X_53) *x |= _PC_53; + + if ((enc & FENV_Y_INVALID) == FENV_Y_INVALID) *y |= _EM_INVALID; + if ((enc & FENV_Y_DENORMAL) == FENV_Y_DENORMAL) *y |= _EM_DENORMAL; + if ((enc & FENV_Y_ZERODIVIDE) == FENV_Y_ZERODIVIDE) *y |= _EM_ZERODIVIDE; + if ((enc & FENV_Y_OVERFLOW) == FENV_Y_OVERFLOW) *y |= _EM_OVERFLOW; + if ((enc & FENV_Y_UNDERFLOW) == FENV_Y_UNDERFLOW) *y |= _EM_UNDERFLOW; + if ((enc & FENV_Y_INEXACT) == FENV_Y_INEXACT) *y |= _EM_INEXACT; + if ((enc & FENV_Y_UP) == FENV_Y_UP) *y |= _RC_UP; + if ((enc & FENV_Y_DOWN) == FENV_Y_DOWN) *y |= _RC_DOWN; + if ((enc & FENV_Y_FLUSH) == FENV_Y_FLUSH) *y |= _DN_FLUSH; + if ((enc & FENV_Y_FLUSH_SAVE) == FENV_Y_FLUSH_SAVE) *y |= _DN_FLUSH_OPERANDS_SAVE_RESULTS; + + return fenv_encode(*x, *y) == enc; +} +#else +static inline unsigned long fenv_encode(unsigned int x, unsigned int y) +{ + /* Encode _EM_DENORMAL as 0x20 for Windows compatibility. */ + if (y & _EM_DENORMAL) + y = (y & ~_EM_DENORMAL) | 0x20; + + return x | y; +} + +static inline BOOL fenv_decode(unsigned long enc, unsigned int *x, unsigned int *y) +{ + /* Decode 0x20 as _EM_DENORMAL. */ + if (enc & 0x20) + enc = (enc & ~0x20) | _EM_DENORMAL; + + *x = *y = enc; + return TRUE; +} +#endif + +void __mingw_setfp( unsigned int *cw, unsigned int cw_mask, unsigned int *sw, unsigned int sw_mask ); +void __mingw_setfp_sse( unsigned int *cw, unsigned int cw_mask, unsigned int *sw, unsigned int sw_mask ); +unsigned int __mingw_controlfp(unsigned int newval, unsigned int mask); +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) +int __mingw_control87_2(unsigned int, unsigned int, unsigned int *, unsigned int *); +#endif + +static inline unsigned int __mingw_statusfp(void) +{ + unsigned int flags = 0; +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + unsigned int x86_sw, sse2_sw = 0; + __mingw_setfp(NULL, 0, &x86_sw, 0); + if (__mingw_has_sse()) + __mingw_setfp_sse(NULL, 0, &sse2_sw, 0); + flags = x86_sw | sse2_sw; +#else + __mingw_setfp(NULL, 0, &flags, 0); +#endif + return flags; +} + +/* Use naked functions only on Clang. GCC doesn’t support them on ARM targets and + * has broken behavior on x86_64 by emitting .seh_endprologue. */ +#ifndef __clang__ + +#define __ASM_DEFINE_FUNC(rettype, name, args, code) \ + asm(".text\n\t" \ + ".p2align 2\n\t" \ + ".globl " __MINGW64_STRINGIFY(__MINGW_USYMBOL(name)) "\n\t" \ + ".def " __MINGW64_STRINGIFY(__MINGW_USYMBOL(name)) "; .scl 2; .type 32; .endef\n\t" \ + __MINGW64_STRINGIFY(__MINGW_USYMBOL(name)) ":\n\t" \ + code "\n\t"); + +#else + +#define __ASM_DEFINE_FUNC(rettype, name, args, code) \ + rettype __attribute__((naked)) name args { \ + asm(code "\n\t"); \ + } + +#endif + #ifdef __cplusplus } #endif diff --git a/lib/libc/mingw/intrincs/RtlSecureZeroMemory.c b/lib/libc/mingw/intrincs/RtlSecureZeroMemory.c index 8255a1e238ab..a5819037e12f 100644 --- a/lib/libc/mingw/intrincs/RtlSecureZeroMemory.c +++ b/lib/libc/mingw/intrincs/RtlSecureZeroMemory.c @@ -4,7 +4,7 @@ PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) { volatile char *vptr = (volatile char *)ptr; -#ifdef __x86_64 +#if defined(__x86_64__) && !defined(__arm64ec__) __stosb ((PBYTE)((DWORD64)vptr),0,cnt); #else while (cnt != 0) diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-convert-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-convert-l1-1-0.def.in index 651b81c2a8ad..d5e4f259c1a8 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-convert-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-convert-l1-1-0.def.in @@ -47,7 +47,7 @@ _strtoi64 _strtoi64_l _strtoimax_l _strtol_l -F_ARM_ANY(_strtold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_strtold_l) ; Can't use long double functions from the CRT on x86 _strtoll_l _strtoui64 _strtoui64_l @@ -68,7 +68,7 @@ _wcstoi64 _wcstoi64_l _wcstoimax_l _wcstol_l -F_ARM_ANY(_wcstold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_wcstold_l) ; Can't use long double functions from the CRT on x86 _wcstoll_l _wcstombs_l _wcstombs_s_l @@ -108,7 +108,7 @@ strtod strtof strtoimax strtol -F_ARM_ANY(strtold) ; Can't use long double functions from the CRT on x86 +F_LD64(strtold) ; Can't use long double functions from the CRT on x86 strtoll strtoul strtoull @@ -121,7 +121,7 @@ wcstod wcstof wcstoimax wcstol -F_ARM_ANY(wcstold) ; Can't use long double functions from the CRT on x86 +F_LD64(wcstold) ; Can't use long double functions from the CRT on x86 wcstoll wcstombs wcstombs_s diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in index 684baf712dcf..a0665a3a3d31 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-filesystem-l1-1-0.def.in @@ -39,6 +39,7 @@ F64(_fstati64 == _fstat64) _fstat32 _fstat32i64 _fstat64 +fstat64 == _fstat64 _fstat64i32 _fullpath _getdiskfree @@ -53,14 +54,20 @@ _rmdir rmdir == _rmdir _splitpath _splitpath_s +F32(stat == _stat32) +F64(stat == _stat64i32) F32(_stat == _stat32) F64(_stat == _stat64i32) F32(_stati64 == _stat32i64) F64(_stati64 == _stat64) _stat32 +stat32 == _stat32 _stat32i64 +stat32i64 == _stat32i64 _stat64 +stat64 == _stat64 _stat64i32 +stat64i32 == _stat64i32 _umask umask == _umask _umask_s @@ -96,14 +103,20 @@ _wrename _wrmdir _wsplitpath _wsplitpath_s +F32(wstat == _wstat32) +F64(wstat == _wstat64i32) F32(_wstat == _wstat32) F64(_wstat == _wstat64i32) F32(_wstati64 == _wstat32i64) F64(_wstati64 == _wstat64) _wstat32 +wstat32 == _wstat32 _wstat32i64 +wstat32i64 == _wstat32i64 _wstat64 +wstat64 == _wstat64 _wstat64i32 +wstat64i32 == _wstat64i32 _wunlink remove rename diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-math-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-math-l1-1-0.def.in index a63d00fb1c6c..33b4f37cc832 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-math-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-math-l1-1-0.def.in @@ -4,7 +4,7 @@ EXPORTS #include "func.def.in" -#ifdef DEF_I386 +#ifdef __i386__ _CIacos _CIasin _CIatan @@ -31,7 +31,7 @@ _FCmulcr _LCbuild _LCmulcc _LCmulcr -#ifdef DEF_I386 +#ifdef __i386__ __libm_sse2_acos __libm_sse2_acosf __libm_sse2_asin @@ -59,6 +59,7 @@ __setusermatherr _cabs DATA _chgsign chgsign == _chgsign +F_LD64(_chgsignl == _chgsign) _chgsignf _copysign _copysignf @@ -94,9 +95,9 @@ finite == _finite F_NON_I386(_finitef) _fpclass fpclass == _fpclass -_fpclassf +F_X64(_fpclassf) F_I386(_ftol) -_get_FMA3_enable +F_X64(_get_FMA3_enable) _hypot _hypotf _isnan @@ -118,7 +119,7 @@ _ldsign _ldsin _ldtest _ldunscale -#ifdef DEF_I386 +#ifdef __i386__ _libm_sse2_acos_precise _libm_sse2_asin_precise _libm_sse2_atan_precise @@ -137,7 +138,7 @@ _nextafter F_X64(_nextafterf) _scalb F_X64(_scalbf) -F64(_set_FMA3_enable) +F_X64(_set_FMA3_enable) F_I386(_set_SSE2_enable) _y0 y0 == _y0 @@ -147,224 +148,224 @@ _yn yn == _yn acos F_NON_I386(acosf) -F_ARM_ANY(acosl == acos) +F_LD64(acosl == acos) acosh acoshf -F_ARM_ANY(acoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(acoshl) ; Can't use long double functions from the CRT on x86 asin F_NON_I386(asinf) -F_ARM_ANY(asinl == asin) +F_LD64(asinl == asin) asinh asinhf -F_ARM_ANY(asinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(asinhl) ; Can't use long double functions from the CRT on x86 atan atan2 F_NON_I386(atan2f) -F_ARM_ANY(atan2l == atan2) +F_LD64(atan2l == atan2) F_NON_I386(atanf) -F_ARM_ANY(atanl == atan) +F_LD64(atanl == atan) atanh atanhf -F_ARM_ANY(atanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(atanhl) ; Can't use long double functions from the CRT on x86 cabs cabsf -F_ARM_ANY(cabsl) ; Can't use long double functions from the CRT on x86 +F_LD64(cabsl) ; Can't use long double functions from the CRT on x86 cacos cacosf cacosh cacoshf -F_ARM_ANY(cacoshl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(cacosl) ; Can't use long double functions from the CRT on x86 +F_LD64(cacoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(cacosl) ; Can't use long double functions from the CRT on x86 carg cargf -F_ARM_ANY(cargl) ; Can't use long double functions from the CRT on x86 +F_LD64(cargl) ; Can't use long double functions from the CRT on x86 casin casinf casinh casinhf -F_ARM_ANY(casinhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(casinl) ; Can't use long double functions from the CRT on x86 +F_LD64(casinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(casinl) ; Can't use long double functions from the CRT on x86 catan catanf catanh catanhf -F_ARM_ANY(catanhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(catanl) ; Can't use long double functions from the CRT on x86 +F_LD64(catanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(catanl) ; Can't use long double functions from the CRT on x86 cbrt cbrtf -F_ARM_ANY(cbrtl) ; Can't use long double functions from the CRT on x86 +F_LD64(cbrtl) ; Can't use long double functions from the CRT on x86 ccos ccosf ccosh ccoshf -F_ARM_ANY(ccoshl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(ccosl) ; Can't use long double functions from the CRT on x86 +F_LD64(ccoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(ccosl) ; Can't use long double functions from the CRT on x86 ceil F_NON_I386(ceilf) -F_ARM_ANY(ceill == ceil) +F_LD64(ceill == ceil) cexp cexpf -F_ARM_ANY(cexpl) ; Can't use long double functions from the CRT on x86 +F_LD64(cexpl) ; Can't use long double functions from the CRT on x86 cimag cimagf -F_ARM_ANY(cimagl) ; Can't use long double functions from the CRT on x86 +F_LD64(cimagl) ; Can't use long double functions from the CRT on x86 clog clog10 clog10f -F_ARM_ANY(clog10l) ; Can't use long double functions from the CRT on x86 +F_LD64(clog10l) ; Can't use long double functions from the CRT on x86 clogf -F_ARM_ANY(clogl) ; Can't use long double functions from the CRT on x86 +F_LD64(clogl) ; Can't use long double functions from the CRT on x86 conj conjf -F_ARM_ANY(conjl) ; Can't use long double functions from the CRT on x86 +F_LD64(conjl) ; Can't use long double functions from the CRT on x86 copysign copysignf -F_ARM_ANY(copysignl) ; Can't use long double functions from the CRT on x86 +F_LD64(copysignl) ; Can't use long double functions from the CRT on x86 cos F_NON_I386(cosf) -F_ARM_ANY(cosl == cos) +F_LD64(cosl == cos) cosh F_NON_I386(coshf) cpow cpowf -F_ARM_ANY(cpowl) ; Can't use long double functions from the CRT on x86 +F_LD64(cpowl) ; Can't use long double functions from the CRT on x86 cproj cprojf -F_ARM_ANY(cprojl) ; Can't use long double functions from the CRT on x86 +F_LD64(cprojl) ; Can't use long double functions from the CRT on x86 creal crealf -F_ARM_ANY(creall) ; Can't use long double functions from the CRT on x86 +F_LD64(creall) ; Can't use long double functions from the CRT on x86 csin csinf csinh csinhf -F_ARM_ANY(csinhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(csinl) ; Can't use long double functions from the CRT on x86 +F_LD64(csinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(csinl) ; Can't use long double functions from the CRT on x86 csqrt csqrtf -F_ARM_ANY(csqrtl) ; Can't use long double functions from the CRT on x86 +F_LD64(csqrtl) ; Can't use long double functions from the CRT on x86 ctan ctanf ctanh ctanhf -F_ARM_ANY(ctanhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(ctanl) ; Can't use long double functions from the CRT on x86 +F_LD64(ctanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(ctanl) ; Can't use long double functions from the CRT on x86 erf erfc erfcf -F_ARM_ANY(erfcl) ; Can't use long double functions from the CRT on x86 +F_LD64(erfcl) ; Can't use long double functions from the CRT on x86 erff -F_ARM_ANY(erfl) ; Can't use long double functions from the CRT on x86 +F_LD64(erfl) ; Can't use long double functions from the CRT on x86 exp exp2 exp2f -F_ARM_ANY(exp2l) ; Can't use long double functions from the CRT on x86 +F_LD64(exp2l) ; Can't use long double functions from the CRT on x86 F_NON_I386(expf) -F_ARM_ANY(expl == exp) +F_LD64(expl == exp) expm1 expm1f -F_ARM_ANY(expm1l) ; Can't use long double functions from the CRT on x86 +F_LD64(expm1l) ; Can't use long double functions from the CRT on x86 fabs F_ARM_ANY(fabsf) fdim fdimf -F_ARM_ANY(fdiml) ; Can't use long double functions from the CRT on x86 +F_LD64(fdiml) ; Can't use long double functions from the CRT on x86 floor F_NON_I386(floorf) -F_ARM_ANY(floorl == floor) +F_LD64(floorl == floor) fma fmaf -F_ARM_ANY(fmal) ; Can't use long double functions from the CRT on x86 +F_LD64(fmal) ; Can't use long double functions from the CRT on x86 fmax fmaxf -F_ARM_ANY(fmaxl) ; Can't use long double functions from the CRT on x86 +F_LD64(fmaxl) ; Can't use long double functions from the CRT on x86 fmin fminf -F_ARM_ANY(fminl) ; Can't use long double functions from the CRT on x86 +F_LD64(fminl) ; Can't use long double functions from the CRT on x86 fmod F_NON_I386(fmodf) -F_ARM_ANY(fmodl == fmod) +F_LD64(fmodl == fmod) frexp hypot ilogb ilogbf -F_ARM_ANY(ilogbl) ; Can't use long double functions from the CRT on x86 +F_LD64(ilogbl) ; Can't use long double functions from the CRT on x86 ldexp ; The UCRT lgamma functions don't set/provide the signgam variable like ; the mingw ones do. Therefore prefer the libmingwex version instead. lgamma DATA lgammaf DATA -F_ARM_ANY(lgammal DATA) ; Can't use long double functions from the CRT on x86 +F_LD64(lgammal DATA) ; Can't use long double functions from the CRT on x86 llrint llrintf -F_ARM_ANY(llrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(llrintl) ; Can't use long double functions from the CRT on x86 llround llroundf -F_ARM_ANY(llroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(llroundl) ; Can't use long double functions from the CRT on x86 log log10 F_NON_I386(log10f) -F_ARM_ANY(log10l == log10) +F_LD64(log10l == log10) log1p log1pf -F_ARM_ANY(log1pl) ; Can't use long double functions from the CRT on x86 +F_LD64(log1pl) ; Can't use long double functions from the CRT on x86 log2 log2f -F_ARM_ANY(log2l) ; Can't use long double functions from the CRT on x86 +F_LD64(log2l) ; Can't use long double functions from the CRT on x86 logb logbf -F_ARM_ANY(logbl) ; Can't use long double functions from the CRT on x86 +F_LD64(logbl) ; Can't use long double functions from the CRT on x86 F_NON_I386(logf) -F_ARM_ANY(logl == log) +F_LD64(logl == log) lrint lrintf -F_ARM_ANY(lrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(lrintl) ; Can't use long double functions from the CRT on x86 lround lroundf -F_ARM_ANY(lroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(lroundl) ; Can't use long double functions from the CRT on x86 modf F_NON_I386(modff) nan nanf -F_ARM_ANY(nanl) ; Can't use long double functions from the CRT on x86 +F_LD64(nanl) ; Can't use long double functions from the CRT on x86 nearbyint nearbyintf -F_ARM_ANY(nearbyintl) ; Can't use long double functions from the CRT on x86 +F_LD64(nearbyintl) ; Can't use long double functions from the CRT on x86 nextafter nextafterf -F_ARM_ANY(nextafterl) ; Can't use long double functions from the CRT on x86 +F_LD64(nextafterl) ; Can't use long double functions from the CRT on x86 ; All of the nexttoward functions take the second parameter as long double, ; making them unusable for x86. -F_ARM_ANY(nexttoward) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(nexttowardf) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(nexttowardl) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttoward) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttowardf) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttowardl) ; Can't use long double functions from the CRT on x86 norm normf norml pow F_NON_I386(powf) ; Missing in Wine's ucrtbase.dll for i386 in Wine 9.15 and older -F_ARM_ANY(powl == pow) +F_LD64(powl == pow) remainder remainderf -F_ARM_ANY(remainderl) ; Can't use long double functions from the CRT on x86 +F_LD64(remainderl) ; Can't use long double functions from the CRT on x86 remquo remquof -F_ARM_ANY(remquol) ; Can't use long double functions from the CRT on x86 +F_LD64(remquol) ; Can't use long double functions from the CRT on x86 rint rintf -F_ARM_ANY(rintl) ; Can't use long double functions from the CRT on x86 +F_LD64(rintl) ; Can't use long double functions from the CRT on x86 round roundf -F_ARM_ANY(roundl) ; Can't use long double functions from the CRT on x86 +F_LD64(roundl) ; Can't use long double functions from the CRT on x86 scalbln scalblnf -F_ARM_ANY(scalblnl) ; Can't use long double functions from the CRT on x86 +F_LD64(scalblnl) ; Can't use long double functions from the CRT on x86 scalbn scalbnf -F_ARM_ANY(scalbnl) ; Can't use long double functions from the CRT on x86 +F_LD64(scalbnl) ; Can't use long double functions from the CRT on x86 sin F_NON_I386(sinf) -F_ARM_ANY(sinl == sin) +F_LD64(sinl == sin) ; if we implement sinh, we can set it DATA only. sinh F_NON_I386(sinhf) @@ -372,13 +373,13 @@ sqrt F_NON_I386(sqrtf) tan F_NON_I386(tanf) -F_ARM_ANY(tanl == tan) +F_LD64(tanl == tan) ; if we implement tanh, we can set it to DATA only. tanh F_NON_I386(tanhf) tgamma tgammaf -F_ARM_ANY(tgammal) ; Can't use long double functions from the CRT on x86 +F_LD64(tgammal) ; Can't use long double functions from the CRT on x86 trunc truncf -F_ARM_ANY(truncl) ; Can't use long double functions from the CRT on x86 +F_LD64(truncl) ; Can't use long double functions from the CRT on x86 diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-private-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-private-l1-1-0.def.in index 2f6df079350d..ce9ff54afd3f 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-private-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-private-l1-1-0.def.in @@ -9,14 +9,14 @@ F_I386(_CxxThrowException@8) F_NON_I386(_CxxThrowException) F_I386(_EH_prolog) _FindAndUnlinkFrame -_GetImageBase -_GetThrowImageBase +F_X64(_GetImageBase) +F_X64(_GetThrowImageBase) _IsExceptionObjectToBeDestroyed -_NLG_Dispatch2 -_NLG_Return -_NLG_Return2 -_SetImageBase -_SetThrowImageBase +F_I386(_NLG_Dispatch2@4) +F_I386(_NLG_Return@12) +F_I386(_NLG_Return2) +F_X64(_SetImageBase) +F_X64(_SetThrowImageBase) _SetWinRTOutOfMemoryExceptionCallback __AdjustPointer __BuildCatchObject @@ -34,8 +34,8 @@ __CxxUnregisterExceptionObject __DestructExceptionObject __FrameUnwindFilter __GetPlatformExceptionInfo -__NLG_Dispatch2 -__NLG_Return2 +F_NON_I386(__NLG_Dispatch2) +F_NON_I386(__NLG_Return2) __RTCastToVoid __RTDynamicCast __RTtypeid @@ -44,8 +44,8 @@ __current_exception __current_exception_context __dcrt_get_wide_environment_from_os __dcrt_initial_narrow_environment DATA -__intrinsic_abnormal_termination -__intrinsic_setjmp +F_I386(__intrinsic_abnormal_termination) +F_NON_ARM64(__intrinsic_setjmp) F64(__intrinsic_setjmpex) __processing_throw __report_gsfailure @@ -66,26 +66,26 @@ _get_purecall_handler _get_unexpected F_I386(_global_unwind2) _is_exception_typeof -F_X64(_local_unwind) +F64(_local_unwind) F_I386(_local_unwind2) F_I386(_local_unwind4) F_I386(_longjmpex) -_o__CIacos -_o__CIasin -_o__CIatan -_o__CIatan2 -_o__CIcos -_o__CIcosh -_o__CIexp -_o__CIfmod -_o__CIlog -_o__CIlog10 -_o__CIpow -_o__CIsin -_o__CIsinh -_o__CIsqrt -_o__CItan -_o__CItanh +F_I386(_o__CIacos) +F_I386(_o__CIasin) +F_I386(_o__CIatan) +F_I386(_o__CIatan2) +F_I386(_o__CIcos) +F_I386(_o__CIcosh) +F_I386(_o__CIexp) +F_I386(_o__CIfmod) +F_I386(_o__CIlog) +F_I386(_o__CIlog10) +F_I386(_o__CIpow) +F_I386(_o__CIsin) +F_I386(_o__CIsinh) +F_I386(_o__CIsqrt) +F_I386(_o__CItan) +F_I386(_o__CItanh) _o__Getdays _o__Getmonths _o__Gettnames @@ -106,27 +106,27 @@ _o___conio_common_vcwscanf _o___daylight _o___dstbias _o___fpe_flt_rounds -_o___libm_sse2_acos -_o___libm_sse2_acosf -_o___libm_sse2_asin -_o___libm_sse2_asinf -_o___libm_sse2_atan -_o___libm_sse2_atan2 -_o___libm_sse2_atanf -_o___libm_sse2_cos -_o___libm_sse2_cosf -_o___libm_sse2_exp -_o___libm_sse2_expf -_o___libm_sse2_log -_o___libm_sse2_log10 -_o___libm_sse2_log10f -_o___libm_sse2_logf -_o___libm_sse2_pow -_o___libm_sse2_powf -_o___libm_sse2_sin -_o___libm_sse2_sinf -_o___libm_sse2_tan -_o___libm_sse2_tanf +F_I386(_o___libm_sse2_acos) +F_I386(_o___libm_sse2_acosf) +F_I386(_o___libm_sse2_asin) +F_I386(_o___libm_sse2_asinf) +F_I386(_o___libm_sse2_atan) +F_I386(_o___libm_sse2_atan2) +F_I386(_o___libm_sse2_atanf) +F_I386(_o___libm_sse2_cos) +F_I386(_o___libm_sse2_cosf) +F_I386(_o___libm_sse2_exp) +F_I386(_o___libm_sse2_expf) +F_I386(_o___libm_sse2_log) +F_I386(_o___libm_sse2_log10) +F_I386(_o___libm_sse2_log10f) +F_I386(_o___libm_sse2_logf) +F_I386(_o___libm_sse2_pow) +F_I386(_o___libm_sse2_powf) +F_I386(_o___libm_sse2_sin) +F_I386(_o___libm_sse2_sinf) +F_I386(_o___libm_sse2_tan) +F_I386(_o___libm_sse2_tanf) _o___p___argc _o___p___argv _o___p___wargv @@ -272,7 +272,7 @@ _o__findnext64 _o__findnext64i32 _o__flushall _o__fpclass -_o__fpclassf +F_X64(_o__fpclassf) _o__fputc_nolock _o__fputchar _o__fputwc_nolock @@ -443,17 +443,17 @@ _o__ldtest _o__ldunscale _o__lfind _o__lfind_s -_o__libm_sse2_acos_precise -_o__libm_sse2_asin_precise -_o__libm_sse2_atan_precise -_o__libm_sse2_cos_precise -_o__libm_sse2_exp_precise -_o__libm_sse2_log10_precise -_o__libm_sse2_log_precise -_o__libm_sse2_pow_precise -_o__libm_sse2_sin_precise -_o__libm_sse2_sqrt_precise -_o__libm_sse2_tan_precise +F_I386(_o__libm_sse2_acos_precise) +F_I386(_o__libm_sse2_asin_precise) +F_I386(_o__libm_sse2_atan_precise) +F_I386(_o__libm_sse2_cos_precise) +F_I386(_o__libm_sse2_exp_precise) +F_I386(_o__libm_sse2_log10_precise) +F_I386(_o__libm_sse2_log_precise) +F_I386(_o__libm_sse2_pow_precise) +F_I386(_o__libm_sse2_sin_precise) +F_I386(_o__libm_sse2_sqrt_precise) +F_I386(_o__libm_sse2_tan_precise) _o__loaddll _o__localtime32 _o__localtime32_s @@ -462,7 +462,7 @@ _o__localtime64_s _o__lock_file _o__locking _o__logb -_o__logbf +F_NON_I386(_o__logbf) _o__lsearch _o__lsearch_s _o__lseek @@ -619,7 +619,7 @@ _o__mktime32 _o__mktime64 _o__msize _o__nextafter -_o__nextafterf +F_X64(_o__nextafterf) _o__open_osfhandle _o__pclose _o__pipe @@ -642,7 +642,7 @@ _o__resetstkoflw _o__rmdir _o__rmtmp _o__scalb -_o__scalbf +F_X64(_o__scalbf) _o__searchenv _o__searchenv_s _o__set_abort_behavior @@ -700,7 +700,7 @@ _o__strtof_l _o__strtoi64 _o__strtoi64_l _o__strtol_l -_o__strtold_l +F_LD64(_o__strtold_l) ; Can't use long double functions from the CRT on x86 _o__strtoll_l _o__strtoui64 _o__strtoui64_l @@ -780,7 +780,7 @@ _o__wcstof_l _o__wcstoi64 _o__wcstoi64_l _o__wcstol_l -_o__wcstold_l +F_LD64(_o__wcstold_l) ; Can't use long double functions from the CRT on x86 _o__wcstoll_l _o__wcstombs_l _o__wcstombs_s_l @@ -875,24 +875,24 @@ _o__y1 _o__yn _o_abort _o_acos -_o_acosf +F_NON_I386(_o_acosf) _o_acosh _o_acoshf -_o_acoshl +F_LD64(_o_acoshl) ; Can't use long double functions from the CRT on x86 _o_asctime _o_asctime_s _o_asin -_o_asinf +F_NON_I386(_o_asinf) _o_asinh _o_asinhf -_o_asinhl +F_LD64(_o_asinhl) ; Can't use long double functions from the CRT on x86 _o_atan _o_atan2 -_o_atan2f -_o_atanf +F_NON_I386(_o_atan2f) +F_NON_I386(_o_atanf) _o_atanh _o_atanhf -_o_atanhl +F_LD64(_o_atanhl) ; Can't use long double functions from the CRT on x86 _o_atof _o_atoi _o_atol @@ -904,24 +904,24 @@ _o_calloc _o_cbrt _o_cbrtf _o_ceil -_o_ceilf +F_NON_I386(_o_ceilf) _o_clearerr _o_clearerr_s _o_cos -_o_cosf +F_NON_I386(_o_cosf) _o_cosh -_o_coshf +F_NON_I386(_o_coshf) _o_erf _o_erfc _o_erfcf -_o_erfcl +F_LD64(_o_erfcl) ; Can't use long double functions from the CRT on x86 _o_erff -_o_erfl +F_LD64(_o_erfl) ; Can't use long double functions from the CRT on x86 _o_exp _o_exp2 _o_exp2f -_o_exp2l -_o_expf +F_LD64(_o_exp2l) ; Can't use long double functions from the CRT on x86 +F_NON_I386(_o_expf) _o_fabs _o_fclose _o_feof @@ -933,12 +933,12 @@ _o_fgets _o_fgetwc _o_fgetws _o_floor -_o_floorf +F_NON_I386(_o_floorf) _o_fma _o_fmaf -_o_fmal +F_LD64(_o_fmal) ; Can't use long double functions from the CRT on x86 _o_fmod -_o_fmodf +F_NON_I386(_o_fmodf) _o_fopen _o_fopen_s _o_fputc @@ -995,33 +995,33 @@ _o_isxdigit _o_ldexp _o_lgamma _o_lgammaf -_o_lgammal +F_LD64(_o_lgammal) ; Can't use long double functions from the CRT on x86 _o_llrint _o_llrintf -_o_llrintl +F_LD64(_o_llrintl) ; Can't use long double functions from the CRT on x86 _o_llround _o_llroundf -_o_llroundl +F_LD64(_o_llroundl) ; Can't use long double functions from the CRT on x86 _o_localeconv _o_log _o_log10 -_o_log10f +F_NON_I386(_o_log10f) _o_log1p _o_log1pf -_o_log1pl +F_LD64(_o_log1pl) ; Can't use long double functions from the CRT on x86 _o_log2 _o_log2f -_o_log2l +F_LD64(_o_log2l) ; Can't use long double functions from the CRT on x86 _o_logb _o_logbf -_o_logbl -_o_logf +F_LD64(_o_logbl) ; Can't use long double functions from the CRT on x86 +F_NON_I386(_o_logf) _o_lrint _o_lrintf -_o_lrintl +F_LD64(_o_lrintl) ; Can't use long double functions from the CRT on x86 _o_lround _o_lroundf -_o_lroundl +F_LD64(_o_lroundl) ; Can't use long double functions from the CRT on x86 _o_malloc _o_mblen _o_mbrlen @@ -1035,19 +1035,19 @@ _o_mbstowcs_s _o_mbtowc _o_memset _o_modf -_o_modff +F_NON_I386(_o_modff) _o_nan _o_nanf -_o_nanl +F_LD64(_o_nanl) ; Can't use long double functions from the CRT on x86 _o_nearbyint _o_nearbyintf -_o_nearbyintl +F_LD64(_o_nearbyintl) ; Can't use long double functions from the CRT on x86 _o_nextafter _o_nextafterf -_o_nextafterl -_o_nexttoward -_o_nexttowardf -_o_nexttowardl +F_LD64(_o_nextafterl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttoward) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttowardf) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttowardl) ; Can't use long double functions from the CRT on x86 _o_pow _o_powf _o_putc @@ -1063,33 +1063,33 @@ _o_rand_s _o_realloc _o_remainder _o_remainderf -_o_remainderl +F_LD64(_o_remainderl) ; Can't use long double functions from the CRT on x86 _o_remove _o_remquo _o_remquof -_o_remquol +F_LD64(_o_remquol) ; Can't use long double functions from the CRT on x86 _o_rewind _o_rint _o_rintf -_o_rintl +F_LD64(_o_rintl) ; Can't use long double functions from the CRT on x86 _o_round _o_roundf -_o_roundl +F_LD64(_o_roundl) ; Can't use long double functions from the CRT on x86 _o_scalbln _o_scalblnf -_o_scalblnl +F_LD64(_o_scalblnl) ; Can't use long double functions from the CRT on x86 _o_scalbn _o_scalbnf -_o_scalbnl +F_LD64(_o_scalbnl) ; Can't use long double functions from the CRT on x86 _o_set_terminate _o_setbuf _o_setvbuf _o_sin -_o_sinf +F_NON_I386(_o_sinf) _o_sinh -_o_sinhf +F_NON_I386(_o_sinhf) _o_sqrt -_o_sqrtf +F_NON_I386(_o_sqrtf) _o_srand _o_strcat_s _o_strcoll @@ -1104,19 +1104,19 @@ _o_strtof _o_strtok _o_strtok_s _o_strtol -_o_strtold +F_LD64(_o_strtold) ; Can't use long double functions from the CRT on x86 _o_strtoll _o_strtoul _o_strtoull _o_system _o_tan -_o_tanf +F_NON_I386(_o_tanf) _o_tanh -_o_tanhf +F_NON_I386(_o_tanhf) _o_terminate _o_tgamma _o_tgammaf -_o_tgammal +F_LD64(_o_tgammal) ; Can't use long double functions from the CRT on x86 _o_tmpfile_s _o_tmpnam_s _o_tolower @@ -1141,7 +1141,7 @@ _o_wcstof _o_wcstok _o_wcstok_s _o_wcstol -_o_wcstold +F_LD64(_o_wcstold) ; Can't use long double functions from the CRT on x86 _o_wcstoll _o_wcstombs _o_wcstombs_s @@ -1172,3 +1172,33 @@ unexpected wcschr wcsrchr wcsstr + +; These symbols were added in api-ms-win-crt-private-l1-1-0.dll version 10.0.10563.0 +; It is part of the Microsoft Visual C++ 2015 Redistributable version 14.0.23506.0 +_o____lc_codepage_func +_o____lc_collate_cp_func +_o____lc_locale_name_func +_o____mb_cur_max_func +_o___std_exception_copy +_o___std_exception_destroy +_o___std_type_info_destroy_list +_o___std_type_info_name +_o__cexit +_o__configthreadlocale +_o__configure_narrow_argv +_o__controlfp_s +_o__crt_atexit +_o__exit +_o__get_initial_narrow_environment +_o__get_initial_wide_environment +_o__initialize_narrow_environment +_o__initialize_wide_environment +_o__purecall +_o__seh_filter_dll +_o__seh_filter_exe +_o__set_app_type +_o__set_fmode +_o_exit +_o_memcpy_s +_o_rename +_o_setlocale diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in index ea310d426f81..06a8f3790bf6 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-runtime-l1-1-0.def.in @@ -37,15 +37,14 @@ _controlfp _controlfp_s _crt_at_quick_exit _crt_atexit -_crt_debugger_hook +F_I386(_crt_debugger_hook) _endthread _endthreadex _errno _execute_onexit_table _exit -F_NON_I386(_fpieee_flt) -; DATA added manually -_fpreset DATA +_fpieee_flt +_fpreset F_LD80(DATA) ; DATA added manually _get_doserrno _get_errno _get_initial_narrow_environment diff --git a/lib/libc/mingw/lib-common/api-ms-win-crt-time-l1-1-0.def.in b/lib/libc/mingw/lib-common/api-ms-win-crt-time-l1-1-0.def.in index c9c407d9f64e..116c3e4cdb6d 100644 --- a/lib/libc/mingw/lib-common/api-ms-win-crt-time-l1-1-0.def.in +++ b/lib/libc/mingw/lib-common/api-ms-win-crt-time-l1-1-0.def.in @@ -5,9 +5,13 @@ EXPORTS #include "func.def.in" __daylight +__p__daylight == __daylight __dstbias +__p__dstbias == __dstbias __timezone +__p__timezone == __timezone __tzname +__p__tzname == __tzname _ctime32 _ctime32_s _ctime64 @@ -18,6 +22,8 @@ _difftime32 _difftime64 F32(_ftime == _ftime32) F64(_ftime == _ftime64) +F32(ftime == _ftime32) +F64(ftime == _ftime64) _ftime32 _ftime32_s _ftime64 diff --git a/lib/libc/mingw/lib-common/ntdll.def.in b/lib/libc/mingw/lib-common/ntdll.def.in index 8d91bb5470a7..ee002c8689ad 100644 --- a/lib/libc/mingw/lib-common/ntdll.def.in +++ b/lib/libc/mingw/lib-common/ntdll.def.in @@ -2,7 +2,7 @@ LIBRARY "ntdll.dll" EXPORTS -#ifdef DEF_X64 +#ifdef __x86_64__ PropertyLengthAsVariant RtlConvertPropertyToVariant RtlConvertVariantToProperty @@ -38,7 +38,7 @@ CsrClientConnectToServer CsrFreeCaptureBuffer CsrGetProcessId CsrIdentifyAlertableThread -#if defined(DEF_I386) || defined(DEF_X64) +#if defined(__i386__) || defined(__x86_64__) CsrNewThread CsrProbeForRead CsrProbeForWrite @@ -65,12 +65,12 @@ DbgUiStopDebugging DbgUiWaitStateChange DbgUserBreakPoint EtwCheckCoverage -#ifdef DEF_X64 +#ifdef __x86_64__ EtwControlTraceA EtwControlTraceW #endif EtwCreateTraceInstanceId -#ifdef DEF_X64 +#ifdef __x86_64__ EtwEnableTrace EtwEnumerateTraceGuids EtwFlushTraceA @@ -95,7 +95,7 @@ EtwEventWriteTransfer EtwGetTraceEnableFlags EtwGetTraceEnableLevel EtwGetTraceLoggerHandle -#ifdef DEF_X64 +#ifdef __x86_64__ EtwNotificationRegistrationA EtwNotificationRegistrationW EtwQueryAllTracesA @@ -112,7 +112,7 @@ EtwProcessPrivateLoggerRequest EtwRegisterSecurityProvider EtwRegisterTraceGuidsA EtwRegisterTraceGuidsW -#ifdef DEF_X64 +#ifdef __x86_64__ EtwStartTraceA EtwStartTraceW EtwStopTraceA @@ -126,7 +126,7 @@ EtwTraceEventInstance EtwTraceMessage EtwTraceMessageVa EtwUnregisterTraceGuids -#ifdef DEF_X64 +#ifdef __x86_64__ EtwUpdateTraceA EtwUpdateTraceW EtwpGetTraceBuffer @@ -138,7 +138,7 @@ EtwpGetCpuSpeed F_X64(EtwpNotificationThread) EvtIntReportAuthzEventAndSourceAsync EvtIntReportEventAndSourceAsync -#ifndef DEF_ARM32 +#ifndef __arm__ ExpInterlockedPopEntrySListEnd F_X64(ExpInterlockedPopEntrySListEnd16) ExpInterlockedPopEntrySListFault @@ -729,7 +729,7 @@ NtWaitForWorkViaWorkerFactory NtWaitHighEventPair NtWaitLowEventPair NtWorkerFactoryWorkerReady -#ifdef DEF_ARM32 +#ifdef __arm__ NtWow64AllocateVirtualMemory64 NtWow64CallFunction64 NtWow64CsrAllocateCaptureBuffer @@ -946,7 +946,7 @@ RtlCreateSystemVolumeInformationFolder RtlCreateTagHeap RtlCreateTimer RtlCreateTimerQueue -#ifdef DEF_X64 +#ifdef __x86_64__ RtlCreateUmsCompletionList RtlCreateUmsThread RtlCreateUmsThreadContext @@ -995,7 +995,7 @@ RtlDeleteSecurityObject RtlDeleteTimer RtlDeleteTimerQueue RtlDeleteTimerQueueEx -#ifdef DEF_X64 +#ifdef __x86_64__ RtlDeleteUmsCompletionList RtlDeleteUmsThreadContext RtlDequeueUmsCompletionListItems @@ -1732,7 +1732,7 @@ F64(RtlWow64GetThreadContext) F64(RtlWow64GetThreadSelectorEntry) RtlWow64IsWowGuestMachineSupported RtlWow64LogMessageInEventLogger -#if defined(DEF_X64) || defined(DEF_ARM64) +#if defined(__x86_64__) || defined(__aarch64__) RtlWow64PopAllCrossProcessWorkFromWorkList RtlWow64PopCrossProcessWorkFromFreeList RtlWow64PushCrossProcessWorkOntoFreeList @@ -1794,7 +1794,7 @@ F_X64(RtlpUmsThreadYield) RtlpUnWaitCriticalSection RtlpVerifyAndCommitUILanguageSettings RtlpWaitForCriticalSection -#ifdef DEF_X64 +#ifdef __x86_64__ RtlpWow64CtxFromAmd64 RtlpWow64GetContextOnAmd64 RtlpWow64SetContextOnAmd64 @@ -2388,7 +2388,7 @@ ZwWaitForWorkViaWorkerFactory ZwWaitHighEventPair ZwWaitLowEventPair ZwWorkerFactoryWorkerReady -#ifdef DEF_ARM32 +#ifdef __arm__ ZwWow64AllocateVirtualMemory64 ZwWow64CallFunction64 ZwWow64CsrAllocateCaptureBuffer diff --git a/lib/libc/mingw/lib-common/ntdllcrt.def.in b/lib/libc/mingw/lib-common/ntdllcrt.def.in index 879585e9ab2d..b1f365e96c10 100644 --- a/lib/libc/mingw/lib-common/ntdllcrt.def.in +++ b/lib/libc/mingw/lib-common/ntdllcrt.def.in @@ -2,7 +2,7 @@ LIBRARY "ntdll.dll" EXPORTS -#ifdef DEF_I386 +#ifdef __i386__ _CIcos _CIlog _CIpow @@ -17,7 +17,7 @@ __iscsymf F_X64(__misaligned_access) F_ARM32(__jump_unwind) __toascii -#ifdef DEF_I386 +#ifdef __i386__ _alldiv _alldvrm@16 _allmul@16 @@ -29,7 +29,7 @@ _allshl _allshr #endif _atoi64 -#ifdef DEF_I386 +#ifdef __i386__ _aulldiv@16 _aulldvrm@16 _aullrem@16 @@ -39,7 +39,7 @@ _aullshr _errno F_I386(_except_handler4_common) _fltused DATA -#ifdef DEF_I386 +#ifdef __i386__ _ftol _ftol2 _ftol2_sse diff --git a/lib/libc/mingw/lib-common/ole32.def.in b/lib/libc/mingw/lib-common/ole32.def.in index 757f82e190b0..97c391ed2b4d 100644 --- a/lib/libc/mingw/lib-common/ole32.def.in +++ b/lib/libc/mingw/lib-common/ole32.def.in @@ -390,7 +390,9 @@ OleBuildVersion OleConvertIStorageToOLESTREAM OleConvertIStorageToOLESTREAMEx OleConvertOLESTREAMToIStorage +OleConvertOLESTREAMToIStorage2 OleConvertOLESTREAMToIStorageEx +OleConvertOLESTREAMToIStorageEx2 OleCreate OleCreateDefaultHandler OleCreateEmbeddingHelper @@ -417,6 +419,7 @@ OleDuplicateData OleFlushClipboard OleGetAutoConvert OleGetClipboard +OleGetClipboardWithEnterpriseInfo OleGetIconOfClass OleGetIconOfFile OleIconToCursorExt diff --git a/lib/libc/mingw/lib64/quartz.def b/lib/libc/mingw/lib-common/quartz.def similarity index 100% rename from lib/libc/mingw/lib64/quartz.def rename to lib/libc/mingw/lib-common/quartz.def diff --git a/lib/libc/mingw/lib-common/ucrtbase-common.def.in b/lib/libc/mingw/lib-common/ucrtbase-common.def.in index 69052d68675b..24f47bcbc1a1 100644 --- a/lib/libc/mingw/lib-common/ucrtbase-common.def.in +++ b/lib/libc/mingw/lib-common/ucrtbase-common.def.in @@ -218,7 +218,7 @@ __threadid __timezone __toascii __tzname -#if !defined(DEF_DEBUG) || !defined(DEF_ARM64) +#if !defined(DEF_DEBUG) || !defined(__aarch64__) ; symbols __unDName and __unDNameEx are available in all versions except ARM64 ucrtbased.dll __unDName __unDNameEx @@ -388,7 +388,7 @@ _flushall _fpclass F_X64(_fpclassf) _fpieee_flt -_fpreset DATA ; DATA added manually +_fpreset F_LD80(DATA) ; DATA added manually _fputc_nolock _fputchar _fputwc_nolock @@ -493,7 +493,7 @@ F_DEBUG(_invalid_parameter) _invalid_parameter_noinfo _invalid_parameter_noinfo_noreturn _invoke_watson -#if !defined(DEF_DEBUG) || !defined(DEF_ARM64) +#if !defined(DEF_DEBUG) || !defined(__aarch64__) ; symbol _is_exception_typeof is available in all versions except ARM64 ucrtbased.dll _is_exception_typeof #endif @@ -1433,7 +1433,7 @@ _o__strtof_l _o__strtoi64 _o__strtoi64_l _o__strtol_l -F_ARM_ANY(_o__strtold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_o__strtold_l) ; Can't use long double functions from the CRT on x86 _o__strtoll_l _o__strtoui64 _o__strtoui64_l @@ -1513,7 +1513,7 @@ _o__wcstof_l _o__wcstoi64 _o__wcstoi64_l _o__wcstol_l -F_ARM_ANY(_o__wcstold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_o__wcstold_l) ; Can't use long double functions from the CRT on x86 _o__wcstoll_l _o__wcstombs_l _o__wcstombs_s_l @@ -1611,21 +1611,21 @@ _o_acos F_NON_I386(_o_acosf) _o_acosh _o_acoshf -F_ARM_ANY(_o_acoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_acoshl) ; Can't use long double functions from the CRT on x86 _o_asctime _o_asctime_s _o_asin F_NON_I386(_o_asinf) _o_asinh _o_asinhf -F_ARM_ANY(_o_asinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_asinhl) ; Can't use long double functions from the CRT on x86 _o_atan _o_atan2 F_NON_I386(_o_atan2f) F_NON_I386(_o_atanf) _o_atanh _o_atanhf -F_ARM_ANY(_o_atanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_atanhl) ; Can't use long double functions from the CRT on x86 _o_atof _o_atoi _o_atol @@ -1647,13 +1647,13 @@ F_NON_I386(_o_coshf) _o_erf _o_erfc _o_erfcf -F_ARM_ANY(_o_erfcl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_erfcl) ; Can't use long double functions from the CRT on x86 _o_erff -F_ARM_ANY(_o_erfl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_erfl) ; Can't use long double functions from the CRT on x86 _o_exp _o_exp2 _o_exp2f -F_ARM_ANY(_o_exp2l) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_exp2l) ; Can't use long double functions from the CRT on x86 F_NON_I386(_o_expf) _o_fabs F_ARM_ANY(_o_fabsf) @@ -1670,7 +1670,7 @@ _o_floor F_NON_I386(_o_floorf) _o_fma _o_fmaf -F_ARM_ANY(_o_fmal) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_fmal) ; Can't use long double functions from the CRT on x86 _o_fmod F_NON_I386(_o_fmodf) _o_fopen @@ -1729,33 +1729,33 @@ _o_isxdigit _o_ldexp _o_lgamma _o_lgammaf -F_ARM_ANY(_o_lgammal) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_lgammal) ; Can't use long double functions from the CRT on x86 _o_llrint _o_llrintf -F_ARM_ANY(_o_llrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_llrintl) ; Can't use long double functions from the CRT on x86 _o_llround _o_llroundf -F_ARM_ANY(_o_llroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_llroundl) ; Can't use long double functions from the CRT on x86 _o_localeconv _o_log _o_log10 F_NON_I386(_o_log10f) _o_log1p _o_log1pf -F_ARM_ANY(_o_log1pl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_log1pl) ; Can't use long double functions from the CRT on x86 _o_log2 _o_log2f -F_ARM_ANY(_o_log2l) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_log2l) ; Can't use long double functions from the CRT on x86 _o_logb _o_logbf -F_ARM_ANY(_o_logbl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_logbl) ; Can't use long double functions from the CRT on x86 F_NON_I386(_o_logf) _o_lrint _o_lrintf -F_ARM_ANY(_o_lrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_lrintl) ; Can't use long double functions from the CRT on x86 _o_lround _o_lroundf -F_ARM_ANY(_o_lroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_lroundl) ; Can't use long double functions from the CRT on x86 _o_malloc _o_mblen _o_mbrlen @@ -1772,16 +1772,16 @@ _o_modf F_NON_I386(_o_modff) _o_nan _o_nanf -F_ARM_ANY(_o_nanl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nanl) ; Can't use long double functions from the CRT on x86 _o_nearbyint _o_nearbyintf -F_ARM_ANY(_o_nearbyintl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nearbyintl) ; Can't use long double functions from the CRT on x86 _o_nextafter _o_nextafterf -F_ARM_ANY(_o_nextafterl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(_o_nexttoward) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(_o_nexttowardf) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(_o_nexttowardl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nextafterl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttoward) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttowardf) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_nexttowardl) ; Can't use long double functions from the CRT on x86 _o_pow _o_powf _o_putc @@ -1797,24 +1797,24 @@ _o_rand_s _o_realloc _o_remainder _o_remainderf -F_ARM_ANY(_o_remainderl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_remainderl) ; Can't use long double functions from the CRT on x86 _o_remove _o_remquo _o_remquof -F_ARM_ANY(_o_remquol) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_remquol) ; Can't use long double functions from the CRT on x86 _o_rewind _o_rint _o_rintf -F_ARM_ANY(_o_rintl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_rintl) ; Can't use long double functions from the CRT on x86 _o_round _o_roundf -F_ARM_ANY(_o_roundl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_roundl) ; Can't use long double functions from the CRT on x86 _o_scalbln _o_scalblnf -F_ARM_ANY(_o_scalblnl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_scalblnl) ; Can't use long double functions from the CRT on x86 _o_scalbn _o_scalbnf -F_ARM_ANY(_o_scalbnl) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_scalbnl) ; Can't use long double functions from the CRT on x86 _o_set_terminate _o_setbuf _o_setvbuf @@ -1838,7 +1838,7 @@ _o_strtof _o_strtok _o_strtok_s _o_strtol -F_ARM_ANY(_o_strtold) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_strtold) ; Can't use long double functions from the CRT on x86 _o_strtoll _o_strtoul _o_strtoull @@ -1850,7 +1850,7 @@ F_NON_I386(_o_tanhf) _o_terminate _o_tgamma _o_tgammaf -F_ARM_ANY(_o_tgammal) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_tgammal) ; Can't use long double functions from the CRT on x86 _o_tmpfile_s _o_tmpnam_s _o_tolower @@ -1875,7 +1875,7 @@ _o_wcstof _o_wcstok _o_wcstok_s _o_wcstol -F_ARM_ANY(_o_wcstold) ; Can't use long double functions from the CRT on x86 +F_LD64(_o_wcstold) ; Can't use long double functions from the CRT on x86 _o_wcstoll _o_wcstombs _o_wcstombs_s @@ -2004,7 +2004,7 @@ _strtoi64 _strtoi64_l _strtoimax_l _strtol_l -F_ARM_ANY(_strtold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_strtold_l) ; Can't use long double functions from the CRT on x86 _strtoll_l _strtoui64 _strtoui64_l @@ -2094,7 +2094,7 @@ _wcstoi64 _wcstoi64_l _wcstoimax_l _wcstol_l -F_ARM_ANY(_wcstold_l) ; Can't use long double functions from the CRT on x86 +F_LD64(_wcstold_l) ; Can't use long double functions from the CRT on x86 _wcstoll_l _wcstombs_l _wcstombs_s_l @@ -2212,21 +2212,21 @@ acos F_NON_I386(acosf) acosh acoshf -F_ARM_ANY(acoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(acoshl) ; Can't use long double functions from the CRT on x86 asctime asctime_s asin F_NON_I386(asinf) asinh asinhf -F_ARM_ANY(asinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(asinhl) ; Can't use long double functions from the CRT on x86 atan atan2 F_NON_I386(atan2f) F_NON_I386(atanf) atanh atanhf -F_ARM_ANY(atanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(atanhl) ; Can't use long double functions from the CRT on x86 atof atoi atol @@ -2238,111 +2238,111 @@ c16rtomb c32rtomb cabs cabsf -F_ARM_ANY(cabsl) ; Can't use long double functions from the CRT on x86 +F_LD64(cabsl) ; Can't use long double functions from the CRT on x86 cacos cacosf cacosh cacoshf -F_ARM_ANY(cacoshl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(cacosl) ; Can't use long double functions from the CRT on x86 +F_LD64(cacoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(cacosl) ; Can't use long double functions from the CRT on x86 calloc carg cargf -F_ARM_ANY(cargl) ; Can't use long double functions from the CRT on x86 +F_LD64(cargl) ; Can't use long double functions from the CRT on x86 casin casinf casinh casinhf -F_ARM_ANY(casinhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(casinl) ; Can't use long double functions from the CRT on x86 +F_LD64(casinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(casinl) ; Can't use long double functions from the CRT on x86 catan catanf catanh catanhf -F_ARM_ANY(catanhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(catanl) ; Can't use long double functions from the CRT on x86 +F_LD64(catanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(catanl) ; Can't use long double functions from the CRT on x86 cbrt cbrtf -F_ARM_ANY(cbrtl) ; Can't use long double functions from the CRT on x86 +F_LD64(cbrtl) ; Can't use long double functions from the CRT on x86 ccos ccosf ccosh ccoshf -F_ARM_ANY(ccoshl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(ccosl) ; Can't use long double functions from the CRT on x86 +F_LD64(ccoshl) ; Can't use long double functions from the CRT on x86 +F_LD64(ccosl) ; Can't use long double functions from the CRT on x86 ceil F_NON_I386(ceilf) cexp cexpf -F_ARM_ANY(cexpl) ; Can't use long double functions from the CRT on x86 +F_LD64(cexpl) ; Can't use long double functions from the CRT on x86 cimag cimagf -F_ARM_ANY(cimagl) ; Can't use long double functions from the CRT on x86 +F_LD64(cimagl) ; Can't use long double functions from the CRT on x86 clearerr clearerr_s clock clog clog10 clog10f -F_ARM_ANY(clog10l) ; Can't use long double functions from the CRT on x86 +F_LD64(clog10l) ; Can't use long double functions from the CRT on x86 clogf -F_ARM_ANY(clogl) ; Can't use long double functions from the CRT on x86 +F_LD64(clogl) ; Can't use long double functions from the CRT on x86 conj conjf -F_ARM_ANY(conjl) ; Can't use long double functions from the CRT on x86 +F_LD64(conjl) ; Can't use long double functions from the CRT on x86 copysign copysignf -F_ARM_ANY(copysignl) ; Can't use long double functions from the CRT on x86 +F_LD64(copysignl) ; Can't use long double functions from the CRT on x86 cos F_NON_I386(cosf) cosh F_NON_I386(coshf) cpow cpowf -F_ARM_ANY(cpowl) ; Can't use long double functions from the CRT on x86 +F_LD64(cpowl) ; Can't use long double functions from the CRT on x86 cproj cprojf -F_ARM_ANY(cprojl) ; Can't use long double functions from the CRT on x86 +F_LD64(cprojl) ; Can't use long double functions from the CRT on x86 creal crealf -F_ARM_ANY(creall) ; Can't use long double functions from the CRT on x86 +F_LD64(creall) ; Can't use long double functions from the CRT on x86 csin csinf csinh csinhf -F_ARM_ANY(csinhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(csinl) ; Can't use long double functions from the CRT on x86 +F_LD64(csinhl) ; Can't use long double functions from the CRT on x86 +F_LD64(csinl) ; Can't use long double functions from the CRT on x86 csqrt csqrtf -F_ARM_ANY(csqrtl) ; Can't use long double functions from the CRT on x86 +F_LD64(csqrtl) ; Can't use long double functions from the CRT on x86 ctan ctanf ctanh ctanhf -F_ARM_ANY(ctanhl) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(ctanl) ; Can't use long double functions from the CRT on x86 +F_LD64(ctanhl) ; Can't use long double functions from the CRT on x86 +F_LD64(ctanl) ; Can't use long double functions from the CRT on x86 div erf erfc erfcf -F_ARM_ANY(erfcl) ; Can't use long double functions from the CRT on x86 +F_LD64(erfcl) ; Can't use long double functions from the CRT on x86 erff -F_ARM_ANY(erfl) ; Can't use long double functions from the CRT on x86 +F_LD64(erfl) ; Can't use long double functions from the CRT on x86 exit exp exp2 exp2f -F_ARM_ANY(exp2l) ; Can't use long double functions from the CRT on x86 +F_LD64(exp2l) ; Can't use long double functions from the CRT on x86 F_NON_I386(expf) expm1 expm1f -F_ARM_ANY(expm1l) ; Can't use long double functions from the CRT on x86 +F_LD64(expm1l) ; Can't use long double functions from the CRT on x86 fabs F_ARM_ANY(fabsf) fclose fdim fdimf -F_ARM_ANY(fdiml) ; Can't use long double functions from the CRT on x86 +F_LD64(fdiml) ; Can't use long double functions from the CRT on x86 ; Don't use the float env functions from UCRT; fesetround doesn't seem to have ; any effect on the FPU control word as required by other libmingwex math ; routines. @@ -2367,13 +2367,13 @@ floor F_NON_I386(floorf) fma fmaf -F_ARM_ANY(fmal) ; Can't use long double functions from the CRT on x86 +F_LD64(fmal) ; Can't use long double functions from the CRT on x86 fmax fmaxf -F_ARM_ANY(fmaxl) ; Can't use long double functions from the CRT on x86 +F_LD64(fmaxl) ; Can't use long double functions from the CRT on x86 fmin fminf -F_ARM_ANY(fminl) ; Can't use long double functions from the CRT on x86 +F_LD64(fminl) ; Can't use long double functions from the CRT on x86 fmod F_NON_I386(fmodf) fopen @@ -2403,7 +2403,7 @@ getwchar hypot ilogb ilogbf -F_ARM_ANY(ilogbl) ; Can't use long double functions from the CRT on x86 +F_LD64(ilogbl) ; Can't use long double functions from the CRT on x86 imaxabs imaxdiv is_wctype @@ -2441,36 +2441,36 @@ ldiv ; the mingw ones do. Therefore prefer the libmingwex version instead. lgamma DATA lgammaf DATA -F_ARM_ANY(lgammal DATA) ; Can't use long double functions from the CRT on x86 +F_LD64(lgammal DATA) ; Can't use long double functions from the CRT on x86 llabs lldiv llrint llrintf -F_ARM_ANY(llrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(llrintl) ; Can't use long double functions from the CRT on x86 llround llroundf -F_ARM_ANY(llroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(llroundl) ; Can't use long double functions from the CRT on x86 localeconv log log10 F_NON_I386(log10f) log1p log1pf -F_ARM_ANY(log1pl) ; Can't use long double functions from the CRT on x86 +F_LD64(log1pl) ; Can't use long double functions from the CRT on x86 log2 log2f -F_ARM_ANY(log2l) ; Can't use long double functions from the CRT on x86 +F_LD64(log2l) ; Can't use long double functions from the CRT on x86 logb logbf -F_ARM_ANY(logbl) ; Can't use long double functions from the CRT on x86 +F_LD64(logbl) ; Can't use long double functions from the CRT on x86 F_NON_I386(logf) longjmp lrint lrintf -F_ARM_ANY(lrintl) ; Can't use long double functions from the CRT on x86 +F_LD64(lrintl) ; Can't use long double functions from the CRT on x86 lround lroundf -F_ARM_ANY(lroundl) ; Can't use long double functions from the CRT on x86 +F_LD64(lroundl) ; Can't use long double functions from the CRT on x86 malloc mblen mbrlen @@ -2493,18 +2493,18 @@ modf F_NON_I386(modff) nan nanf -F_ARM_ANY(nanl) ; Can't use long double functions from the CRT on x86 +F_LD64(nanl) ; Can't use long double functions from the CRT on x86 nearbyint nearbyintf -F_ARM_ANY(nearbyintl) ; Can't use long double functions from the CRT on x86 +F_LD64(nearbyintl) ; Can't use long double functions from the CRT on x86 nextafter nextafterf -F_ARM_ANY(nextafterl) ; Can't use long double functions from the CRT on x86 +F_LD64(nextafterl) ; Can't use long double functions from the CRT on x86 ; All of the nexttoward functions take the second parameter as long double, ; making them unusable for x86. -F_ARM_ANY(nexttoward) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(nexttowardf) ; Can't use long double functions from the CRT on x86 -F_ARM_ANY(nexttowardl) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttoward) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttowardf) ; Can't use long double functions from the CRT on x86 +F_LD64(nexttowardl) ; Can't use long double functions from the CRT on x86 norm normf norml @@ -2525,25 +2525,25 @@ rand_s realloc remainder remainderf -F_ARM_ANY(remainderl) ; Can't use long double functions from the CRT on x86 +F_LD64(remainderl) ; Can't use long double functions from the CRT on x86 remove remquo remquof -F_ARM_ANY(remquol) ; Can't use long double functions from the CRT on x86 +F_LD64(remquol) ; Can't use long double functions from the CRT on x86 rename rewind rint rintf -F_ARM_ANY(rintl) ; Can't use long double functions from the CRT on x86 +F_LD64(rintl) ; Can't use long double functions from the CRT on x86 round roundf -F_ARM_ANY(roundl) ; Can't use long double functions from the CRT on x86 +F_LD64(roundl) ; Can't use long double functions from the CRT on x86 scalbln scalblnf -F_ARM_ANY(scalblnl) ; Can't use long double functions from the CRT on x86 +F_LD64(scalblnl) ; Can't use long double functions from the CRT on x86 scalbn scalbnf -F_ARM_ANY(scalbnl) ; Can't use long double functions from the CRT on x86 +F_LD64(scalbnl) ; Can't use long double functions from the CRT on x86 set_terminate set_unexpected setbuf @@ -2587,7 +2587,7 @@ strtoimax strtok strtok_s strtol -F_ARM_ANY(strtold) ; Can't use long double functions from the CRT on x86 +F_LD64(strtold) ; Can't use long double functions from the CRT on x86 strtoll strtoul strtoull @@ -2602,7 +2602,7 @@ F_NON_I386(tanhf) terminate tgamma tgammaf -F_ARM_ANY(tgammal) ; Can't use long double functions from the CRT on x86 +F_LD64(tgammal) ; Can't use long double functions from the CRT on x86 tmpfile tmpfile_s tmpnam @@ -2614,7 +2614,7 @@ towlower towupper trunc truncf -F_ARM_ANY(truncl) ; Can't use long double functions from the CRT on x86 +F_LD64(truncl) ; Can't use long double functions from the CRT on x86 unexpected ungetc ungetwc @@ -2648,7 +2648,7 @@ wcstoimax wcstok wcstok_s wcstol -F_ARM_ANY(wcstold) ; Can't use long double functions from the CRT on x86 +F_LD64(wcstold) ; Can't use long double functions from the CRT on x86 wcstoll wcstombs wcstombs_s diff --git a/lib/libc/mingw/lib-common/ws2_32.def.in b/lib/libc/mingw/lib-common/ws2_32.def.in index b49c4b87d3b2..e816d9f22455 100644 --- a/lib/libc/mingw/lib-common/ws2_32.def.in +++ b/lib/libc/mingw/lib-common/ws2_32.def.in @@ -2,200 +2,200 @@ LIBRARY "WS2_32.dll" EXPORTS -accept -bind -closesocket -connect -getpeername -getsockname -getsockopt -htonl -htons -ioctlsocket -inet_addr -inet_ntoa -listen -ntohl -ntohs -recv -recvfrom -select -send -sendto -setsockopt -shutdown -socket -WSApSetPostRoutine -FreeAddrInfoEx -FreeAddrInfoExW -FreeAddrInfoW -GetAddrInfoExA -GetAddrInfoExCancel -GetAddrInfoExOverlappedResult -GetAddrInfoExW -GetAddrInfoW -GetHostNameW -GetNameInfoW -InetNtopW -InetPtonW -ProcessSocketNotifications -SetAddrInfoExA -SetAddrInfoExW -WPUCompleteOverlappedRequest -WPUGetProviderPathEx -WSAAccept -WSAAddressToStringA -WSAAddressToStringW -WSAAdvertiseProvider -WSACloseEvent -WSAConnect -WSAConnectByList -WSAConnectByNameA -WSAConnectByNameW -WSACreateEvent -gethostbyaddr -gethostbyname -getprotobyname -getprotobynumber -getservbyname -getservbyport -gethostname -WSADuplicateSocketA -WSADuplicateSocketW -WSAEnumNameSpaceProvidersA -WSAEnumNameSpaceProvidersExA -WSAEnumNameSpaceProvidersExW -WSAEnumNameSpaceProvidersW -WSAEnumNetworkEvents -WSAEnumProtocolsA -WSAEnumProtocolsW -WSAEventSelect -WSAGetOverlappedResult -WSAGetQOSByName -WSAGetServiceClassInfoA -WSAGetServiceClassInfoW -WSAGetServiceClassNameByClassIdA -WSAGetServiceClassNameByClassIdW -WSAHtonl -WSAHtons -WSAInstallServiceClassA -WSAInstallServiceClassW -WSAIoctl -WSAJoinLeaf -WSALookupServiceBeginA -WSALookupServiceBeginW -WSALookupServiceEnd -WSALookupServiceNextA -WSALookupServiceNextW -WSANSPIoctl -WSANtohl -WSANtohs -WSAPoll -WSAProviderCompleteAsyncCall -WSAProviderConfigChange -WSARecv -WSARecvDisconnect -WSARecvFrom -WSARemoveServiceClass -WSAResetEvent -WSASend -WSASendDisconnect -WSASendMsg -WSASendTo -WSASetEvent -WSAAsyncSelect -WSAAsyncGetHostByAddr -WSAAsyncGetHostByName -WSAAsyncGetProtoByNumber -WSAAsyncGetProtoByName -WSAAsyncGetServByPort -WSAAsyncGetServByName -WSACancelAsyncRequest -WSASetBlockingHook -WSAUnhookBlockingHook -WSAGetLastError -WSASetLastError -WSACancelBlockingCall -WSAIsBlocking -WSAStartup -WSACleanup -WSASetServiceA -WSASetServiceW -WSASocketA -WSASocketW -WSAStringToAddressA -WSAStringToAddressW -WSAUnadvertiseProvider -WSAWaitForMultipleEvents -WSCDeinstallProvider +__WSAFDIsSet@8 +FreeAddrInfoEx@4 +FreeAddrInfoExW@4 +FreeAddrInfoW@4 +GetAddrInfoExA@40 +GetAddrInfoExCancel@4 +GetAddrInfoExOverlappedResult@4 +GetAddrInfoExW@40 +GetAddrInfoW@16 +GetHostNameW@8 +GetNameInfoW@28 +InetNtopW@16 +InetPtonW@12 +ProcessSocketNotifications@28 +SetAddrInfoExA@48 +SetAddrInfoExW@48 +WEP@0 +WPUCompleteOverlappedRequest@20 +WPUGetProviderPathEx@20 +WSAAccept@20 +WSAAddressToStringA@20 +WSAAddressToStringW@20 +WSAAdvertiseProvider@8 +WSAAsyncGetHostByAddr@28 +WSAAsyncGetHostByName@20 +WSAAsyncGetProtoByName@20 +WSAAsyncGetProtoByNumber@20 +WSAAsyncGetServByName@24 +WSAAsyncGetServByPort@24 +WSAAsyncSelect@16 +WSACancelAsyncRequest@4 +WSACancelBlockingCall@0 +WSACleanup@0 +WSACloseEvent@4 +WSAConnect@28 +WSAConnectByList@32 +WSAConnectByNameA@36 +WSAConnectByNameW@36 +WSACreateEvent@0 +WSADuplicateSocketA@12 +WSADuplicateSocketW@12 +WSAEnumNameSpaceProvidersA@8 +WSAEnumNameSpaceProvidersExA@8 +WSAEnumNameSpaceProvidersExW@8 +WSAEnumNameSpaceProvidersW@8 +WSAEnumNetworkEvents@12 +WSAEnumProtocolsA@12 +WSAEnumProtocolsW@12 +WSAEventSelect@12 +WSAGetLastError@0 +WSAGetOverlappedResult@20 +WSAGetQOSByName@12 +WSAGetServiceClassInfoA@16 +WSAGetServiceClassInfoW@16 +WSAGetServiceClassNameByClassIdA@12 +WSAGetServiceClassNameByClassIdW@12 +WSAHtonl@12 +WSAHtons@12 +WSAInstallServiceClassA@4 +WSAInstallServiceClassW@4 +WSAIoctl@36 +WSAIsBlocking@0 +WSAJoinLeaf@32 +WSALookupServiceBeginA@12 +WSALookupServiceBeginW@12 +WSALookupServiceEnd@4 +WSALookupServiceNextA@16 +WSALookupServiceNextW@16 +WSANSPIoctl@32 +WSANtohl@12 +WSANtohs@12 +WSAPoll@12 +WSAProviderCompleteAsyncCall@8 +WSAProviderConfigChange@12 +WSARecv@28 +WSARecvDisconnect@8 +WSARecvFrom@36 +WSARemoveServiceClass@4 +WSAResetEvent@4 +WSASend@28 +WSASendDisconnect@8 +WSASendMsg@24 +WSASendTo@36 +WSASetBlockingHook@4 +WSASetEvent@4 +WSASetLastError@4 +WSASetServiceA@12 +WSASetServiceW@12 +WSASocketA@24 +WSASocketW@24 +WSAStartup@8 +WSAStringToAddressA@20 +WSAStringToAddressW@20 +WSAUnadvertiseProvider@4 +WSAUnhookBlockingHook@0 +WSAWaitForMultipleEvents@20 +WSApSetPostRoutine@4 +WSCDeinstallProvider@8 F64(WSCDeinstallProvider32) -WSCDeinstallProviderEx -WSCEnableNSProvider +WSCDeinstallProviderEx@12 +WSCEnableNSProvider@8 F64(WSCEnableNSProvider32) F64(WSCEnumNameSpaceProviders32) F64(WSCEnumNameSpaceProvidersEx32) -WSCEnumProtocols -WSCEnumProtocolsEx +WSCEnumProtocols@16 F64(WSCEnumProtocols32) -WSCGetApplicationCategory -WSCGetApplicationCategoryEx -WSCGetProviderInfo +WSCEnumProtocolsEx@20 +WSCGetApplicationCategory@24 +WSCGetApplicationCategoryEx@28 +WSCGetProviderInfo@24 F64(WSCGetProviderInfo32) -WSCGetProviderPath +WSCGetProviderPath@16 F64(WSCGetProviderPath32) -WSCInstallNameSpace +WSCInstallNameSpace@20 F64(WSCInstallNameSpace32) -WSCInstallNameSpaceEx -WSCInstallNameSpaceEx2 +WSCInstallNameSpaceEx@24 +WSCInstallNameSpaceEx2@28 F64(WSCInstallNameSpaceEx32) -WSCInstallProvider +WSCInstallProvider@20 F64(WSCInstallProvider64_32) -WSCInstallProviderAndChains +WSCInstallProviderAndChains@32 F64(WSCInstallProviderAndChains64_32) -WSCInstallProviderEx -WSCSetApplicationCategory -WSCSetApplicationCategoryEx -WSCSetProviderInfo +WSCInstallProviderEx@28 +WSCSetApplicationCategory@28 +WSCSetApplicationCategoryEx@32 +WSCSetProviderInfo@24 F64(WSCSetProviderInfo32) -WSCUnInstallNameSpace +WSCUnInstallNameSpace@4 F64(WSCUnInstallNameSpace32) -WSCUnInstallNameSpaceEx2 -WSCUpdateProvider +WSCUnInstallNameSpaceEx2@8 +WSCUpdateProvider@20 F64(WSCUpdateProvider32) -WSCUpdateProviderEx -WSCWriteNameSpaceOrder +WSCUpdateProviderEx@24 +WSCWriteNameSpaceOrder@8 F64(WSCWriteNameSpaceOrder32) -WSCWriteProviderOrder +WSCWriteProviderOrder@8 F64(WSCWriteProviderOrder32) -WSCWriteProviderOrderEx -WahCloseApcHelper -__WSAFDIsSet -WahCloseHandleHelper -WahCloseNotificationHandleHelper -WahCloseSocketHandle -WahCloseThread -WahCompleteRequest -WahCreateHandleContextTable -WahCreateNotificationHandle -WahCreateSocketHandle -WahDestroyHandleContextTable -WahDisableNonIFSHandleSupport -WahEnableNonIFSHandleSupport -WahEnumerateHandleContexts -WahInsertHandleContext -WahNotifyAllProcesses -WahOpenApcHelper -WahOpenCurrentThread -WahOpenHandleHelper -WahOpenNotificationHandleHelper -WahQueueUserApc -WahReferenceContextByHandle -WahRemoveHandleContext -WahWaitForNotification -WahWriteLSPEvent -freeaddrinfo -getaddrinfo -getnameinfo -inet_ntop -inet_pton -WEP +WSCWriteProviderOrderEx@12 +WahCloseApcHelper@4 +WahCloseHandleHelper@4 +WahCloseNotificationHandleHelper@4 +WahCloseSocketHandle@8 +WahCloseThread@8 +WahCompleteRequest@20 +WahCreateHandleContextTable@4 +WahCreateNotificationHandle@8 +WahCreateSocketHandle@8 +WahDestroyHandleContextTable@4 +WahDisableNonIFSHandleSupport@0 +WahEnableNonIFSHandleSupport@0 +WahEnumerateHandleContexts@12 +WahInsertHandleContext@8 +WahNotifyAllProcesses@4 +WahOpenApcHelper@4 +WahOpenCurrentThread@8 +WahOpenHandleHelper@4 +WahOpenNotificationHandleHelper@4 +WahQueueUserApc@16 +WahReferenceContextByHandle@8 +WahRemoveHandleContext@8 +WahWaitForNotification@16 +WahWriteLSPEvent@8 +accept@12 +bind@12 +closesocket@4 +connect@12 +freeaddrinfo@4 +getaddrinfo@16 +gethostbyaddr@12 +gethostbyname@4 +gethostname@8 +getnameinfo@28 +getpeername@12 +getprotobyname@4 +getprotobynumber@4 +getservbyname@8 +getservbyport@8 +getsockname@12 +getsockopt@20 +htonl@4 +htons@4 +inet_addr@4 +inet_ntoa@4 +inet_ntop@16 +inet_pton@12 +ioctlsocket@12 +listen@8 +ntohl@4 +ntohs@4 +recv@16 +recvfrom@24 +select@20 +send@16 +sendto@24 +setsockopt@20 +shutdown@8 +socket@12 diff --git a/lib/libc/mingw/lib32/ole32.def b/lib/libc/mingw/lib32/ole32.def index 7a8b4d3014e4..1ed53ec6a24f 100644 --- a/lib/libc/mingw/lib32/ole32.def +++ b/lib/libc/mingw/lib32/ole32.def @@ -25,6 +25,7 @@ CLSIDFromProgIDEx@8 CLSIDFromString@8 CoAddRefServerProcess@0 CoAllowSetForegroundWindow@8 +CoAllowUnmarshalerCLSID@4 CoBuildVersion@0 CoCancelCall@8 CoCopyProxy@8 @@ -35,6 +36,8 @@ CoCreateInstanceEx@24 CoCreateInstanceFromApp@24 CoCreateObjectInContext@16 CoDeactivateObject@8 +CoDecodeProxy@16 +CoDecrementMTAUsage@4 CoDisableCallCancellation@4 CoDisconnectContext@4 CoDisconnectObject@8 @@ -77,7 +80,9 @@ CoGetState@4 CoGetStdMarshalEx@12 CoGetSystemSecurityPermissions@8 CoGetTreatAsClass@8 +CoHandlePriorityEventsFromMessagePump@0 CoImpersonateClient@0 +CoIncrementMTAUsage@4 CoInitialize@4 CoInitializeEx@8 CoInitializeSecurity@36 @@ -98,6 +103,7 @@ CoQueryClientBlanket@28 CoQueryProxyBlanket@32 CoQueryReleaseObject@4 CoReactivateObject@8 +CoRegisterActivationFilter@4 CoRegisterChannelHook@8 CoRegisterClassObject@20 CoRegisterInitializeSpy@8 @@ -115,6 +121,7 @@ CoRevokeClassObject@4 CoRevokeInitializeSpy@8 CoRevokeMallocSpy@0 CoSetCancelObject@4 +CoSetMessageDispatcher@4 CoSetProxyBlanket@32 CoSetState@4 CoSuspendClassObjects@0 @@ -129,6 +136,7 @@ CoUnloadingWOW@4 CoUnmarshalHresult@8 CoUnmarshalInterface@12 CoWaitForMultipleHandles@20 +CoWaitForMultipleObjects@20 ComPs_NdrDllCanUnloadNow@4 ComPs_NdrDllGetClassObject@24 ComPs_NdrDllRegisterProxy@20 @@ -157,6 +165,7 @@ DoDragDrop@16 EnableHookObject@8 FmtIdToPropStgName@8 FreePropVariantArray@8 +GetActiveObjectExt@12 GetClassFile@8 GetConvertStg@4 GetDocumentBitStg@4 @@ -205,6 +214,10 @@ HMETAFILE_UserFree@8 HMETAFILE_UserMarshal@12 HMETAFILE_UserSize@12 HMETAFILE_UserUnmarshal@12 +HMONITOR_UserFree@8 +HMONITOR_UserMarshal@12 +HMONITOR_UserSize@12 +HMONITOR_UserUnmarshal@12 HPALETTE_UserFree@8 HPALETTE_UserMarshal@12 HPALETTE_UserSize@12 @@ -288,11 +301,14 @@ OleBuildVersion@0 OleConvertIStorageToOLESTREAM@8 OleConvertIStorageToOLESTREAMEx@28 OleConvertOLESTREAMToIStorage@12 +OleConvertOLESTREAMToIStorage2@24 OleConvertOLESTREAMToIStorageEx@28 +OleConvertOLESTREAMToIStorageEx2@40 OleCreate@28 OleCreateDefaultHandler@16 OleCreateEmbeddingHelper@24 OleCreateEx@48 +OleCreateFontIndirectExt@12 OleCreateFromData@28 OleCreateFromDataEx@48 OleCreateFromFile@32 @@ -304,6 +320,8 @@ OleCreateLinkFromDataEx@48 OleCreateLinkToFile@28 OleCreateLinkToFileEx@48 OleCreateMenuDescriptor@8 +OleCreatePictureIndirectExt@16 +OleCreatePropertyFrameIndirectExt@4 OleCreateStaticFromData@28 OleDestroyMenuDescriptor@4 OleDoAutoConvert@8 @@ -312,14 +330,19 @@ OleDuplicateData@12 OleFlushClipboard@0 OleGetAutoConvert@8 OleGetClipboard@4 +OleGetClipboardWithEnterpriseInfo@20 OleGetIconOfClass@12 OleGetIconOfFile@8 +OleIconToCursorExt@8 OleInitialize@4 OleInitializeWOW@8 OleIsCurrentClipboard@4 OleIsRunning@4 OleLoad@16 OleLoadFromStream@12 +OleLoadPictureExt@32 +OleLoadPictureFileExt@32 +OleLoadPicturePathExt@24 OleLockRunning@12 OleMetafilePictFromIconAndLabel@16 OleNoteObjectVisible@8 @@ -331,12 +354,14 @@ OleRegGetMiscStatus@12 OleRegGetUserType@12 OleRun@4 OleSave@12 +OleSavePictureFileExt@8 OleSaveToStream@8 OleSetAutoConvert@8 OleSetClipboard@4 OleSetContainedObject@8 OleSetMenuDescriptor@20 OleTranslateAccelerator@12 +OleTranslateColorExt@12 OleUninitialize@0 OpenOrCreateStream@12 ProgIDFromCLSID@8 @@ -350,9 +375,12 @@ ReadClassStm@8 ReadFmtUserTypeStg@12 ReadOleStg@24 ReadStringStream@8 +RegisterActiveObjectExt@16 RegisterDragDrop@8 ReleaseStgMedium@4 +RevokeActiveObjectExt@8 RevokeDragDrop@4 +RoGetAgileReference@16 SNB_UserFree@8 SNB_UserMarshal@12 SNB_UserSize@12 diff --git a/lib/libc/mingw/lib32/ws2_32.def b/lib/libc/mingw/lib32/ws2_32.def deleted file mode 100644 index f78defcfb1f0..000000000000 --- a/lib/libc/mingw/lib32/ws2_32.def +++ /dev/null @@ -1,188 +0,0 @@ -; -; Definition file of WS2_32.dll -; Automatic generated by gendef -; written by Kai Tietz 2008 -; -LIBRARY "WS2_32.dll" -EXPORTS -accept@12 -bind@12 -closesocket@4 -connect@12 -getpeername@12 -getsockname@12 -getsockopt@20 -htonl@4 -htons@4 -ioctlsocket@12 -inet_addr@4 -inet_ntoa@4 -listen@8 -ntohl@4 -ntohs@4 -recv@16 -recvfrom@24 -select@20 -send@16 -sendto@24 -setsockopt@20 -shutdown@8 -socket@12 -WSApSetPostRoutine@4 -FreeAddrInfoEx@4 -FreeAddrInfoExW@4 -FreeAddrInfoW@4 -GetAddrInfoExA@40 -GetAddrInfoExCancel@4 -GetAddrInfoExOverlappedResult@4 -GetAddrInfoExW@40 -GetAddrInfoW@16 -GetHostNameW@8 -GetNameInfoW@28 -InetNtopW@16 -InetPtonW@12 -ProcessSocketNotifications@28 -SetAddrInfoExA@48 -SetAddrInfoExW@48 -WPUCompleteOverlappedRequest@20 -WPUGetProviderPathEx@20 -WSAAccept@20 -WSAAddressToStringA@20 -WSAAddressToStringW@20 -WSAAdvertiseProvider@8 -WSACloseEvent@4 -WSAConnect@28 -WSAConnectByList@32 -WSAConnectByNameA@36 -WSAConnectByNameW@36 -WSACreateEvent@0 -WSADuplicateSocketA@12 -WSADuplicateSocketW@12 -WSAEnumNameSpaceProvidersA@8 -WSAEnumNameSpaceProvidersExA@8 -gethostbyaddr@12 -gethostbyname@4 -getprotobyname@4 -getprotobynumber@4 -getservbyname@8 -getservbyport@8 -gethostname@8 -WSAEnumNameSpaceProvidersExW@8 -WSAEnumNameSpaceProvidersW@8 -WSAEnumNetworkEvents@12 -WSAEnumProtocolsA@12 -WSAEnumProtocolsW@12 -WSAEventSelect@12 -WSAGetOverlappedResult@20 -WSAGetQOSByName@12 -WSAGetServiceClassInfoA@16 -WSAGetServiceClassInfoW@16 -WSAGetServiceClassNameByClassIdA@12 -WSAGetServiceClassNameByClassIdW@12 -WSAHtonl@12 -WSAHtons@12 -WSAInstallServiceClassA@4 -WSAInstallServiceClassW@4 -WSAIoctl@36 -WSAJoinLeaf@32 -WSALookupServiceBeginA@12 -WSALookupServiceBeginW@12 -WSALookupServiceEnd@4 -WSALookupServiceNextA@16 -WSALookupServiceNextW@16 -WSANSPIoctl@32 -WSANtohl@12 -WSANtohs@12 -WSAPoll@12 -WSAProviderCompleteAsyncCall@8 -WSAProviderConfigChange@12 -WSARecv@28 -WSARecvDisconnect@8 -WSARecvFrom@36 -WSARemoveServiceClass@4 -WSAResetEvent@4 -WSASend@28 -WSASendDisconnect@8 -WSASendMsg@24 -WSASendTo@36 -WSASetEvent@4 -WSASetServiceA@12 -WSASetServiceW@12 -WSASocketA@24 -WSASocketW@24 -WSAAsyncSelect@16 -WSAAsyncGetHostByAddr@28 -WSAAsyncGetHostByName@20 -WSAAsyncGetProtoByNumber@20 -WSAAsyncGetProtoByName@20 -WSAAsyncGetServByPort@24 -WSAAsyncGetServByName@24 -WSACancelAsyncRequest@4 -WSASetBlockingHook@4 -WSAUnhookBlockingHook@0 -WSAGetLastError@0 -WSASetLastError@4 -WSACancelBlockingCall@0 -WSAIsBlocking@0 -WSAStartup@8 -WSACleanup@0 -WSAStringToAddressA@20 -WSAStringToAddressW@20 -WSAUnadvertiseProvider@4 -WSAWaitForMultipleEvents@20 -WSCDeinstallProvider@8 -WSCDeinstallProviderEx@12 -WSCEnableNSProvider@8 -WSCEnumProtocols@16 -WSCEnumProtocolsEx@20 -WSCGetApplicationCategory@24 -WSCGetApplicationCategoryEx@28 -WSCGetProviderInfo@24 -WSCGetProviderPath@16 -WSCInstallNameSpace@20 -WSCInstallNameSpaceEx2@28 -WSCInstallNameSpaceEx@24 -WSCInstallProvider@20 -WSCInstallProviderAndChains@32 -WSCInstallProviderEx@28 -WSCSetApplicationCategory@28 -WSCSetApplicationCategoryEx@32 -WSCSetProviderInfo@24 -WSCUnInstallNameSpace@4 -WSCUnInstallNameSpaceEx2@8 -WSCUpdateProvider@20 -WSCUpdateProviderEx@24 -WSCWriteNameSpaceOrder@8 -WSCWriteProviderOrder@8 -WSCWriteProviderOrderEx@12 -WahCloseApcHelper@4 -WahCloseHandleHelper@4 -WahCloseNotificationHandleHelper@4 -WahCloseSocketHandle@8 -WahCloseThread@8 -WahCompleteRequest@20 -WahCreateHandleContextTable@4 -WahCreateNotificationHandle@8 -WahCreateSocketHandle@8 -WahDestroyHandleContextTable@4 -WahDisableNonIFSHandleSupport@0 -WahEnableNonIFSHandleSupport@0 -WahEnumerateHandleContexts@12 -WahInsertHandleContext@8 -__WSAFDIsSet@8 -WahNotifyAllProcesses@4 -WahOpenApcHelper@4 -WahOpenCurrentThread@8 -WahOpenHandleHelper@4 -WahOpenNotificationHandleHelper@4 -WahQueueUserApc@16 -WahReferenceContextByHandle@8 -WahRemoveHandleContext@8 -WahWaitForNotification@16 -WahWriteLSPEvent@8 -freeaddrinfo@4 -getaddrinfo@16 -getnameinfo@28 -inet_ntop@16 -inet_pton@12 -WEP@0 diff --git a/lib/libc/mingw/lib64/kernel32.def b/lib/libc/mingw/lib64/kernel32.def deleted file mode 100644 index 85686a13a374..000000000000 --- a/lib/libc/mingw/lib64/kernel32.def +++ /dev/null @@ -1,1745 +0,0 @@ - -LIBRARY "KERNEL32.dll" -EXPORTS -AcquireSRWLockExclusive -AcquireSRWLockShared -ActivateActCtx -ActivateActCtxWorker -ActivatePackageVirtualizationContext -AddAtomA -AddAtomW -AddConsoleAliasA -AddConsoleAliasW -AddDllDirectory -AddIntegrityLabelToBoundaryDescriptor -AddLocalAlternateComputerNameA -AddLocalAlternateComputerNameW -AddRefActCtx -AddRefActCtxWorker -AddResourceAttributeAce -AddSIDToBoundaryDescriptor -AddScopedPolicyIDAce -AddSecureMemoryCacheCallback -AddVectoredContinueHandler -AddVectoredExceptionHandler -AdjustCalendarDate -AllocConsole -AllocConsoleWithOptions -AllocateUserPhysicalPages -AllocateUserPhysicalPagesNuma -AppPolicyGetClrCompat -AppPolicyGetCreateFileAccess -AppPolicyGetLifecycleManagement -AppPolicyGetMediaFoundationCodecLoading -AppPolicyGetProcessTerminationMethod -AppPolicyGetShowDeveloperDiagnostic -AppPolicyGetThreadInitializationType -AppPolicyGetWindowingModel -AppXGetOSMaxVersionTested -ApplicationRecoveryFinished -ApplicationRecoveryInProgress -AreFileApisANSI -AreShortNamesEnabled -AssignProcessToJobObject -AttachConsole -BackupRead -BackupSeek -BackupWrite -BaseCheckAppcompatCache -BaseCheckAppcompatCacheEx -BaseCheckAppcompatCacheExWorker -BaseCheckAppcompatCacheWorker -BaseCheckElevation -BaseCheckRunApp -BaseCleanupAppcompatCacheSupport -BaseCleanupAppcompatCacheSupportWorker -BaseDestroyVDMEnvironment -BaseDllReadWriteIniFile -BaseDumpAppcompatCache -BaseDumpAppcompatCacheWorker -BaseElevationPostProcessing -BaseFlushAppcompatCache -BaseFlushAppcompatCacheWorker -BaseFormatObjectAttributes -BaseFormatTimeOut -BaseFreeAppCompatDataForProcessWorker -BaseGenerateAppCompatData -BaseGetNamedObjectDirectory -BaseInitAppcompatCacheSupport -BaseInitAppcompatCacheSupportWorker -BaseIsAppcompatInfrastructureDisabled -BaseIsAppcompatInfrastructureDisabledWorker -BaseIsDosApplication -BaseProcessInitPostImport -BaseProcessStart -BaseQueryModuleData -BaseReadAppCompatDataForProcessWorker -BaseThreadStart -BaseSetLastNTError -BaseThreadInitThunk -BaseUpdateAppcompatCache -BaseUpdateAppcompatCacheWorker -BaseUpdateVDMEntry -BaseVerifyUnicodeString -BaseWriteErrorElevationRequiredEvent -Basep8BitStringToDynamicUnicodeString -BasepAllocateActivationContextActivationBlock -BasepAnsiStringToDynamicUnicodeString -BasepAppContainerEnvironmentExtension -BasepAppXExtension -BasepCheckAppCompat -BasepCheckBadapp -BasepCheckWebBladeHashes -BasepCheckWinSaferRestrictions -BasepConstructSxsCreateProcessMessage -BasepCopyEncryption -BasepFreeActivationContextActivationBlock -BasepFreeAppCompatData -BasepGetAppCompatData -BasepGetComputerNameFromNtPath -BasepGetExeArchType -BasepInitAppCompatData -BasepIsProcessAllowed -BasepMapModuleHandle -BasepNotifyLoadStringResource -BasepPostSuccessAppXExtension -BasepProcessInvalidImage -BasepQueryAppCompat -BasepQueryModuleChpeSettings -BasepReleaseAppXContext -BasepReleaseSxsCreateProcessUtilityStruct -BasepReportFault -BasepSetFileEncryptionCompression -Beep -BeginUpdateResourceA -BeginUpdateResourceW -BindIoCompletionCallback -BuildCommDCBA -BuildCommDCBAndTimeoutsA -BuildCommDCBAndTimeoutsW -BuildCommDCBW -BuildIoRingCancelRequest -BuildIoRingFlushFile -BuildIoRingReadFile -BuildIoRingReadFileScatter -BuildIoRingRegisterBuffers -BuildIoRingRegisterFileHandles -BuildIoRingWriteFile -BuildIoRingWriteFileGather -CallNamedPipeA -CallNamedPipeW -CallbackMayRunLong -CalloutOnFiberStack -CancelDeviceWakeupRequest -CancelIo -CancelIoEx -CancelSynchronousIo -CancelThreadpoolIo -CancelTimerQueueTimer -CancelWaitableTimer -CeipIsOptedIn -ChangeTimerQueueTimer -CheckAllowDecryptedRemoteDestinationPolicy -CheckElevation -CheckElevationEnabled -CheckForReadOnlyResource -CheckForReadOnlyResourceFilter -CheckNameLegalDOS8Dot3A -CheckNameLegalDOS8Dot3W -CheckRemoteDebuggerPresent -CheckTokenCapability -CheckTokenMembershipEx -ClearCommBreak -ClearCommError -CloseConsoleHandle -CloseHandle -CloseIoRing -ClosePackageInfo -ClosePrivateNamespace -CloseProfileUserMapping -ClosePseudoConsole -CloseState -CloseThreadpool -CloseThreadpoolCleanupGroup -CloseThreadpoolCleanupGroupMembers -CloseThreadpoolIo -CloseThreadpoolTimer -CloseThreadpoolWait -CloseThreadpoolWork -CmdBatNotification -CommConfigDialogA -CommConfigDialogW -CompareCalendarDates -CompareFileTime -CompareStringA -CompareStringEx -CompareStringOrdinal -CompareStringW -ConnectNamedPipe -ConsoleIMERoutine -ConsoleMenuControl -ContinueDebugEvent -ConvertCalDateTimeToSystemTime -ConvertDefaultLocale -ConvertFiberToThread -ConvertNLSDayOfWeekToWin32DayOfWeek -ConvertSystemTimeToCalDateTime -ConvertThreadToFiber -ConvertThreadToFiberEx -CopyContext -CopyExtendedContext -CopyFile2 -CopyFileA -CopyFileExA -CopyFileExW -CopyFileTransactedA -CopyFileTransactedW -CopyFileW -CopyLZFile -CreateActCtxA -CreateActCtxW -CreateActCtxWWorker -CreateBoundaryDescriptorA -CreateBoundaryDescriptorW -CreateConsoleScreenBuffer -CreateDirectoryA -CreateDirectoryExA -CreateDirectoryExW -CreateDirectoryTransactedA -CreateDirectoryTransactedW -CreateDirectoryW -CreateEnclave -CreateEventA -CreateEventExA -CreateEventExW -CreateEventW -CreateFiber -CreateFiberEx -CreateFile2 -CreateFileA -CreateFileMappingA -CreateFileMappingFromApp -CreateFileMappingNumaA -CreateFileMappingNumaW -CreateFileMappingW -CreateFileTransactedA -CreateFileTransactedW -CreateFileW -CreateHardLinkA -CreateHardLinkTransactedA -CreateHardLinkTransactedW -CreateHardLinkW -CreateIoCompletionPort -CreateIoRing -CreateJobObjectA -CreateJobObjectW -CreateJobSet -CreateMailslotA -CreateMailslotW -CreateMemoryResourceNotification -CreateMutexA -CreateMutexExA -CreateMutexExW -CreateMutexW -CreateNamedPipeA -CreateNamedPipeW -CreateNlsSecurityDescriptor -CreatePackageVirtualizationContext -CreatePipe -CreatePrivateNamespaceA -CreatePrivateNamespaceW -CreateProcessA -; MSDN says these are exported from ADVAPI32.DLL. -; CreateProcessAsUserA -; CreateProcessAsUserW -CreateProcessInternalA -CreateProcessInternalW -CreateProcessW -CreatePseudoConsole -CreateRemoteThread -CreateRemoteThreadEx -CreateSemaphoreA -CreateSemaphoreExA -CreateSemaphoreExW -CreateSemaphoreW -CreateSymbolicLinkA -CreateSymbolicLinkTransactedA -CreateSymbolicLinkTransactedW -CreateSymbolicLinkW -CreateTapePartition -CreateThread -CreateThreadpool -CreateThreadpoolCleanupGroup -CreateThreadpoolIo -CreateThreadpoolTimer -CreateThreadpoolWait -CreateThreadpoolWork -CreateTimerQueue -CreateTimerQueueTimer -CreateToolhelp32Snapshot -CreateUmsCompletionList -CreateUmsThreadContext -CreateWaitableTimerA -CreateWaitableTimerExA -CreateWaitableTimerExW -CreateWaitableTimerW -CtrlRoutine -DeactivateActCtx -DeactivateActCtxWorker -DeactivatePackageVirtualizationContext -DebugActiveProcess -DebugActiveProcessStop -DebugBreak -DebugBreakProcess -DebugSetProcessKillOnExit -DecodePointer -DecodeSystemPointer -DefineDosDeviceA -DefineDosDeviceW -DelayLoadFailureHook -DeleteAtom -DeleteBoundaryDescriptor -DeleteCriticalSection -DeleteFiber -DeleteFileA -DeleteFileTransactedA -DeleteFileTransactedW -DeleteFileW -DeleteProcThreadAttributeList -DeleteSynchronizationBarrier -DeleteTimerQueue -DeleteTimerQueueEx -DeleteTimerQueueTimer -DeleteUmsCompletionList -DeleteUmsThreadContext -DeleteVolumeMountPointA -DeleteVolumeMountPointW -DequeueUmsCompletionListItems -DeviceIoControl -DisableThreadLibraryCalls -DisableThreadProfiling -DisassociateCurrentThreadFromCallback -DiscardVirtualMemory -DisconnectNamedPipe -DnsHostnameToComputerNameA -DnsHostnameToComputerNameExW -DnsHostnameToComputerNameW -DosDateTimeToFileTime -DosPathToSessionPathA -DosPathToSessionPathW -DuplicateConsoleHandle -DuplicateEncryptionInfoFileExt -DuplicateHandle -DuplicatePackageVirtualizationContext -EnableProcessOptionalXStateFeatures -EnableThreadProfiling -EncodePointer -EncodeSystemPointer -EndUpdateResourceA -EndUpdateResourceW -EnterCriticalSection -EnterUmsSchedulingMode -EnterSynchronizationBarrier -EnumCalendarInfoA -EnumCalendarInfoExA -EnumCalendarInfoExEx -EnumCalendarInfoExW -EnumCalendarInfoW -EnumDateFormatsA -EnumDateFormatsExA -EnumDateFormatsExEx -EnumDateFormatsExW -EnumDateFormatsW -EnumLanguageGroupLocalesA -EnumLanguageGroupLocalesW -EnumResourceLanguagesA -EnumResourceLanguagesExA -EnumResourceLanguagesExW -EnumResourceLanguagesW -EnumResourceNamesA -EnumResourceNamesExA -EnumResourceNamesExW -EnumResourceNamesW -EnumResourceTypesA -EnumResourceTypesExA -EnumResourceTypesExW -EnumResourceTypesW -EnumSystemCodePagesA -EnumSystemCodePagesW -EnumSystemFirmwareTables -EnumSystemGeoID -EnumSystemGeoNames -EnumSystemLanguageGroupsA -EnumSystemLanguageGroupsW -EnumSystemLocalesA -EnumSystemLocalesEx -EnumSystemLocalesW -EnumTimeFormatsA -EnumTimeFormatsEx -EnumTimeFormatsW -EnumUILanguagesA -EnumUILanguagesW -EnumerateLocalComputerNamesA -EnumerateLocalComputerNamesW -EraseTape -EscapeCommFunction -ExecuteUmsThread -ExitProcess -ExitThread -ExitVDM -ExpandEnvironmentStringsA -ExpandEnvironmentStringsW -ExpungeConsoleCommandHistoryA -ExpungeConsoleCommandHistoryW -FatalAppExitA -FatalAppExitW -FatalExit -FileTimeToDosDateTime -FileTimeToLocalFileTime -FileTimeToSystemTime -FillConsoleOutputAttribute -FillConsoleOutputCharacterA -FillConsoleOutputCharacterW -FindActCtxSectionGuid -FindActCtxSectionGuidWorker -FindActCtxSectionStringA -FindActCtxSectionStringW -FindActCtxSectionStringWWorker -FindAtomA -FindAtomW -FindClose -FindCloseChangeNotification -FindFirstChangeNotificationA -FindFirstChangeNotificationW -FindFirstFileA -FindFirstFileExA -FindFirstFileExW -FindFirstFileNameTransactedW -FindFirstFileNameW -FindFirstFileTransactedA -FindFirstFileTransactedW -FindFirstFileW -FindFirstStreamTransactedW -FindFirstStreamW -FindFirstVolumeA -FindFirstVolumeMountPointA -FindFirstVolumeMountPointW -FindFirstVolumeW -FindNLSString -FindNLSStringEx -FindNextChangeNotification -FindNextFileA -FindNextFileNameW -FindNextFileW -FindNextStreamW -FindNextVolumeA -FindNextVolumeMountPointA -FindNextVolumeMountPointW -FindNextVolumeW -FindPackagesByPackageFamily -FindResourceA -FindResourceExA -FindResourceExW -FindResourceW -FindStringOrdinal -FindVolumeClose -FindVolumeMountPointClose -FlsAlloc -FlsFree -FlsGetValue -FlsGetValue2 -FlsSetValue -FlushConsoleInputBuffer -FlushFileBuffers -FlushInstructionCache -FlushProcessWriteBuffers -FlushViewOfFile -FoldStringA -FoldStringW -FormatApplicationUserModelId -FormatMessageA -FormatMessageW -FreeConsole -FreeEnvironmentStringsA -FreeEnvironmentStringsW -FreeLibrary -FreeLibraryAndExitThread -FreeLibraryWhenCallbackReturns -FreeMemoryJobObject -FreeResource -FreeUserPhysicalPages -GenerateConsoleCtrlEvent -GetACP -GetActiveProcessorCount -GetActiveProcessorGroupCount -GetAppContainerAce -GetAppContainerNamedObjectPath -GetApplicationRecoveryCallback -GetApplicationRecoveryCallbackWorker -GetApplicationRestartSettings -GetApplicationRestartSettingsWorker -GetApplicationUserModelId -GetAtomNameA -GetAtomNameW -GetBinaryType -GetBinaryTypeA -GetBinaryTypeW -GetCPFileNameFromRegistry -GetCPInfo -GetCPInfoExA -GetCPInfoExW -GetCachedSigningLevel -GetCalendarDateFormat -GetCalendarDateFormatEx -GetCalendarDaysInMonth -GetCalendarDifferenceInDays -GetCalendarInfoA -GetCalendarInfoEx -GetCalendarInfoW -GetCalendarMonthsInYear -GetCalendarSupportedDateRange -GetCalendarWeekNumber -GetComPlusPackageInstallStatus -GetCommConfig -GetCommMask -GetCommModemStatus -GetCommProperties -GetCommState -GetCommTimeouts -GetCommandLineA -GetCommandLineW -GetCompressedFileSizeA -GetCompressedFileSizeTransactedA -GetCompressedFileSizeTransactedW -GetCompressedFileSizeW -GetComputerNameA -GetComputerNameExA -GetComputerNameExW -GetComputerNameW -GetConsoleAliasA -GetConsoleAliasExesA -GetConsoleAliasExesLengthA -GetConsoleAliasExesLengthW -GetConsoleAliasExesW -GetConsoleAliasW -GetConsoleAliasesA -GetConsoleAliasesLengthA -GetConsoleAliasesLengthW -GetConsoleAliasesW -GetConsoleCP -GetConsoleCharType -GetConsoleCommandHistoryA -GetConsoleCommandHistoryLengthA -GetConsoleCommandHistoryLengthW -GetConsoleCommandHistoryW -GetConsoleCursorInfo -GetConsoleCursorMode -GetConsoleDisplayMode -GetConsoleFontInfo -GetConsoleFontSize -GetConsoleHardwareState -GetConsoleHistoryInfo -GetConsoleInputExeNameA -GetConsoleInputExeNameW -GetConsoleInputWaitHandle -GetConsoleKeyboardLayoutNameA -GetConsoleKeyboardLayoutNameW -GetConsoleMode -GetConsoleNlsMode -GetConsoleOriginalTitleA -GetConsoleOriginalTitleW -GetConsoleOutputCP -GetConsoleProcessList -GetConsoleScreenBufferInfo -GetConsoleScreenBufferInfoEx -GetConsoleSelectionInfo -GetConsoleTitleA -GetConsoleTitleW -GetConsoleWindow -GetCurrencyFormatA -GetCurrencyFormatEx -GetCurrencyFormatW -GetCurrentActCtx -GetCurrentActCtxWorker -GetCurrentApplicationUserModelId -GetCurrentConsoleFont -GetCurrentConsoleFontEx -GetCurrentDirectoryA -GetCurrentDirectoryW -GetCurrentPackageFamilyName -GetCurrentPackageFullName -GetCurrentPackageId -GetCurrentPackageInfo -GetCurrentPackagePath -GetCurrentPackageVirtualizationContext -GetCurrentProcess -GetCurrentProcessId -GetCurrentProcessorNumber -GetCurrentProcessorNumberEx -GetCurrentThread -GetCurrentThreadId -GetCurrentThreadStackLimits -GetCurrentUmsThread -GetDateFormatA -GetDateFormatAWorker -GetDateFormatEx -GetDateFormatW -GetDateFormatWWorker -GetDefaultCommConfigA -GetDefaultCommConfigW -GetDefaultSortkeySize -GetDevicePowerState -GetDiskFreeSpaceA -GetDiskFreeSpaceExA -GetDiskFreeSpaceExW -GetDiskFreeSpaceW -GetDiskSpaceInformationA -GetDiskSpaceInformationW -GetDllDirectoryA -GetDllDirectoryW -GetDriveTypeA -GetDriveTypeW -GetDurationFormat -GetDurationFormatEx -GetDynamicTimeZoneInformation -GetEnabledExtendedFeatures -GetEnabledXStateFeatures -GetEncryptedFileVersionExt -GetEnvironmentStrings -GetEnvironmentStringsA -GetEnvironmentStringsW -GetEnvironmentVariableA -GetEnvironmentVariableW -GetEraNameCountedString -GetErrorMode -GetExitCodeProcess -GetExitCodeThread -GetExpandedNameA -GetExpandedNameW -GetExtendedContextLength -GetExtendedFeaturesMask -GetFileAttributesA -GetFileAttributesExA -GetFileAttributesExW -GetFileAttributesTransactedA -GetFileAttributesTransactedW -GetFileAttributesW -GetFileBandwidthReservation -GetFileInformationByHandle -GetFileInformationByHandleEx -GetFileInformationByName -GetFileMUIInfo -GetFileMUIPath -GetFileSize -GetFileSizeEx -GetFileTime -GetFileType -GetFinalPathNameByHandleA -GetFinalPathNameByHandleW -GetFirmwareEnvironmentVariableA -GetFirmwareEnvironmentVariableExA -GetFirmwareEnvironmentVariableExW -GetFirmwareEnvironmentVariableW -GetFirmwareType -GetFullPathNameA -GetFullPathNameTransactedA -GetFullPathNameTransactedW -GetFullPathNameW -GetGeoInfoA -GetGeoInfoW -GetGeoInfoEx -GetHandleInformation -GetIoRingInfo -GetLargePageMinimum -GetLargestConsoleWindowSize -GetLastError -GetLinguistLangSize -GetLocalTime -GetLocaleInfoA -GetLocaleInfoEx -GetLocaleInfoW -GetLogicalDriveStringsA -GetLogicalDriveStringsW -GetLogicalDrives -GetLogicalProcessorInformation -GetLogicalProcessorInformationEx -GetLongPathNameA -GetLongPathNameTransactedA -GetLongPathNameTransactedW -GetLongPathNameW -GetMachineTypeAttributes -GetMailslotInfo -GetMaximumProcessorCount -GetMaximumProcessorGroupCount -GetMemoryErrorHandlingCapabilities -GetModuleFileNameA -GetModuleFileNameW -GetModuleHandleA -GetModuleHandleExA -GetModuleHandleExW -GetModuleHandleW -GetNLSVersion -GetNLSVersionEx -GetNamedPipeAttribute -GetNamedPipeClientComputerNameA -GetNamedPipeClientComputerNameW -GetNamedPipeClientProcessId -GetNamedPipeClientSessionId -GetNamedPipeHandleStateA -GetNamedPipeHandleStateW -GetNamedPipeInfo -GetNamedPipeServerProcessId -GetNamedPipeServerSessionId -GetNativeSystemInfo -GetNextUmsListItem -GetNextVDMCommand -GetNlsSectionName -GetNumaAvailableMemoryNode -GetNumaAvailableMemoryNodeEx -GetNumaHighestNodeNumber -GetNumaNodeNumberFromHandle -GetNumaNodeProcessorMask -GetNumaNodeProcessorMask2 -GetNumaNodeProcessorMaskEx -GetNumaProcessorNode -GetNumaProcessorNodeEx -GetNumaProximityNode -GetNumaProximityNodeEx -GetNumberFormatA -GetNumberFormatEx -GetNumberFormatW -GetNumberOfConsoleFonts -GetNumberOfConsoleInputEvents -GetNumberOfConsoleMouseButtons -GetOEMCP -GetOverlappedResult -GetOverlappedResultEx -GetPackageApplicationIds -GetPackageFamilyName -GetPackageFullName -GetPackageId -GetPackageInfo -GetPackagePath -GetPackagePathByFullName -GetPackagesByPackageFamily -GetPhysicallyInstalledSystemMemory -GetPriorityClass -GetPrivateProfileIntA -GetPrivateProfileIntW -GetPrivateProfileSectionA -GetPrivateProfileSectionNamesA -GetPrivateProfileSectionNamesW -GetPrivateProfileSectionW -GetPrivateProfileStringA -GetPrivateProfileStringW -GetPrivateProfileStructA -GetPrivateProfileStructW -GetProcAddress -GetProcessAffinityMask -GetProcessDefaultCpuSetMasks -GetProcessDefaultCpuSets -GetProcessDEPPolicy -GetProcessGroupAffinity -GetProcessHandleCount -GetProcessHeap -GetProcessHeaps -GetProcessId -GetProcessIdOfThread -GetProcessInformation -GetProcessIoCounters -GetProcessMitigationPolicy -GetProcessPreferredUILanguages -GetProcessPriorityBoost -GetProcessShutdownParameters -GetProcessTimes -GetProcessVersion -GetProcessWorkingSetSize -GetProcessWorkingSetSizeEx -GetProcessesInVirtualizationContext -GetProcessorSystemCycleTime -GetProductInfo -GetProfileIntA -GetProfileIntW -GetProfileSectionA -GetProfileSectionW -GetProfileStringA -GetProfileStringW -GetQueuedCompletionStatus -GetQueuedCompletionStatusEx -GetShortPathNameA -GetShortPathNameW -GetStagedPackagePathByFullName -GetStartupInfoA -GetStartupInfoW -GetStateFolder -GetStdHandle -GetStringScripts -GetStringTypeA -GetStringTypeExA -GetStringTypeExW -GetStringTypeW -GetSystemAppDataKey -GetSystemCpuSetInformation -GetSystemDEPPolicy -GetSystemDefaultLCID -GetSystemDefaultLangID -GetSystemDefaultLocaleName -GetSystemDefaultUILanguage -GetSystemDirectoryA -GetSystemDirectoryW -GetSystemFileCacheSize -GetSystemFirmwareTable -GetSystemInfo -GetSystemPowerStatus -GetSystemPreferredUILanguages -GetSystemRegistryQuota -GetSystemTime -GetSystemTimeAdjustment -GetSystemTimeAsFileTime -GetSystemTimePreciseAsFileTime -GetSystemTimes -GetSystemWindowsDirectoryA -GetSystemWindowsDirectoryW -GetSystemWow64DirectoryA -GetSystemWow64DirectoryW -GetTapeParameters -GetTapePosition -GetTapeStatus -GetTempFileNameA -GetTempFileNameW -GetTempPathA -GetTempPathW -GetTempPath2A -GetTempPath2W -GetThreadContext -GetThreadDescription -GetThreadEnabledXStateFeatures -GetThreadErrorMode -GetThreadGroupAffinity -GetThreadIOPendingFlag -GetThreadId -GetThreadIdealProcessorEx -GetThreadInformation -GetThreadLocale -GetThreadPreferredUILanguages -GetThreadPriority -GetThreadPriorityBoost -GetThreadSelectedCpuSetMasks -GetThreadSelectedCpuSets -GetThreadSelectorEntry -GetThreadTimes -GetThreadUILanguage -GetTickCount -GetTickCount64 -GetTimeFormatA -GetTimeFormatAWorker -GetTimeFormatEx -GetTimeFormatW -GetTimeFormatWWorker -GetTimeZoneInformation -GetTimeZoneInformationForYear -GetUILanguageInfo -GetUmsCompletionListEvent -GetUmsSystemThreadInformation -GetUserDefaultGeoName -GetUserDefaultLCID -GetUserDefaultLangID -GetUserDefaultLocaleName -GetUserDefaultUILanguage -GetUserGeoID -GetUserPreferredUILanguages -GetVDMCurrentDirectories -GetVersion -GetVersionExA -GetVersionExW -GetVolumeInformationA -GetVolumeInformationByHandleW -GetVolumeInformationW -GetVolumeNameForVolumeMountPointA -GetVolumeNameForVolumeMountPointW -GetVolumePathNameA -GetVolumePathNameW -GetVolumePathNamesForVolumeNameA -GetVolumePathNamesForVolumeNameW -GetWindowsDirectoryA -GetWindowsDirectoryW -GetWriteWatch -GetXStateFeaturesMask -GlobalAddAtomA -GlobalAddAtomExA -GlobalAddAtomExW -GlobalAddAtomW -GlobalAlloc -GlobalCompact -GlobalDeleteAtom -GlobalFindAtomA -GlobalFindAtomW -GlobalFix -GlobalFlags -GlobalFree -GlobalGetAtomNameA -GlobalGetAtomNameW -GlobalHandle -GlobalLock -GlobalMemoryStatus -GlobalMemoryStatusEx -GlobalReAlloc -GlobalSize -GlobalUnWire -GlobalUnfix -GlobalUnlock -GlobalWire -Heap32First -Heap32ListFirst -Heap32ListNext -Heap32Next -HeapAlloc -HeapCompact -HeapCreate -HeapCreateTagsW -HeapDestroy -HeapExtend -HeapFree -HeapLock -HeapQueryInformation -HeapQueryTagW -HeapReAlloc -HeapSetInformation -HeapSize -HeapSummary -HeapUnlock -HeapUsage -HeapValidate -HeapWalk -IdnToAscii -IdnToNameprepUnicode -IdnToUnicode -InitAtomTable -InitOnceBeginInitialize -InitOnceComplete -InitOnceExecuteOnce -InitOnceInitialize -InitializeConditionVariable -InitializeContext -InitializeContext2 -InitializeCriticalSection -InitializeCriticalSectionAndSpinCount -InitializeCriticalSectionEx -InitializeEnclave -InitializeExtendedContext -InitializeProcThreadAttributeList -InitializeSListHead -InitializeSRWLock -InitializeSynchronizationBarrier -InstallELAMCertificateInfo -InterlockedFlushSList -InterlockedPopEntrySList -InterlockedPushEntrySList -InterlockedPushListSList -InterlockedPushListSListEx -InvalidateConsoleDIBits -IsBadCodePtr -IsBadHugeReadPtr -IsBadHugeWritePtr -IsBadReadPtr -IsBadStringPtrA -IsBadStringPtrW -IsBadWritePtr -IsCalendarLeapDay -IsCalendarLeapMonth -IsCalendarLeapYear -IsDBCSLeadByte -IsDBCSLeadByteEx -IsDebuggerPresent -IsEnclaveTypeSupported -IsIoRingOpSupported -IsNLSDefinedString -IsNativeVhdBoot -IsNormalizedString -IsProcessCritical -IsProcessInJob -IsProcessorFeaturePresent -IsSystemResumeAutomatic -IsThreadAFiber -IsThreadpoolTimerSet -IsTimeZoneRedirectionEnabled -IsUserCetAvailableInEnvironment -IsValidCalDateTime -IsValidCodePage -IsValidLanguageGroup -IsValidLocale -IsValidUILanguage -IsValidLocaleName -IsValidNLSVersion -IsWow64GuestMachineSupported -IsWow64Process -IsWow64Process2 -K32EmptyWorkingSet -K32EnumDeviceDrivers -K32EnumPageFilesA -K32EnumPageFilesW -K32EnumProcessModules -K32EnumProcessModulesEx -K32EnumProcesses -K32GetDeviceDriverBaseNameA -K32GetDeviceDriverBaseNameW -K32GetDeviceDriverFileNameA -K32GetDeviceDriverFileNameW -K32GetMappedFileNameA -K32GetMappedFileNameW -K32GetModuleBaseNameA -K32GetModuleBaseNameW -K32GetModuleFileNameExA -K32GetModuleFileNameExW -K32GetModuleInformation -K32GetPerformanceInfo -K32GetProcessImageFileNameA -K32GetProcessImageFileNameW -K32GetProcessMemoryInfo -K32GetWsChanges -K32GetWsChangesEx -K32InitializeProcessForWsWatch -K32QueryWorkingSet -K32QueryWorkingSetEx -LCIDToLocaleName -LCMapStringA -LCMapStringEx -LCMapStringW -LZClose -LZCloseFile -LZCopy -LZCreateFileW -LZDone -LZInit -LZOpenFileA -LZOpenFileW -LZRead -LZSeek -LZStart -LeaveCriticalSection -LeaveCriticalSectionWhenCallbackReturns -LoadAppInitDlls -LoadEnclaveData -LoadLibraryA -LoadLibraryExA -LoadLibraryExW -LoadLibraryW -LoadModule -LoadPackagedLibrary -LoadResource -LoadStringBaseExW -LoadStringBaseW -LocalAlloc -LocalCompact -LocalFileTimeToFileTime -LocalFileTimeToLocalSystemTime -LocalFlags -LocalFree -LocalHandle -LocalLock -LocalReAlloc -LocalShrink -LocalSize -LocalSystemTimeToLocalFileTime -LocalUnlock -LocaleNameToLCID -LocateExtendedFeature -LocateLegacyContext -LocateXStateFeature -LockFile -LockFileEx -LockResource -MapUserPhysicalPages -MapUserPhysicalPagesScatter -MapViewOfFile -MapViewOfFileEx -MapViewOfFileExNuma -MapViewOfFileFromApp -Module32First -Module32FirstW -Module32Next -Module32NextW -MoveFileA -MoveFileExA -MoveFileExW -MoveFileTransactedA -MoveFileTransactedW -MoveFileW -MoveFileWithProgressA -MoveFileWithProgressW -MulDiv -MultiByteToWideChar -NeedCurrentDirectoryForExePathA -NeedCurrentDirectoryForExePathW -NlsConvertIntegerToString -NlsCheckPolicy -NlsEventDataDescCreate -NlsGetCacheUpdateCount -NlsUpdateLocale -NlsUpdateSystemLocale -NlsResetProcessLocale -NlsWriteEtwEvent -NormalizeString -NotifyMountMgr -NotifyUILanguageChange -NtVdm64CreateProcessInternalW -OOBEComplete -OfferVirtualMemory -OpenConsoleW -OpenConsoleWStub -OpenDataFile -OpenEventA -OpenEventW -OpenFile -OpenFileById -OpenFileMappingA -OpenFileMappingW -OpenJobObjectA -OpenJobObjectW -OpenMutexA -OpenMutexW -OpenPackageInfoByFullName -OpenPrivateNamespaceA -OpenPrivateNamespaceW -OpenProcess -; MSDN says OpenProcessToken is from Advapi32.dll, not Kernel32.dll -; OpenProcessToken -OpenProfileUserMapping -OpenSemaphoreA -OpenSemaphoreW -OpenState -OpenStateExplicit -OpenThread -; MSDN says this is exported from ADVAPI32.DLL. -; OpenThreadToken -OpenWaitableTimerA -OpenWaitableTimerW -OutputDebugStringA -OutputDebugStringW -PackageFamilyNameFromFullName -PackageFamilyNameFromId -PackageFullNameFromId -PackageIdFromFullName -PackageNameAndPublisherIdFromFamilyName -ParseApplicationUserModelId -PeekConsoleInputA -PeekConsoleInputW -PeekNamedPipe -PopIoRingCompletion -PostQueuedCompletionStatus -PowerClearRequest -PowerCreateRequest -PowerSetRequest -PrefetchVirtualMemory -PrepareTape -PrivCopyFileExW -PrivMoveFileIdentityW -Process32First -Process32FirstW -Process32Next -Process32NextW -ProcessIdToSessionId -PssCaptureSnapshot -PssDuplicateSnapshot -PssFreeSnapshot -PssQuerySnapshot -PssWalkMarkerCreate -PssWalkMarkerFree -PssWalkMarkerGetPosition -PssWalkMarkerRewind -PssWalkMarkerSeek -PssWalkMarkerSeekToBeginning -PssWalkMarkerSetPosition -PssWalkMarkerTell -PssWalkSnapshot -PulseEvent -PurgeComm -QueryActCtxSettingsW -QueryActCtxSettingsWWorker -QueryActCtxW -QueryActCtxWWorker -QueryDepthSList -QueryDosDeviceA -QueryDosDeviceW -QueryFullProcessImageNameA -QueryFullProcessImageNameW -QueryIdleProcessorCycleTime -QueryIdleProcessorCycleTimeEx -QueryInformationJobObject -QueryIoRateControlInformationJobObject -QueryIoRingCapabilities -QueryMemoryResourceNotification -QueryPerformanceCounter -QueryPerformanceFrequency -QueryProcessAffinityUpdateMode -QueryProcessCycleTime -QueryProtectedPolicy -QueryThreadCycleTime -QueryThreadProfiling -QueryThreadpoolStackInformation -QueryUmsThreadInformation -QueryUnbiasedInterruptTime -QueueUserAPC -QueueUserAPC2 -QueueUserWorkItem -QuirkGetData2Worker -QuirkGetDataWorker -QuirkIsEnabled2Worker -QuirkIsEnabled3Worker -QuirkIsEnabledForPackage2Worker -QuirkIsEnabledForPackage3Worker -QuirkIsEnabledForPackage4Worker -QuirkIsEnabledForPackageWorker -QuirkIsEnabledForProcessWorker -QuirkIsEnabledWorker -RaiseException -RaiseFailFastException -RaiseInvalid16BitExeError -ReOpenFile -ReclaimVirtualMemory -ReadConsoleA -ReadConsoleInputA -ReadConsoleInputExA -ReadConsoleInputExW -ReadConsoleInputW -ReadConsoleOutputA -ReadConsoleOutputAttribute -ReadConsoleOutputCharacterA -ReadConsoleOutputCharacterW -ReadConsoleOutputW -ReadConsoleW -ReadDirectoryChangesExW -ReadDirectoryChangesW -ReadFile -ReadFileEx -ReadFileScatter -ReadProcessMemory -ReadThreadProfilingData -; -; MSDN says these functions are exported -; from advapi32.dll. Commented out for -; compatibility with older versions of -; Windows. -; -; RegKrnGetGlobalState and RegKrnInitialize -; are known exceptions. -; -;RegCloseKey -;RegCopyTreeW -;RegCreateKeyExA -;RegCreateKeyExW -;RegDeleteKeyExA -;RegDeleteKeyExW -;RegDeleteTreeA -;RegDeleteTreeW -;RegDeleteValueA -;RegDeleteValueW -;RegDisablePredefinedCacheEx -;RegEnumKeyExA -;RegEnumKeyExW -;RegEnumValueA -;RegEnumValueW -;RegFlushKey -;RegGetKeySecurity -;RegGetValueA -;RegGetValueW -RegKrnGetGlobalState -RegKrnInitialize -;RegLoadKeyA -;RegLoadKeyW -;RegLoadMUIStringA -;RegLoadMUIStringW -;RegNotifyChangeKeyValue -;RegOpenCurrentUser -;RegOpenKeyExA -;RegOpenKeyExW -;RegOpenUserClassesRoot -;RegQueryInfoKeyA -;RegQueryInfoKeyW -;RegQueryValueExA -;RegQueryValueExW -;RegRestoreKeyA -;RegRestoreKeyW -;RegSaveKeyExA -;RegSaveKeyExW -;RegSetKeySecurity -;RegSetValueExA -;RegSetValueExW -;RegUnLoadKeyA -;RegUnLoadKeyW -RegisterApplicationRecoveryCallback -RegisterApplicationRestart -RegisterBadMemoryNotification -RegisterConsoleIME -RegisterConsoleOS2 -RegisterConsoleVDM -RegisterWaitForInputIdle -RegisterWaitForSingleObject -RegisterWaitForSingleObjectEx -RegisterWaitUntilOOBECompleted -RegisterWowBaseHandlers -RegisterWowExec -ReleaseActCtx -ReleaseActCtxWorker -ReleaseMutex -ReleaseMutexWhenCallbackReturns -ReleasePackageVirtualizationContext -ReleasePseudoConsole -ReleaseSRWLockExclusive -ReleaseSRWLockShared -ReleaseSemaphore -ReleaseSemaphoreWhenCallbackReturns -RemoveDirectoryA -RemoveDirectoryTransactedA -RemoveDirectoryTransactedW -RemoveDirectoryW -RemoveDllDirectory -RemoveLocalAlternateComputerNameA -RemoveLocalAlternateComputerNameW -RemoveSecureMemoryCacheCallback -RemoveVectoredContinueHandler -RemoveVectoredExceptionHandler -ReplaceFile -ReplaceFileA -ReplaceFileW -ReplacePartitionUnit -RequestDeviceWakeup -RequestWakeupLatency -ResetEvent -ResetWriteWatch -ResizePseudoConsole -ResolveDelayLoadedAPI -ResolveDelayLoadsFromDll -ResolveLocaleName -RestoreLastError -ResumeThread -RtlAddFunctionTable -RtlCaptureContext -RtlCaptureStackBackTrace -RtlCompareMemory -RtlCopyMemory -RtlDeleteFunctionTable -RtlFillMemory -RtlInstallFunctionTableCallback -RtlIsEcCode -RtlLookupFunctionEntry -RtlMoveMemory -RtlPcToFileHeader -RtlRaiseException -RtlRestoreContext -RtlUnwind -RtlUnwindEx -RtlVirtualUnwind -RtlVirtualUnwind2 -RtlZeroMemory -ScrollConsoleScreenBufferA -ScrollConsoleScreenBufferW -SearchPathA -SearchPathW -SetCachedSigningLevel -SetCPGlobal -SetCalendarInfoA -SetCalendarInfoW -SetComPlusPackageInstallStatus -SetCommBreak -SetCommConfig -SetCommMask -SetCommState -SetCommTimeouts -SetComputerNameA -SetComputerNameEx2W -SetComputerNameExA -SetComputerNameExW -SetComputerNameW -SetConsoleActiveScreenBuffer -SetConsoleCP -SetConsoleCommandHistoryMode -SetConsoleCtrlHandler -SetConsoleCursor -SetConsoleCursorInfo -SetConsoleCursorMode -SetConsoleCursorPosition -SetConsoleDisplayMode -SetConsoleFont -SetConsoleHardwareState -SetConsoleHistoryInfo -SetConsoleIcon -SetConsoleInputExeNameA -SetConsoleInputExeNameW -SetConsoleKeyShortcuts -SetConsoleLocalEUDC -SetConsoleMaximumWindowSize -SetConsoleMenuClose -SetConsoleMode -SetConsoleNlsMode -SetConsoleNumberOfCommandsA -SetConsoleNumberOfCommandsW -SetConsoleOS2OemFormat -SetConsoleOutputCP -SetConsolePalette -SetConsoleScreenBufferInfoEx -SetConsoleScreenBufferSize -SetConsoleTextAttribute -SetConsoleTitleA -SetConsoleTitleW -SetConsoleWindowInfo -SetCriticalSectionSpinCount -SetCurrentConsoleFontEx -SetCurrentDirectoryA -SetCurrentDirectoryW -SetDefaultCommConfigA -SetDefaultCommConfigW -SetDefaultDllDirectories -SetDllDirectoryA -SetDllDirectoryW -SetDynamicTimeZoneInformation -SetEndOfFile -SetEnvironmentStringsA -SetEnvironmentStringsW -SetEnvironmentVariableA -SetEnvironmentVariableW -SetErrorMode -SetEvent -SetEventWhenCallbackReturns -SetExtendedFeaturesMask -SetFileApisToANSI -SetFileApisToOEM -SetFileAttributesA -SetFileAttributesTransactedA -SetFileAttributesTransactedW -SetFileAttributesW -SetFileBandwidthReservation -SetFileCompletionNotificationModes -SetFileInformationByHandle -SetFileIoOverlappedRange -SetFilePointer -SetFilePointerEx -SetFileShortNameA -SetFileShortNameW -SetFileTime -SetFileValidData -SetFirmwareEnvironmentVariableA -SetFirmwareEnvironmentVariableExA -SetFirmwareEnvironmentVariableExW -SetFirmwareEnvironmentVariableW -SetHandleCount -SetHandleInformation -SetInformationJobObject -SetIoRateControlInformationJobObject -SetIoRingCompletionEvent -SetLastConsoleEventActive -SetLastError -SetLocalPrimaryComputerNameA -SetLocalPrimaryComputerNameW -SetLocalTime -SetLocaleInfoA -SetLocaleInfoW -SetMailslotInfo -SetMessageWaitingIndicator -SetNamedPipeAttribute -SetNamedPipeHandleState -SetPriorityClass -SetProcessAffinityMask -SetProcessAffinityUpdateMode -SetProcessDEPPolicy -SetProcessDefaultCpuSetMasks -SetProcessDefaultCpuSets -SetProcessDynamicEHContinuationTargets -SetProcessDynamicEnforcedCetCompatibleRanges -SetProcessInformation -SetProcessMitigationPolicy -SetProcessPreferredUILanguages -SetProcessPriorityBoost -SetProcessShutdownParameters -SetProcessWorkingSetSize -SetProcessWorkingSetSizeEx -SetProtectedPolicy -SetSearchPathMode -SetStdHandle -SetStdHandleEx -SetSystemFileCacheSize -SetSystemPowerState -SetSystemTime -SetSystemTimeAdjustment -SetTapeParameters -SetTapePosition -SetTermsrvAppInstallMode -SetThreadAffinityMask -SetThreadContext -SetThreadDescription -SetThreadErrorMode -SetThreadExecutionState -SetThreadGroupAffinity -SetThreadIdealProcessor -SetThreadIdealProcessorEx -SetThreadInformation -SetThreadLocale -SetThreadPreferredUILanguages -SetThreadPriority -SetThreadPriorityBoost -SetThreadSelectedCpuSetMasks -SetThreadSelectedCpuSets -SetThreadStackGuarantee -; MSDN says this is exported from ADVAPI32.DLL. -; SetThreadToken -SetThreadUILanguage -SetThreadpoolStackInformation -SetThreadpoolThreadMaximum -SetThreadpoolThreadMinimum -SetThreadpoolTimer -SetThreadpoolTimerEx -SetThreadpoolWait -SetThreadpoolWaitEx -SetTimeZoneInformation -SetTimerQueueTimer -SetUmsThreadInformation -SetUnhandledExceptionFilter -SetUserGeoID -SetUserGeoName -SetVDMCurrentDirectories -SetVolumeLabelA -SetVolumeLabelW -SetVolumeMountPointA -SetVolumeMountPointW -SetVolumeMountPointWStub -SetWaitableTimer -SetWaitableTimerEx -SetXStateFeaturesMask -SetupComm -ShowConsoleCursor -SignalObjectAndWait -SizeofResource -Sleep -SleepConditionVariableCS -SleepConditionVariableSRW -SleepEx -SortCloseHandle -SortGetHandle -StartThreadpoolIo -SubmitIoRing -SubmitThreadpoolWork -SuspendThread -SwitchToFiber -SwitchToThread -SystemTimeToFileTime -SystemTimeToTzSpecificLocalTime -SystemTimeToTzSpecificLocalTimeEx -TerminateJobObject -TerminateProcess -TerminateThread -TermsrvAppInstallMode -TermsrvConvertSysRootToUserDir -TermsrvCreateRegEntry -TermsrvDeleteKey -TermsrvDeleteValue -TermsrvGetPreSetValue -TermsrvGetWindowsDirectoryA -TermsrvGetWindowsDirectoryW -TermsrvOpenRegEntry -TermsrvOpenUserClasses -TermsrvRestoreKey -TermsrvSetKeySecurity -TermsrvSetValueKey -TermsrvSyncUserIniFileExt -Thread32First -Thread32Next -TlsAlloc -TlsFree -TlsGetValue -TlsGetValue2 -TlsSetValue -Toolhelp32ReadProcessMemory -TransactNamedPipe -TransmitCommChar -TryAcquireSRWLockExclusive -TryAcquireSRWLockShared -TryEnterCriticalSection -TrySubmitThreadpoolCallback -TzSpecificLocalTimeToSystemTime -TzSpecificLocalTimeToSystemTimeEx -UTRegister -UTUnRegister -UmsThreadYield -UnhandledExceptionFilter -UnlockFile -UnlockFileEx -UnmapViewOfFile -UnmapViewOfFileEx -UnregisterApplicationRecoveryCallback -UnregisterApplicationRestart -UnregisterBadMemoryNotification -UnregisterConsoleIME -UnregisterWait -UnregisterWaitEx -UnregisterWaitUntilOOBECompleted -UpdateCalendarDayOfWeek -UpdateProcThreadAttribute -UpdateResourceA -UpdateResourceW -VDMConsoleOperation -VDMOperationStarted -ValidateLCType -ValidateLocale -VerLanguageNameA -VerLanguageNameW -VerSetConditionMask -VerifyConsoleIoHandle -VerifyScripts -VerifyVersionInfoA -VerifyVersionInfoW -VirtualAlloc -VirtualAllocEx -VirtualAllocExNuma -VirtualFree -VirtualFreeEx -VirtualLock -VirtualProtect -VirtualProtectEx -VirtualQuery -VirtualQueryEx -VirtualUnlock -WTSGetActiveConsoleSessionId -WaitCommEvent -WaitForDebugEvent -WaitForDebugEventEx -WaitForMultipleObjects -WaitForMultipleObjectsEx -WaitForSingleObject -WaitForSingleObjectEx -WaitForThreadpoolIoCallbacks -WaitForThreadpoolTimerCallbacks -WaitForThreadpoolWaitCallbacks -WaitForThreadpoolWorkCallbacks -WaitNamedPipeA -WaitNamedPipeW -WakeAllConditionVariable -; MSDN says it's in Kernel32.dll but it's not. -; Link with libsynchronization.a instead. -; Commented out for compatibility with older -; versions of Windows. -;WaitOnAddress -;WakeByAddressSingle -;WakeByAddressAll -WakeConditionVariable -WerGetFlags -WerGetFlagsWorker -WerRegisterAdditionalProcess -WerRegisterAppLocalDump -WerRegisterCustomMetadata -WerRegisterExcludedMemoryBlock -WerRegisterFile -WerRegisterFileWorker -WerRegisterMemoryBlock -WerRegisterMemoryBlockWorker -WerRegisterRuntimeExceptionModule -WerRegisterRuntimeExceptionModuleWorker -WerSetFlags -WerSetFlagsWorker -WerUnregisterAdditionalProcess -WerUnregisterAppLocalDump -WerUnregisterCustomMetadata -WerUnregisterExcludedMemoryBlock -WerUnregisterFile -WerUnregisterFileWorker -WerUnregisterMemoryBlock -WerUnregisterMemoryBlockWorker -WerUnregisterRuntimeExceptionModule -WerUnregisterRuntimeExceptionModuleWorker -WerpCleanupMessageMapping -WerpGetDebugger -WerpInitiateRemoteRecovery -WerpLaunchAeDebug -WerpNotifyLoadStringResource -WerpNotifyLoadStringResourceEx -WerpNotifyLoadStringResourceWorker -WerpNotifyUseStringResource -WerpNotifyUseStringResourceWorker -WerpStringLookup -WideCharToMultiByte -WinExec -Wow64DisableWow64FsRedirection -Wow64EnableWow64FsRedirection -Wow64GetThreadContext -Wow64GetThreadSelectorEntry -Wow64RevertWow64FsRedirection -Wow64SetThreadContext -Wow64SuspendThread -WriteConsoleA -WriteConsoleInputA -WriteConsoleInputVDMA -WriteConsoleInputVDMW -WriteConsoleInputW -WriteConsoleOutputA -WriteConsoleOutputAttribute -WriteConsoleOutputCharacterA -WriteConsoleOutputCharacterW -WriteConsoleOutputW -WriteConsoleW -WriteFile -WriteFileEx -WriteFileGather -WritePrivateProfileSectionA -WritePrivateProfileSectionW -WritePrivateProfileStringA -WritePrivateProfileStringW -WritePrivateProfileStructA -WritePrivateProfileStructW -WriteProcessMemory -WriteProfileSectionA -WriteProfileSectionW -WriteProfileStringA -WriteProfileStringW -WriteTapemark -ZombifyActCtx -ZombifyActCtxWorker -__C_specific_handler -; This isn't always available and shouldn't be linked from here, but should -; be statically linked from the compiler support library. -; -__misaligned_access -_hread -_hwrite -_lclose -_lcreat -_llseek -_local_unwind -_lopen -_lread -_lwrite -lstrcat -lstrcatA -lstrcatW -lstrcmp -lstrcmpA -lstrcmpW -lstrcmpi -lstrcmpiA -lstrcmpiW -lstrcpy -lstrcpyA -lstrcpyW -lstrcpyn -lstrcpynA -lstrcpynW -lstrlen -lstrlenA -lstrlenW -; -; MSDN says these functions are exported -; from winmm.dll. Commented out for -; compatibility with older versions of -; Windows. -; -;timeBeginPeriod -;timeEndPeriod -;timeGetDevCaps -;timeGetSystemTime -;timeGetTime -uaw_lstrcmpW -uaw_lstrcmpiW -uaw_lstrlenW -uaw_wcschr -uaw_wcscpy -uaw_wcsicmp -uaw_wcslen -uaw_wcsrchr diff --git a/lib/libc/mingw/lib64/ws2_32.def b/lib/libc/mingw/lib64/ws2_32.def deleted file mode 100644 index 6791827d65d1..000000000000 --- a/lib/libc/mingw/lib64/ws2_32.def +++ /dev/null @@ -1,200 +0,0 @@ - -LIBRARY "WS2_32.dll" -EXPORTS -accept -bind -closesocket -connect -getpeername -getsockname -getsockopt -htonl -htons -ioctlsocket -inet_addr -inet_ntoa -listen -ntohl -ntohs -recv -recvfrom -select -send -sendto -setsockopt -shutdown -socket -WSApSetPostRoutine -FreeAddrInfoEx -FreeAddrInfoExW -FreeAddrInfoW -GetAddrInfoExA -GetAddrInfoExCancel -GetAddrInfoExOverlappedResult -GetAddrInfoExW -GetAddrInfoW -GetHostNameW -GetNameInfoW -InetNtopW -InetPtonW -ProcessSocketNotifications -SetAddrInfoExA -SetAddrInfoExW -WPUCompleteOverlappedRequest -WPUGetProviderPathEx -WSAAccept -WSAAddressToStringA -WSAAddressToStringW -WSAAdvertiseProvider -WSACloseEvent -WSAConnect -WSAConnectByList -WSAConnectByNameA -WSAConnectByNameW -WSACreateEvent -gethostbyaddr -gethostbyname -getprotobyname -getprotobynumber -getservbyname -getservbyport -gethostname -WSADuplicateSocketA -WSADuplicateSocketW -WSAEnumNameSpaceProvidersA -WSAEnumNameSpaceProvidersExA -WSAEnumNameSpaceProvidersExW -WSAEnumNameSpaceProvidersW -WSAEnumNetworkEvents -WSAEnumProtocolsA -WSAEnumProtocolsW -WSAEventSelect -WSAGetOverlappedResult -WSAGetQOSByName -WSAGetServiceClassInfoA -WSAGetServiceClassInfoW -WSAGetServiceClassNameByClassIdA -WSAGetServiceClassNameByClassIdW -WSAHtonl -WSAHtons -WSAInstallServiceClassA -WSAInstallServiceClassW -WSAIoctl -WSAJoinLeaf -WSALookupServiceBeginA -WSALookupServiceBeginW -WSALookupServiceEnd -WSALookupServiceNextA -WSALookupServiceNextW -WSANSPIoctl -WSANtohl -WSANtohs -WSAPoll -WSAProviderCompleteAsyncCall -WSAProviderConfigChange -WSARecv -WSARecvDisconnect -WSARecvFrom -WSARemoveServiceClass -WSAResetEvent -WSASend -WSASendDisconnect -WSASendMsg -WSASendTo -WSASetEvent -WSAAsyncSelect -WSAAsyncGetHostByAddr -WSAAsyncGetHostByName -WSAAsyncGetProtoByNumber -WSAAsyncGetProtoByName -WSAAsyncGetServByPort -WSAAsyncGetServByName -WSACancelAsyncRequest -WSASetBlockingHook -WSAUnhookBlockingHook -WSAGetLastError -WSASetLastError -WSACancelBlockingCall -WSAIsBlocking -WSAStartup -WSACleanup -WSASetServiceA -WSASetServiceW -WSASocketA -WSASocketW -WSAStringToAddressA -WSAStringToAddressW -WSAUnadvertiseProvider -WSAWaitForMultipleEvents -WSCDeinstallProvider -WSCDeinstallProvider32 -WSCDeinstallProviderEx -WSCEnableNSProvider -WSCEnableNSProvider32 -WSCEnumNameSpaceProviders32 -WSCEnumNameSpaceProvidersEx32 -WSCEnumProtocols -WSCEnumProtocolsEx -WSCEnumProtocols32 -WSCGetApplicationCategory -WSCGetApplicationCategoryEx -WSCGetProviderInfo -WSCGetProviderInfo32 -WSCGetProviderPath -WSCGetProviderPath32 -WSCInstallNameSpace -WSCInstallNameSpace32 -WSCInstallNameSpaceEx -WSCInstallNameSpaceEx2 -WSCInstallNameSpaceEx32 -WSCInstallProvider -WSCInstallProvider64_32 -WSCInstallProviderAndChains -WSCInstallProviderAndChains64_32 -WSCInstallProviderEx -WSCSetApplicationCategory -WSCSetApplicationCategoryEx -WSCSetProviderInfo -WSCSetProviderInfo32 -WSCUnInstallNameSpace -WSCUnInstallNameSpace32 -WSCUnInstallNameSpaceEx2 -WSCUpdateProvider -WSCUpdateProvider32 -WSCUpdateProviderEx -WSCWriteNameSpaceOrder -WSCWriteNameSpaceOrder32 -WSCWriteProviderOrder -WSCWriteProviderOrder32 -WSCWriteProviderOrderEx -WahCloseApcHelper -__WSAFDIsSet -WahCloseHandleHelper -WahCloseNotificationHandleHelper -WahCloseSocketHandle -WahCloseThread -WahCompleteRequest -WahCreateHandleContextTable -WahCreateNotificationHandle -WahCreateSocketHandle -WahDestroyHandleContextTable -WahDisableNonIFSHandleSupport -WahEnableNonIFSHandleSupport -WahEnumerateHandleContexts -WahInsertHandleContext -WahNotifyAllProcesses -WahOpenApcHelper -WahOpenCurrentThread -WahOpenHandleHelper -WahOpenNotificationHandleHelper -WahQueueUserApc -WahReferenceContextByHandle -WahRemoveHandleContext -WahWaitForNotification -WahWriteLSPEvent -freeaddrinfo -getaddrinfo -getnameinfo -inet_ntop -inet_pton -WEP diff --git a/lib/libc/mingw/libsrc/uuid.c b/lib/libc/mingw/libsrc/uuid.c index 0a88ca1e302e..48d555b38d60 100644 --- a/lib/libc/mingw/libsrc/uuid.c +++ b/lib/libc/mingw/libsrc/uuid.c @@ -15,6 +15,7 @@ #include #include +#include #include #include #include diff --git a/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_loopback.c b/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_loopback.c index 8548ae742db8..30d06c168e61 100644 --- a/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_loopback.c +++ b/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_loopback.c @@ -8,6 +8,6 @@ void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a) { - memset(a->s6_bytes, 0, sizeof(struct in6_addr)); + *a = (struct in6_addr){0}; a->s6_bytes[15] = 1; } diff --git a/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_unspecified.c b/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_unspecified.c index c15ff9302e11..4a79c0e88aaf 100644 --- a/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_unspecified.c +++ b/lib/libc/mingw/libsrc/ws2tcpip/in6_set_addr_unspecified.c @@ -8,5 +8,5 @@ void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { - memset(a->s6_bytes, 0, sizeof(struct in6_addr)); + *a = (struct in6_addr){0}; } diff --git a/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setany.c b/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setany.c index 6b401676b9c0..323f4a2467e4 100644 --- a/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setany.c +++ b/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setany.c @@ -6,14 +6,11 @@ #include #include -#undef IN6_SET_ADDR_UNSPECIFIED -#define IN6_SET_ADDR_UNSPECIFIED(a) memset((a)->s6_bytes,0,sizeof(struct in6_addr)) - void IN6ADDR_SETANY(struct sockaddr_in6 *a) { a->sin6_family = AF_INET6; a->sin6_port = 0; a->sin6_flowinfo = 0; - IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr); + a->sin6_addr = (struct in6_addr){0}; a->sin6_scope_id = 0; } diff --git a/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setloopback.c b/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setloopback.c index 9693a00b2c0b..5967cd9e21df 100644 --- a/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setloopback.c +++ b/lib/libc/mingw/libsrc/ws2tcpip/in6addr_setloopback.c @@ -6,13 +6,6 @@ #include #include -#undef IN6_SET_ADDR_LOOPBACK -#define IN6_SET_ADDR_LOOPBACK(a) \ - do { \ - memset((a)->s6_bytes,0,sizeof(struct in6_addr));\ - (a)->s6_bytes[15] = 1; \ - } while (0) - void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a) { a->sin6_family = AF_INET6; diff --git a/lib/libc/mingw/math/arm-common/ldexpl.c b/lib/libc/mingw/math/arm-common/ldexpl.c index 2c2a9e51a765..2a2a3771ce97 100644 --- a/lib/libc/mingw/math/arm-common/ldexpl.c +++ b/lib/libc/mingw/math/arm-common/ldexpl.c @@ -8,9 +8,5 @@ long double ldexpl(long double x, int n) { -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) return ldexp(x, n); -#else -#error Not supported on your platform yet -#endif } diff --git a/lib/libc/mingw/math/arm64/_chgsignl.S b/lib/libc/mingw/math/arm-common/sincosl.c similarity index 52% rename from lib/libc/mingw/math/arm64/_chgsignl.S rename to lib/libc/mingw/math/arm-common/sincosl.c index 0472c7093eda..8caeaec5a980 100644 --- a/lib/libc/mingw/math/arm64/_chgsignl.S +++ b/lib/libc/mingw/math/arm-common/sincosl.c @@ -4,13 +4,10 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include <_mingw_mac.h> +#include - .file "_chgignl.S" - .text - .align 2 - .globl __MINGW_USYMBOL(_chgsignl) - .def __MINGW_USYMBOL(_chgsignl); .scl 2; .type 32; .endef -__MINGW_USYMBOL(_chgsignl): - fneg d0, d0 - ret +void sincosl(long double x, long double *s, long double *c) +{ + *s = sinl(x); + *c = cosl(x); +} diff --git a/lib/libc/mingw/math/arm/sincos.S b/lib/libc/mingw/math/arm/sincos.S deleted file mode 100644 index 2d3caa8fe29f..000000000000 --- a/lib/libc/mingw/math/arm/sincos.S +++ /dev/null @@ -1,32 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#include <_mingw_mac.h> - - .file "sincos.S" - .text - .align 2 - .globl __MINGW_USYMBOL(sincos) - .globl __MINGW_USYMBOL(sincosl) - .def __MINGW_USYMBOL(sincos); .scl 2; .type 32; .endef - .def __MINGW_USYMBOL(sincosl); .scl 2; .type 32; .endef -__MINGW_USYMBOL(sincos): -__MINGW_USYMBOL(sincosl): - push {r4, r5, r11, lr} - add r11, sp, #8 - vpush {d8} - - mov r4, r0 - mov r5, r1 - vmov.f64 d8, d0 - bl sin - vstr d0, [r4] - - vmov.f64 d0, d8 - bl cos - vstr d0, [r5] - - vpop {d8} - pop {r4, r5, r11, pc} diff --git a/lib/libc/mingw/math/arm/sincosf.S b/lib/libc/mingw/math/arm/sincosf.S deleted file mode 100644 index ce88b18ba76f..000000000000 --- a/lib/libc/mingw/math/arm/sincosf.S +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#include <_mingw_mac.h> - - .file "sincosf.S" - .text - .align 2 - .globl __MINGW_USYMBOL(sincosf) - .def __MINGW_USYMBOL(sincosf); .scl 2; .type 32; .endef -__MINGW_USYMBOL(sincosf): - push {r4, r5, r11, lr} - add r11, sp, #8 - vpush {d8} - - mov r4, r0 - mov r5, r1 - vmov.f32 s16, s0 - bl sinf - vstr s0, [r4] - - vmov.f32 s0, s16 - bl cosf - vstr s0, [r5] - - vpop {d8} - pop {r4, r5, r11, pc} diff --git a/lib/libc/mingw/math/arm64/sincos.S b/lib/libc/mingw/math/arm64/sincos.S deleted file mode 100644 index f7ae446aa614..000000000000 --- a/lib/libc/mingw/math/arm64/sincos.S +++ /dev/null @@ -1,34 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#include <_mingw_mac.h> - - .file "sincos.S" - .text - .align 2 - .globl __MINGW_USYMBOL(sincos) - .globl __MINGW_USYMBOL(sincosl) - .def __MINGW_USYMBOL(sincos); .scl 2; .type 32; .endef - .def __MINGW_USYMBOL(sincosl); .scl 2; .type 32; .endef -__MINGW_USYMBOL(sincos): -__MINGW_USYMBOL(sincosl): - str d8, [sp, #-32]! - str x30, [sp, #8] - stp x19, x20, [sp, #16] - - mov x19, x0 - mov x20, x1 - fmov d8, d0 - bl sin - str d0, [x19] - - fmov d0, d8 - bl cos - str d0, [x20] - - ldp x19, x20, [sp, #16] - ldr x30, [sp, #8] - ldr d8, [sp], #32 - ret diff --git a/lib/libc/mingw/math/arm64/sincosf.S b/lib/libc/mingw/math/arm64/sincosf.S deleted file mode 100644 index 6939eeb8da05..000000000000 --- a/lib/libc/mingw/math/arm64/sincosf.S +++ /dev/null @@ -1,31 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ -#include <_mingw_mac.h> - - .file "sincosf.S" - .text - .align 2 - .globl __MINGW_USYMBOL(sincosf) - .def __MINGW_USYMBOL(sincosf); .scl 2; .type 32; .endef -__MINGW_USYMBOL(sincosf): - str d8, [sp, #-32]! - str x30, [sp, #8] - stp x19, x20, [sp, #16] - - mov x19, x0 - mov x20, x1 - fmov s8, s0 - bl sinf - str s0, [x19] - - fmov s0, s8 - bl cosf - str s0, [x20] - - ldp x19, x20, [sp, #16] - ldr x30, [sp, #8] - ldr d8, [sp], #32 - ret diff --git a/lib/libc/mingw/math/cephes_mconf.h b/lib/libc/mingw/math/cephes_mconf.h index f502f187b0e2..4941dc64fd9c 100644 --- a/lib/libc/mingw/math/cephes_mconf.h +++ b/lib/libc/mingw/math/cephes_mconf.h @@ -66,7 +66,7 @@ extern double __QNAN; #endif /*long double*/ -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ #define MAXNUML 1.7976931348623158E308 #define MAXLOGL 7.09782712893383996843E2 #define MINLOGL -7.08396418532264106224E2 @@ -84,7 +84,7 @@ extern double __QNAN; #define PIL 3.1415926535897932384626L #define PIO2L 1.5707963267948966192313L #define PIO4L 7.8539816339744830961566E-1L -#endif /* defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) */ +#endif /* __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ */ #define isfinitel isfinite #define isinfl isinf diff --git a/lib/libc/mingw/math/coshl.c b/lib/libc/mingw/math/coshl.c index c5aaa73ecf65..acc0094a47ab 100644 --- a/lib/libc/mingw/math/coshl.c +++ b/lib/libc/mingw/math/coshl.c @@ -5,7 +5,7 @@ */ #include "cephes_mconf.h" -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ #include long double coshl(long double x) diff --git a/lib/libc/mingw/math/erfl.c b/lib/libc/mingw/math/erfl.c index 1408cf5423e4..b1001dfa119e 100644 --- a/lib/libc/mingw/math/erfl.c +++ b/lib/libc/mingw/math/erfl.c @@ -108,7 +108,7 @@ Copyright 1984, 1995 by Stephen L. Moshier long double erfl(long double x); -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ long double erfcl(long double x) { return erfc(x); diff --git a/lib/libc/mingw/math/fabsl.c b/lib/libc/mingw/math/fabsl.c index 1df48cfa9c71..ed97ed017867 100644 --- a/lib/libc/mingw/math/fabsl.c +++ b/lib/libc/mingw/math/fabsl.c @@ -8,11 +8,11 @@ long double fabsl (long double x); long double fabsl (long double x) { -#if defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __builtin_fabsl (x); +#elif defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) long double res = 0.0L; asm volatile ("fabs;" : "=t" (res) : "0" (x)); return res; -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __builtin_fabsl (x); #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) */ } diff --git a/lib/libc/mingw/math/fmal.c b/lib/libc/mingw/math/fmal.c index 67e5c503ab7a..3db856e7c9d7 100644 --- a/lib/libc/mingw/math/fmal.c +++ b/lib/libc/mingw/math/fmal.c @@ -5,7 +5,7 @@ */ long double fmal(long double x, long double y, long double z); -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ double fma(double x, double y, double z); diff --git a/lib/libc/mingw/math/fp_constsl.c b/lib/libc/mingw/math/fp_constsl.c index 8804082097aa..2bb00f7463ff 100644 --- a/lib/libc/mingw/math/fp_constsl.c +++ b/lib/libc/mingw/math/fp_constsl.c @@ -16,7 +16,7 @@ const union _ieee_rep __DENORML = { __LONG_DOUBLE_DENORM_REP }; long double nanl (const char *); long double nanl (const char * tagp __attribute__((unused)) ) { -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ return nan(""); #else return __QNANL.ldouble_val; diff --git a/lib/libc/mingw/math/fpclassifyl.c b/lib/libc/mingw/math/fpclassifyl.c index 3ee487e13dcc..0c057bd1cc51 100644 --- a/lib/libc/mingw/math/fpclassifyl.c +++ b/lib/libc/mingw/math/fpclassifyl.c @@ -6,7 +6,9 @@ #include int __fpclassifyl (long double _x){ -#if defined(__x86_64__) || defined(_AMD64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __fpclassify(_x); +#elif defined(_AMD64_) || defined(__x86_64__) __mingw_ldbl_type_t hlp; unsigned int e; hlp.x = _x; @@ -23,8 +25,6 @@ int __fpclassifyl (long double _x){ return (((hlp.lh.high & 0x7fffffff) | hlp.lh.low) == 0 ? FP_INFINITE : FP_NAN); return FP_NORMAL; -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __fpclassify(_x); #elif defined(__i386__) || defined(_X86_) unsigned short sw; __asm__ __volatile__ ( diff --git a/lib/libc/mingw/math/frexpl.c b/lib/libc/mingw/math/frexpl.c index f686a74633b8..f60b68bcde18 100644 --- a/lib/libc/mingw/math/frexpl.c +++ b/lib/libc/mingw/math/frexpl.c @@ -5,7 +5,7 @@ */ long double frexpl(long double value, int* exp); -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ double frexp(double value, int* exp); diff --git a/lib/libc/mingw/math/isnanl.c b/lib/libc/mingw/math/isnanl.c index ff4ca6e423be..fdc2529a9f15 100644 --- a/lib/libc/mingw/math/isnanl.c +++ b/lib/libc/mingw/math/isnanl.c @@ -8,7 +8,9 @@ int __isnanl (long double _x) { -#if defined(__x86_64__) || defined(_AMD64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ + return __isnan(_x); +#elif defined(__x86_64__) || defined(_AMD64_) __mingw_ldbl_type_t ld; int xx, signexp; @@ -18,8 +20,6 @@ __isnanl (long double _x) signexp |= (unsigned int) (xx | (-xx)) >> 31; signexp = 0xfffe - signexp; return (int) ((unsigned int) signexp) >> 16; -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) - return __isnan(_x); #elif defined(__i386__) || defined(_X86_) unsigned short _sw; __asm__ __volatile__ ("fxam;" diff --git a/lib/libc/mingw/math/lgammal.c b/lib/libc/mingw/math/lgammal.c index 998c6a90dd27..1ccf7fce0893 100644 --- a/lib/libc/mingw/math/lgammal.c +++ b/lib/libc/mingw/math/lgammal.c @@ -5,7 +5,7 @@ */ #include "cephes_mconf.h" -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ double lgamma(double x); long double lgammal(long double x) diff --git a/lib/libc/mingw/math/llrintl.c b/lib/libc/mingw/math/llrintl.c index 6a2bf73d8f2c..027686a9219f 100644 --- a/lib/libc/mingw/math/llrintl.c +++ b/lib/libc/mingw/math/llrintl.c @@ -9,7 +9,8 @@ long long llrintl (long double x) { long long retval = 0ll; -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) +#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && !defined(__arm64ec__)) || \ + defined(_X86_) || defined(__i386__) __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); #else int mode = fegetround(); diff --git a/lib/libc/mingw/math/lrintl.c b/lib/libc/mingw/math/lrintl.c index d710fac05124..0bdd5784fe7e 100644 --- a/lib/libc/mingw/math/lrintl.c +++ b/lib/libc/mingw/math/lrintl.c @@ -8,10 +8,10 @@ long lrintl (long double x) { long retval = 0l; -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) - __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ retval = lrint(x); +#elif defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) + __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); #endif return retval; } diff --git a/lib/libc/mingw/math/modff.c b/lib/libc/mingw/math/modff.c index dcf19cfedf9a..d2f8514d4da2 100644 --- a/lib/libc/mingw/math/modff.c +++ b/lib/libc/mingw/math/modff.c @@ -13,7 +13,7 @@ modff (float value, float* iptr) float int_part = 0.0F; /* truncate */ /* truncate */ -#if defined(_AMD64_) || defined(__x86_64__) +#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && !defined(__arm64ec__)) asm volatile ("subq $8, %%rsp\n" "fnstcw 4(%%rsp)\n" "movzwl 4(%%rsp), %%eax\n" diff --git a/lib/libc/mingw/math/modfl.c b/lib/libc/mingw/math/modfl.c index 33593e6def72..60b9b81b922b 100644 --- a/lib/libc/mingw/math/modfl.c +++ b/lib/libc/mingw/math/modfl.c @@ -12,7 +12,7 @@ modfl (long double value, long double* iptr) { long double int_part = 0.0L; /* truncate */ -#if defined(_AMD64_) || defined(__x86_64__) +#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && !defined(__arm64ec__)) asm volatile ("subq $8, %%rsp\n" "fnstcw 4(%%rsp)\n" "movzwl 4(%%rsp), %%eax\n" diff --git a/lib/libc/mingw/math/rintl.c b/lib/libc/mingw/math/rintl.c index 1c3780330685..da30c7aa2e48 100644 --- a/lib/libc/mingw/math/rintl.c +++ b/lib/libc/mingw/math/rintl.c @@ -7,10 +7,10 @@ long double rintl (long double x) { long double retval = 0.0L; -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) - __asm__ __volatile__ ("frndint;": "=t" (retval) : "0" (x)); -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ retval = rint(x); +#elif defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) + __asm__ __volatile__ ("frndint;": "=t" (retval) : "0" (x)); #endif return retval; } diff --git a/lib/libc/mingw/math/signbitl.c b/lib/libc/mingw/math/signbitl.c index 19f2938dbc0e..b4dba713b568 100644 --- a/lib/libc/mingw/math/signbitl.c +++ b/lib/libc/mingw/math/signbitl.c @@ -9,11 +9,11 @@ int __signbitl (long double x) { -#if defined(__x86_64__) || defined(_AMD64_) +#if (defined(_AMD64_) && !defined(_ARM64EC_)) || (defined(__x86_64__) && !defined(__arm64ec__)) __mingw_ldbl_type_t ld; ld.x = x; return ((ld.lh.sign_exponent & 0x8000) != 0); -#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#elif defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) return __signbit(x); #elif defined(__i386__) || defined(_X86_) unsigned short sw; diff --git a/lib/libc/mingw/math/arm/_chgsignl.S b/lib/libc/mingw/math/sincos.c similarity index 51% rename from lib/libc/mingw/math/arm/_chgsignl.S rename to lib/libc/mingw/math/sincos.c index 355d35530d04..66c9263a37b6 100644 --- a/lib/libc/mingw/math/arm/_chgsignl.S +++ b/lib/libc/mingw/math/sincos.c @@ -4,13 +4,10 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include <_mingw_mac.h> +#include - .file "_chgignl.S" - .text - .align 4 - .globl __MINGW_USYMBOL(_chgsignl) - .def __MINGW_USYMBOL(_chgsignl); .scl 2; .type 32; .endef -__MINGW_USYMBOL(_chgsignl): - vneg.f64 d0, d0 - bx lr +void sincos(double x, double *s, double *c) +{ + *s = sin(x); + *c = cos(x); +} diff --git a/lib/libc/mingw/math/sincosf.c b/lib/libc/mingw/math/sincosf.c new file mode 100644 index 000000000000..3b55f64681d6 --- /dev/null +++ b/lib/libc/mingw/math/sincosf.c @@ -0,0 +1,13 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include + +void sincosf(float x, float *s, float *c) +{ + *s = sinf(x); + *c = cosf(x); +} diff --git a/lib/libc/mingw/math/sinhl.c b/lib/libc/mingw/math/sinhl.c index aa6f0a9c340d..fbf7edd67cba 100644 --- a/lib/libc/mingw/math/sinhl.c +++ b/lib/libc/mingw/math/sinhl.c @@ -6,7 +6,7 @@ #include "cephes_mconf.h" #include -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ #include long double sinhl(long double x) diff --git a/lib/libc/mingw/math/sqrt.def.h b/lib/libc/mingw/math/sqrt.def.h index ed1e663ba706..43bd5a37d163 100644 --- a/lib/libc/mingw/math/sqrt.def.h +++ b/lib/libc/mingw/math/sqrt.def.h @@ -77,7 +77,7 @@ __FLT_ABI (sqrt) (__FLT_TYPE x) #else asm volatile ("fsqrtd %[dst], %[src];\n" : [dst] "=w" (res) : [src] "w" (x)); #endif -#elif defined(__aarch64__) || defined(_ARM64_) +#elif defined(__aarch64__) || defined(_ARM64_) || defined(__arm64ec__) || defined(_ARM64EC_) #if _NEW_COMPLEX_FLOAT asm volatile ("fsqrt %s[dst], %s[src]\n" : [dst] "=w" (res) : [src] "w" (x)); #else diff --git a/lib/libc/mingw/math/tanhl.c b/lib/libc/mingw/math/tanhl.c index da3fc5e25d9c..326adb2ae207 100644 --- a/lib/libc/mingw/math/tanhl.c +++ b/lib/libc/mingw/math/tanhl.c @@ -8,7 +8,7 @@ #define _SET_ERRNO(x) #endif -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ #include long double tanhl(long double x) diff --git a/lib/libc/mingw/math/tgammal.c b/lib/libc/mingw/math/tgammal.c index 1c7d4ea94593..cfd694fe08aa 100644 --- a/lib/libc/mingw/math/tgammal.c +++ b/lib/libc/mingw/math/tgammal.c @@ -5,7 +5,7 @@ */ #include "cephes_mconf.h" -#if defined(__arm__) || defined(_ARM_) || defined(__aarch64__) || defined(_ARM64_) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ double tgamma(double x); long double tgammal(long double x) diff --git a/lib/libc/mingw/math/truncl.c b/lib/libc/mingw/math/truncl.c index 3b47e53d1b56..a28fed3dcb62 100644 --- a/lib/libc/mingw/math/truncl.c +++ b/lib/libc/mingw/math/truncl.c @@ -3,21 +3,20 @@ * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include + #include long double truncl (long double _x) { -#if defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) +#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ return trunc(_x); #else long double retval = 0.0L; unsigned short saved_cw; unsigned short tmp_cw; __asm__ __volatile__ ("fnstcw %0;" : "=m" (saved_cw)); /* save FPU control word */ - tmp_cw = (saved_cw & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) - | FE_TOWARDZERO; + tmp_cw = saved_cw | 0xc00; /* round towards zero */ __asm__ __volatile__ ("fldcw %0;" : : "m" (tmp_cw)); __asm__ __volatile__ ("frndint;" : "=t" (retval) : "0" (_x)); /* round towards zero */ __asm__ __volatile__ ("fldcw %0;" : : "m" (saved_cw) ); /* restore saved control word */ diff --git a/lib/libc/mingw/math/x86/pow.def.h b/lib/libc/mingw/math/x86/pow.def.h index 0cf0739fee45..f8c715abdf12 100644 --- a/lib/libc/mingw/math/x86/pow.def.h +++ b/lib/libc/mingw/math/x86/pow.def.h @@ -69,11 +69,8 @@ #include "../complex/complex_internal.h" #include #include -#include #include #include -#define FE_ROUNDING_MASK \ - (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO) static __FLT_TYPE internal_modf (__FLT_TYPE value, __FLT_TYPE *iptr) diff --git a/lib/libc/mingw/misc/dllentrypoint.c b/lib/libc/mingw/misc/dllentrypoint.c deleted file mode 100644 index 0e3581ba67e6..000000000000 --- a/lib/libc/mingw/misc/dllentrypoint.c +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#include -#define _DECL_DLLMAIN -#include - -BOOL WINAPI DllEntryPoint (HANDLE, DWORD, LPVOID); - -BOOL WINAPI DllEntryPoint (HANDLE __UNUSED_PARAM(hDllHandle), - DWORD __UNUSED_PARAM(dwReason), - LPVOID __UNUSED_PARAM(lpreserved)) -{ - return TRUE; -} diff --git a/lib/libc/mingw/misc/feclearexcept.c b/lib/libc/mingw/misc/feclearexcept.c index a5ab0f09596a..5fa811fbe92d 100644 --- a/lib/libc/mingw/misc/feclearexcept.c +++ b/lib/libc/mingw/misc/feclearexcept.c @@ -4,44 +4,18 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include #include /* 7.6.2.1 The feclearexcept function clears the supported exceptions represented by its argument. */ -int feclearexcept (int excepts) +int feclearexcept(int flags) { - fenv_t _env; -#if defined(_ARM_) || defined(__arm__) - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - _env.__cw &= ~(excepts & FE_ALL_EXCEPT); - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (_env)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - (void) _env; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - fpcr &= ~(excepts & FE_ALL_EXCEPT); - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); -#else - int _mxcsr; - if (excepts == FE_ALL_EXCEPT) - { - __asm__ volatile ("fnclex"); - } - else - { - __asm__ volatile ("fnstenv %0" : "=m" (_env)); - _env.__status_word &= ~(excepts & FE_ALL_EXCEPT); - __asm__ volatile ("fldenv %0" : : "m" (_env)); - } - if (__mingw_has_sse ()) - { - __asm__ volatile ("stmxcsr %0" : "=m" (_mxcsr)); - _mxcsr &= ~(((excepts & FE_ALL_EXCEPT))); - __asm__ volatile ("ldmxcsr %0" : : "m" (_mxcsr)); - } -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return (0); + fenv_t env; + + fegetenv(&env); + flags &= FE_ALL_EXCEPT; + env._Fe_stat &= ~fenv_encode(flags, flags); + return fesetenv(&env); } diff --git a/lib/libc/mingw/misc/fegetenv.c b/lib/libc/mingw/misc/fegetenv.c index e17fd491c786..c1169cda7c96 100644 --- a/lib/libc/mingw/misc/fegetenv.c +++ b/lib/libc/mingw/misc/fegetenv.c @@ -4,34 +4,25 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include #include /* 7.6.4.1 The fegetenv function stores the current floating-point environment in the object pointed to by envp. */ -int fegetenv (fenv_t * envp) +int fegetenv(fenv_t *env) { -#if defined(_ARM_) || defined(__arm__) - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (*envp)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - envp->__cw = fpcr; +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + unsigned int x87, sse; + __mingw_control87_2(0, 0, &x87, &sse); + env->_Fe_ctl = fenv_encode(x87, sse); + __mingw_setfp(NULL, 0, &x87, 0); + __mingw_setfp_sse(NULL, 0, &sse, 0); + env->_Fe_stat = fenv_encode(x87, sse); #else - __asm__ __volatile__ ("fnstenv %0;": "=m" (*envp)); - /* fnstenv sets control word to non-stop for all exceptions, so we - need to reload our env to restore the original mask. */ - __asm__ __volatile__ ("fldenv %0" : : "m" (*envp)); - if (__mingw_has_sse ()) - { - int _mxcsr; - __asm__ __volatile__ ("stmxcsr %0" : "=m" (_mxcsr)); - envp->__unused0 = (((unsigned int) _mxcsr) >> 16); - envp->__unused1 = (((unsigned int) _mxcsr) & 0xffff); - } -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ + env->_Fe_ctl = fenv_encode(0, __mingw_controlfp(0, 0)); + env->_Fe_stat = fenv_encode(0, __mingw_statusfp()); +#endif return 0; } diff --git a/lib/libc/mingw/misc/fegetexceptflag.c b/lib/libc/mingw/misc/fegetexceptflag.c index b50ca6fc1fb5..cc9bdde4b761 100644 --- a/lib/libc/mingw/misc/fegetexceptflag.c +++ b/lib/libc/mingw/misc/fegetexceptflag.c @@ -12,26 +12,15 @@ representation of the exception flags indicated by the argument excepts in the object pointed to by the argument flagp. */ -int fegetexceptflag (fexcept_t * flagp, int excepts) +int fegetexceptflag(fexcept_t *status, int excepts) { -#if defined(_ARM_) || defined(__arm__) - fenv_t _env; - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - *flagp = _env.__cw & excepts & FE_ALL_EXCEPT; -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - *flagp = fpcr & excepts & FE_ALL_EXCEPT; +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + unsigned int x87, sse; + __mingw_setfp(NULL, 0, &x87, 0); + __mingw_setfp_sse(NULL, 0, &sse, 0); + *status = fenv_encode(x87 & excepts, sse & excepts); #else - int _mxcsr; - unsigned short _status; - - __asm__ volatile ("fnstsw %0" : "=am" (_status)); - _mxcsr = 0; - if (__mingw_has_sse ()) - __asm__ volatile ("stmxcsr %0" : "=m" (_mxcsr)); - - *flagp = (_mxcsr | _status) & excepts & FE_ALL_EXCEPT; -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + *status = fenv_encode(0, __mingw_statusfp() & excepts); +#endif + return 0; } diff --git a/lib/libc/mingw/misc/fegetround.c b/lib/libc/mingw/misc/fegetround.c index d2fdb77252cf..22d392ef9121 100644 --- a/lib/libc/mingw/misc/fegetround.c +++ b/lib/libc/mingw/misc/fegetround.c @@ -3,26 +3,13 @@ * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include +#include /* 7.6.3.1 The fegetround function returns the value of the rounding direction macro representing the current rounding direction. */ -int -fegetround (void) +int fegetround(void) { -#if defined(_ARM_) || defined(__arm__) - fenv_t _env; - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - return (_env.__cw & (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - return (fpcr & (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)); -#else - int _control; - __asm__ volatile ("fnstcw %0" : "=m" (*&_control)); - return (_control & (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)); -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ + return __mingw_controlfp(0, 0) & _MCW_RC; } diff --git a/lib/libc/mingw/misc/feholdexcept.c b/lib/libc/mingw/misc/feholdexcept.c index 8736faadf05b..8048430b7e84 100644 --- a/lib/libc/mingw/misc/feholdexcept.c +++ b/lib/libc/mingw/misc/feholdexcept.c @@ -11,25 +11,8 @@ flags, and then installs a non-stop (continue on exceptions) mode, if available, for all exceptions. */ -int feholdexcept (fenv_t * envp) +int feholdexcept(fenv_t *env) { -#if defined(_ARM_) || defined(__arm__) - fenv_t _env; - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - envp->__cw = _env.__cw; - _env.__cw &= ~(FE_ALL_EXCEPT); - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (_env)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - envp->__cw = fpcr; - fpcr &= ~(FE_ALL_EXCEPT); - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); -#else - __asm__ __volatile__ ("fnstenv %0;" : "=m" (* envp)); /* save current into envp */ - /* fnstenv sets control word to non-stop for all exceptions, so all we - need to do is clear the exception flags. */ - __asm__ __volatile__ ("fnclex"); -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + fegetenv(env); + return feclearexcept(FE_ALL_EXCEPT); } diff --git a/lib/libc/mingw/misc/feraiseexcept.c b/lib/libc/mingw/misc/feraiseexcept.c index 8ec36f732a8b..041b8a772c73 100644 --- a/lib/libc/mingw/misc/feraiseexcept.c +++ b/lib/libc/mingw/misc/feraiseexcept.c @@ -3,7 +3,7 @@ * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include +#include /* 7.6.2.3 The feraiseexcept function raises the supported exceptions @@ -13,24 +13,16 @@ the inexact exception whenever it raises the overflow or underflow exception is implementation-defined. */ -int feraiseexcept (int excepts) +int feraiseexcept(int flags) { - fenv_t _env; -#if defined(_ARM_) || defined(__arm__) - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - _env.__cw |= excepts & FE_ALL_EXCEPT; - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (_env)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - (void) _env; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - fpcr |= excepts & FE_ALL_EXCEPT; - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); -#else - __asm__ volatile ("fnstenv %0;" : "=m" (_env)); - _env.__status_word |= excepts & FE_ALL_EXCEPT; - __asm__ volatile ("fldenv %0;" - "fwait;" : : "m" (_env)); -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + fenv_t env; + + flags &= FE_ALL_EXCEPT; + fegetenv(&env); + env._Fe_stat |= fenv_encode(flags, flags); + fesetenv(&env); +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + __asm__ volatile ("fwait\n\t"); +#endif + return 0; } diff --git a/lib/libc/mingw/misc/fesetenv.c b/lib/libc/mingw/misc/fesetenv.c index 76325ce377ca..432192763ad1 100644 --- a/lib/libc/mingw/misc/fesetenv.c +++ b/lib/libc/mingw/misc/fesetenv.c @@ -4,11 +4,24 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include <_mingw.h> -#include -#include #include +/* The FE_DFL_ENV macro is required by standard. + fesetenv will use the environment set at app startup.*/ +const fenv_t __mingw_fe_dfl_env = { 0, 0 }; + +/* The C99 standard (7.6.9) allows us to define implementation-specific macros for + different fp environments */ +#if defined(__i386__) || defined(__x86_64__) + +/* The default Intel x87 floating point environment (64-bit mantissa) */ +const fenv_t __mingw_fe_pc64_env = { 0x3f3f003f, 0 }; + +/* The floating point environment set by MSVCRT _fpreset (53-bit mantissa) */ +const fenv_t __mingw_fe_pc53_env = { 0x3f3f103f, 0 }; + +#endif + /* 7.6.4.3 The fesetenv function establishes the floating-point environment represented by the object pointed to by envp. The argument envp @@ -22,61 +35,27 @@ extern void (* __MINGW_IMP_SYMBOL(_fpreset))(void); extern void _fpreset(void); -int fesetenv (const fenv_t * envp) +int fesetenv(const fenv_t *env) { -#if defined(_ARM_) || defined(__arm__) - if (envp == FE_DFL_ENV) - /* Use the choice made at app startup */ - _fpreset(); - else - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (*envp)); -#elif defined(_ARM64_) || defined(__aarch64__) - if (envp == FE_DFL_ENV) { - /* Use the choice made at app startup */ - _fpreset(); - } else { - unsigned __int64 fpcr = envp->__cw; - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); - } -#else - if (envp == FE_PC64_ENV) - /* - * fninit initializes the control register to 0x37f, - * the status register to zero and the tag word to 0FFFFh. - * The other registers are unaffected. - */ - __asm__ __volatile__ ("fninit"); + unsigned int x87_cw, cw, x87_stat, stat; + unsigned int mask = ~0u; - else if (envp == FE_PC53_ENV) - /* - * MS _fpreset() does same *except* it sets control word - * to 0x27f (53-bit precision). - * We force calling _fpreset in msvcrt.dll - */ - - (* __MINGW_IMP_SYMBOL(_fpreset))(); - - else if (envp == FE_DFL_ENV) - /* Use the choice made at app startup */ - _fpreset(); - - else - { - fenv_t env = *envp; - int has_sse = __mingw_has_sse (); - int _mxcsr; - /*_mxcsr = ((int)envp->__unused0 << 16) | (int)envp->__unused1; *//* mxcsr low and high */ - if (has_sse) - __asm__ ("stmxcsr %0" : "=m" (*&_mxcsr)); - env.__unused0 = 0xffff; - env.__unused1 = 0xffff; - __asm__ volatile ("fldenv %0" : : "m" (env) - : "st", "st(1)", "st(2)", "st(3)", "st(4)", - "st(5)", "st(6)", "st(7)"); - if (has_sse) - __asm__ volatile ("ldmxcsr %0" : : "m" (*&_mxcsr)); + if (!env->_Fe_ctl && !env->_Fe_stat) { + _fpreset(); + return 0; } -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + if (!fenv_decode(env->_Fe_ctl, &x87_cw, &cw)) + return 1; + if (!fenv_decode(env->_Fe_stat, &x87_stat, &stat)) + return 1; + +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + __mingw_setfp(&x87_cw, mask, &x87_stat, ~0); + if (__mingw_has_sse()) + __mingw_setfp_sse(&cw, mask, &stat, ~0); +#else + __mingw_setfp(&cw, mask, &stat, ~0); +#endif + return 0; } diff --git a/lib/libc/mingw/misc/fesetexceptflag.c b/lib/libc/mingw/misc/fesetexceptflag.c index 095dfea0b952..9faedbb535aa 100644 --- a/lib/libc/mingw/misc/fesetexceptflag.c +++ b/lib/libc/mingw/misc/fesetexceptflag.c @@ -4,7 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#include #include /* 7.6.2.4 @@ -16,39 +15,16 @@ represented by the argument excepts. This function does not raise exceptions, but only sets the state of the flags. */ -int fesetexceptflag (const fexcept_t * flagp, int excepts) +int fesetexceptflag(const fexcept_t *status, int excepts) { - fenv_t _env; + fenv_t env; - excepts &= FE_ALL_EXCEPT; + excepts &= FE_ALL_EXCEPT; + if(!excepts) + return 0; -#if defined(_ARM_) || defined(__arm__) - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - _env.__cw &= ~excepts; - _env.__cw |= (*flagp & excepts); - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (_env)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - (void) _env; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - fpcr &= ~excepts; - fpcr |= (*flagp & excepts); - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); -#else - __asm__ volatile ("fnstenv %0;" : "=m" (_env)); - _env.__status_word &= ~excepts; - _env.__status_word |= (*flagp & excepts); - __asm__ volatile ("fldenv %0;" : : "m" (_env)); - - if (__mingw_has_sse ()) - { - int sse_cw; - __asm__ volatile ("stmxcsr %0;" : "=m" (sse_cw)); - sse_cw &= ~(excepts << 7); - sse_cw |= ((*flagp & excepts) << 7); - __asm__ volatile ("ldmxcsr %0" : : "m" (sse_cw)); - } - -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + fegetenv(&env); + env._Fe_stat &= ~fenv_encode(excepts, excepts); + env._Fe_stat |= *status & fenv_encode(excepts, excepts); + return fesetenv(&env); } diff --git a/lib/libc/mingw/misc/fesetround.c b/lib/libc/mingw/misc/fesetround.c index e51f46cd7d41..9bf7c3599813 100644 --- a/lib/libc/mingw/misc/fesetround.c +++ b/lib/libc/mingw/misc/fesetround.c @@ -13,43 +13,10 @@ to the value of a rounding direction macro, the rounding direction is not changed. */ -int fesetround (int mode) +int fesetround(int round_mode) { -#if defined(_ARM_) || defined(__arm__) - fenv_t _env; - if ((mode & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) != 0) - return -1; - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - _env.__cw &= ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO); - _env.__cw |= mode; - __asm__ volatile ("fmxr FPSCR, %0" : : "r" (_env)); -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - if ((mode & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) != 0) - return -1; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - fpcr &= ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO); - fpcr |= mode; - __asm__ volatile ("msr fpcr, %0" : : "r" (fpcr)); -#else - unsigned short _cw; - if ((mode & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) - != 0) - return -1; - __asm__ volatile ("fnstcw %0;": "=m" (*&_cw)); - _cw &= ~0xc00; - _cw |= mode; - __asm__ volatile ("fldcw %0;" : : "m" (*&_cw)); - - if (__mingw_has_sse ()) - { - int mxcsr; - - __asm__ volatile ("stmxcsr %0" : "=m" (*&mxcsr)); - mxcsr &= ~0x6000; - mxcsr |= mode << 3; - __asm__ volatile ("ldmxcsr %0" : : "m" (*&mxcsr)); - } -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ - return 0; + if (round_mode & (~_MCW_RC)) + return 1; + __mingw_controlfp(round_mode, _MCW_RC); + return 0; } diff --git a/lib/libc/mingw/misc/fetestexcept.c b/lib/libc/mingw/misc/fetestexcept.c index 04e75970fca8..4c9abfb5aaad 100644 --- a/lib/libc/mingw/misc/fetestexcept.c +++ b/lib/libc/mingw/misc/fetestexcept.c @@ -15,26 +15,7 @@ exception macros corresponding to the currently set exceptions included in excepts. */ -int fetestexcept (int excepts) +int fetestexcept(int flags) { -#if defined(_ARM_) || defined(__arm__) - fenv_t _env; - __asm__ volatile ("fmrx %0, FPSCR" : "=r" (_env)); - return _env.__cw & excepts & FE_ALL_EXCEPT; -#elif defined(_ARM64_) || defined(__aarch64__) - unsigned __int64 fpcr; - __asm__ volatile ("mrs %0, fpcr" : "=r" (fpcr)); - return fpcr & excepts & FE_ALL_EXCEPT; -#else - unsigned short _sw; - __asm__ __volatile__ ("fnstsw %%ax" : "=a" (_sw)); - - if (__mingw_has_sse ()) - { - int sse_sw; - __asm__ __volatile__ ("stmxcsr %0;" : "=m" (sse_sw)); - _sw |= sse_sw; - } - return _sw & excepts & FE_ALL_EXCEPT; -#endif /* defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || defined(__aarch64__) */ + return __mingw_statusfp() & flags; } diff --git a/lib/libc/mingw/misc/feupdateenv.c b/lib/libc/mingw/misc/feupdateenv.c index aea95902bb2c..8774d7402b2e 100644 --- a/lib/libc/mingw/misc/feupdateenv.c +++ b/lib/libc/mingw/misc/feupdateenv.c @@ -13,13 +13,9 @@ set by a call to feholdexcept or fegetenv, or equal the macro FE_DFL_ENV or an implementation-defined environment macro. */ -/* FIXME: this works but surely there must be a better way. */ - -int feupdateenv (const fenv_t * envp) +int feupdateenv(const fenv_t *env) { - unsigned int _fexcept = fetestexcept (FE_ALL_EXCEPT); /*save excepts */ - fesetenv (envp); /* install the env */ - feraiseexcept (_fexcept); /* raise the except */ - return 0; + int except = fetestexcept(FE_ALL_EXCEPT); + return fesetenv(env) || feraiseexcept(except); } diff --git a/lib/libc/mingw/misc/ftw.c b/lib/libc/mingw/misc/ftw.c index 74d05aa715eb..f520ef63da78 100644 --- a/lib/libc/mingw/misc/ftw.c +++ b/lib/libc/mingw/misc/ftw.c @@ -15,11 +15,9 @@ #include #include -#ifdef IMPL_FTW64 -#define stat stat64 -#define nftw nftw64 -#define ftw ftw64 -#endif +int __cdecl stat32(const char *_Filename, struct _stat32 *_Stat); +int __cdecl stat32i64(const char *_Filename, struct _stat32i64 *_Stat); +int __cdecl stat64i32(const char *_Filename, struct _stat64i32 *_Stat); typedef struct dir_data_t { DIR *h; @@ -36,14 +34,14 @@ typedef struct ctx_t { dir_data_t **dirs; char *buf; struct FTW ftw; - int (*fcb) (const char *, const struct stat *, int , struct FTW *); + int (*fcb) (const char *, const STRUCT_STAT *, int , struct FTW *); size_t cur_dir, msz_dir, buf_sz; int flags; dev_t dev; } ctx_t; static int add_object (ctx_t *); -static int do_dir (ctx_t *, struct stat *, dir_data_t *); +static int do_dir (ctx_t *, STRUCT_STAT *, dir_data_t *); static int do_entity (ctx_t *, dir_data_t *, const char *, size_t); static int do_it (const char *, int, void *, int, int); @@ -225,7 +223,7 @@ open_directory (ctx_t *ctx, dir_data_t *dirp) static int do_entity (ctx_t *ctx, dir_data_t *dir, const char *name, size_t namlen) { - struct stat st; + STRUCT_STAT st; char *h; size_t cnt_sz; int ret = 0, flag = 0; @@ -249,7 +247,7 @@ do_entity (ctx_t *ctx, dir_data_t *dir, const char *name, size_t namlen) name = ctx->buf; - if (stat (name, &st) < 0) + if (FUNC_STAT (name, &st) < 0) { if (errno != EACCES && errno != ENOENT) ret = -1; @@ -257,7 +255,7 @@ do_entity (ctx_t *ctx, dir_data_t *dir, const char *name, size_t namlen) flag = FTW_NS; if (!(ctx->flags & FTW_PHYS)) - stat (name, &st); + FUNC_STAT (name, &st); } else flag = (S_ISDIR (st.st_mode) ? FTW_D : FTW_F); @@ -281,7 +279,7 @@ do_entity (ctx_t *ctx, dir_data_t *dir, const char *name, size_t namlen) static int -do_dir (ctx_t *ctx, struct stat *st, __UNUSED_PARAM(dir_data_t *old_dir)) +do_dir (ctx_t *ctx, STRUCT_STAT *st, __UNUSED_PARAM(dir_data_t *old_dir)) { dir_data_t dir; struct dirent *d; @@ -378,7 +376,7 @@ static int do_it (const char *dir, __UNUSED_PARAM(int is_nftw), void *fcb, int descriptors, int flags) { struct ctx_t ctx; - struct stat st; + STRUCT_STAT st; int ret = 0; int sv_e; char *cp; @@ -417,12 +415,12 @@ do_it (const char *dir, __UNUSED_PARAM(int is_nftw), void *fcb, int descriptors, ctx.ftw.level = 0; ctx.ftw.base = cp - ctx.buf; ctx.flags = flags; - ctx.fcb = (int (*) (const char *, const struct stat *, int , struct FTW *)) fcb; + ctx.fcb = (int (*) (const char *, const STRUCT_STAT *, int , struct FTW *)) fcb; ctx.objs = NULL; if (!ret) { - if (stat (ctx.buf, &st) < 0) + if (FUNC_STAT (ctx.buf, &st) < 0) ret = -1; else if (S_ISDIR (st.st_mode)) { @@ -451,13 +449,17 @@ do_it (const char *dir, __UNUSED_PARAM(int is_nftw), void *fcb, int descriptors, } int -ftw (const char *path, int (*fcb) (const char *, const struct stat *, int), int descriptors) +FUNC_FTW (const char *path, int (*fcb) (const char *, const STRUCT_STAT *, int), int descriptors); +int +FUNC_FTW (const char *path, int (*fcb) (const char *, const STRUCT_STAT *, int), int descriptors) { return do_it (path, 0, fcb, descriptors, 0); } int -nftw (const char *path, int (*fcb) (const char *, const struct stat *, int , struct FTW *), int descriptors, int flags) +FUNC_NFTW (const char *path, int (*fcb) (const char *, const STRUCT_STAT *, int , struct FTW *), int descriptors, int flags); +int +FUNC_NFTW (const char *path, int (*fcb) (const char *, const STRUCT_STAT *, int , struct FTW *), int descriptors, int flags) { return do_it (path, 1, fcb, descriptors, flags); } diff --git a/lib/libc/mingw/misc/ftw32.c b/lib/libc/mingw/misc/ftw32.c new file mode 100644 index 000000000000..5eb9e374ee7a --- /dev/null +++ b/lib/libc/mingw/misc/ftw32.c @@ -0,0 +1,19 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#define FUNC_FTW ftw32 +#define FUNC_NFTW nftw32 +#define FUNC_STAT stat32 +#define STRUCT_STAT struct _stat32 +#include "ftw.c" + +/* On 32-bit systems is stat ABI compatible with stat32 */ +#ifndef _WIN64 +#undef nftw +#undef ftw +struct stat; +int __attribute__ ((alias ("nftw32"))) __cdecl nftw(const char *, int (*) (const char *, const struct stat *, int, struct FTW *), int, int); +int __attribute__ ((alias ("ftw32"))) __cdecl ftw(const char *, int (*) (const char *, const struct stat *, int), int); +#endif diff --git a/lib/libc/mingw/misc/ftw32i64.c b/lib/libc/mingw/misc/ftw32i64.c new file mode 100644 index 000000000000..20985fb70581 --- /dev/null +++ b/lib/libc/mingw/misc/ftw32i64.c @@ -0,0 +1,10 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#define FUNC_FTW ftw32i64 +#define FUNC_NFTW nftw32i64 +#define FUNC_STAT stat32i64 +#define STRUCT_STAT struct _stat32i64 +#include "ftw.c" diff --git a/lib/libc/mingw/misc/ftw64.c b/lib/libc/mingw/misc/ftw64.c index 3e45847efe53..72e22a214e2a 100644 --- a/lib/libc/mingw/misc/ftw64.c +++ b/lib/libc/mingw/misc/ftw64.c @@ -3,6 +3,8 @@ * No warranty is given; refer to the file DISCLAIMER within this package. */ -#define IMPL_FTW64 1 - +#define FUNC_FTW ftw64 +#define FUNC_NFTW nftw64 +#define FUNC_STAT stat64 +#define STRUCT_STAT struct stat64 #include "ftw.c" diff --git a/lib/libc/mingw/misc/ftw64i32.c b/lib/libc/mingw/misc/ftw64i32.c new file mode 100644 index 000000000000..2ded6ec4ae39 --- /dev/null +++ b/lib/libc/mingw/misc/ftw64i32.c @@ -0,0 +1,19 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#define FUNC_FTW ftw64i32 +#define FUNC_NFTW nftw64i32 +#define FUNC_STAT stat64i32 +#define STRUCT_STAT struct _stat64i32 +#include "ftw.c" + +/* On 64-bit systems is stat ABI compatible with stat64i32 */ +#ifdef _WIN64 +#undef nftw +#undef ftw +struct stat; +int __attribute__ ((alias ("nftw64i32"))) __cdecl nftw(const char *, int (*) (const char *, const struct stat *, int, struct FTW *), int, int); +int __attribute__ ((alias ("ftw64i32"))) __cdecl ftw(const char *, int (*) (const char *, const struct stat *, int), int); +#endif diff --git a/lib/libc/mingw/misc/mingw-aligned-malloc.c b/lib/libc/mingw/misc/mingw-aligned-malloc.c index ca5f866e2f55..02872c921a18 100644 --- a/lib/libc/mingw/misc/mingw-aligned-malloc.c +++ b/lib/libc/mingw/misc/mingw-aligned-malloc.c @@ -18,16 +18,14 @@ #include /* uintptr_t */ #include /* memmove */ -/* Forward declarations: */ -void *__mingw_aligned_offset_malloc (size_t, size_t, size_t); - #define NOT_POWER_OF_TWO(n) (((n) & ((n) - 1))) #define UI(p) ((uintptr_t) (p)) #define CP(p) ((char *) p) +#define GAP(offset) ((0 - offset) & (sizeof (void *) -1)) #define PTR_ALIGN(p0, alignment, offset) \ - ((void *) (((UI(p0) + (alignment + sizeof(void*)) + offset) \ - & (~UI(alignment - 1))) \ + ((void *) (((UI(p0) + (alignment + GAP(offset) + sizeof(void*)) + offset) \ + & (~UI(alignment))) \ - offset)) /* Pointer must sometimes be aligned; assume sizeof(void*) is a power of two. */ @@ -47,12 +45,13 @@ __mingw_aligned_offset_malloc (size_t size, size_t alignment, size_t offset) return ((void *) 0); if (alignment < sizeof (void *)) alignment = sizeof (void *); + alignment--; /* Including the extra sizeof(void*) is overkill on a 32-bit machine, since malloc is already 8-byte aligned, as long as we enforce alignment >= 8 ...but oh well. */ - p0 = malloc (size + (alignment + sizeof (void *))); + p0 = malloc (size + (alignment + GAP (offset) + sizeof (void *))); if (!p0) return ((void *) 0); p = PTR_ALIGN (p0, alignment, offset); @@ -91,6 +90,7 @@ __mingw_aligned_offset_realloc (void *memblock, size_t size, } if (alignment < sizeof (void *)) alignment = sizeof (void *); + alignment--; p0 = ORIG_PTR (memblock); /* It is an error for the alignment to change. */ @@ -98,7 +98,7 @@ __mingw_aligned_offset_realloc (void *memblock, size_t size, goto bad; shift = CP (memblock) - CP (p0); - p0 = realloc (p0, size + (alignment + sizeof (void *))); + p0 = realloc (p0, size + (alignment + GAP (offset) + sizeof (void *))); if (!p0) return ((void *) 0); p = PTR_ALIGN (p0, alignment, offset); @@ -121,3 +121,29 @@ __mingw_aligned_realloc (void *memblock, size_t size, size_t alignment) { return __mingw_aligned_offset_realloc (memblock, size, alignment, 0); } + +size_t +__mingw_aligned_msize (void *memblock, size_t alignment, size_t offset) +{ + void *p0; + + if (!memblock || NOT_POWER_OF_TWO (alignment)) + { + errno = EINVAL; + return (size_t)-1; + } + if (alignment < sizeof (void *)) + alignment = sizeof (void *); + alignment--; + + p0 = ORIG_PTR (memblock); + + /* It is an error if the alignment or offset does not match. */ + if (memblock != PTR_ALIGN (p0, alignment, offset)) + { + errno = EINVAL; + return (size_t)-1; + } + + return _msize (p0) - (alignment + GAP (offset) + sizeof (void *)); +} diff --git a/lib/libc/mingw/misc/mingw_controlfp.c b/lib/libc/mingw/misc/mingw_controlfp.c new file mode 100644 index 000000000000..c7f553a4dd87 --- /dev/null +++ b/lib/libc/mingw/misc/mingw_controlfp.c @@ -0,0 +1,53 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include "internal.h" + +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) +/* Internal MinGW version of _control87_2 */ +int __mingw_control87_2( unsigned int newval, unsigned int mask, + unsigned int *x86_cw, unsigned int *sse2_cw ) +{ + if (x86_cw) + { + *x86_cw = newval; + __mingw_setfp(x86_cw, mask, NULL, 0); + } + + if (!sse2_cw) return 1; + + if (__mingw_has_sse()) + { + *sse2_cw = newval; + __mingw_setfp_sse(sse2_cw, mask, NULL, 0); + } + else *sse2_cw = 0; + + return 1; +} +#endif + +/* Internal MinGW version of _control87 */ +unsigned int __mingw_controlfp(unsigned int newval, unsigned int mask) +{ + unsigned int flags = 0; +#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__)) + unsigned int sse2_cw; + + __mingw_control87_2( newval, mask, &flags, &sse2_cw ); + + if (__mingw_has_sse()) + { + if ((flags ^ sse2_cw) & (_MCW_EM | _MCW_RC)) flags |= _EM_AMBIGUOUS; + flags |= sse2_cw; + } +#else + flags = newval; + __mingw_setfp(&flags, mask, NULL, 0); +#endif + return flags; +} + diff --git a/lib/libc/mingw/misc/mingw_getsp.S b/lib/libc/mingw/misc/mingw_getsp.S index 1e83b7383cfe..08dfc37e1328 100644 --- a/lib/libc/mingw/misc/mingw_getsp.S +++ b/lib/libc/mingw/misc/mingw_getsp.S @@ -15,7 +15,10 @@ .globl __MINGW_USYMBOL(mingw_getsp) .def __MINGW_USYMBOL(mingw_getsp); .scl 2; .type 32; .endef __MINGW_USYMBOL(mingw_getsp): -#if defined(_AMD64_) || defined(__x86_64__) +#if defined(_ARM64_) || defined(__aarch64__) || defined(__arm64ec__) + mov x0, sp + ret +#elif defined(_AMD64_) || defined(__x86_64__) leaq 8(%rsp),%rax ret #elif defined(_X86_) || defined(__i386__) @@ -24,7 +27,4 @@ __MINGW_USYMBOL(mingw_getsp): #elif defined(_ARM_) || defined(__arm__) mov r0, sp bx lr -#elif defined(_ARM64_) || defined(__aarch64__) - mov x0, sp - ret #endif diff --git a/lib/libc/mingw/misc/mingw_setfp.c b/lib/libc/mingw/misc/mingw_setfp.c new file mode 100644 index 000000000000..14fda6e24881 --- /dev/null +++ b/lib/libc/mingw/misc/mingw_setfp.c @@ -0,0 +1,373 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include "internal.h" + +#if defined(__i386__) || defined(__x86_64__) + +static unsigned int get_mxcsr(void) +{ + unsigned int ret; +#ifdef __arm64ec__ + extern NTSTATUS (*__os_arm64x_get_x64_information)(ULONG,void*,void*); + __os_arm64x_get_x64_information( 0, &ret, NULL ); +#else + __asm__ __volatile__( "stmxcsr %0" : "=m" (ret) ); +#endif + return ret; +} + +static void set_mxcsr( unsigned int val ) +{ +#ifdef __arm64ec__ + extern NTSTATUS (*__os_arm64x_set_x64_information)(ULONG,ULONG_PTR,void*); + __os_arm64x_set_x64_information( 0, val, NULL ); +#else + __asm__ __volatile__( "ldmxcsr %0" : : "m" (val) ); +#endif +} + +void __mingw_setfp_sse( unsigned int *cw, unsigned int cw_mask, unsigned int *sw, unsigned int sw_mask ) +{ + unsigned int old_fpword, fpword = get_mxcsr(); + unsigned int flags; + + old_fpword = fpword; + + cw_mask &= _MCW_EM | _MCW_RC | _MCW_DN; + sw_mask &= _MCW_EM; + + if (sw) + { + flags = 0; + if (fpword & 0x1) flags |= _SW_INVALID; + if (fpword & 0x2) flags |= _SW_DENORMAL; + if (fpword & 0x4) flags |= _SW_ZERODIVIDE; + if (fpword & 0x8) flags |= _SW_OVERFLOW; + if (fpword & 0x10) flags |= _SW_UNDERFLOW; + if (fpword & 0x20) flags |= _SW_INEXACT; + + *sw = (flags & ~sw_mask) | (*sw & sw_mask); + fpword &= ~0x3f; + if (*sw & _SW_INVALID) fpword |= 0x1; + if (*sw & _SW_DENORMAL) fpword |= 0x2; + if (*sw & _SW_ZERODIVIDE) fpword |= 0x4; + if (*sw & _SW_OVERFLOW) fpword |= 0x8; + if (*sw & _SW_UNDERFLOW) fpword |= 0x10; + if (*sw & _SW_INEXACT) fpword |= 0x20; + *sw = flags; + } + + if (cw) + { + flags = 0; + if (fpword & 0x80) flags |= _EM_INVALID; + if (fpword & 0x100) flags |= _EM_DENORMAL; + if (fpword & 0x200) flags |= _EM_ZERODIVIDE; + if (fpword & 0x400) flags |= _EM_OVERFLOW; + if (fpword & 0x800) flags |= _EM_UNDERFLOW; + if (fpword & 0x1000) flags |= _EM_INEXACT; + switch (fpword & 0x6000) + { + case 0x6000: flags |= _RC_UP|_RC_DOWN; break; + case 0x4000: flags |= _RC_UP; break; + case 0x2000: flags |= _RC_DOWN; break; + } + switch (fpword & 0x8040) + { + case 0x0040: flags |= _DN_FLUSH_OPERANDS_SAVE_RESULTS; break; + case 0x8000: flags |= _DN_SAVE_OPERANDS_FLUSH_RESULTS; break; + case 0x8040: flags |= _DN_FLUSH; break; + } + + *cw = (flags & ~cw_mask) | (*cw & cw_mask); + fpword &= ~0xffc0; + if (*cw & _EM_INVALID) fpword |= 0x80; + if (*cw & _EM_DENORMAL) fpword |= 0x100; + if (*cw & _EM_ZERODIVIDE) fpword |= 0x200; + if (*cw & _EM_OVERFLOW) fpword |= 0x400; + if (*cw & _EM_UNDERFLOW) fpword |= 0x800; + if (*cw & _EM_INEXACT) fpword |= 0x1000; + switch (*cw & _MCW_RC) + { + case _RC_UP|_RC_DOWN: fpword |= 0x6000; break; + case _RC_UP: fpword |= 0x4000; break; + case _RC_DOWN: fpword |= 0x2000; break; + } + switch (*cw & _MCW_DN) + { + case _DN_FLUSH_OPERANDS_SAVE_RESULTS: fpword |= 0x0040; break; + case _DN_SAVE_OPERANDS_FLUSH_RESULTS: fpword |= 0x8000; break; + case _DN_FLUSH: fpword |= 0x8040; break; + } + + /* clear status word if anything changes */ + if (fpword != old_fpword && !sw) fpword &= ~0x3f; + } + + if (fpword != old_fpword) set_mxcsr( fpword ); +} +#endif + +void __mingw_setfp( unsigned int *cw, unsigned int cw_mask, + unsigned int *sw, unsigned int sw_mask ) +{ +#if defined(__arm64ec__) + __mingw_setfp_sse(cw, cw_mask, sw, sw_mask); +#elif defined(__i386__) || defined(__x86_64__) + unsigned long oldcw = 0, newcw = 0; + unsigned long oldsw = 0, newsw = 0; + unsigned int flags; + + cw_mask &= _MCW_EM | _MCW_IC | _MCW_RC | _MCW_PC; + sw_mask &= _MCW_EM; + + if (sw) + { + __asm__ __volatile__( "fstsw %0" : "=m" (newsw) ); + oldsw = newsw; + + flags = 0; + if (newsw & 0x1) flags |= _SW_INVALID; + if (newsw & 0x2) flags |= _SW_DENORMAL; + if (newsw & 0x4) flags |= _SW_ZERODIVIDE; + if (newsw & 0x8) flags |= _SW_OVERFLOW; + if (newsw & 0x10) flags |= _SW_UNDERFLOW; + if (newsw & 0x20) flags |= _SW_INEXACT; + + *sw = (flags & ~sw_mask) | (*sw & sw_mask); + newsw &= ~0x3f; + if (*sw & _SW_INVALID) newsw |= 0x1; + if (*sw & _SW_DENORMAL) newsw |= 0x2; + if (*sw & _SW_ZERODIVIDE) newsw |= 0x4; + if (*sw & _SW_OVERFLOW) newsw |= 0x8; + if (*sw & _SW_UNDERFLOW) newsw |= 0x10; + if (*sw & _SW_INEXACT) newsw |= 0x20; + *sw = flags; + } + + if (cw) + { + __asm__ __volatile__( "fstcw %0" : "=m" (newcw) ); + oldcw = newcw; + + flags = 0; + if (newcw & 0x1) flags |= _EM_INVALID; + if (newcw & 0x2) flags |= _EM_DENORMAL; + if (newcw & 0x4) flags |= _EM_ZERODIVIDE; + if (newcw & 0x8) flags |= _EM_OVERFLOW; + if (newcw & 0x10) flags |= _EM_UNDERFLOW; + if (newcw & 0x20) flags |= _EM_INEXACT; + switch (newcw & 0xc00) + { + case 0xc00: flags |= _RC_UP|_RC_DOWN; break; + case 0x800: flags |= _RC_UP; break; + case 0x400: flags |= _RC_DOWN; break; + } + switch (newcw & 0x300) + { + case 0x0: flags |= _PC_24; break; + case 0x200: flags |= _PC_53; break; + case 0x300: flags |= _PC_64; break; + } + if (newcw & 0x1000) flags |= _IC_AFFINE; + + *cw = (flags & ~cw_mask) | (*cw & cw_mask); + newcw &= ~0x1f3f; + if (*cw & _EM_INVALID) newcw |= 0x1; + if (*cw & _EM_DENORMAL) newcw |= 0x2; + if (*cw & _EM_ZERODIVIDE) newcw |= 0x4; + if (*cw & _EM_OVERFLOW) newcw |= 0x8; + if (*cw & _EM_UNDERFLOW) newcw |= 0x10; + if (*cw & _EM_INEXACT) newcw |= 0x20; + switch (*cw & _MCW_RC) + { + case _RC_UP|_RC_DOWN: newcw |= 0xc00; break; + case _RC_UP: newcw |= 0x800; break; + case _RC_DOWN: newcw |= 0x400; break; + } + switch (*cw & _MCW_PC) + { + case _PC_64: newcw |= 0x300; break; + case _PC_53: newcw |= 0x200; break; + case _PC_24: newcw |= 0x0; break; + } + if (*cw & _IC_AFFINE) newcw |= 0x1000; + } + + if (oldsw != newsw && (newsw & 0x3f)) + { + struct { + WORD control_word; + WORD unused1; + WORD status_word; + WORD unused2; + WORD tag_word; + WORD unused3; + DWORD instruction_pointer; + WORD code_segment; + WORD unused4; + DWORD operand_addr; + WORD data_segment; + WORD unused5; + } fenv; + + __asm__ __volatile__( "fnstenv %0" : "=m" (fenv) ); + fenv.control_word = newcw; + fenv.status_word = newsw; + __asm__ __volatile__( "fldenv %0" : : "m" (fenv) : "st", "st(1)", + "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)" ); + return; + } + + if (oldsw != newsw) + __asm__ __volatile__( "fnclex" ); + if (oldcw != newcw) + __asm__ __volatile__( "fldcw %0" : : "m" (newcw) ); +#elif defined(__aarch64__) + ULONG_PTR old_fpsr = 0, fpsr = 0, old_fpcr = 0, fpcr = 0; + unsigned int flags; + + cw_mask &= _MCW_EM | _MCW_RC; + sw_mask &= _MCW_EM; + + if (sw) + { + __asm__ __volatile__( "mrs %0, fpsr" : "=r" (fpsr) ); + old_fpsr = fpsr; + + flags = 0; + if (fpsr & 0x1) flags |= _SW_INVALID; + if (fpsr & 0x2) flags |= _SW_ZERODIVIDE; + if (fpsr & 0x4) flags |= _SW_OVERFLOW; + if (fpsr & 0x8) flags |= _SW_UNDERFLOW; + if (fpsr & 0x10) flags |= _SW_INEXACT; + if (fpsr & 0x80) flags |= _SW_DENORMAL; + + *sw = (flags & ~sw_mask) | (*sw & sw_mask); + fpsr &= ~0x9f; + if (*sw & _SW_INVALID) fpsr |= 0x1; + if (*sw & _SW_ZERODIVIDE) fpsr |= 0x2; + if (*sw & _SW_OVERFLOW) fpsr |= 0x4; + if (*sw & _SW_UNDERFLOW) fpsr |= 0x8; + if (*sw & _SW_INEXACT) fpsr |= 0x10; + if (*sw & _SW_DENORMAL) fpsr |= 0x80; + *sw = flags; + } + + if (cw) + { + __asm__ __volatile__( "mrs %0, fpcr" : "=r" (fpcr) ); + old_fpcr = fpcr; + + flags = 0; + if (!(fpcr & 0x100)) flags |= _EM_INVALID; + if (!(fpcr & 0x200)) flags |= _EM_ZERODIVIDE; + if (!(fpcr & 0x400)) flags |= _EM_OVERFLOW; + if (!(fpcr & 0x800)) flags |= _EM_UNDERFLOW; + if (!(fpcr & 0x1000)) flags |= _EM_INEXACT; + if (!(fpcr & 0x8000)) flags |= _EM_DENORMAL; + switch (fpcr & 0xc00000) + { + case 0x400000: flags |= _RC_UP; break; + case 0x800000: flags |= _RC_DOWN; break; + case 0xc00000: flags |= _RC_CHOP; break; + } + + *cw = (flags & ~cw_mask) | (*cw & cw_mask); + fpcr &= ~0xc09f00ul; + if (!(*cw & _EM_INVALID)) fpcr |= 0x100; + if (!(*cw & _EM_ZERODIVIDE)) fpcr |= 0x200; + if (!(*cw & _EM_OVERFLOW)) fpcr |= 0x400; + if (!(*cw & _EM_UNDERFLOW)) fpcr |= 0x800; + if (!(*cw & _EM_INEXACT)) fpcr |= 0x1000; + if (!(*cw & _EM_DENORMAL)) fpcr |= 0x8000; + switch (*cw & _MCW_RC) + { + case _RC_CHOP: fpcr |= 0xc00000; break; + case _RC_UP: fpcr |= 0x400000; break; + case _RC_DOWN: fpcr |= 0x800000; break; + } + } + + /* mask exceptions if needed */ + if (old_fpcr != fpcr && ~(old_fpcr >> 8) & fpsr & 0x9f != fpsr & 0x9f) + { + ULONG_PTR mask = fpcr & ~0x9f00; + __asm__ __volatile__( "msr fpcr, %0" :: "r" (mask) ); + } + + if (old_fpsr != fpsr) + __asm__ __volatile__( "msr fpsr, %0" :: "r" (fpsr) ); + if (old_fpcr != fpcr) + __asm__ __volatile__( "msr fpcr, %0" :: "r" (fpcr) ); +#elif defined(__arm__) + DWORD old_fpscr, fpscr; + unsigned int flags; + + __asm__ __volatile__( "vmrs %0, fpscr" : "=r" (fpscr) ); + old_fpscr = fpscr; + + cw_mask &= _MCW_EM | _MCW_RC; + sw_mask &= _MCW_EM; + + if (sw) + { + flags = 0; + if (fpscr & 0x1) flags |= _SW_INVALID; + if (fpscr & 0x2) flags |= _SW_ZERODIVIDE; + if (fpscr & 0x4) flags |= _SW_OVERFLOW; + if (fpscr & 0x8) flags |= _SW_UNDERFLOW; + if (fpscr & 0x10) flags |= _SW_INEXACT; + if (fpscr & 0x80) flags |= _SW_DENORMAL; + + *sw = (flags & ~sw_mask) | (*sw & sw_mask); + fpscr &= ~0x9f; + if (*sw & _SW_INVALID) fpscr |= 0x1; + if (*sw & _SW_ZERODIVIDE) fpscr |= 0x2; + if (*sw & _SW_OVERFLOW) fpscr |= 0x4; + if (*sw & _SW_UNDERFLOW) fpscr |= 0x8; + if (*sw & _SW_INEXACT) fpscr |= 0x10; + if (*sw & _SW_DENORMAL) fpscr |= 0x80; + *sw = flags; + } + + if (cw) + { + flags = 0; + if (!(fpscr & 0x100)) flags |= _EM_INVALID; + if (!(fpscr & 0x200)) flags |= _EM_ZERODIVIDE; + if (!(fpscr & 0x400)) flags |= _EM_OVERFLOW; + if (!(fpscr & 0x800)) flags |= _EM_UNDERFLOW; + if (!(fpscr & 0x1000)) flags |= _EM_INEXACT; + if (!(fpscr & 0x8000)) flags |= _EM_DENORMAL; + switch (fpscr & 0xc00000) + { + case 0x400000: flags |= _RC_UP; break; + case 0x800000: flags |= _RC_DOWN; break; + case 0xc00000: flags |= _RC_CHOP; break; + } + + *cw = (flags & ~cw_mask) | (*cw & cw_mask); + fpscr &= ~0xc09f00ul; + if (!(*cw & _EM_INVALID)) fpscr |= 0x100; + if (!(*cw & _EM_ZERODIVIDE)) fpscr |= 0x200; + if (!(*cw & _EM_OVERFLOW)) fpscr |= 0x400; + if (!(*cw & _EM_UNDERFLOW)) fpscr |= 0x800; + if (!(*cw & _EM_INEXACT)) fpscr |= 0x1000; + if (!(*cw & _EM_DENORMAL)) fpscr |= 0x8000; + switch (*cw & _MCW_RC) + { + case _RC_CHOP: fpscr |= 0xc00000; break; + case _RC_UP: fpscr |= 0x400000; break; + case _RC_DOWN: fpscr |= 0x800000; break; + } + } + + if (old_fpscr != fpscr) + __asm__ __volatile__( "vmsr fpscr, %0" :: "r" (fpscr) ); +#endif +} diff --git a/lib/libc/mingw/misc/setjmp.S b/lib/libc/mingw/misc/setjmp.S index 0c06b863207d..2baaae49c8bf 100644 --- a/lib/libc/mingw/misc/setjmp.S +++ b/lib/libc/mingw/misc/setjmp.S @@ -6,6 +6,7 @@ #include <_mingw_mac.h> +#ifndef __arm64ec__ .globl __MINGW_USYMBOL(__intrinsic_setjmp) .def __MINGW_USYMBOL(__intrinsic_setjmp); .scl 2; .type 32; .endef @@ -115,3 +116,4 @@ __MINGW_USYMBOL(__intrinsic_setjmpex): mov x0, #0 ret #endif +#endif /* __arm64ec__ */ diff --git a/lib/libc/mingw/misc/ucrt_tzset.c b/lib/libc/mingw/misc/ucrt_tzset.c index fbb2cc830ce5..7157ba22688d 100644 --- a/lib/libc/mingw/misc/ucrt_tzset.c +++ b/lib/libc/mingw/misc/ucrt_tzset.c @@ -40,6 +40,3 @@ void __cdecl tzset(void) { _tzset(); } - -// Dummy/unused __imp_ wrappers, to make GNU ld not autoexport these symbols. -void __cdecl (*__MINGW_IMP_SYMBOL(tzset))(void) = tzset; diff --git a/lib/libc/mingw/misc/winbs_uint64.c b/lib/libc/mingw/misc/winbs_uint64.c index c0b316221c97..0158eb6f7259 100644 --- a/lib/libc/mingw/misc/winbs_uint64.c +++ b/lib/libc/mingw/misc/winbs_uint64.c @@ -2,38 +2,5 @@ unsigned long long __cdecl _byteswap_uint64(unsigned long long _Int64); unsigned long long __cdecl _byteswap_uint64(unsigned long long _Int64) { -#if defined(_AMD64_) || defined(__x86_64__) - unsigned long long retval; - __asm__ __volatile__ ("bswapq %[retval]" : [retval] "=rm" (retval) : "[retval]" (_Int64)); - return retval; -#elif defined(_X86_) || defined(__i386__) - union { - long long int64part; - struct { - unsigned long lowpart; - unsigned long hipart; - }; - } retval; - retval.int64part = _Int64; - __asm__ __volatile__ ("bswapl %[lowpart]\n" - "bswapl %[hipart]\n" - : [lowpart] "=rm" (retval.hipart), [hipart] "=rm" (retval.lowpart) : "[lowpart]" (retval.lowpart), "[hipart]" (retval.hipart)); - return retval.int64part; -#else - unsigned char *b = (void*)&_Int64; - unsigned char tmp; - tmp = b[0]; - b[0] = b[7]; - b[7] = tmp; - tmp = b[1]; - b[1] = b[6]; - b[6] = tmp; - tmp = b[2]; - b[2] = b[5]; - b[5] = tmp; - tmp = b[3]; - b[3] = b[4]; - b[4] = tmp; - return _Int64; -#endif + return __builtin_bswap64(_Int64); } diff --git a/lib/libc/mingw/misc/winbs_ulong.c b/lib/libc/mingw/misc/winbs_ulong.c index 9cd6b290700f..e23c113a5fcc 100644 --- a/lib/libc/mingw/misc/winbs_ulong.c +++ b/lib/libc/mingw/misc/winbs_ulong.c @@ -2,19 +2,5 @@ unsigned long __cdecl _byteswap_ulong (unsigned long _Long); unsigned long __cdecl _byteswap_ulong (unsigned long _Long) { -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) - unsigned long retval; - __asm__ __volatile__ ("bswapl %[retval]" : [retval] "=rm" (retval) : "[retval]" (_Long)); - return retval; -#else - unsigned char *b = (void*)&_Long; - unsigned char tmp; - tmp = b[0]; - b[0] = b[3]; - b[3] = tmp; - tmp = b[1]; - b[1] = b[2]; - b[2] = tmp; - return _Long; -#endif /* defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) */ + return __builtin_bswap32(_Long); } diff --git a/lib/libc/mingw/misc/winbs_ushort.c b/lib/libc/mingw/misc/winbs_ushort.c index 46b57fda46ca..b1b9ef329559 100644 --- a/lib/libc/mingw/misc/winbs_ushort.c +++ b/lib/libc/mingw/misc/winbs_ushort.c @@ -2,16 +2,5 @@ unsigned short __cdecl _byteswap_ushort(unsigned short _Short); unsigned short __cdecl _byteswap_ushort(unsigned short _Short) { -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) - unsigned short retval; - __asm__ __volatile__ ("rorw $8, %w[retval]" : [retval] "=rm" (retval) : "[retval]" (_Short)); - return retval; -#else - unsigned char *b = (void*)&_Short; - unsigned char tmp; - tmp = b[0]; - b[0] = b[1]; - b[1] = tmp; - return _Short; -#endif /* defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) */ + return __builtin_bswap16(_Short); } diff --git a/lib/libc/mingw/stdio/__mingw_fix_stat_path.c b/lib/libc/mingw/stdio/__mingw_fix_stat_path.c new file mode 100644 index 000000000000..564658473f02 --- /dev/null +++ b/lib/libc/mingw/stdio/__mingw_fix_stat_path.c @@ -0,0 +1,64 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include +#include + +/** + * Returns _path without trailing slash if any + * + * - if _path has no trailing slash, the function returns it + * - if _path has a trailing slash, but is of the form C:/, then it returns it + * - otherwise, the function creates a new string, which is a copy of _path + * without the trailing slash. It is then the responsibility of the caller + * to free it. + */ + +char* __mingw_fix_stat_path (const char* _path); +char* __mingw_fix_stat_path (const char* _path) +{ + int len; + char *p; + + p = (char*)_path; + + if (_path && *_path) { + len = strlen (_path); + + /* Ignore X:\ */ + + if (len <= 1 || ((len == 2 || len == 3) && _path[1] == ':')) + return p; + + /* Check UNC \\abc\\ */ + if ((_path[0] == '\\' || _path[0] == '/') + && (_path[1] == '\\' || _path[1] == '/')) + { + const char *r = &_path[2]; + while (*r != 0 && *r != '\\' && *r != '/') + ++r; + if (*r != 0) + ++r; + if (*r == 0) + return p; + while (*r != 0 && *r != '\\' && *r != '/') + ++r; + if (*r != 0) + ++r; + if (*r == 0) + return p; + } + + if (_path[len - 1] == '/' || _path[len - 1] == '\\') + { + p = (char*)malloc (len); + memcpy (p, _path, len - 1); + p[len - 1] = '\0'; + } + } + + return p; +} diff --git a/lib/libc/mingw/stdio/__mingw_fix_wstat_path.c b/lib/libc/mingw/stdio/__mingw_fix_wstat_path.c new file mode 100644 index 000000000000..838e4aa30d39 --- /dev/null +++ b/lib/libc/mingw/stdio/__mingw_fix_wstat_path.c @@ -0,0 +1,64 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include +#include + +/** + * Returns _path without trailing slash if any + * + * - if _path has no trailing slash, the function returns it + * - if _path has a trailing slash, but is of the form C:/, then it returns it + * - otherwise, the function creates a new string, which is a copy of _path + * without the trailing slash. It is then the responsibility of the caller + * to free it. + */ + +wchar_t* __mingw_fix_wstat_path (const wchar_t* _path); +wchar_t* __mingw_fix_wstat_path (const wchar_t* _path) +{ + int len; + wchar_t *p; + + p = (wchar_t*)_path; + + if (_path && *_path) { + len = wcslen (_path); + + /* Ignore X:\ */ + + if (len <= 1 || ((len == 2 || len == 3) && _path[1] == L':')) + return p; + + /* Check UNC \\abc\\ */ + if ((_path[0] == L'\\' || _path[0] == L'/') + && (_path[1] == L'\\' || _path[1] == L'/')) + { + const wchar_t *r = &_path[2]; + while (*r != 0 && *r != L'\\' && *r != L'/') + ++r; + if (*r != 0) + ++r; + if (*r == 0) + return p; + while (*r != 0 && *r != L'\\' && *r != L'/') + ++r; + if (*r != 0) + ++r; + if (*r == 0) + return p; + } + + if (_path[len - 1] == L'/' || _path[len - 1] == L'\\') + { + p = (wchar_t*)malloc (len * sizeof(wchar_t)); + memcpy (p, _path, (len - 1) * sizeof(wchar_t)); + p[len - 1] = L'\0'; + } + } + + return p; +} diff --git a/lib/libc/mingw/stdio/_findfirst64i32.c b/lib/libc/mingw/stdio/_findfirst64i32.c index 8942dc153a79..020ecee6a659 100644 --- a/lib/libc/mingw/stdio/_findfirst64i32.c +++ b/lib/libc/mingw/stdio/_findfirst64i32.c @@ -7,7 +7,7 @@ intptr_t __cdecl _findfirst64i32(const char *_Filename,struct _finddata64i32_t * struct __finddata64_t fd; intptr_t ret = _findfirst64(_Filename,&fd); if (ret == -1) { - memset(_FindData,0,sizeof(struct _finddata64i32_t)); + *_FindData = (struct _finddata64i32_t){0}; return -1; } _FindData->attrib=fd.attrib; diff --git a/lib/libc/mingw/stdio/_findnext64i32.c b/lib/libc/mingw/stdio/_findnext64i32.c index 90ae45443201..e756846b928f 100644 --- a/lib/libc/mingw/stdio/_findnext64i32.c +++ b/lib/libc/mingw/stdio/_findnext64i32.c @@ -7,7 +7,7 @@ int __cdecl _findnext64i32(intptr_t _FindHandle,struct _finddata64i32_t *_FindDa struct __finddata64_t fd; int ret = _findnext64(_FindHandle,&fd); if (ret == -1) { - memset(_FindData,0,sizeof(struct _finddata64i32_t)); + *_FindData = (struct _finddata64i32_t){0}; return -1; } _FindData->attrib=fd.attrib; diff --git a/lib/libc/mingw/stdio/_fstat64i32.c b/lib/libc/mingw/stdio/_fstat64i32.c index 57cc492d7731..dbc689c80904 100644 --- a/lib/libc/mingw/stdio/_fstat64i32.c +++ b/lib/libc/mingw/stdio/_fstat64i32.c @@ -1,14 +1,26 @@ -#define __CRT__NO_INLINE +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + #include +/* When the file size does not fit into the st_size field: + * crtdll-msvcr90 msvcr100 msvcr110+ + * st_size truncate 0 0 + * errno no change no change EOVERFLOW + * returns 0 -1 -1 + * + * This file is used only for pre-msvcr80 builds, + * So use the pre-msvcr80 behavior - truncate without error. + */ int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat) { struct _stat64 st; int ret=_fstat64(_FileDes,&st); - if (ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } + if (ret != 0) + return ret; _Stat->st_dev=st.st_dev; _Stat->st_ino=st.st_ino; _Stat->st_mode=st.st_mode; @@ -16,10 +28,10 @@ int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat) _Stat->st_uid=st.st_uid; _Stat->st_gid=st.st_gid; _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; /* 32bit size */ + _Stat->st_size=(_off_t) st.st_size; /* truncate 64-bit st_size to 32-bit */ _Stat->st_atime=st.st_atime; _Stat->st_mtime=st.st_mtime; _Stat->st_ctime=st.st_ctime; - return ret; + return 0; } - +int (__cdecl *__MINGW_IMP_SYMBOL(_fstat64i32))(int, struct _stat64i32 *) = _fstat64i32; diff --git a/lib/libc/mingw/stdio/_stat.c b/lib/libc/mingw/stdio/_stat.c deleted file mode 100644 index fbb985e389e9..000000000000 --- a/lib/libc/mingw/stdio/_stat.c +++ /dev/null @@ -1,120 +0,0 @@ -#define __CRT__NO_INLINE -#include -#include - -/** - * Returns _path without trailing slash if any - * - * - if _path has no trailing slash, the function returns it - * - if _path has a trailing slash, but is of the form C:/, then it returns it - * - otherwise, the function creates a new string, which is a copy of _path - * without the trailing slash. It is then the responsibility of the caller - * to free it. - */ - -static char* -_mingw_no_trailing_slash (const char* _path) -{ - int len; - char *p; - - p = (char*)_path; - - if (_path && *_path) { - len = strlen (_path); - - /* Ignore X:\ */ - - if (len <= 1 || ((len == 2 || len == 3) && _path[1] == ':')) - return p; - - /* Check UNC \\abc\\ */ - if ((_path[0] == '\\' || _path[0] == '/') - && (_path[1] == '\\' || _path[1] == '/')) - { - const char *r = &_path[2]; - while (*r != 0 && *r != '\\' && *r != '/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - while (*r != 0 && *r != '\\' && *r != '/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - } - - if (_path[len - 1] == '/' || _path[len - 1] == '\\') - { - p = (char*)malloc (len); - memcpy (p, _path, len - 1); - p[len - 1] = '\0'; - } - } - - return p; -} -/* FIXME: Relying on _USE_32BIT_TIME_T, which is a user-macro, -during CRT compilation is plainly broken. Need an appropriate -implementation to provide users the ability of compiling the -CRT only with 32-bit time_t behavior. */ -#if defined(_USE_32BIT_TIME_T) -int __cdecl -stat(const char *_Filename,struct stat *_Stat) -{ - struct _stat32 st; - char *_path = _mingw_no_trailing_slash(_Filename); - - int ret=_stat32(_path,&st); - - if (_path != _Filename) - free (_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat32 - are the same for this case. */ - memcpy(_Stat, &st, sizeof(struct _stat32)); - return ret; -} -#else -int __cdecl -stat(const char *_Filename,struct stat *_Stat) -{ - struct _stat64 st; - char *_path = _mingw_no_trailing_slash(_Filename); - - int ret=_stat64(_path,&st); - - if (_path != _Filename) - free (_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat64i32 - are the same for this case. */ - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return ret; -} -#endif - -/* Add __imp__fstat and __imp__stat symbols. */ -int (*__MINGW_IMP_SYMBOL(stat))(const char *,struct stat *) = &stat; - diff --git a/lib/libc/mingw/stdio/_stat64i32.c b/lib/libc/mingw/stdio/_stat64i32.c index 19adf5b0ee19..a6c3243a64a8 100644 --- a/lib/libc/mingw/stdio/_stat64i32.c +++ b/lib/libc/mingw/stdio/_stat64i32.c @@ -1,77 +1,26 @@ -#define __CRT__NO_INLINE -#include -#include - /** - * Returns _path without trailing slash if any - * - * - if _path has no trailing slash, the function returns it - * - if _path has a trailing slash, but is of the form C:/, then it returns it - * - otherwise, the function creates a new string, which is a copy of _path - * without the trailing slash. It is then the responsibility of the caller - * to free it. + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -static char* -_mingw_no_trailing_slash (const char* _path) -{ - int len; - char *p; - - p = (char*)_path; - - if (_path && *_path) { - len = strlen (_path); - - /* Ignore X:\ */ - - if (len <= 1 || ((len == 2 || len == 3) && _path[1] == ':')) - return p; - - /* Check UNC \\abc\\ */ - if ((_path[0] == '\\' || _path[0] == '/') - && (_path[1] == '\\' || _path[1] == '/')) - { - const char *r = &_path[2]; - while (*r != 0 && *r != '\\' && *r != '/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - while (*r != 0 && *r != '\\' && *r != '/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - } - - if (_path[len - 1] == '/' || _path[len - 1] == '\\') - { - p = (char*)malloc (len); - memcpy (p, _path, len - 1); - p[len - 1] = '\0'; - } - } - - return p; -} +#include +/* When the file size does not fit into the st_size field: + * crtdll-msvcr90 msvcr100 msvcr110+ + * st_size truncate 0 0 + * errno no change no change EOVERFLOW + * returns 0 -1 -1 + * + * This file is used only for pre-msvcr80 builds, + * So use the pre-msvcr80 behavior - truncate without error. + */ int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) { struct _stat64 st; - char *_path = _mingw_no_trailing_slash(_Name); - - int ret=_stat64(_path,&st); - - if (_path != _Name) - free(_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } + int ret=_stat64(_Name,&st); + if (ret != 0) + return ret; _Stat->st_dev=st.st_dev; _Stat->st_ino=st.st_ino; _Stat->st_mode=st.st_mode; @@ -79,10 +28,10 @@ int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) _Stat->st_uid=st.st_uid; _Stat->st_gid=st.st_gid; _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; + _Stat->st_size=(_off_t) st.st_size; /* truncate 64-bit st_size to 32-bit */ _Stat->st_atime=st.st_atime; _Stat->st_mtime=st.st_mtime; _Stat->st_ctime=st.st_ctime; - return ret; + return 0; } - +int (__cdecl *__MINGW_IMP_SYMBOL(_stat64i32))(const char *, struct _stat64i32 *) = _stat64i32; diff --git a/lib/libc/mingw/stdio/_wfindfirst64i32.c b/lib/libc/mingw/stdio/_wfindfirst64i32.c index d355e524eaf1..6cfe849f39ff 100644 --- a/lib/libc/mingw/stdio/_wfindfirst64i32.c +++ b/lib/libc/mingw/stdio/_wfindfirst64i32.c @@ -7,7 +7,7 @@ intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i3 struct _wfinddata64_t fd; intptr_t ret = _wfindfirst64(_Filename,&fd); if (ret == -1) { - memset(_FindData,0,sizeof(struct _wfinddata64i32_t)); + *_FindData = (struct _wfinddata64i32_t){0}; return -1; } _FindData->attrib=fd.attrib; diff --git a/lib/libc/mingw/stdio/_wfindnext64i32.c b/lib/libc/mingw/stdio/_wfindnext64i32.c index c8d534275020..9753916ea5fe 100644 --- a/lib/libc/mingw/stdio/_wfindnext64i32.c +++ b/lib/libc/mingw/stdio/_wfindnext64i32.c @@ -7,7 +7,7 @@ int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_Find struct _wfinddata64_t fd; int ret = _wfindnext64(_FindHandle,&fd); if (ret == -1) { - memset(_FindData,0,sizeof(struct _wfinddata64i32_t)); + *_FindData = (struct _wfinddata64i32_t){0}; return -1; } _FindData->attrib=fd.attrib; diff --git a/lib/libc/mingw/stdio/_wstat.c b/lib/libc/mingw/stdio/_wstat.c deleted file mode 100644 index 08566168fbe5..000000000000 --- a/lib/libc/mingw/stdio/_wstat.c +++ /dev/null @@ -1,119 +0,0 @@ -#define __CRT__NO_INLINE -#include -#include -#include - -/** - * Returns _path without trailing slash if any - * - * - if _path has no trailing slash, the function returns it - * - if _path has a trailing slash, but is of the form C:/, then it returns it - * - otherwise, the function creates a new string, which is a copy of _path - * without the trailing slash. It is then the responsibility of the caller - * to free it. - */ - -static wchar_t* -_mingw_no_trailing_slash (const wchar_t* _path) -{ - int len; - wchar_t *p; - - p = (wchar_t*)_path; - - if (_path && *_path) { - len = wcslen (_path); - - /* Ignore X:\ */ - - if (len <= 1 || ((len == 2 || len == 3) && _path[1] == L':')) - return p; - - /* Check UNC \\abc\\ */ - if ((_path[0] == L'\\' || _path[0] == L'/') - && (_path[1] == L'\\' || _path[1] == L'/')) - { - const wchar_t *r = &_path[2]; - while (*r != 0 && *r != L'\\' && *r != L'/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - while (*r != 0 && *r != L'\\' && *r != L'/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - } - - if (_path[len - 1] == L'/' || _path[len - 1] == L'\\') - { - p = (wchar_t*)malloc (len * sizeof(wchar_t)); - memcpy (p, _path, (len - 1) * sizeof(wchar_t)); - p[len - 1] = L'\0'; - } - } - - return p; -} - -/* FIXME: Relying on _USE_32BIT_TIME_T, which is a user-macro, -during CRT compilation is plainly broken. Need an appropriate -implementation to provide users the ability of compiling the -CRT only with 32-bit time_t behavior. */ -#if defined(_USE_32BIT_TIME_T) -int __cdecl -wstat(const wchar_t *_Filename,struct stat *_Stat) -{ - struct _stat32 st; - wchar_t *_path = _mingw_no_trailing_slash(_Filename); - - int ret=_wstat32(_path,&st); - - if (_path != _Filename) - free (_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat32 - are the same for this case. */ - memcpy(_Stat, &st, sizeof(struct _stat32)); - return ret; -} -#else -int __cdecl -wstat(const wchar_t *_Filename,struct stat *_Stat) -{ - struct _stat64 st; - wchar_t *_path = _mingw_no_trailing_slash(_Filename); - - int ret=_wstat64(_path,&st); - - if (_path != _Filename) - free (_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct stat)); - return -1; - } - /* struct stat and struct _stat64i32 - are the same for this case. */ - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return ret; -} -#endif - diff --git a/lib/libc/mingw/stdio/_wstat64i32.c b/lib/libc/mingw/stdio/_wstat64i32.c index d6ee07a3d52e..292d0b4a6a48 100644 --- a/lib/libc/mingw/stdio/_wstat64i32.c +++ b/lib/libc/mingw/stdio/_wstat64i32.c @@ -1,77 +1,26 @@ -#define __CRT__NO_INLINE -#include -#include - /** - * Returns _path without trailing slash if any - * - * - if _path has no trailing slash, the function returns it - * - if _path has a trailing slash, but is of the form C:/, then it returns it - * - otherwise, the function creates a new string, which is a copy of _path - * without the trailing slash. It is then the responsibility of the caller - * to free it. + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -static wchar_t* -_mingw_no_trailing_slash (const wchar_t* _path) -{ - int len; - wchar_t *p; - - p = (wchar_t*)_path; - - if (_path && *_path) { - len = wcslen (_path); - - /* Ignore X:\ */ - - if (len <= 1 || ((len == 2 || len == 3) && _path[1] == L':')) - return p; - - /* Check UNC \\abc\\ */ - if ((_path[0] == L'\\' || _path[0] == L'/') - && (_path[1] == L'\\' || _path[1] == L'/')) - { - const wchar_t *r = &_path[2]; - while (*r != 0 && *r != L'\\' && *r != L'/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - while (*r != 0 && *r != L'\\' && *r != L'/') - ++r; - if (*r != 0) - ++r; - if (*r == 0) - return p; - } - - if (_path[len - 1] == L'/' || _path[len - 1] == L'\\') - { - p = (wchar_t*)malloc (len * sizeof(wchar_t)); - memcpy (p, _path, (len - 1) * sizeof(wchar_t)); - p[len - 1] = L'\0'; - } - } - - return p; -} +#include +/* When the file size does not fit into the st_size field: + * crtdll-msvcr90 msvcr100 msvcr110+ + * st_size truncate 0 0 + * errno no change no change EOVERFLOW + * returns 0 -1 -1 + * + * This file is used only for pre-msvcr80 builds, + * So use the pre-msvcr80 behavior - truncate without error. + */ int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat) { struct _stat64 st; - wchar_t *_path = _mingw_no_trailing_slash(_Name); - - int ret=_wstat64(_path,&st); - - if (_path != _Name) - free(_path); - - if (ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } + int ret=_wstat64(_Name,&st); + if (ret != 0) + return ret; _Stat->st_dev=st.st_dev; _Stat->st_ino=st.st_ino; _Stat->st_mode=st.st_mode; @@ -79,10 +28,10 @@ int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat) _Stat->st_uid=st.st_uid; _Stat->st_gid=st.st_gid; _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; + _Stat->st_size=(_off_t) st.st_size; /* truncate 64-bit st_size to 32-bit */ _Stat->st_atime=st.st_atime; _Stat->st_mtime=st.st_mtime; _Stat->st_ctime=st.st_ctime; - return ret; + return 0; } - +int (__cdecl *__MINGW_IMP_SYMBOL(_wstat64i32))(const wchar_t *, struct _stat64i32 *) = _wstat64i32; diff --git a/lib/libc/mingw/stdio/mingw_pformat.c b/lib/libc/mingw/stdio/mingw_pformat.c index fd53ce1a83d8..d094e7ace25d 100644 --- a/lib/libc/mingw/stdio/mingw_pformat.c +++ b/lib/libc/mingw/stdio/mingw_pformat.c @@ -512,8 +512,7 @@ void __pformat_putchars( const char *s, int count, __pformat_t *stream ) wchar_t w[12], *p; while( count > 0 ) { - mbstate_t ps; - memset(&ps, 0, sizeof(ps) ); + mbstate_t ps = {0}; --count; p = &w[0]; l = mbrtowc (p, s, strlen (s), &ps); @@ -1175,11 +1174,8 @@ void __pformat_emit_radix_point( __pformat_t *stream ) /* Radix point initialisation not yet completed; * establish a multibyte to `wchar_t' converter... */ - int len; wchar_t rpchr; mbstate_t state; - - /* Initialise the conversion state... - */ - memset( &state, 0, sizeof( state ) ); + int len; wchar_t rpchr; + mbstate_t state = {0}; /* Fetch and convert the localised radix point representation... */ @@ -1203,11 +1199,8 @@ void __pformat_emit_radix_point( __pformat_t *stream ) #ifdef __BUILD_WIDEAPI __pformat_putc (stream->rpchr, stream); #else - int len; char buf[len = stream->rplen]; mbstate_t state; - - /* Initialise the conversion state... - */ - memset( &state, 0, sizeof( state ) ); + int len; char buf[len = stream->rplen]; + mbstate_t state = {0}; /* Convert the `wchar_t' representation to multibyte... */ @@ -3123,8 +3116,8 @@ __pformat (int flags, void *dest, int max, const APICHAR *fmt, va_list argv) if (state == PFORMAT_INIT) { stream.flags |= PFORMAT_GROUPED; /* $$$$ */ - int len; wchar_t rpchr; mbstate_t cstate; - memset (&cstate, 0, sizeof(state)); + int len; wchar_t rpchr; + mbstate_t cstate = {0}; if ((len = mbrtowc( &rpchr, localeconv()->thousands_sep, 16, &cstate)) > 0) stream.thousands_chr = rpchr; stream.thousands_chr_len = len; diff --git a/lib/libc/mingw/stdio/mingw_sformat.c b/lib/libc/mingw/stdio/mingw_sformat.c index 040c2ae8874d..81757cb1ebc7 100644 --- a/lib/libc/mingw/stdio/mingw_sformat.c +++ b/lib/libc/mingw/stdio/mingw_sformat.c @@ -307,7 +307,7 @@ __mingw_sformat (_IFP *s, const char *format, va_list argp) char seen_dot, seen_exp, is_neg, not_in; char *tmp_wbuf_ptr, buf[MB_LEN_MAX]; const char *lc_decimal_point, *lc_thousands_sep; - mbstate_t state, cstate; + mbstate_t state = {0}, cstate; union { unsigned long long ull; unsigned long ul; @@ -323,8 +323,6 @@ __mingw_sformat (_IFP *s, const char *format, va_list argp) return EOF; } - memset (&state, 0, sizeof (state)); - lc_decimal_point = localeconv()->decimal_point; lc_thousands_sep = localeconv()->thousands_sep; if (lc_thousands_sep != NULL && *lc_thousands_sep == 0) @@ -682,7 +680,7 @@ __mingw_sformat (_IFP *s, const char *format, va_list argp) if ((c = in_ch (s, &read_in)) == EOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&cstate, 0, sizeof (cstate)); + cstate = (mbstate_t){0}; do { @@ -854,7 +852,7 @@ __mingw_sformat (_IFP *s, const char *format, va_list argp) if ((c = in_ch (s, &read_in)) == EOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&cstate, 0, sizeof (cstate)); + cstate = (mbstate_t){0}; do { @@ -1459,7 +1457,7 @@ __mingw_sformat (_IFP *s, const char *format, va_list argp) if ((c = in_ch (s, &read_in)) == EOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&cstate, 0, sizeof (cstate)); + cstate = (mbstate_t){0}; do { diff --git a/lib/libc/mingw/stdio/mingw_swformat.c b/lib/libc/mingw/stdio/mingw_swformat.c index 5f4b2c08f395..6cc354cc914a 100644 --- a/lib/libc/mingw/stdio/mingw_swformat.c +++ b/lib/libc/mingw/stdio/mingw_swformat.c @@ -332,10 +332,10 @@ __mingw_swformat (_IFPW *s, const wchar_t *format, va_list argp) return EOF; } - memset (&state, 0, sizeof(state)); + state = (mbstate_t){0}; clen = mbrtowc( &wc, localeconv()->decimal_point, 16, &state); lc_decimal_point = (clen > 0 ? wc : '.'); - memset( &state, 0, sizeof( state ) ); + state = (mbstate_t){0}; clen = mbrtowc( &wc, localeconv()->thousands_sep, 16, &state); lc_thousands_sep = (clen > 0 ? wc : 0); @@ -596,7 +596,7 @@ __mingw_swformat (_IFPW *s, const wchar_t *format, va_list argp) if ((c = in_ch (s, &read_in)) == WEOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&state, 0, sizeof (state)); + state = (mbstate_t){0}; do { @@ -744,7 +744,7 @@ __mingw_swformat (_IFPW *s, const wchar_t *format, va_list argp) if ((c = in_ch (s, &read_in)) == WEOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&state, 0, sizeof (state)); + state = (mbstate_t){0}; do { @@ -1459,7 +1459,7 @@ __mingw_swformat (_IFPW *s, const wchar_t *format, va_list argp) if ((c = in_ch (s, &read_in)) == WEOF) return cleanup_return ((!rval ? EOF : rval), &gcollect, pstr, &wbuf); - memset (&state, 0, sizeof (state)); + state = (mbstate_t){0}; do { diff --git a/lib/libc/mingw/stdio/mingw_vfscanf.c b/lib/libc/mingw/stdio/mingw_vfscanf.c index eadc9be321bc..2d1814ef577c 100644 --- a/lib/libc/mingw/stdio/mingw_vfscanf.c +++ b/lib/libc/mingw/stdio/mingw_vfscanf.c @@ -7,8 +7,6 @@ int __mingw_vfscanf (FILE *s, const char *format, va_list argp) { - _IFP ifp; - memset (&ifp, 0, sizeof (_IFP)); - ifp.fp = s; + _IFP ifp = { .fp = s }; return __mingw_sformat (&ifp, format, argp); } diff --git a/lib/libc/mingw/stdio/mingw_vfwscanf.c b/lib/libc/mingw/stdio/mingw_vfwscanf.c index dfb156f6d059..ddfe47a8548d 100644 --- a/lib/libc/mingw/stdio/mingw_vfwscanf.c +++ b/lib/libc/mingw/stdio/mingw_vfwscanf.c @@ -7,8 +7,6 @@ int __mingw_vfwscanf (FILE *s, const wchar_t *format, va_list argp) { - _IFPW ifp; - memset (&ifp, 0, sizeof (_IFPW)); - ifp.fp = s; + _IFPW ifp = { .fp = s }; return __mingw_swformat (&ifp, format, argp); } diff --git a/lib/libc/mingw/stdio/mingw_vsscanf.c b/lib/libc/mingw/stdio/mingw_vsscanf.c index 52d72d9f0aa8..9bff45841005 100644 --- a/lib/libc/mingw/stdio/mingw_vsscanf.c +++ b/lib/libc/mingw/stdio/mingw_vsscanf.c @@ -7,9 +7,6 @@ int __mingw_vsscanf (const char *s, const char *format, va_list argp) { - _IFP ifp; - memset (&ifp, 0, sizeof (_IFP)); - ifp.str = s; - ifp.is_string = 1; + _IFP ifp = { .str = s, .is_string = 1 }; return __mingw_sformat (&ifp, format, argp); } diff --git a/lib/libc/mingw/stdio/mingw_vswscanf.c b/lib/libc/mingw/stdio/mingw_vswscanf.c index 48767f229735..9f23837f7d46 100644 --- a/lib/libc/mingw/stdio/mingw_vswscanf.c +++ b/lib/libc/mingw/stdio/mingw_vswscanf.c @@ -7,9 +7,6 @@ int __mingw_vswscanf (const wchar_t *s, const wchar_t *format, va_list argp) { - _IFPW ifp; - memset (&ifp, 0, sizeof (_IFPW)); - ifp.str = s; - ifp.is_string = 1; + _IFPW ifp = { .str = s, .is_string = 1 }; return __mingw_swformat (&ifp, format, argp); } diff --git a/lib/libc/mingw/stdio/ucrt___local_stdio_printf_options.c b/lib/libc/mingw/stdio/ucrt___local_stdio_printf_options.c new file mode 100644 index 000000000000..986c4fd10489 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt___local_stdio_printf_options.c @@ -0,0 +1,15 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +static unsigned __int64 options = _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS | _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING; + +unsigned __int64* __local_stdio_printf_options(void) { + return &options; +} diff --git a/lib/libc/mingw/stdio/ucrt___local_stdio_scanf_options.c b/lib/libc/mingw/stdio/ucrt___local_stdio_scanf_options.c new file mode 100644 index 000000000000..2dbd324560cf --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt___local_stdio_scanf_options.c @@ -0,0 +1,15 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +static unsigned __int64 options = _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS; + +unsigned __int64* __local_stdio_scanf_options(void) { + return &options; +} diff --git a/lib/libc/mingw/stdio/ucrt__scprintf.c b/lib/libc/mingw/stdio/ucrt__scprintf.c index 72e321615140..0da8210fb3ab 100644 --- a/lib/libc/mingw/stdio/ucrt__scprintf.c +++ b/lib/libc/mingw/stdio/ucrt__scprintf.c @@ -18,4 +18,3 @@ int __cdecl _scprintf(const char * __restrict__ _Format, ...) va_end(_ArgList); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(_scprintf))(const char *__restrict__, ...) = _scprintf; diff --git a/lib/libc/mingw/stdio/ucrt__snprintf.c b/lib/libc/mingw/stdio/ucrt__snprintf.c index 7b8794c90a6b..4f2dc80e50fd 100644 --- a/lib/libc/mingw/stdio/ucrt__snprintf.c +++ b/lib/libc/mingw/stdio/ucrt__snprintf.c @@ -18,4 +18,3 @@ int __cdecl _snprintf(char * __restrict__ _Dest, size_t _Count, const char * __r va_end(_Args); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(_snprintf))(char *__restrict__, size_t, const char *__restrict__, ...) = _snprintf; diff --git a/lib/libc/mingw/stdio/ucrt__snscanf.c b/lib/libc/mingw/stdio/ucrt__snscanf.c index 341b0e5ad889..bd9dfdd38362 100644 --- a/lib/libc/mingw/stdio/ucrt__snscanf.c +++ b/lib/libc/mingw/stdio/ucrt__snscanf.c @@ -14,8 +14,7 @@ int __cdecl _snscanf(const char * __restrict__ _Src, size_t _MaxCount, const cha int ret; va_list _ArgList; va_start(_ArgList, _Format); - ret = __stdio_common_vsscanf(0, _Src, _MaxCount, _Format, NULL, _ArgList); + ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, _MaxCount, _Format, NULL, _ArgList); va_end(_ArgList); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(_snscanf))(const char *__restrict__, size_t, const char * __restrict__, ...) = _snscanf; diff --git a/lib/libc/mingw/stdio/ucrt__snwprintf.c b/lib/libc/mingw/stdio/ucrt__snwprintf.c index 07cdf18a46b3..5f5a435884b3 100644 --- a/lib/libc/mingw/stdio/ucrt__snwprintf.c +++ b/lib/libc/mingw/stdio/ucrt__snwprintf.c @@ -4,25 +4,12 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -// For ucrt, this function normally is an inline function in stdio.h. -// libmingwex doesn't use the ucrt version of headers, and wassert.c can -// end up requiring a concrete version of it. - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Winline" -#endif - #undef __MSVCRT_VERSION__ #define _UCRT -#define _snwprintf real__snwprintf - #include #include -#undef _snwprintf - int __cdecl _snwprintf(wchar_t * restrict _Dest, size_t _Count, const wchar_t * restrict _Format, ...); int __cdecl _snwprintf(wchar_t * restrict _Dest, size_t _Count, const wchar_t * restrict _Format, ...) @@ -34,8 +21,3 @@ int __cdecl _snwprintf(wchar_t * restrict _Dest, size_t _Count, const wchar_t * va_end(ap); return ret; } - -int __cdecl (*__MINGW_IMP_SYMBOL(_snwprintf))(wchar_t *restrict, size_t, const wchar_t *restrict, ...) = _snwprintf; -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif diff --git a/lib/libc/mingw/stdio/ucrt__vsnprintf.c b/lib/libc/mingw/stdio/ucrt__vsnprintf.c index fbdf4f881135..758b4b525109 100644 --- a/lib/libc/mingw/stdio/ucrt__vsnprintf.c +++ b/lib/libc/mingw/stdio/ucrt__vsnprintf.c @@ -12,4 +12,3 @@ int __cdecl _vsnprintf(char * __restrict__ _Dest,size_t _Count,const char * __re { return __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _Dest, _Count, _Format, NULL, _Args); } -int __cdecl (*__MINGW_IMP_SYMBOL(_vsnprintf))(char *__restrict__, size_t, const char *__restrict__, va_list) = _vsnprintf; diff --git a/lib/libc/mingw/stdio/ucrt__vsnwprintf.c b/lib/libc/mingw/stdio/ucrt__vsnwprintf.c index 7f88fee8e59d..376a683b9ae6 100644 --- a/lib/libc/mingw/stdio/ucrt__vsnwprintf.c +++ b/lib/libc/mingw/stdio/ucrt__vsnwprintf.c @@ -12,4 +12,3 @@ int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t { return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _Dest, _Count, _Format, NULL, _Args); } -int __cdecl (*__MINGW_IMP_SYMBOL(_vsnwprintf))(wchar_t *__restrict__, size_t, const wchar_t *__restrict__, va_list) = _vsnwprintf; diff --git a/lib/libc/mingw/stdio/ucrt_fprintf.c b/lib/libc/mingw/stdio/ucrt_fprintf.c index ab223d62f02d..0b06b14e9653 100644 --- a/lib/libc/mingw/stdio/ucrt_fprintf.c +++ b/lib/libc/mingw/stdio/ucrt_fprintf.c @@ -17,4 +17,3 @@ int __cdecl fprintf(FILE * __restrict__ _File,const char * __restrict__ _Format, __builtin_va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(fprintf))(FILE *__restrict__, const char *__restrict__, ...) = fprintf; diff --git a/lib/libc/mingw/stdio/ucrt_fscanf.c b/lib/libc/mingw/stdio/ucrt_fscanf.c index 4b013f0a7c5f..32149fcdff7d 100644 --- a/lib/libc/mingw/stdio/ucrt_fscanf.c +++ b/lib/libc/mingw/stdio/ucrt_fscanf.c @@ -12,8 +12,7 @@ int __cdecl fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,. __builtin_va_list __ap; int __ret; __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfscanf(0, _File, _Format, NULL, __ap); + __ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap); __builtin_va_end(__ap); return __ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(fscanf))(FILE *__restrict__, const char *__restrict__, ...) = fscanf; diff --git a/lib/libc/mingw/stdio/ucrt_fwprintf.c b/lib/libc/mingw/stdio/ucrt_fwprintf.c index d51a6d692577..159f9f4a99f4 100644 --- a/lib/libc/mingw/stdio/ucrt_fwprintf.c +++ b/lib/libc/mingw/stdio/ucrt_fwprintf.c @@ -4,25 +4,12 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -// For ucrt, this function normally is an inline function in stdio.h. -// libmingwex doesn't use the ucrt version of headers, and wassert.c can -// end up requiring a concrete version of it. - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Winline" -#endif - #undef __MSVCRT_VERSION__ #define _UCRT -#define fwprintf real_fwprintf - #include #include -#undef fwprintf - int __cdecl fwprintf(FILE *ptr, const wchar_t *fmt, ...); int __cdecl fwprintf(FILE *ptr, const wchar_t *fmt, ...) @@ -30,12 +17,7 @@ int __cdecl fwprintf(FILE *ptr, const wchar_t *fmt, ...) va_list ap; int ret; va_start(ap, fmt); - ret = vfwprintf(ptr, fmt, ap); + ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, ptr, fmt, NULL, ap); va_end(ap); return ret; } - -int __cdecl (*__MINGW_IMP_SYMBOL(fwprintf))(FILE *, const wchar_t *, ...) = fwprintf; -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif diff --git a/lib/libc/mingw/stdio/ucrt_fwscanf.c b/lib/libc/mingw/stdio/ucrt_fwscanf.c new file mode 100644 index 000000000000..a9dcc8b823d5 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_fwscanf.c @@ -0,0 +1,18 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) { + __builtin_va_list __ap; + int __ret; + __builtin_va_start(__ap, _Format); + __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap); + __builtin_va_end(__ap); + return __ret; +} diff --git a/lib/libc/mingw/stdio/ucrt_ms_fwprintf.c b/lib/libc/mingw/stdio/ucrt_ms_fwprintf.c index f44c78d941e9..b79073322da0 100644 --- a/lib/libc/mingw/stdio/ucrt_ms_fwprintf.c +++ b/lib/libc/mingw/stdio/ucrt_ms_fwprintf.c @@ -17,8 +17,7 @@ int __cdecl __ms_fwprintf(FILE *file, const wchar_t *fmt, ...) va_list ap; int ret; va_start(ap, fmt); - ret = __stdio_common_vfwprintf(_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS, file, fmt, NULL, ap); + ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, fmt, NULL, ap); va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(__ms_fwprintf))(FILE *, const wchar_t *, ...) = __ms_fwprintf; diff --git a/lib/libc/mingw/stdio/ucrt_printf.c b/lib/libc/mingw/stdio/ucrt_printf.c index 4ecf1548cab4..02d2f706bf04 100644 --- a/lib/libc/mingw/stdio/ucrt_printf.c +++ b/lib/libc/mingw/stdio/ucrt_printf.c @@ -17,4 +17,3 @@ int __cdecl printf(const char * __restrict__ _Format,...) __builtin_va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(printf))(const char *__restrict__, ...) = printf; diff --git a/lib/libc/mingw/stdio/ucrt_scanf.c b/lib/libc/mingw/stdio/ucrt_scanf.c index 0e5035d1503e..9bd086adfca0 100644 --- a/lib/libc/mingw/stdio/ucrt_scanf.c +++ b/lib/libc/mingw/stdio/ucrt_scanf.c @@ -12,8 +12,7 @@ int __cdecl scanf(const char * __restrict__ _Format,...) { __builtin_va_list __ap; int __ret; __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vfscanf(0, stdin, _Format, NULL, __ap); + __ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap); __builtin_va_end(__ap); return __ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(scanf))(const char *__restrict__, ...) = scanf; diff --git a/lib/libc/mingw/stdio/ucrt_snprintf.c b/lib/libc/mingw/stdio/ucrt_snprintf.c index 56bc7400ea2e..19b83292594f 100644 --- a/lib/libc/mingw/stdio/ucrt_snprintf.c +++ b/lib/libc/mingw/stdio/ucrt_snprintf.c @@ -17,4 +17,3 @@ int __cdecl snprintf (char * __restrict__ __stream, size_t __n, const char * __r __builtin_va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(snprintf))(char *__restrict__, size_t, const char *__restrict__, ...) = snprintf; diff --git a/lib/libc/mingw/stdio/ucrt_snwprintf.c b/lib/libc/mingw/stdio/ucrt_snwprintf.c new file mode 100644 index 000000000000..975fb7b7e216 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_snwprintf.c @@ -0,0 +1,19 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...) +{ + __builtin_va_list __ap; + int __ret; + __builtin_va_start(__ap, format); + __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, __ap); + __builtin_va_end(__ap); + return __ret; +} diff --git a/lib/libc/mingw/stdio/ucrt_sprintf.c b/lib/libc/mingw/stdio/ucrt_sprintf.c index 69ee54cae5b6..5da61d1e4ded 100644 --- a/lib/libc/mingw/stdio/ucrt_sprintf.c +++ b/lib/libc/mingw/stdio/ucrt_sprintf.c @@ -17,4 +17,3 @@ int __cdecl sprintf(char * __restrict__ _Dest,const char * __restrict__ _Format, __builtin_va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(sprintf))(char *__restrict__, const char *__restrict__, ...) = sprintf; diff --git a/lib/libc/mingw/stdio/ucrt_sscanf.c b/lib/libc/mingw/stdio/ucrt_sscanf.c index eb87379c42eb..752ecdc4bd96 100644 --- a/lib/libc/mingw/stdio/ucrt_sscanf.c +++ b/lib/libc/mingw/stdio/ucrt_sscanf.c @@ -12,9 +12,7 @@ int __cdecl sscanf(const char * __restrict__ _Src,const char * __restrict__ _For __builtin_va_list __ap; int __ret; __builtin_va_start(__ap, _Format); - __ret = __stdio_common_vsscanf(0, _Src, (size_t)-1, _Format, NULL, __ap); + __ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap); __builtin_va_end(__ap); return __ret; } - -int __cdecl (*__MINGW_IMP_SYMBOL(sscanf))(const char *__restrict__, const char *__restrict__, ...) = sscanf; diff --git a/lib/libc/mingw/stdio/ucrt_swprintf.c b/lib/libc/mingw/stdio/ucrt_swprintf.c new file mode 100644 index 000000000000..8e73141c1e01 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_swprintf.c @@ -0,0 +1,29 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl swprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) +{ + __builtin_va_list __ap; + int __ret; + /* + * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and + * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is + * executed in "standard snprintf behavior" and returns number of (wide) + * chars required to allocate. For all other cases it is executed in a way + * that returns negative value on error. But C95+ compliant swprintf() for + * case _Count == 0 returns negative value, so handle this case specially. + */ + if (_Dest == NULL && _Count == 0) + return -1; + __builtin_va_start(__ap, _Format); + __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, __ap); + __builtin_va_end(__ap); + return __ret < 0 ? -1 : __ret; +} diff --git a/lib/libc/mingw/stdio/ucrt_swscanf.c b/lib/libc/mingw/stdio/ucrt_swscanf.c new file mode 100644 index 000000000000..1a13d8b934ab --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_swscanf.c @@ -0,0 +1,18 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) { + __builtin_va_list __ap; + int __ret; + __builtin_va_start(__ap, _Format); + __ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap); + __builtin_va_end(__ap); + return __ret; +} diff --git a/lib/libc/mingw/stdio/ucrt_vfprintf.c b/lib/libc/mingw/stdio/ucrt_vfprintf.c index 7ee9c9b74696..6ac1bb8c115a 100644 --- a/lib/libc/mingw/stdio/ucrt_vfprintf.c +++ b/lib/libc/mingw/stdio/ucrt_vfprintf.c @@ -12,4 +12,3 @@ int __cdecl vfprintf(FILE * __restrict__ _File,const char * __restrict__ _Format { return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, _ArgList); } -int __cdecl (*__MINGW_IMP_SYMBOL(vfprintf))(FILE *__restrict__, const char *__restrict__, va_list) = vfprintf; diff --git a/lib/libc/mingw/stdio/ucrt_vfscanf.c b/lib/libc/mingw/stdio/ucrt_vfscanf.c index 8d1a76a8bee1..a8a3a7dffc04 100644 --- a/lib/libc/mingw/stdio/ucrt_vfscanf.c +++ b/lib/libc/mingw/stdio/ucrt_vfscanf.c @@ -9,6 +9,5 @@ #include int __cdecl vfscanf (FILE *__stream, const char *__format, __builtin_va_list __local_argv) { - return __stdio_common_vfscanf(0, __stream, __format, NULL, __local_argv); + return __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv); } -int __cdecl (*__MINGW_IMP_SYMBOL(vfscanf))(FILE *, const char *, __builtin_va_list) = vfscanf; diff --git a/lib/libc/mingw/stdio/ucrt_vfwprintf.c b/lib/libc/mingw/stdio/ucrt_vfwprintf.c new file mode 100644 index 000000000000..ba09b097704c --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vfwprintf.c @@ -0,0 +1,14 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vfwprintf(FILE * __restrict__ _File, const wchar_t * __restrict__ _Format, va_list _ArgList) +{ + return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, NULL, _ArgList); +} diff --git a/lib/libc/mingw/stdio/ucrt_vfwscanf.c b/lib/libc/mingw/stdio/ucrt_vfwscanf.c new file mode 100644 index 000000000000..249bc3b2b429 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vfwscanf.c @@ -0,0 +1,13 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) { + return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv); +} diff --git a/lib/libc/mingw/stdio/ucrt_vprintf.c b/lib/libc/mingw/stdio/ucrt_vprintf.c index 2964dd1bec76..abae22a90de3 100644 --- a/lib/libc/mingw/stdio/ucrt_vprintf.c +++ b/lib/libc/mingw/stdio/ucrt_vprintf.c @@ -12,4 +12,3 @@ int __cdecl vprintf(const char * __restrict__ _Format,va_list _ArgList) { return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); } -int __cdecl (*__MINGW_IMP_SYMBOL(vprintf))(const char *__restrict__, va_list) = vprintf; diff --git a/lib/libc/mingw/stdio/ucrt_vscanf.c b/lib/libc/mingw/stdio/ucrt_vscanf.c index fc5ae1b1e084..1142507f9822 100644 --- a/lib/libc/mingw/stdio/ucrt_vscanf.c +++ b/lib/libc/mingw/stdio/ucrt_vscanf.c @@ -9,6 +9,5 @@ #include int __cdecl vscanf(const char *__format, __builtin_va_list __local_argv) { - return __stdio_common_vfscanf(0, stdin, __format, NULL, __local_argv); + return __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv); } -int __cdecl (*__MINGW_IMP_SYMBOL(vscanf))(const char *, __builtin_va_list) = vscanf; diff --git a/lib/libc/mingw/stdio/ucrt_vsnprintf.c b/lib/libc/mingw/stdio/ucrt_vsnprintf.c index 94ed44add1c5..5ccf5fafe5a3 100644 --- a/lib/libc/mingw/stdio/ucrt_vsnprintf.c +++ b/lib/libc/mingw/stdio/ucrt_vsnprintf.c @@ -12,4 +12,3 @@ int __cdecl vsnprintf (char * __restrict__ __stream, size_t __n, const char * __ { return __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, __stream, __n, __format, NULL, __local_argv); } -int __cdecl (*__MINGW_IMP_SYMBOL(vsnprintf))(char *__restrict__, size_t, const char *__restrict__, va_list) = vsnprintf; diff --git a/lib/libc/mingw/stdio/ucrt_vsnwprintf.c b/lib/libc/mingw/stdio/ucrt_vsnwprintf.c new file mode 100644 index 000000000000..eb9d1b63b711 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vsnwprintf.c @@ -0,0 +1,14 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg) +{ + return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, s, n, format, NULL, arg); +} diff --git a/lib/libc/mingw/stdio/ucrt_vsprintf.c b/lib/libc/mingw/stdio/ucrt_vsprintf.c index 3bdddd6c633d..a9f5593f1aa5 100644 --- a/lib/libc/mingw/stdio/ucrt_vsprintf.c +++ b/lib/libc/mingw/stdio/ucrt_vsprintf.c @@ -12,4 +12,3 @@ int __cdecl vsprintf(char * __restrict__ _Dest,const char * __restrict__ _Format { return __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, _Dest, (size_t)-1, _Format, NULL, _Args); } -int __cdecl (*__MINGW_IMP_SYMBOL(vsprintf))(char *__restrict__, const char *__restrict__, va_list) = vsprintf; diff --git a/lib/libc/mingw/stdio/ucrt_vsscanf.c b/lib/libc/mingw/stdio/ucrt_vsscanf.c index 1fb76fcf1b11..1e2d7be596e6 100644 --- a/lib/libc/mingw/stdio/ucrt_vsscanf.c +++ b/lib/libc/mingw/stdio/ucrt_vsscanf.c @@ -9,6 +9,5 @@ #include int __cdecl vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv) { - return __stdio_common_vsscanf(0, __source, (size_t)-1, __format, NULL, __local_argv); + return __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __source, (size_t)-1, __format, NULL, __local_argv); } -int __cdecl (*__MINGW_IMP_SYMBOL(vsscanf))(const char *__restrict, const char *__restrict__, __builtin_va_list) = vsscanf; diff --git a/lib/libc/mingw/stdio/ucrt_vswprintf.c b/lib/libc/mingw/stdio/ucrt_vswprintf.c new file mode 100644 index 000000000000..ebbb940db350 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vswprintf.c @@ -0,0 +1,26 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vswprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) +{ + int __ret; + /* + * __stdio_common_vswprintf() for case _Dest == NULL and _Count == 0 and + * without _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR option, is + * executed in "standard snprintf behavior" and returns number of (wide) + * chars required to allocate. For all other cases it is executed in a way + * that returns negative value on error. But C95+ compliant vswprintf() for + * case _Count == 0 returns negative value, so handle this case specially. + */ + if (_Dest == NULL && _Count == 0) + return -1; + __ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Dest, _Count, _Format, NULL, _Args); + return __ret < 0 ? -1 : __ret; +} diff --git a/lib/libc/mingw/stdio/ucrt_vwprintf.c b/lib/libc/mingw/stdio/ucrt_vwprintf.c new file mode 100644 index 000000000000..3433b501f3ce --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vwprintf.c @@ -0,0 +1,14 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vwprintf(const wchar_t * __restrict__ _Format, va_list _ArgList) +{ + return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, _Format, NULL, _ArgList); +} diff --git a/lib/libc/mingw/stdio/ucrt_vwscanf.c b/lib/libc/mingw/stdio/ucrt_vwscanf.c new file mode 100644 index 000000000000..adc7570cad52 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_vwscanf.c @@ -0,0 +1,13 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) { + return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv); +} diff --git a/lib/libc/mingw/stdio/ucrt_ms_fprintf.c b/lib/libc/mingw/stdio/ucrt_wprintf.c similarity index 53% rename from lib/libc/mingw/stdio/ucrt_ms_fprintf.c rename to lib/libc/mingw/stdio/ucrt_wprintf.c index 15588bcae709..60d1c1562323 100644 --- a/lib/libc/mingw/stdio/ucrt_ms_fprintf.c +++ b/lib/libc/mingw/stdio/ucrt_wprintf.c @@ -7,16 +7,17 @@ #undef __MSVCRT_VERSION__ #define _UCRT -#include #include +#include + +int __cdecl wprintf(const wchar_t *fmt, ...); -int __cdecl __ms_fprintf(FILE * restrict file, const char * restrict format, ...) +int __cdecl wprintf(const wchar_t *fmt, ...) { va_list ap; int ret; - va_start(ap, format); - ret = __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, ap); + va_start(ap, fmt); + ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, fmt, NULL, ap); va_end(ap); return ret; } -int __cdecl (*__MINGW_IMP_SYMBOL(__ms_fprintf))(FILE * restrict, const char * restrict, ...) = __ms_fprintf; diff --git a/lib/libc/mingw/stdio/ucrt_wscanf.c b/lib/libc/mingw/stdio/ucrt_wscanf.c new file mode 100644 index 000000000000..907caf65d7a7 --- /dev/null +++ b/lib/libc/mingw/stdio/ucrt_wscanf.c @@ -0,0 +1,18 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#undef __MSVCRT_VERSION__ +#define _UCRT +#include + +int __cdecl wscanf(const wchar_t * __restrict__ _Format,...) { + __builtin_va_list __ap; + int __ret; + __builtin_va_start(__ap, _Format); + __ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap); + __builtin_va_end(__ap); + return __ret; +} diff --git a/lib/libc/mingw/winpthreads/barrier.c b/lib/libc/mingw/winpthreads/barrier.c index e973aaaa7b1a..b1be5126aa3f 100644 --- a/lib/libc/mingw/winpthreads/barrier.c +++ b/lib/libc/mingw/winpthreads/barrier.c @@ -20,12 +20,22 @@ DEALINGS IN THE SOFTWARE. */ -#include -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include #include +#include + +#define WIN32_LEAN_AND_MEAN +#include + +/* public header files */ #include "pthread.h" +#include "semaphore.h" +/* internal header files */ #include "barrier.h" -#include "ref.h" #include "misc.h" static pthread_spinlock_t barrier_global = PTHREAD_SPINLOCK_INITIALIZER; @@ -34,9 +44,7 @@ static WINPTHREADS_ATTRIBUTE((noinline)) int barrier_unref(volatile pthread_barrier_t *barrier, int res) { pthread_spin_lock(&barrier_global); -#ifdef WINPTHREAD_DBG assert((((barrier_t *)*barrier)->valid == LIFE_BARRIER) && (((barrier_t *)*barrier)->busy > 0)); -#endif ((barrier_t *)*barrier)->busy -= 1; pthread_spin_unlock(&barrier_global); return res; @@ -64,7 +72,7 @@ barrier_ref_destroy(volatile pthread_barrier_t *barrier, pthread_barrier_t *bDes *bDestroy = NULL; pthread_spin_lock(&barrier_global); - + if (!barrier || !*barrier || ((barrier_t *)*barrier)->valid != LIFE_BARRIER) r = EINVAL; else { barrier_t *b_ = (barrier_t *)*barrier; @@ -92,15 +100,15 @@ int pthread_barrier_destroy(pthread_barrier_t *b_) pthread_barrier_t bDestroy; barrier_t *b; int r; - + while ((r = barrier_ref_destroy(b_,&bDestroy)) == EBUSY) Sleep(0); - + if (r) return r; b = (barrier_t *)bDestroy; - + pthread_mutex_lock(&b->m); if (sem_destroy(&b->sems[0]) != 0) diff --git a/lib/libc/mingw/winpthreads/barrier.h b/lib/libc/mingw/winpthreads/barrier.h index 5509678bef46..1d1e83da669b 100644 --- a/lib/libc/mingw/winpthreads/barrier.h +++ b/lib/libc/mingw/winpthreads/barrier.h @@ -34,8 +34,6 @@ return EINVAL; \ } while (0) -#include "semaphore.h" - typedef struct barrier_t barrier_t; struct barrier_t { diff --git a/lib/libc/mingw/winpthreads/clock.c b/lib/libc/mingw/winpthreads/clock.c index 954d845b15fd..922c5de5dcb1 100644 --- a/lib/libc/mingw/winpthreads/clock.c +++ b/lib/libc/mingw/winpthreads/clock.c @@ -4,15 +4,23 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include #include #include #include + +#define WIN32_LEAN_AND_MEAN #include -#ifndef IN_WINPTHREAD -#define IN_WINPTHREAD 1 -#endif -#include "pthread.h" + +#define WINPTHREAD_CLOCK_DECL WINPTHREAD_API + +/* public header files */ #include "pthread_time.h" +/* internal header files */ #include "misc.h" #define POW10_7 10000000 @@ -51,7 +59,7 @@ static WINPTHREADS_INLINE int lc_set_errno(int result) * If the function fails, the return value is -1, * with errno set to indicate the error. */ -int clock_getres(clockid_t clock_id, struct timespec *res) +static int __clock_getres(clockid_t clock_id, struct _timespec64 *res) { clockid_t id = clock_id; @@ -113,7 +121,7 @@ int clock_getres(clockid_t clock_id, struct timespec *res) * If the function fails, the return value is -1, * with errno set to indicate the error. */ -int clock_gettime(clockid_t clock_id, struct timespec *tp) +static int __clock_gettime(clockid_t clock_id, struct _timespec64 *tp) { unsigned __int64 t; LARGE_INTEGER pf, pc; @@ -172,7 +180,7 @@ int clock_gettime(clockid_t clock_id, struct timespec *tp) return 0; } - case CLOCK_THREAD_CPUTIME_ID: + case CLOCK_THREAD_CPUTIME_ID: { if(0 == GetThreadTimes(GetCurrentThread(), &ct.ft, &et.ft, &kt.ft, &ut.ft)) return lc_set_errno(EINVAL); @@ -201,20 +209,20 @@ int clock_gettime(clockid_t clock_id, struct timespec *tp) * If the function fails, the return value is -1, * with errno set to indicate the error. */ -int clock_nanosleep(clockid_t clock_id, int flags, - const struct timespec *request, - struct timespec *remain) +static int __clock_nanosleep(clockid_t clock_id, int flags, + const struct _timespec64 *request, + struct _timespec64 *remain) { - struct timespec tp; + struct _timespec64 tp; if (clock_id != CLOCK_REALTIME) return lc_set_errno(EINVAL); if (flags == 0) - return nanosleep(request, remain); + return nanosleep64(request, remain); /* TIMER_ABSTIME = 1 */ - clock_gettime(CLOCK_REALTIME, &tp); + __clock_gettime(CLOCK_REALTIME, &tp); tp.tv_sec = request->tv_sec - tp.tv_sec; tp.tv_nsec = request->tv_nsec - tp.tv_nsec; @@ -223,7 +231,7 @@ int clock_nanosleep(clockid_t clock_id, int flags, tp.tv_sec --; } - return nanosleep(&tp, remain); + return nanosleep64(&tp, remain); } /** @@ -234,7 +242,7 @@ int clock_nanosleep(clockid_t clock_id, int flags, * If the function fails, the return value is -1, * with errno set to indicate the error. */ -int clock_settime(clockid_t clock_id, const struct timespec *tp) +static int __clock_settime(clockid_t clock_id, const struct _timespec64 *tp) { SYSTEMTIME st; @@ -255,3 +263,92 @@ int clock_settime(clockid_t clock_id, const struct timespec *tp) return 0; } + +/** + * Versions to use with 64-bit time_t (struct _timespec64) + */ + +int clock_getres64 (clockid_t clock_id, struct _timespec64 *tp) +{ + return __clock_getres (clock_id, tp); +} + +int clock_gettime64 (clockid_t clock_id, struct _timespec64 *tp) +{ + return __clock_gettime (clock_id, tp); +} + +int clock_settime64 (clockid_t clock_id, const struct _timespec64 *tp) +{ + return __clock_settime (clock_id, tp); +} + +int clock_nanosleep64 (clockid_t clock_id, int flags, + const struct _timespec64 *request, struct _timespec64 *remain) +{ + return __clock_nanosleep (clock_id, flags, request, remain); +} + +/** + * Versions to use with 32-bit time_t (struct _timespec32) + */ + +int clock_getres32 (clockid_t clock_id, struct _timespec32 *tp) +{ + struct _timespec64 tp64 = {0}; + + if (__clock_getres (clock_id, &tp64) == -1) + return -1; + + tp->tv_sec = (__time32_t) tp64.tv_sec; + tp->tv_nsec = tp64.tv_nsec; + + return 0; +} + +int clock_gettime32 (clockid_t clock_id, struct _timespec32 *tp) +{ + struct _timespec64 tp64 = {0}; + + if (__clock_gettime (clock_id, &tp64) == -1) + return -1; + + if (tp64.tv_sec > INT_MAX) + { + _set_errno (EOVERFLOW); + return -1; + } + + tp->tv_sec = (__time32_t) tp64.tv_sec; + tp->tv_nsec = tp64.tv_nsec; + + return 0; +} + +int clock_settime32 (clockid_t clock_id, const struct _timespec32 *tp) +{ + struct _timespec64 tp64 = {.tv_sec = tp->tv_sec, .tv_nsec = tp->tv_nsec}; + return __clock_settime (clock_id, &tp64); +} + +int clock_nanosleep32 (clockid_t clock_id, int flags, + const struct _timespec32 *request, struct _timespec32 *remain) +{ + struct _timespec64 request64 = { + .tv_sec = request->tv_sec, + .tv_nsec = request->tv_nsec + }; + struct _timespec64 remain64 = {0}; + + if (__clock_nanosleep (clock_id, flags, &request64, &remain64) == -1) + return -1; + + assert (remain64.tv_sec <= INT_MAX); + + if (remain != NULL) { + remain->tv_sec = (__time32_t)remain64.tv_sec; + remain->tv_nsec = remain64.tv_nsec; + } + + return 0; +} diff --git a/lib/libc/mingw/winpthreads/cond.c b/lib/libc/mingw/winpthreads/cond.c index 813648f0e670..a77cd3ef0fe8 100644 --- a/lib/libc/mingw/winpthreads/cond.c +++ b/lib/libc/mingw/winpthreads/cond.c @@ -24,17 +24,27 @@ * Posix Condition Variables for Microsoft Windows. * 22-9-2010 Partly based on the ACE framework implementation. */ -#include -#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include +#include #include + +#define WIN32_LEAN_AND_MEAN +#include + +#define WINPTHREAD_COND_DECL WINPTHREAD_API + +/* public header files */ #include "pthread.h" #include "pthread_time.h" -#include "ref.h" +/* internal header files */ #include "cond.h" -#include "thread.h" #include "misc.h" -#include "winpthread_internal.h" +#include "thread.h" #include "pthread_compat.h" @@ -52,41 +62,13 @@ typedef struct sCondWaitHelper { int do_sema_b_wait_intern (HANDLE sema, int nointerrupt, DWORD timeout); -#ifdef WINPTHREAD_DBG -static int print_state = 0; -static FILE *fo; -void cond_print_set(int state, FILE *f) -{ - if (f) fo = f; - if (!fo) fo = stdout; - print_state = state; -} - -void cond_print(volatile pthread_cond_t *c, char *txt) -{ - if (!print_state) return; - cond_t *c_ = (cond_t *)*c; - if (c_ == NULL) { - fprintf(fo,"C%p %lu %s\n",(void *)*c,GetCurrentThreadId(),txt); - } else { - fprintf(fo,"C%p %lu V=%0X w=%ld %s\n", - (void *)*c, - GetCurrentThreadId(), - (int)c_->valid, - c_->waiters_count_, - txt - ); - } -} -#endif - static pthread_spinlock_t cond_locked = PTHREAD_SPINLOCK_INITIALIZER; static int cond_static_init (pthread_cond_t *c) { int r = 0; - + pthread_spin_lock (&cond_locked); if (c == NULL) r = EINVAL; @@ -143,40 +125,6 @@ pthread_condattr_setclock(pthread_condattr_t *a, clockid_t clock_id) return 0; } -int -__pthread_clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *rqtp, - struct timespec *rmtp) -{ - unsigned long long tick, tick2; - unsigned long long delay; - DWORD dw; - - if (clock_id != CLOCK_REALTIME - && clock_id != CLOCK_MONOTONIC - && clock_id != CLOCK_PROCESS_CPUTIME_ID) - return EINVAL; - if ((flags & TIMER_ABSTIME) != 0) - delay = _pthread_rel_time_in_ms (rqtp); - else - delay = _pthread_time_in_ms_from_timespec (rqtp); - do - { - dw = (DWORD) (delay >= 99999ULL ? 99999ULL : delay); - tick = _pthread_time_in_ms (); - pthread_delay_np_ms (dw); - tick2 = _pthread_time_in_ms (); - tick2 -= tick; - if (tick2 >= delay) - delay = 0; - else - delay -= tick2; - } - while (delay != 0ULL); - if (rmtp) - memset (rmtp, 0, sizeof (*rmtp)); - return 0; -} - int pthread_condattr_setpshared (pthread_condattr_t *a, int s) { @@ -218,7 +166,7 @@ pthread_cond_init (pthread_cond_t *c, const pthread_condattr_t *a) _c->sema_b = CreateSemaphore (NULL, /* no security */ 0, /* initially 0 */ 0x7fffffff, /* max count */ - NULL); + NULL); if (_c->sema_q == NULL || _c->sema_b == NULL) { if (_c->sema_q != NULL) CloseHandle (_c->sema_q); @@ -356,7 +304,7 @@ pthread_cond_broadcast (pthread_cond_t *c) { cond_t *_c; int r; - int relCnt = 0; + int relCnt = 0; if (!c || !*c) return EINVAL; @@ -465,7 +413,7 @@ pthread_cond_wait (pthread_cond_t *c, pthread_mutex_t *external_mutex) } static int -pthread_cond_timedwait_impl (pthread_cond_t *c, pthread_mutex_t *external_mutex, const struct timespec *t, int rel) +pthread_cond_timedwait_impl (pthread_cond_t *c, pthread_mutex_t *external_mutex, const struct _timespec64 *t, int rel) { sCondWaitHelper ch; DWORD dwr; @@ -531,17 +479,31 @@ pthread_cond_timedwait_impl (pthread_cond_t *c, pthread_mutex_t *external_mutex, } int -pthread_cond_timedwait(pthread_cond_t *c, pthread_mutex_t *m, const struct timespec *t) +pthread_cond_timedwait64(pthread_cond_t *c, pthread_mutex_t *m, const struct _timespec64 *t) { return pthread_cond_timedwait_impl(c, m, t, 0); } int -pthread_cond_timedwait_relative_np(pthread_cond_t *c, pthread_mutex_t *m, const struct timespec *t) +pthread_cond_timedwait32(pthread_cond_t *c, pthread_mutex_t *m, const struct _timespec32 *t) +{ + struct _timespec64 t64 = {.tv_sec = t->tv_sec, .tv_nsec = t->tv_nsec}; + return pthread_cond_timedwait_impl(c, m, &t64, 0); +} + +int +pthread_cond_timedwait64_relative_np(pthread_cond_t *c, pthread_mutex_t *m, const struct _timespec64 *t) { return pthread_cond_timedwait_impl(c, m, t, 1); } +int +pthread_cond_timedwait32_relative_np(pthread_cond_t *c, pthread_mutex_t *m, const struct _timespec32 *t) +{ + struct _timespec64 t64 = {.tv_sec = t->tv_sec, .tv_nsec = t->tv_nsec}; + return pthread_cond_timedwait_impl(c, m, &t64, 1); +} + static void cleanup_wait (void *arg) { @@ -751,5 +713,5 @@ do_sema_b_release(HANDLE sema, LONG count,CRITICAL_SECTION *cs, LONG *val) } InterlockedExchangeAdd(val, -count); LeaveCriticalSection(cs); - return EINVAL; + return EINVAL; } diff --git a/lib/libc/mingw/winpthreads/cond.h b/lib/libc/mingw/winpthreads/cond.h index 5e869e957c38..fcf7db355920 100644 --- a/lib/libc/mingw/winpthreads/cond.h +++ b/lib/libc/mingw/winpthreads/cond.h @@ -23,8 +23,6 @@ #ifndef WIN_PTHREADS_COND_H #define WIN_PTHREADS_COND_H -#include - #define CHECK_COND(c) \ do { \ if (!(c) || !*c || (*c == PTHREAD_COND_INITIALIZER) \ @@ -40,7 +38,7 @@ typedef struct cond_t cond_t; struct cond_t { - unsigned int valid; + unsigned int valid; int busy; LONG waiters_count_; /* Number of waiting threads. */ LONG waiters_count_unblock_; /* Number of waiting threads whitch can be unblocked. */ @@ -56,8 +54,4 @@ struct cond_t became signaled. */ }; -void cond_print_set(int state, FILE *f); - -void cond_print(volatile pthread_cond_t *c, char *txt); - #endif diff --git a/lib/libc/mingw/winpthreads/misc.c b/lib/libc/mingw/winpthreads/misc.c index c426f59cbe42..d9c55041eec0 100644 --- a/lib/libc/mingw/winpthreads/misc.c +++ b/lib/libc/mingw/winpthreads/misc.c @@ -20,8 +20,16 @@ DEALINGS IN THE SOFTWARE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#define WIN32_LEAN_AND_MEAN #include + +/* public header files */ #include "pthread.h" +/* internal header files */ #include "misc.h" void (WINAPI *_pthread_get_system_time_best_as_file_time) (LPFILETIME) = NULL; @@ -29,6 +37,8 @@ static ULONGLONG (WINAPI *_pthread_get_tick_count_64) (VOID); HRESULT (WINAPI *_pthread_set_thread_description) (HANDLE, PCWSTR) = NULL; #if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wprio-ctor-dtor" __attribute__((constructor(0))) #endif static void winpthreads_init(void) @@ -55,6 +65,9 @@ static void winpthreads_init(void) (HRESULT (WINAPI *)(HANDLE, PCWSTR))(void*) GetProcAddress(mod, "SetThreadDescription"); } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif #if defined(_MSC_VER) && !defined(__clang__) /* Force a reference to __xc_t to prevent whole program optimization @@ -82,7 +95,7 @@ unsigned long long _pthread_time_in_ms(void) - 0x19DB1DED53E8000ULL) / 10000ULL; } -unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec *ts) +unsigned long long _pthread_time_in_ms_from_timespec(const struct _timespec64 *ts) { unsigned long long t = (unsigned long long) ts->tv_sec * 1000LL; /* The +999999 is here to ensure that the division always rounds up */ @@ -91,7 +104,7 @@ unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec *ts) return t; } -unsigned long long _pthread_rel_time_in_ms(const struct timespec *ts) +unsigned long long _pthread_rel_time_in_ms(const struct _timespec64 *ts) { unsigned long long t1 = _pthread_time_in_ms_from_timespec(ts); unsigned long long t2 = _pthread_time_in_ms(); diff --git a/lib/libc/mingw/winpthreads/misc.h b/lib/libc/mingw/winpthreads/misc.h index a853dd085c46..f954ad451c14 100644 --- a/lib/libc/mingw/winpthreads/misc.h +++ b/lib/libc/mingw/winpthreads/misc.h @@ -23,37 +23,10 @@ #ifndef WIN_PTHREADS_MISC_H #define WIN_PTHREADS_MISC_H +#include +/* public header files */ #include "pthread_compat.h" -#ifndef assert - -#ifndef ASSERT_TRACE -# define ASSERT_TRACE 0 -#else -# undef ASSERT_TRACE -# define ASSERT_TRACE 0 -#endif - -# define assert(e) \ - ((e) ? ((ASSERT_TRACE) ? fprintf(stderr, \ - "Assertion succeeded: (%s), file %s, line %d\n", \ - #e, __FILE__, (int) __LINE__), \ - fflush(stderr) : \ - 0) : \ - (fprintf(stderr, "Assertion failed: (%s), file %s, line %d\n", \ - #e, __FILE__, (int) __LINE__), exit(1), 0)) - -# define fixme(e) \ - ((e) ? ((ASSERT_TRACE) ? fprintf(stderr, \ - "Assertion succeeded: (%s), file %s, line %d\n", \ - #e, __FILE__, (int) __LINE__), \ - fflush(stderr) : \ - 0) : \ - (fprintf(stderr, "FIXME: (%s), file %s, line %d\n", \ - #e, __FILE__, (int) __LINE__), 0, 0)) - -#endif - #define PTR2INT(x) ((int)(uintptr_t)(x)) #if SIZE_MAX>UINT_MAX @@ -102,8 +75,8 @@ static WINPTHREADS_INLINE unsigned long dwMilliSecs(unsigned long long ms) } unsigned long long _pthread_time_in_ms(void); -unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec *ts); -unsigned long long _pthread_rel_time_in_ms(const struct timespec *ts); +unsigned long long _pthread_time_in_ms_from_timespec(const struct _timespec64 *ts); +unsigned long long _pthread_rel_time_in_ms(const struct _timespec64 *ts); unsigned long _pthread_wait_for_single_object (void *handle, unsigned long timeout); unsigned long _pthread_wait_for_multiple_objects (unsigned long count, void **handles, unsigned int all, unsigned long timeout); diff --git a/lib/libc/mingw/winpthreads/mutex.c b/lib/libc/mingw/winpthreads/mutex.c index 866e18d94313..b90120976983 100644 --- a/lib/libc/mingw/winpthreads/mutex.c +++ b/lib/libc/mingw/winpthreads/mutex.c @@ -21,11 +21,22 @@ DEALINGS IN THE SOFTWARE. */ -#include -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include +#include + +#define WIN32_LEAN_AND_MEAN +#include + +#define WINPTHREAD_MUTEX_DECL WINPTHREAD_API + +/* public header files */ #include "pthread.h" +/* internal header files */ #include "misc.h" typedef enum { @@ -184,7 +195,8 @@ pthread_mutex_lock (pthread_mutex_t *m) return pthread_mutex_lock_intern (m, INFINITE); } -int pthread_mutex_timedlock(pthread_mutex_t *m, const struct timespec *ts) +/* Internal version which always uses `struct _timespec64`. */ +static int __pthread_mutex_timedlock(pthread_mutex_t *m, const struct _timespec64 *ts) { unsigned long long patience; if (ts != NULL) { @@ -199,8 +211,19 @@ int pthread_mutex_timedlock(pthread_mutex_t *m, const struct timespec *ts) return pthread_mutex_lock_intern(m, patience); } +int pthread_mutex_timedlock64(pthread_mutex_t *m, const struct _timespec64 *ts) +{ + return __pthread_mutex_timedlock (m, ts); +} + +int pthread_mutex_timedlock32(pthread_mutex_t *m, const struct _timespec32 *ts) +{ + struct _timespec64 ts64 = {.tv_sec = ts->tv_sec, .tv_nsec = ts->tv_nsec}; + return __pthread_mutex_timedlock (m, &ts64); +} + int pthread_mutex_unlock(pthread_mutex_t *m) -{ +{ /* Here m might an initialiser of an error-checking or recursive mutex, in which case the behaviour is well-defined, so we can't skip this check. */ mutex_impl_t *mi = mutex_impl(m); @@ -305,9 +328,9 @@ int pthread_mutexattr_gettype(const pthread_mutexattr_t *a, int *type) { if (!a || !type) return EINVAL; - + *type = *a & 3; - + return 0; } diff --git a/lib/libc/mingw/winpthreads/nanosleep.c b/lib/libc/mingw/winpthreads/nanosleep.c index 0cce4492e296..a81bf2c89436 100644 --- a/lib/libc/mingw/winpthreads/nanosleep.c +++ b/lib/libc/mingw/winpthreads/nanosleep.c @@ -4,12 +4,24 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include #include #include + +#define WIN32_LEAN_AND_MEAN #include + +#define WINPTHREAD_NANOSLEEP_DECL WINPTHREAD_API + +/* public header files */ #include "pthread.h" #include "pthread_time.h" -#include "winpthread_internal.h" +/* internal header files */ +#include "thread.h" #define POW10_3 1000 #define POW10_4 10000 @@ -25,7 +37,7 @@ * If the function fails, the return value is -1, * with errno set to indicate the error. */ -int nanosleep(const struct timespec *request, struct timespec *remain) +static int __nanosleep(const struct _timespec64 *request, struct _timespec64 *remain) { unsigned long ms, rc = 0; unsigned __int64 u64, want, real; @@ -48,7 +60,7 @@ int nanosleep(const struct timespec *request, struct timespec *remain) else ms = (unsigned long) u64; u64 -= ms; - rc = pthread_delay_np_ms(ms); + rc = _pthread_delay_np_ms(ms); } if (rc != 0) { /* WAIT_IO_COMPLETION (192) */ @@ -69,3 +81,29 @@ int nanosleep(const struct timespec *request, struct timespec *remain) return 0; } + +int nanosleep64(const struct _timespec64 *request, struct _timespec64 *remain) +{ + return __nanosleep (request, remain); +} + +int nanosleep32(const struct _timespec32 *request, struct _timespec32 *remain) +{ + struct _timespec64 request64 = { + .tv_sec = request->tv_sec, + .tv_nsec = request->tv_nsec + }; + struct _timespec64 remain64 = {0}; + + if (__nanosleep (&request64, &remain64) == -1) + return -1; + + assert (remain64.tv_sec <= INT_MAX); + + if (remain != NULL) { + remain->tv_sec = (__time32_t)remain64.tv_sec; + remain->tv_nsec = remain64.tv_nsec; + } + + return 0; +} diff --git a/lib/libc/mingw/winpthreads/ref.c b/lib/libc/mingw/winpthreads/ref.c deleted file mode 100644 index 0344d457e9d8..000000000000 --- a/lib/libc/mingw/winpthreads/ref.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright (c) 2011-2016 mingw-w64 project - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#include -#include -#include -#include "pthread.h" -#include "semaphore.h" -#include "rwlock.h" -#include "cond.h" -#include "barrier.h" -#include "sem.h" -#include "ref.h" -#include "misc.h" - diff --git a/lib/libc/mingw/winpthreads/ref.h b/lib/libc/mingw/winpthreads/ref.h deleted file mode 100644 index 5ca67506fa13..000000000000 --- a/lib/libc/mingw/winpthreads/ref.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (c) 2011-2016 mingw-w64 project - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#ifndef WIN_PTHREADS_REF_H -#define WIN_PTHREADS_REF_H -#include "pthread.h" -#include "semaphore.h" - -#endif - diff --git a/lib/libc/mingw/winpthreads/rwlock.c b/lib/libc/mingw/winpthreads/rwlock.c index 76669dff131c..68ef2a7330a0 100644 --- a/lib/libc/mingw/winpthreads/rwlock.c +++ b/lib/libc/mingw/winpthreads/rwlock.c @@ -20,14 +20,25 @@ DEALINGS IN THE SOFTWARE. */ -#include -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include #include +#include + +#define WIN32_LEAN_AND_MEAN +#include + +#define WINPTHREAD_RWLOCK_DECL WINPTHREAD_API + +/* public header files */ #include "pthread.h" -#include "thread.h" -#include "ref.h" -#include "rwlock.h" +/* internal header files */ #include "misc.h" +#include "rwlock.h" +#include "thread.h" static pthread_spinlock_t rwl_global = PTHREAD_SPINLOCK_INITIALIZER; @@ -36,9 +47,7 @@ static WINPTHREADS_ATTRIBUTE((noinline)) int rwlock_static_init(pthread_rwlock_t static WINPTHREADS_ATTRIBUTE((noinline)) int rwl_unref(volatile pthread_rwlock_t *rwl, int res) { pthread_spin_lock(&rwl_global); -#ifdef WINPTHREAD_DBG assert((((rwlock_t *)*rwl)->valid == LIFE_RWLOCK) && (((rwlock_t *)*rwl)->busy > 0)); -#endif ((rwlock_t *)*rwl)->busy--; pthread_spin_unlock(&rwl_global); return res; @@ -87,7 +96,7 @@ static WINPTHREADS_ATTRIBUTE((noinline)) int rwl_ref_destroy(pthread_rwlock_t *r *rDestroy = (pthread_rwlock_t)NULL; pthread_spin_lock(&rwl_global); - + if (!rwl || !*rwl) r = EINVAL; else { rwlock_t *r_ = (rwlock_t *)*rwl; @@ -128,30 +137,6 @@ static int rwlock_free_both_locks(rwlock_t *rwlock, int last_fail) return ret; } -#ifdef WINPTHREAD_DBG -static int print_state = 0; -void rwl_print_set(int state) -{ - print_state = state; -} - -void rwl_print(volatile pthread_rwlock_t *rwl, char *txt) -{ - if (!print_state) return; - rwlock_t *r = (rwlock_t *)*rwl; - if (r == NULL) { - printf("RWL%p %lu %s\n",(void *)*rwl,GetCurrentThreadId(),txt); - } else { - printf("RWL%p %lu V=%0X B=%d r=%ld w=%ld L=%p %s\n", - (void *)*rwl, - GetCurrentThreadId(), - (int)r->valid, - (int)r->busy, - 0L,0L,NULL,txt); - } -} -#endif - static pthread_spinlock_t cond_locked = PTHREAD_SPINLOCK_INITIALIZER; static WINPTHREADS_ATTRIBUTE((noinline)) int rwlock_static_init(pthread_rwlock_t *rw) @@ -165,7 +150,7 @@ static WINPTHREADS_ATTRIBUTE((noinline)) int rwlock_static_init(pthread_rwlock_t } r = pthread_rwlock_init (rw, NULL); pthread_spin_unlock(&cond_locked); - + return r; } @@ -178,7 +163,7 @@ int pthread_rwlock_init (pthread_rwlock_t *rwlock_, const pthread_rwlockattr_t * return EINVAL; *rwlock_ = (pthread_rwlock_t)NULL; if ((rwlock = calloc(1, sizeof(*rwlock))) == NULL) - return ENOMEM; + return ENOMEM; rwlock->valid = DEAD_RWLOCK; rwlock->nex_count = rwlock->nsh_count = rwlock->ncomplete = 0; @@ -203,18 +188,18 @@ int pthread_rwlock_init (pthread_rwlock_t *rwlock_, const pthread_rwlockattr_t * rwlock->valid = LIFE_RWLOCK; *rwlock_ = (pthread_rwlock_t)rwlock; return r; -} +} int pthread_rwlock_destroy (pthread_rwlock_t *rwlock_) { rwlock_t *rwlock; pthread_rwlock_t rDestroy; int r, r2; - + pthread_spin_lock(&cond_locked); r = rwl_ref_destroy(rwlock_,&rDestroy); pthread_spin_unlock(&cond_locked); - + if(r) return r; if(!rDestroy) return 0; /* destroyed a (still) static initialized rwl */ @@ -245,7 +230,7 @@ int pthread_rwlock_destroy (pthread_rwlock_t *rwlock_) rwlock->valid = DEAD_RWLOCK; free((void *)rDestroy); return 0; -} +} int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock_) { @@ -279,7 +264,8 @@ int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock_) return rwl_unref(rwlock_, ret); } -int pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock_, const struct timespec *ts) +/* Internal version which always uses `struct _timespec64`. */ +static int __pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock_, const struct _timespec64 *ts) { rwlock_t *rwlock; int ret; @@ -290,12 +276,12 @@ int pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock_, const struct timespec if(ret != 0) return ret; rwlock = (rwlock_t *)*rwlock_; - if ((ret = pthread_mutex_timedlock (&rwlock->mex, ts)) != 0) + if ((ret = pthread_mutex_timedlock64 (&rwlock->mex, ts)) != 0) return rwl_unref(rwlock_, ret); InterlockedIncrement(&rwlock->nsh_count); if (rwlock->nsh_count == INT_MAX) { - ret = pthread_mutex_timedlock(&rwlock->mcomplete, ts); + ret = pthread_mutex_timedlock64(&rwlock->mcomplete, ts); if (ret != 0) { if (ret == ETIMEDOUT) @@ -312,6 +298,17 @@ int pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock_, const struct timespec return rwl_unref(rwlock_, ret); } +int pthread_rwlock_timedrdlock64(pthread_rwlock_t *l, const struct _timespec64 *ts) +{ + return __pthread_rwlock_timedrdlock (l, ts); +} + +int pthread_rwlock_timedrdlock32(pthread_rwlock_t *l, const struct _timespec32 *ts) +{ + struct _timespec64 ts64 = {.tv_sec = ts->tv_sec, .tv_nsec = ts->tv_nsec}; + return __pthread_rwlock_timedrdlock (l, &ts64); +} + int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock_) { rwlock_t *rwlock; @@ -340,7 +337,7 @@ int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock_) } ret = pthread_mutex_unlock(&rwlock->mex); return rwl_unref(rwlock_,ret); -} +} int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock_) { @@ -378,7 +375,7 @@ int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock_) } rwlock->nex_count = 1; return rwl_unref(rwlock_, 0); -} +} int pthread_rwlock_unlock (pthread_rwlock_t *rwlock_) { @@ -409,7 +406,7 @@ int pthread_rwlock_unlock (pthread_rwlock_t *rwlock_) ret = rwlock_free_both_locks(rwlock, 0); } return rwl_unref(rwlock_, ret); -} +} static void st_cancelwrite (void *arg) { @@ -459,7 +456,8 @@ int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock_) return rwl_unref(rwlock_,ret); } -int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock_, const struct timespec *ts) +/* Internal version which always uses `struct _timespec64`. */ +static int __pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock_, const struct _timespec64 *ts) { int ret; rwlock_t *rwlock; @@ -471,10 +469,10 @@ int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock_, const struct timespec return ret; rwlock = (rwlock_t *)*rwlock_; - ret = pthread_mutex_timedlock(&rwlock->mex, ts); + ret = pthread_mutex_timedlock64(&rwlock->mex, ts); if (ret != 0) return rwl_unref(rwlock_,ret); - ret = pthread_mutex_timedlock (&rwlock->mcomplete, ts); + ret = pthread_mutex_timedlock64(&rwlock->mcomplete, ts); if (ret != 0) { pthread_mutex_unlock(&rwlock->mex); @@ -492,7 +490,7 @@ int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock_, const struct timespec rwlock->ncomplete = -rwlock->nsh_count; pthread_cleanup_push(st_cancelwrite, (void *) rwlock); do { - ret = pthread_cond_timedwait(&rwlock->ccomplete, &rwlock->mcomplete, ts); + ret = pthread_cond_timedwait64(&rwlock->ccomplete, &rwlock->mcomplete, ts); } while (rwlock->ncomplete < 0 && !ret); pthread_cleanup_pop(!ret ? 0 : 1); @@ -505,6 +503,17 @@ int pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock_, const struct timespec return rwl_unref(rwlock_,ret); } +int pthread_rwlock_timedwrlock64(pthread_rwlock_t *rwlock, const struct _timespec64 *ts) +{ + return __pthread_rwlock_timedwrlock (rwlock, ts); +} + +int pthread_rwlock_timedwrlock32(pthread_rwlock_t *rwlock, const struct _timespec32 *ts) +{ + struct _timespec64 ts64 = {.tv_sec = ts->tv_sec, .tv_nsec = ts->tv_nsec}; + return __pthread_rwlock_timedwrlock (rwlock, &ts64); +} + int pthread_rwlockattr_destroy(pthread_rwlockattr_t *a) { if (!a) diff --git a/lib/libc/mingw/winpthreads/rwlock.h b/lib/libc/mingw/winpthreads/rwlock.h index 2d640faa9361..8faf12b9f552 100644 --- a/lib/libc/mingw/winpthreads/rwlock.h +++ b/lib/libc/mingw/winpthreads/rwlock.h @@ -43,7 +43,4 @@ struct rwlock_t { #define RWL_SET 0x01 #define RWL_TRY 0x02 -void rwl_print(volatile pthread_rwlock_t *rwl, char *txt); -void rwl_print_set(int state); - #endif diff --git a/lib/libc/mingw/winpthreads/sched.c b/lib/libc/mingw/winpthreads/sched.c index 976bcc10521a..0bdcc3ca99ec 100644 --- a/lib/libc/mingw/winpthreads/sched.c +++ b/lib/libc/mingw/winpthreads/sched.c @@ -20,12 +20,20 @@ DEALINGS IN THE SOFTWARE. */ -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include -#include "pthread.h" -#include "thread.h" +#define WIN32_LEAN_AND_MEAN +#include + +/* public header files */ +#include "pthread.h" +/* internal header files */ #include "misc.h" +#include "thread.h" int sched_get_priority_min(int pol) { diff --git a/lib/libc/mingw/winpthreads/sem.c b/lib/libc/mingw/winpthreads/sem.c index 340ff69e08fc..37abf2e115e7 100644 --- a/lib/libc/mingw/winpthreads/sem.c +++ b/lib/libc/mingw/winpthreads/sem.c @@ -20,15 +20,23 @@ DEALINGS IN THE SOFTWARE. */ -#include -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include +#include + +#define WIN32_LEAN_AND_MEAN +#include + +/* public header files */ #include "pthread.h" -#include "thread.h" -#include "misc.h" #include "semaphore.h" +/* internal header files */ +#include "misc.h" #include "sem.h" -#include "ref.h" +#include "thread.h" int do_sema_b_wait_intern (HANDLE sema, int nointerrupt, DWORD timeout); @@ -212,8 +220,9 @@ sem_wait (sem_t *sem) return sem_result (ret); } -int -sem_timedwait (sem_t *sem, const struct timespec *t) +/* Internal version which always uses `struct _timespec64`. */ +static int +__sem_timedwait (sem_t *sem, const struct _timespec64 *t) { int cur_v, ret = 0; DWORD dwr; @@ -251,6 +260,17 @@ sem_timedwait (sem_t *sem, const struct timespec *t) return sem_result (ret); } +int sem_timedwait64(sem_t *sem, const struct _timespec64 *t) +{ + return __sem_timedwait (sem, t); +} + +int sem_timedwait32(sem_t *sem, const struct _timespec32 *t) +{ + struct _timespec64 t64 = {.tv_sec = t->tv_sec, .tv_nsec = t->tv_nsec}; + return __sem_timedwait (sem, &t64); +} + int sem_post (sem_t *sem) { @@ -350,5 +370,5 @@ sem_getvalue (sem_t *sem, int *sval) *sval = (int) sv->value; pthread_mutex_unlock (&sv->vlock); - return 0; + return 0; } diff --git a/lib/libc/mingw/winpthreads/sem.h b/lib/libc/mingw/winpthreads/sem.h index 3b3ace7f73e6..ddfc00a65d0b 100644 --- a/lib/libc/mingw/winpthreads/sem.h +++ b/lib/libc/mingw/winpthreads/sem.h @@ -23,8 +23,6 @@ #ifndef WIN_SEM #define WIN_SEM -#include - #define LIFE_SEM 0xBAB1F00D #define DEAD_SEM 0xDEADBEEF diff --git a/lib/libc/mingw/winpthreads/spinlock.c b/lib/libc/mingw/winpthreads/spinlock.c index 224c5a06e0c5..eb21509d607f 100644 --- a/lib/libc/mingw/winpthreads/spinlock.c +++ b/lib/libc/mingw/winpthreads/spinlock.c @@ -21,8 +21,16 @@ DEALINGS IN THE SOFTWARE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#define WIN32_LEAN_AND_MEAN #include + +/* public header files */ #include "pthread.h" +/* internal header files */ #include "misc.h" /* We use the pthread_spinlock_t itself as a lock: @@ -56,7 +64,7 @@ pthread_spin_lock (pthread_spinlock_t *lock) } while (*lk == 0); return 0; } - + int pthread_spin_trylock (pthread_spinlock_t *lock) { diff --git a/lib/libc/mingw/winpthreads/thread.c b/lib/libc/mingw/winpthreads/thread.c index d5b3aaa05472..c0b36bb1f80d 100644 --- a/lib/libc/mingw/winpthreads/thread.c +++ b/lib/libc/mingw/winpthreads/thread.c @@ -20,16 +20,27 @@ DEALINGS IN THE SOFTWARE. */ -#include -#include -#include -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include +#include +#include +#include + +#define WIN32_LEAN_AND_MEAN +#include +#include + +#define WINPTHREAD_THREAD_DECL WINPTHREAD_API + +/* public header files */ #include "pthread.h" -#include "thread.h" +/* internal header files */ #include "misc.h" -#include "winpthread_internal.h" +#include "thread.h" static _pthread_v *__pthread_self_lite (void); @@ -537,34 +548,6 @@ WINPTHREADS_ATTRIBUTE((WINPTHREADS_SECTION(".CRT$XLF"))) extern const PIMAGE_TLS_CALLBACK __xl_f; const PIMAGE_TLS_CALLBACK __xl_f = __dyn_tls_pthread; - -#ifdef WINPTHREAD_DBG -static int print_state = 0; -void thread_print_set (int state) -{ - print_state = state; -} - -void -thread_print (volatile pthread_t t, char *txt) -{ - if (!print_state) - return; - if (!t) - printf("T%p %lu %s\n",NULL,GetCurrentThreadId(),txt); - else - { - printf("T%p %lu V=%0X H=%p %s\n", - (void *) __pth_gpointer_locked (t), - GetCurrentThreadId(), - (__pth_gpointer_locked (t))->valid, - (__pth_gpointer_locked (t))->h, - txt - ); - } -} -#endif - /* Internal collect-once structure. */ typedef struct collect_once_t { pthread_once_t *o; @@ -677,8 +660,8 @@ pthread_timechange_handler_np(void *dummy) /* Compatibility routine for pthread-win32. It waits for ellapse of interval and additionally checks for possible thread-cancelation. */ -int -pthread_delay_np (const struct timespec *interval) +static int +__pthread_delay_np (const struct _timespec64 *interval) { DWORD to = (!interval ? 0 : dwMilliSecs (_pthread_time_in_ms_from_timespec (interval))); struct _pthread_v *s = __pthread_self_lite (); @@ -699,10 +682,21 @@ pthread_delay_np (const struct timespec *interval) return 0; } -int pthread_delay_np_ms (DWORD to); +int +pthread_delay64_np (const struct _timespec64 *interval) +{ + return __pthread_delay_np(interval); +} + +int +pthread_delay32_np (const struct _timespec32 *interval) +{ + struct _timespec64 interval64 = {.tv_sec = interval->tv_sec, .tv_nsec = interval->tv_nsec}; + return __pthread_delay_np(&interval64); +} int -pthread_delay_np_ms (DWORD to) +_pthread_delay_np_ms (DWORD to) { struct _pthread_v *s = __pthread_self_lite (); @@ -725,7 +719,7 @@ pthread_delay_np_ms (DWORD to) /* Compatibility routine for pthread-win32. It returns the amount of available CPUs on system. */ int -pthread_num_processors_np(void) +pthread_num_processors_np(void) { int r = 0; DWORD_PTR ProcessAffinityMask, SystemAffinityMask; @@ -742,10 +736,10 @@ pthread_num_processors_np(void) /* Compatiblity routine for pthread-win32. Allows to set amount of used CPUs for process. */ int -pthread_set_num_processors_np(int n) +pthread_set_num_processors_np(int n) { DWORD_PTR ProcessAffinityMask, ProcessNewAffinityMask = 0, SystemAffinityMask; - int r = 0; + int r = 0; /* need at least 1 */ n = n ? n : 1; if (GetProcessAffinityMask (GetCurrentProcess (), &ProcessAffinityMask, &SystemAffinityMask)) @@ -878,7 +872,7 @@ pthread_key_delete (pthread_key_t key) return EINVAL; pthread_rwlock_wrlock (&_pthread_key_lock); - + _pthread_key_dest[key] = NULL; /* Start next search from our location */ @@ -910,7 +904,7 @@ pthread_setspecific (pthread_key_t key, const void *value) { DWORD lasterr = GetLastError (); _pthread_v *t = __pthread_self_lite (); - + pthread_spin_lock (&t->spin_keys); if (key >= t->keymax) @@ -1522,7 +1516,7 @@ void _fpreset (void); #if defined(__i386__) /* Align ESP on 16-byte boundaries. */ -# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) +# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) __attribute__((force_align_arg_pointer)) # endif #endif @@ -1553,17 +1547,7 @@ pthread_create_wrapper (void *args) if (tv->func) trslt = (intptr_t) tv->func(tv->ret_arg); #ifdef __SEH__ - asm ("\tnop\n\t.tl_end: nop\n" -#ifdef __arm__ - "\t.seh_handler __C_specific_handler, %except\n" -#else - "\t.seh_handler __C_specific_handler, @except\n" -#endif - "\t.seh_handlerdata\n" - "\t.long 1\n" - "\t.rva .tl_start, .tl_end, _gnu_exception_handler ,.tl_end\n" - "\t.text" - ); + asm ("\tnop\n\t.tl_end: nop\n"); #endif pthread_mutex_lock (&mtx_pthr_locked); tv->ret_arg = (void*) trslt; @@ -1601,6 +1585,19 @@ pthread_create_wrapper (void *args) Sleep (0); _endthreadex (rslt); return rslt; + +#if defined(__SEH__) + asm( +#ifdef __arm__ + "\t.seh_handler __C_specific_handler, %except\n" +#else + "\t.seh_handler __C_specific_handler, @except\n" +#endif + "\t.seh_handlerdata\n" + "\t.long 1\n" + "\t.rva .tl_start, .tl_end, _gnu_exception_handler ,.tl_end\n" + "\t.text\n"); +#endif } int @@ -1881,13 +1878,14 @@ pthread_setname_np (pthread_t thread, const char *name) if (_pthread_set_thread_description != NULL) { - size_t required_size = mbstowcs(NULL, name, 0); + mbstate_t mbs = {0}; + size_t required_size = mbsrtowcs(NULL, &name, 0, &mbs); if (required_size != (size_t)-1) { wchar_t *wname = malloc((required_size + 1) * sizeof(wchar_t)); if (wname != NULL) { - mbstowcs(wname, name, required_size + 1); + mbsrtowcs(wname, &name, required_size + 1, &mbs); _pthread_set_thread_description(tv->h, wname); free(wname); } diff --git a/lib/libc/mingw/winpthreads/thread.h b/lib/libc/mingw/winpthreads/thread.h index 1603bae5896a..90f9cd39a2c4 100644 --- a/lib/libc/mingw/winpthreads/thread.h +++ b/lib/libc/mingw/winpthreads/thread.h @@ -23,8 +23,8 @@ #ifndef WIN_PTHREAD_H #define WIN_PTHREAD_H -#include #include +/* internal header files */ #include "rwlock.h" #define LIFE_THREAD 0xBAB1F00D @@ -69,11 +69,8 @@ typedef struct __pthread_idlist { int _pthread_tryjoin(pthread_t t, void **res); void _pthread_setnobreak(int); -#ifdef WINPTHREAD_DBG -void thread_print_set(int state); -void thread_print(volatile pthread_t t, char *txt); -#endif int __pthread_shallcancel(void); WINPTHREAD_API struct _pthread_v * __pth_gpointer_locked (pthread_t id); +int _pthread_delay_np_ms (DWORD to); #endif diff --git a/lib/libc/mingw/winpthreads/winpthread_internal.h b/lib/libc/mingw/winpthreads/winpthread_internal.h deleted file mode 100644 index eb6838c34b3f..000000000000 --- a/lib/libc/mingw/winpthreads/winpthread_internal.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2011-2016 mingw-w64 project - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#ifndef WINPTHREAD_INTERNAL_H -#define WINPTHREAD_INTERNAL_H -WINPTHREAD_API struct _pthread_v * __pth_gpointer_locked (pthread_t id); -int pthread_delay_np_ms (DWORD to); -#endif /*WINPTHREAD_INTERNAL_H*/ diff --git a/src/libs/mingw.zig b/src/libs/mingw.zig index 2049b0f6b7d7..4685f6d30e9e 100644 --- a/src/libs/mingw.zig +++ b/src/libs/mingw.zig @@ -154,7 +154,8 @@ pub fn buildCrtFile(comp: *Compilation, crt_file: CrtFile, prog_node: std.Progre try addCcArgs(comp, arena, &winpthreads_args); try winpthreads_args.appendSlice(&[_][]const u8{ "-DIN_WINPTHREAD", - "-DWIN32_LEAN_AND_MEAN", + // winpthreads incorrectly assumes that Clang has `-Wprio-ctor-dtor`. + "-Wno-unknown-warning-option", }); switch (comp.compilerRtOptMode()) { @@ -485,7 +486,6 @@ const mingw32_generic_src = [_][]const u8{ "crt" ++ path.sep_str ++ "pesect.c", "crt" ++ path.sep_str ++ "udllargc.c", "crt" ++ path.sep_str ++ "xthdloc.c", - "crt" ++ path.sep_str ++ "CRT_fp10.c", "crt" ++ path.sep_str ++ "mingw_helpers.c", "crt" ++ path.sep_str ++ "pseudo-reloc.c", "crt" ++ path.sep_str ++ "udll_argv.c", @@ -610,7 +610,6 @@ const mingw32_generic_src = [_][]const u8{ "misc" ++ path.sep_str ++ "delayimp.c", "misc" ++ path.sep_str ++ "dirent.c", "misc" ++ path.sep_str ++ "dirname.c", - "misc" ++ path.sep_str ++ "dllentrypoint.c", "misc" ++ path.sep_str ++ "dllmain.c", "misc" ++ path.sep_str ++ "feclearexcept.c", "misc" ++ path.sep_str ++ "fegetenv.c", @@ -622,10 +621,14 @@ const mingw32_generic_src = [_][]const u8{ "misc" ++ path.sep_str ++ "fesetexceptflag.c", "misc" ++ path.sep_str ++ "fesetround.c", "misc" ++ path.sep_str ++ "fetestexcept.c", + "misc" ++ path.sep_str ++ "mingw_controlfp.c", + "misc" ++ path.sep_str ++ "mingw_setfp.c", "misc" ++ path.sep_str ++ "feupdateenv.c", "misc" ++ path.sep_str ++ "ftruncate.c", - "misc" ++ path.sep_str ++ "ftw.c", + "misc" ++ path.sep_str ++ "ftw32.c", + "misc" ++ path.sep_str ++ "ftw32i64.c", "misc" ++ path.sep_str ++ "ftw64.c", + "misc" ++ path.sep_str ++ "ftw64i32.c", "misc" ++ path.sep_str ++ "fwide.c", "misc" ++ path.sep_str ++ "getlogin.c", "misc" ++ path.sep_str ++ "getopt.c", @@ -670,12 +673,12 @@ const mingw32_generic_src = [_][]const u8{ "stdio" ++ path.sep_str ++ "_findfirst64i32.c", "stdio" ++ path.sep_str ++ "_findnext64i32.c", "stdio" ++ path.sep_str ++ "_fstat64i32.c", - "stdio" ++ path.sep_str ++ "_stat.c", "stdio" ++ path.sep_str ++ "_stat64i32.c", "stdio" ++ path.sep_str ++ "_wfindfirst64i32.c", "stdio" ++ path.sep_str ++ "_wfindnext64i32.c", - "stdio" ++ path.sep_str ++ "_wstat.c", "stdio" ++ path.sep_str ++ "_wstat64i32.c", + "stdio" ++ path.sep_str ++ "__mingw_fix_stat_path.c", + "stdio" ++ path.sep_str ++ "__mingw_fix_wstat_path.c", "stdio" ++ path.sep_str ++ "asprintf.c", "stdio" ++ path.sep_str ++ "fopen64.c", "stdio" ++ path.sep_str ++ "fseeko32.c", @@ -750,23 +753,36 @@ const mingw32_generic_src = [_][]const u8{ "stdio" ++ path.sep_str ++ "ucrt__vscprintf.c", "stdio" ++ path.sep_str ++ "ucrt__vsnprintf.c", "stdio" ++ path.sep_str ++ "ucrt__vsnwprintf.c", + "stdio" ++ path.sep_str ++ "ucrt___local_stdio_printf_options.c", + "stdio" ++ path.sep_str ++ "ucrt___local_stdio_scanf_options.c", "stdio" ++ path.sep_str ++ "ucrt_fprintf.c", "stdio" ++ path.sep_str ++ "ucrt_fscanf.c", "stdio" ++ path.sep_str ++ "ucrt_fwprintf.c", - "stdio" ++ path.sep_str ++ "ucrt_ms_fprintf.c", + "stdio" ++ path.sep_str ++ "ucrt_fwscanf.c", "stdio" ++ path.sep_str ++ "ucrt_ms_fwprintf.c", "stdio" ++ path.sep_str ++ "ucrt_printf.c", "stdio" ++ path.sep_str ++ "ucrt_scanf.c", "stdio" ++ path.sep_str ++ "ucrt_snprintf.c", + "stdio" ++ path.sep_str ++ "ucrt_snwprintf.c", "stdio" ++ path.sep_str ++ "ucrt_sprintf.c", "stdio" ++ path.sep_str ++ "ucrt_sscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_swscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_swprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vfprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vfscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_vfwscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_vfwprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vscanf.c", "stdio" ++ path.sep_str ++ "ucrt_vsnprintf.c", + "stdio" ++ path.sep_str ++ "ucrt_vsnwprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vsprintf.c", + "stdio" ++ path.sep_str ++ "ucrt_vswprintf.c", "stdio" ++ path.sep_str ++ "ucrt_vsscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_vwscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_wscanf.c", + "stdio" ++ path.sep_str ++ "ucrt_vwprintf.c", + "stdio" ++ path.sep_str ++ "ucrt_wprintf.c", "string" ++ path.sep_str ++ "ucrt__wcstok.c", // uuid "libsrc" ++ path.sep_str ++ "ativscp-uuid.c", @@ -891,6 +907,8 @@ const mingw32_generic_src = [_][]const u8{ }; const mingw32_x86_src = [_][]const u8{ + // mingw32 + "crt" ++ path.sep_str ++ "CRT_fp10.c", // mingwex "math" ++ path.sep_str ++ "cbrtl.c", "math" ++ path.sep_str ++ "erfl.c", @@ -950,6 +968,8 @@ const mingw32_x86_src = [_][]const u8{ "math" ++ path.sep_str ++ "nextafterl.c", "math" ++ path.sep_str ++ "nexttoward.c", "math" ++ path.sep_str ++ "nexttowardf.c", + "math" ++ path.sep_str ++ "sincos.c", + "math" ++ path.sep_str ++ "sincosf.c", }; const mingw32_x86_32_src = [_][]const u8{ @@ -976,26 +996,25 @@ const mingw32_x86_32_src = [_][]const u8{ }; const mingw32_arm_src = [_][]const u8{ + // mingw32 + "crt" ++ path.sep_str ++ "CRT_fp8.c", // mingwex + "math" ++ path.sep_str ++ "sincos.c", + "math" ++ path.sep_str ++ "sincosf.c", "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c", + "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "sincosl.c", }; const mingw32_arm32_src = [_][]const u8{ // mingwex - "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S", "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c", "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c", - "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincos.S", - "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincosf.S", }; const mingw32_arm64_src = [_][]const u8{ // mingwex - "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S", "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c", "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c", - "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincos.S", - "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincosf.S", }; const mingw32_winpthreads_src = [_][]const u8{ @@ -1006,7 +1025,6 @@ const mingw32_winpthreads_src = [_][]const u8{ "winpthreads" ++ path.sep_str ++ "misc.c", "winpthreads" ++ path.sep_str ++ "mutex.c", "winpthreads" ++ path.sep_str ++ "nanosleep.c", - "winpthreads" ++ path.sep_str ++ "ref.c", "winpthreads" ++ path.sep_str ++ "rwlock.c", "winpthreads" ++ path.sep_str ++ "sched.c", "winpthreads" ++ path.sep_str ++ "sem.c", diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index 0ef7c117372e..cb624ea256e6 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -484,20 +484,22 @@ bool ZigLLVMWriteImportLibrary(const char *def_path, unsigned int coff_machine, } } - if (machine == COFF::IMAGE_FILE_MACHINE_I386 && kill_at) { + if (kill_at) { for (object::COFFShortExport& E : def->Exports) { if (!E.ImportName.empty() || (!E.Name.empty() && E.Name[0] == '?')) continue; - E.SymbolName = E.Name; + if (machine == COFF::IMAGE_FILE_MACHINE_I386) { + // By making sure E.SymbolName != E.Name for decorated symbols, + // writeImportLibrary writes these symbols with the type + // IMPORT_NAME_UNDECORATE. + E.SymbolName = E.Name; + } // Trim off the trailing decoration. Symbols will always have a // starting prefix here (either _ for cdecl/stdcall, @ for fastcall // or ? for C++ functions). Vectorcall functions won't have any // fixed prefix, but the function base name will still be at least // one char. E.Name = E.Name.substr(0, E.Name.find('@', 1)); - // By making sure E.SymbolName != E.Name for decorated symbols, - // writeImportLibrary writes these symbols with the type - // IMPORT_NAME_UNDECORATE. } }